Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r58906 - in sandbox/numeric_bindings/libs/numeric/bindings/tools: . templates/driver
From: rutger_at_[hidden]
Date: 2010-01-11 08:50:03


Author: rutger
Date: 2010-01-11 08:50:03 EST (Mon, 11 Jan 2010)
New Revision: 58906
URL: http://svn.boost.org/trac/boost/changeset/58906

Log:
Further improvements in detection of opt/min workspace queries

Text files modified:
   sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py | 11 ++++++++++-
   sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gelsd.hpp | 2 ++
   2 files changed, 12 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-01-11 08:50:03 EST (Mon, 11 Jan 2010)
@@ -1260,9 +1260,18 @@
           if len( match_workspace ) > 0:
             argument_properties[ 'workspace_query_for' ] = []
           for name in grouped_arguments[ 'by_io' ][ 'workspace' ]:
+ list_of_other_workspaces = []
+ for other in grouped_arguments[ 'by_io' ][ 'workspace' ]:
+ if other != name:
+ list_of_other_workspaces.append( other )
+ other_work_regex = "|".join( list_of_other_workspaces )
+ print "list of other workspaces: ", list_of_other_workspaces
+
             if name in match_workspace:
               # try to find proof that it is actually a minimum size workspace query.
- match_min_size = re.compile( 'minimum(size|of|the|array|\s)+' + name, re.M | re.S ).findall( work_query_block )
+ match_min_size = re.compile( 'minimum(' + other_work_regex + \
+ '|size|sizes|of|the|array|arrays|and|\s)+' + name, \
+ re.M | re.S ).findall( work_query_block )
               if len( match_min_size ) == 0:
                  argument_properties[ 'workspace_query_for' ] += [ name ]
               else:

Modified: sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gelsd.hpp
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gelsd.hpp (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gelsd.hpp 2010-01-11 08:50:03 EST (Mon, 11 Jan 2010)
@@ -4,6 +4,8 @@
 MINMN,SMLSIZ,NLVL,NRHS
 $TEMPLATE[gelsd.all.extra_variables]
 MINMN,SMLSIZ,NLVL
+$TEMPLATE[gelsd.all.extra_opt_variables]
+MINMN,NLVL
 $TEMPLATE[gelsd.all.MINMN.init]
 $INTEGER_TYPE minmn = std::min< $INTEGER_TYPE >( size_row(a), size_column(a) );
 $TEMPLATE[gelsd.all.SMLSIZ.init]


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