Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r63007 - in sandbox/numeric_bindings/libs/numeric/bindings/tools: . templates/driver
From: thomas.klimpel_at_[hidden]
Date: 2010-06-15 18:25:04


Author: klimpel
Date: 2010-06-15 18:25:03 EDT (Tue, 15 Jun 2010)
New Revision: 63007
URL: http://svn.boost.org/trac/boost/changeset/63007

Log:
fixed obvious issues in code generation for gejsv.hpp (untested)
Text files modified:
   sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py | 2 +-
   sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gejsv.hpp | 26 ++++++++++++++++++++++++++
   2 files changed, 27 insertions(+), 1 deletions(-)

Modified: sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py 2010-06-15 18:25:03 EDT (Tue, 15 Jun 2010)
@@ -1353,7 +1353,7 @@
       #
       # Fetch array traits, such as "the length of the array WORK"
       #
- match_array_traits = re.compile( '(The length|The dimension)(of|the|\s)+(array|\s)+([A-Z]+)', re.M | re.S ).findall( comment_block )
+ match_array_traits = re.compile( '(The length|The dimension|Length)(of|the|\s)+(array|\s)+([A-Z]+)', re.M | re.S ).findall( comment_block )
       if len( match_array_traits ) > 0 and match_array_traits[ 0 ][ 3 ] in grouped_arguments[ 'by_type' ][ 'vector' ]:
         argument_properties[ 'trait_type' ] = 'size'
         argument_properties[ 'trait_of' ] = [ match_array_traits[ 0 ][ 3 ] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gejsv.hpp
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gejsv.hpp (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gejsv.hpp 2010-06-15 18:25:03 EDT (Tue, 15 Jun 2010)
@@ -1,3 +1,29 @@
+$TEMPLATE[gejsv.all.min_size_iwork.args]
+M,N
+$TEMPLATE[gejsv.all.min_size_iwork]
+return m+3*n;
+$TEMPLATE[gejsv.all.min_size_work.args]
+JOBA,JOBU,JOBV,M,N
+$TEMPLATE[gejsv.all.min_size_work]
+if ( jobu == 'N' && jobv == 'N' ) {
+ if ( joba != 'E' && joba != 'G' )
+ return std::max< $INTEGER_TYPE >( std::max< $INTEGER_TYPE >( 2*m+n, 4*n+1), 7 );
+ else
+ return std::max< $INTEGER_TYPE >( std::max< $INTEGER_TYPE >( 2*m+n, n*n+4*n), 7 );
+} else if ( jobu == 'N' || jobu == 'W' || jobv == 'N' || jobv == 'W' ) {
+ return std::max< $INTEGER_TYPE >( 2*n+m, 7);
+} else {
+ if ( jobv != 'J' )
+ return 6*n+2*n*n;
+ else
+ return std::max< $INTEGER_TYPE >( m+3*n+n*n, 7);
+}
 $TEMPLATE[gejsv.all.A.io]
 input;output
+$TEMPLATE[gejsv.all.SVA.io]
+output
+$TEMPLATE[gejsv.all.U.io]
+output
+$TEMPLATE[gejsv.all.V.io]
+output
 $TEMPLATE[end]


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk