$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r51898 - in sandbox/numeric_bindings/boost/numeric/bindings: blas blas/detail blas/level1 blas/level2 blas/level3 lapack lapack/computational lapack/driver traits
From: rutger_at_[hidden]
Date: 2009-03-22 06:46:35
Author: rutger
Date: 2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
New Revision: 51898
URL: http://svn.boost.org/trac/boost/changeset/51898
Log:
Added support for prototype of high-level solve in lapack
Added:
   sandbox/numeric_bindings/boost/numeric/bindings/blas/solve.hpp   (contents, props changed)
Text files modified: 
   sandbox/numeric_bindings/boost/numeric/bindings/blas/detail/blas.h             |     4 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/blas/dot.hpp                   |     4 +++-                                    
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/asum.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/axpy.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/copy.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dot.hpp            |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotc.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotu.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/drot.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/nrm2.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rot.hpp            |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotg.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotm.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotmg.hpp          |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/scal.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/sdot.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/srot.hpp           |    38 +++++++++++++++++++-------------------  
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/swap.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2.hpp                |     2 ++                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp            |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp           |     7 ++++---                                 
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp           |     7 ++++---                                 
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp           |     7 ++++---                                 
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp            |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp           |     7 ++++---                                 
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp            |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp           |     7 ++++---                                 
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp            |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp            |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3.hpp                |     2 ++                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp          |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp          |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp           |     5 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/blas/norm_1.hpp                |     2 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/scale.hpp                 |     7 +++----                                 
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsdc.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbcon.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbequ.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gecon.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geequ.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbal.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hecon.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hegst.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/labrd.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/lacon.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/laebz.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/larz.hpp  |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrd.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrz.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgbr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orghr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orglq.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgql.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgqr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgrq.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgtr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbcon.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbequ.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pocon.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/poequ.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pteqr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stebz.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stedc.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stegr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stein.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/steqr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sterf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sycon.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sygst.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbcon.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbrfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgevc.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgexc.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsen.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsna.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsyl.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tprfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptri.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trcon.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trrfs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsna.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsyl.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungbr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unghr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unglq.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungql.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungqr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungrq.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungtr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cgesv.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp         |    13 ++++++++++++-                           
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp         |    13 ++++++++++++-                           
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp         |     7 +++++--                                 
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegv.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp         |    13 ++++++++++++-                           
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpev.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgv.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp         |    13 ++++++++++++-                           
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lacgv.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lalsd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/largv.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp         |     7 +++++--                                 
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp         |     7 +++++--                                 
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp         |     7 +++++--                                 
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp         |    13 +++++++++----                           
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sgesv.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spev.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgv.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp         |    13 ++++++++++++-                           
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stev.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevr.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygv.hpp         |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvd.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp         |    25 +++++++++++++++++++++++--               
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp        |     1 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/solve.hpp               |    15 ++++++---------                         
   sandbox/numeric_bindings/boost/numeric/bindings/traits/transpose.hpp           |    36 ++++++++++++++++++++++++++++++++----    
   sandbox/numeric_bindings/boost/numeric/bindings/traits/type.hpp                |     3 +++                                     
   288 files changed, 555 insertions(+), 162 deletions(-)
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/detail/blas.h
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/detail/blas.h	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/detail/blas.h	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -115,8 +115,8 @@
         float const* sy, integer_t const* incy );
 
 // Value-type variants of srot
-void BLAS_CSROT( integer_t const* n, fcomplex_t const* x,
-        integer_t const* incx, fcomplex_t const* y, integer_t const* incy,
+void BLAS_CSROT( integer_t const* n, fcomplex_t const* cx,
+        integer_t const* incx, fcomplex_t const* cy, integer_t const* incy,
         float const* c, float const* s );
 
 // Value-type variants of swap
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/dot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/dot.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/dot.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -23,6 +23,7 @@
 namespace blas {
 
 namespace detail {
+
 template< typename Vector >
 struct dot_dispatcher {
     typedef typename traits::vector_traits< Vector >::value_type value_type;
@@ -33,13 +34,14 @@
         mpl::pair< traits::complex_d, level1::dotu_impl< value_type > > > map;
     typedef typename mpl::at< map, value_type >::type routine;
 };
+
 } // namespace detail
 
 template< typename VectorX, typename VectorY >
 inline typename detail::dot_dispatcher< VectorX >::routine::return_type
 dot( VectorX& x, VectorY& y ) {
     typedef typename detail::dot_dispatcher< VectorX >::routine routine;
-    return routine::compute( x, y );
+    return routine::invoke( x, y );
 }
 
 }}}} // namespace boost::numeric::bindings::blas
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/asum.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/asum.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/asum.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -41,11 +41,12 @@
 struct asum_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef value_type return_type;
 
     // templated specialization
     template< typename VectorX >
-    static return_type compute( VectorX& x ) {
+    static return_type invoke( VectorX& x ) {
         return detail::asum( traits::vector_size(x),
                 traits::vector_storage(x), traits::vector_stride(x) );
     }
@@ -57,7 +58,7 @@
         VectorX >::value_type >::return_type
 asum( VectorX& x ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    return asum_impl< value_type >::compute( x );
+    return asum_impl< value_type >::invoke( x );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/axpy.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/axpy.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/axpy.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -55,11 +55,12 @@
 struct axpy_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY >
-    static return_type compute( value_type const a, VectorX& x, VectorY& y ) {
+    static return_type invoke( value_type const a, VectorX& x, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
@@ -76,7 +77,7 @@
 axpy( typename traits::vector_traits< VectorX >::value_type const a,
         VectorX& x, VectorY& y ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    axpy_impl< value_type >::compute( a, x, y );
+    axpy_impl< value_type >::invoke( a, x, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/copy.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/copy.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/copy.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -55,11 +55,12 @@
 struct copy_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY >
-    static return_type compute( VectorX& x, VectorY& y ) {
+    static return_type invoke( VectorX& x, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
@@ -75,7 +76,7 @@
         VectorX >::value_type >::return_type
 copy( VectorX& x, VectorY& y ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    copy_impl< value_type >::compute( x, y );
+    copy_impl< value_type >::invoke( x, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dot.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dot.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -43,11 +43,12 @@
 struct dot_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef value_type return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY >
-    static return_type compute( VectorX& x, VectorY& y ) {
+    static return_type invoke( VectorX& x, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
@@ -63,7 +64,7 @@
         VectorX >::value_type >::return_type
 dot( VectorX& x, VectorY& y ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    return dot_impl< value_type >::compute( x, y );
+    return dot_impl< value_type >::invoke( x, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotc.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotc.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -47,11 +47,12 @@
 struct dotc_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef value_type return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY >
-    static return_type compute( VectorX& x, VectorY& y ) {
+    static return_type invoke( VectorX& x, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
@@ -67,7 +68,7 @@
         VectorX >::value_type >::return_type
 dotc( VectorX& x, VectorY& y ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    return dotc_impl< value_type >::compute( x, y );
+    return dotc_impl< value_type >::invoke( x, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotu.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotu.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotu.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -47,11 +47,12 @@
 struct dotu_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef value_type return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY >
-    static return_type compute( VectorX& x, VectorY& y ) {
+    static return_type invoke( VectorX& x, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
@@ -67,7 +68,7 @@
         VectorX >::value_type >::return_type
 dotu( VectorX& x, VectorY& y ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    return dotu_impl< value_type >::compute( x, y );
+    return dotu_impl< value_type >::invoke( x, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/drot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/drot.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/drot.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -41,11 +41,12 @@
 struct drot_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorCX, typename VectorCY >
-    static return_type compute( integer_t const n, VectorCX& cx, VectorCY& cy,
+    static return_type invoke( integer_t const n, VectorCX& cx, VectorCY& cy,
             real_type const c, real_type const s ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorCX >::value_type, typename traits::vector_traits<
@@ -64,7 +65,7 @@
         typename traits::vector_traits< VectorCX >::value_type const c,
         typename traits::vector_traits< VectorCX >::value_type const s ) {
     typedef typename traits::vector_traits< VectorCX >::value_type value_type;
-    drot_impl< value_type >::compute( n, cx, cy, c, s );
+    drot_impl< value_type >::invoke( n, cx, cy, c, s );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/nrm2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/nrm2.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/nrm2.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -41,11 +41,12 @@
 struct nrm2_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef value_type return_type;
 
     // templated specialization
     template< typename VectorX >
-    static return_type compute( VectorX& x ) {
+    static return_type invoke( VectorX& x ) {
         return detail::nrm2( traits::vector_size(x),
                 traits::vector_storage(x), traits::vector_stride(x) );
     }
@@ -57,7 +58,7 @@
         VectorX >::value_type >::return_type
 nrm2( VectorX& x ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    return nrm2_impl< value_type >::compute( x );
+    return nrm2_impl< value_type >::invoke( x );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rot.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rot.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -43,11 +43,12 @@
 struct rot_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY >
-    static return_type compute( VectorX& x, VectorY& y, real_type const c,
+    static return_type invoke( VectorX& x, VectorY& y, real_type const c,
             real_type const s ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
@@ -66,7 +67,7 @@
         VectorX >::value_type const c, typename traits::vector_traits<
         VectorX >::value_type const s ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    rot_impl< value_type >::compute( x, y, c, s );
+    rot_impl< value_type >::invoke( x, y, c, s );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotg.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotg.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotg.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -51,11 +51,12 @@
 struct rotg_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template<  >
-    static return_type compute( value_type& a, value_type& b, real_type& c,
+    static return_type invoke( value_type& a, value_type& b, real_type& c,
             value_type& s ) {
         detail::rotg( a, b, c, s );
     }
@@ -70,7 +71,7 @@
         typename traits::TODO_traits< TODO >::value_type& c,
         typename traits::TODO_traits< TODO >::value_type& s ) {
     typedef typename traits::TODO_traits< TODO >::value_type value_type;
-    rotg_impl< value_type >::compute( a, b, c, s );
+    rotg_impl< value_type >::invoke( a, b, c, s );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotm.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -43,11 +43,12 @@
 struct rotm_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY, typename VectorPARAM >
-    static return_type compute( integer_t const n, VectorX& x,
+    static return_type invoke( integer_t const n, VectorX& x,
             integer_t const incx, VectorY& y, integer_t const incy,
             VectorPARAM& param ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
@@ -69,7 +70,7 @@
 rotm( integer_t const n, VectorX& x, integer_t const incx, VectorY& y,
         integer_t const incy, VectorPARAM& param ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    rotm_impl< value_type >::compute( n, x, incx, y, incy, param );
+    rotm_impl< value_type >::invoke( n, x, incx, y, incy, param );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotmg.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotmg.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotmg.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -43,11 +43,12 @@
 struct rotmg_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorDPARAM >
-    static return_type compute( real_type& d1, real_type& d2, real_type& x1,
+    static return_type invoke( real_type& d1, real_type& d2, real_type& x1,
             real_type const y1, VectorDPARAM& dparam ) {
         detail::rotmg( d1, d2, x1, y1, traits::vector_storage(dparam) );
     }
@@ -64,7 +65,7 @@
         VectorDPARAM& dparam ) {
     typedef typename traits::vector_traits<
             VectorDPARAM >::value_type value_type;
-    rotmg_impl< value_type >::compute( d1, d2, x1, y1, dparam );
+    rotmg_impl< value_type >::invoke( d1, d2, x1, y1, dparam );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/scal.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/scal.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/scal.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -53,11 +53,12 @@
 struct scal_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX >
-    static return_type compute( value_type const a, VectorX& x ) {
+    static return_type invoke( value_type const a, VectorX& x ) {
         detail::scal( traits::vector_size(x), a,
                 traits::vector_storage(x), traits::vector_stride(x) );
     }
@@ -70,7 +71,7 @@
 scal( typename traits::vector_traits< VectorX >::value_type const a,
         VectorX& x ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    scal_impl< value_type >::compute( a, x );
+    scal_impl< value_type >::invoke( a, x );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/sdot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/sdot.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/sdot.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -39,11 +39,12 @@
 struct sdot_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef value_type return_type;
 
     // templated specialization
     template< typename VectorSX, typename VectorSY >
-    static return_type compute( integer_t const n, VectorSX& sx,
+    static return_type invoke( integer_t const n, VectorSX& sx,
             integer_t const incx, VectorSY& sy, integer_t const incy ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorSX >::value_type, typename traits::vector_traits<
@@ -60,7 +61,7 @@
 sdot( integer_t const n, VectorSX& sx, integer_t const incx,
         VectorSY& sy, integer_t const incy ) {
     typedef typename traits::vector_traits< VectorSX >::value_type value_type;
-    return sdot_impl< value_type >::compute( n, sx, incx, sy, incy );
+    return sdot_impl< value_type >::invoke( n, sx, incx, sy, incy );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/srot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/srot.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/srot.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -28,11 +28,11 @@
 
 // overloaded functions to call blas
 namespace detail {
-    inline void srot( integer_t const n, traits::complex_f* x,
-            integer_t const incx, traits::complex_f* y, integer_t const incy,
+    inline void srot( integer_t const n, traits::complex_f* cx,
+            integer_t const incx, traits::complex_f* cy, integer_t const incy,
             float const c, float const s ) {
-        BLAS_CSROT( &n, traits::complex_ptr(x), &incx, traits::complex_ptr(y),
-                &incy, &c, &s );
+        BLAS_CSROT( &n, traits::complex_ptr(cx), &incx,
+                traits::complex_ptr(cy), &incy, &c, &s );
     }
 }
 
@@ -41,31 +41,31 @@
 struct srot_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
-    template< typename VectorX, typename VectorY >
-    static return_type compute( integer_t const n, VectorX& x,
-            integer_t const incx, VectorY& y, integer_t const incy,
+    template< typename VectorCX, typename VectorCY >
+    static return_type invoke( integer_t const n, VectorCX& cx, VectorCY& cy,
             real_type const c, real_type const s ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
-                VectorX >::value_type, typename traits::vector_traits<
-                VectorY >::value_type >::value) );
-        detail::srot( n, traits::vector_storage(x), incx,
-                traits::vector_storage(y), incy, c, s );
+                VectorCX >::value_type, typename traits::vector_traits<
+                VectorCY >::value_type >::value) );
+        detail::srot( n, traits::vector_storage(cx),
+                traits::vector_stride(cx), traits::vector_storage(cy),
+                traits::vector_stride(cy), c, s );
     }
 };
 
 // low-level template function for direct calls to level1::srot
-template< typename VectorX, typename VectorY >
+template< typename VectorCX, typename VectorCY >
 inline typename srot_impl< typename traits::vector_traits<
-        VectorX >::value_type >::return_type
-srot( integer_t const n, VectorX& x, integer_t const incx, VectorY& y,
-        integer_t const incy, typename traits::vector_traits<
-        VectorX >::value_type const c, typename traits::vector_traits<
-        VectorX >::value_type const s ) {
-    typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    srot_impl< value_type >::compute( n, x, incx, y, incy, c, s );
+        VectorCX >::value_type >::return_type
+srot( integer_t const n, VectorCX& cx, VectorCY& cy,
+        typename traits::vector_traits< VectorCX >::value_type const c,
+        typename traits::vector_traits< VectorCX >::value_type const s ) {
+    typedef typename traits::vector_traits< VectorCX >::value_type value_type;
+    srot_impl< value_type >::invoke( n, cx, cy, c, s );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/swap.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/swap.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/swap.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -55,11 +55,12 @@
 struct swap_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY >
-    static return_type compute( VectorX& x, VectorY& y ) {
+    static return_type invoke( VectorX& x, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
@@ -75,7 +76,7 @@
         VectorX >::value_type >::return_type
 swap( VectorX& x, VectorY& y ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    swap_impl< value_type >::compute( x, y );
+    swap_impl< value_type >::invoke( x, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level1
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -9,4 +9,6 @@
 #ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HPP
 #define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HPP
 
+#include <boost/numeric/bindings/blas/solve.hpp>
+
 #endif
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -69,11 +69,12 @@
 struct gbmv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename VectorX, typename VectorY >
-    static return_type compute( char const trans, integer_t const kl,
+    static return_type invoke( char const trans, integer_t const kl,
             integer_t const ku, value_type const alpha, MatrixA& a,
             VectorX& x, value_type const beta, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
@@ -99,7 +100,7 @@
         MatrixA& a, VectorX& x, typename traits::matrix_traits<
         MatrixA >::value_type const beta, VectorY& y ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    gbmv_impl< value_type >::compute( trans, kl, ku, alpha, a, x, beta,
+    gbmv_impl< value_type >::invoke( trans, kl, ku, alpha, a, x, beta,
             y );
 }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -67,11 +67,12 @@
 struct gemv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename VectorX, typename VectorY >
-    static return_type compute( char const trans, value_type const alpha,
+    static return_type invoke( char const trans, value_type const alpha,
             MatrixA& a, VectorX& x, value_type const beta, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::vector_traits<
@@ -96,7 +97,7 @@
         typename traits::matrix_traits< MatrixA >::value_type const beta,
         VectorY& y ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    gemv_impl< value_type >::compute( trans, alpha, a, x, beta, y );
+    gemv_impl< value_type >::invoke( trans, alpha, a, x, beta, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -45,11 +45,12 @@
 struct ger_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY, typename MatrixA >
-    static return_type compute( real_type const alpha, VectorX& x, VectorY& y,
+    static return_type invoke( real_type const alpha, VectorX& x, VectorY& y,
             MatrixA& a ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
@@ -72,7 +73,7 @@
 ger( typename traits::vector_traits< VectorX >::value_type const alpha,
         VectorX& x, VectorY& y, MatrixA& a ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    ger_impl< value_type >::compute( alpha, x, y, a );
+    ger_impl< value_type >::invoke( alpha, x, y, a );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -51,12 +51,13 @@
 struct gerc_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY, typename MatrixA >
-    static return_type compute( value_type const alpha, VectorX& x,
-            VectorY& y, MatrixA& a ) {
+    static return_type invoke( value_type const alpha, VectorX& x, VectorY& y,
+            MatrixA& a ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
@@ -78,7 +79,7 @@
 gerc( typename traits::vector_traits< VectorX >::value_type const alpha,
         VectorX& x, VectorY& y, MatrixA& a ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    gerc_impl< value_type >::compute( alpha, x, y, a );
+    gerc_impl< value_type >::invoke( alpha, x, y, a );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -51,12 +51,13 @@
 struct geru_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY, typename MatrixA >
-    static return_type compute( value_type const alpha, VectorX& x,
-            VectorY& y, MatrixA& a ) {
+    static return_type invoke( value_type const alpha, VectorX& x, VectorY& y,
+            MatrixA& a ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
@@ -78,7 +79,7 @@
 geru( typename traits::vector_traits< VectorX >::value_type const alpha,
         VectorX& x, VectorY& y, MatrixA& a ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    geru_impl< value_type >::compute( alpha, x, y, a );
+    geru_impl< value_type >::invoke( alpha, x, y, a );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -53,11 +53,12 @@
 struct hbmv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename VectorX, typename VectorY >
-    static return_type compute( integer_t const k, value_type const alpha,
+    static return_type invoke( integer_t const k, value_type const alpha,
             MatrixA& a, VectorX& x, value_type const beta, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::vector_traits<
@@ -82,7 +83,7 @@
         typename traits::matrix_traits< MatrixA >::value_type const beta,
         VectorY& y ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    hbmv_impl< value_type >::compute( k, alpha, a, x, beta, y );
+    hbmv_impl< value_type >::invoke( k, alpha, a, x, beta, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -53,12 +53,13 @@
 struct hemv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename VectorX, typename VectorY >
-    static return_type compute( value_type const alpha, MatrixA& a,
-            VectorX& x, value_type const beta, VectorY& y ) {
+    static return_type invoke( value_type const alpha, MatrixA& a, VectorX& x,
+            value_type const beta, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorX >::value_type >::value) );
@@ -81,7 +82,7 @@
         MatrixA& a, VectorX& x, typename traits::matrix_traits<
         MatrixA >::value_type const beta, VectorY& y ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    hemv_impl< value_type >::compute( alpha, a, x, beta, y );
+    hemv_impl< value_type >::invoke( alpha, a, x, beta, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -47,11 +47,12 @@
 struct her_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename MatrixA >
-    static return_type compute( real_type const alpha, VectorX& x,
+    static return_type invoke( real_type const alpha, VectorX& x,
             MatrixA& a ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::matrix_traits<
@@ -70,7 +71,7 @@
 her( typename traits::vector_traits< VectorX >::value_type const alpha,
         VectorX& x, MatrixA& a ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    her_impl< value_type >::compute( alpha, x, a );
+    her_impl< value_type >::invoke( alpha, x, a );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -51,12 +51,13 @@
 struct her2_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY, typename MatrixA >
-    static return_type compute( value_type const alpha, VectorX& x,
-            VectorY& y, MatrixA& a ) {
+    static return_type invoke( value_type const alpha, VectorX& x, VectorY& y,
+            MatrixA& a ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
@@ -78,7 +79,7 @@
 her2( typename traits::vector_traits< VectorX >::value_type const alpha,
         VectorX& x, VectorY& y, MatrixA& a ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    her2_impl< value_type >::compute( alpha, x, y, a );
+    her2_impl< value_type >::invoke( alpha, x, y, a );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -53,11 +53,12 @@
 struct hpmv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixAP, typename VectorX, typename VectorY >
-    static return_type compute( value_type const alpha, MatrixAP& ap,
+    static return_type invoke( value_type const alpha, MatrixAP& ap,
             VectorX& x, value_type const beta, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixAP >::value_type, typename traits::vector_traits<
@@ -82,7 +83,7 @@
         typename traits::matrix_traits< MatrixAP >::value_type const beta,
         VectorY& y ) {
     typedef typename traits::matrix_traits< MatrixAP >::value_type value_type;
-    hpmv_impl< value_type >::compute( alpha, ap, x, beta, y );
+    hpmv_impl< value_type >::invoke( alpha, ap, x, beta, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -47,11 +47,12 @@
 struct hpr_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename MatrixAP >
-    static return_type compute( real_type const alpha, VectorX& x,
+    static return_type invoke( real_type const alpha, VectorX& x,
             MatrixAP& ap ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::matrix_traits<
@@ -70,7 +71,7 @@
 hpr( typename traits::vector_traits< VectorX >::value_type const alpha,
         VectorX& x, MatrixAP& ap ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    hpr_impl< value_type >::compute( alpha, x, ap );
+    hpr_impl< value_type >::invoke( alpha, x, ap );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -51,12 +51,13 @@
 struct hpr2_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY, typename MatrixAP >
-    static return_type compute( value_type const alpha, VectorX& x,
-            VectorY& y, MatrixAP& ap ) {
+    static return_type invoke( value_type const alpha, VectorX& x, VectorY& y,
+            MatrixAP& ap ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
@@ -78,7 +79,7 @@
 hpr2( typename traits::vector_traits< VectorX >::value_type const alpha,
         VectorX& x, VectorY& y, MatrixAP& ap ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    hpr2_impl< value_type >::compute( alpha, x, y, ap );
+    hpr2_impl< value_type >::invoke( alpha, x, y, ap );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -49,11 +49,12 @@
 struct sbmv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename VectorX, typename VectorY >
-    static return_type compute( integer_t const k, real_type const alpha,
+    static return_type invoke( integer_t const k, real_type const alpha,
             MatrixA& a, VectorX& x, real_type const beta, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::vector_traits<
@@ -78,7 +79,7 @@
         typename traits::matrix_traits< MatrixA >::value_type const beta,
         VectorY& y ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    sbmv_impl< value_type >::compute( k, alpha, a, x, beta, y );
+    sbmv_impl< value_type >::invoke( k, alpha, a, x, beta, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -45,11 +45,12 @@
 struct spmv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixAP, typename VectorX, typename VectorY >
-    static return_type compute( real_type const alpha, MatrixAP& ap,
+    static return_type invoke( real_type const alpha, MatrixAP& ap,
             VectorX& x, real_type const beta, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixAP >::value_type, typename traits::vector_traits<
@@ -74,7 +75,7 @@
         typename traits::matrix_traits< MatrixAP >::value_type const beta,
         VectorY& y ) {
     typedef typename traits::matrix_traits< MatrixAP >::value_type value_type;
-    spmv_impl< value_type >::compute( alpha, ap, x, beta, y );
+    spmv_impl< value_type >::invoke( alpha, ap, x, beta, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -43,11 +43,12 @@
 struct spr_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename MatrixAP >
-    static return_type compute( real_type const alpha, VectorX& x,
+    static return_type invoke( real_type const alpha, VectorX& x,
             MatrixAP& ap ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::matrix_traits<
@@ -66,7 +67,7 @@
 spr( typename traits::vector_traits< VectorX >::value_type const alpha,
         VectorX& x, MatrixAP& ap ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    spr_impl< value_type >::compute( alpha, x, ap );
+    spr_impl< value_type >::invoke( alpha, x, ap );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -45,11 +45,12 @@
 struct spr2_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY, typename MatrixAP >
-    static return_type compute( real_type const alpha, VectorX& x, VectorY& y,
+    static return_type invoke( real_type const alpha, VectorX& x, VectorY& y,
             MatrixAP& ap ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
@@ -72,7 +73,7 @@
 spr2( typename traits::vector_traits< VectorX >::value_type const alpha,
         VectorX& x, VectorY& y, MatrixAP& ap ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    spr2_impl< value_type >::compute( alpha, x, y, ap );
+    spr2_impl< value_type >::invoke( alpha, x, y, ap );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -45,11 +45,12 @@
 struct symv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename VectorX, typename VectorY >
-    static return_type compute( real_type const alpha, MatrixA& a, VectorX& x,
+    static return_type invoke( real_type const alpha, MatrixA& a, VectorX& x,
             real_type const beta, VectorY& y ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::vector_traits<
@@ -73,7 +74,7 @@
         MatrixA& a, VectorX& x, typename traits::matrix_traits<
         MatrixA >::value_type const beta, VectorY& y ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    symv_impl< value_type >::compute( alpha, a, x, beta, y );
+    symv_impl< value_type >::invoke( alpha, a, x, beta, y );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -43,11 +43,12 @@
 struct syr_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename MatrixA >
-    static return_type compute( real_type const alpha, VectorX& x,
+    static return_type invoke( real_type const alpha, VectorX& x,
             MatrixA& a ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::matrix_traits<
@@ -66,7 +67,7 @@
 syr( typename traits::vector_traits< VectorX >::value_type const alpha,
         VectorX& x, MatrixA& a ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    syr_impl< value_type >::compute( alpha, x, a );
+    syr_impl< value_type >::invoke( alpha, x, a );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -45,11 +45,12 @@
 struct syr2_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename VectorX, typename VectorY, typename MatrixA >
-    static return_type compute( real_type const alpha, VectorX& x, VectorY& y,
+    static return_type invoke( real_type const alpha, VectorX& x, VectorY& y,
             MatrixA& a ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::vector_traits<
@@ -72,7 +73,7 @@
 syr2( typename traits::vector_traits< VectorX >::value_type const alpha,
         VectorX& x, VectorY& y, MatrixA& a ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    syr2_impl< value_type >::compute( alpha, x, y, a );
+    syr2_impl< value_type >::invoke( alpha, x, y, a );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -57,11 +57,12 @@
 struct tbmv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename VectorX >
-    static return_type compute( char const trans, char const diag,
+    static return_type invoke( char const trans, char const diag,
             integer_t const k, MatrixA& a, VectorX& x ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::vector_traits<
@@ -80,7 +81,7 @@
 tbmv( char const trans, char const diag, integer_t const k, MatrixA& a,
         VectorX& x ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    tbmv_impl< value_type >::compute( trans, diag, k, a, x );
+    tbmv_impl< value_type >::invoke( trans, diag, k, a, x );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -57,11 +57,12 @@
 struct tbsv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename VectorX >
-    static return_type compute( char const trans, char const diag,
+    static return_type invoke( char const trans, char const diag,
             integer_t const k, MatrixA& a, VectorX& x ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::vector_traits<
@@ -80,7 +81,7 @@
 tbsv( char const trans, char const diag, integer_t const k, MatrixA& a,
         VectorX& x ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    tbsv_impl< value_type >::compute( trans, diag, k, a, x );
+    tbsv_impl< value_type >::invoke( trans, diag, k, a, x );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -55,11 +55,12 @@
 struct tpmv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixAP, typename VectorX >
-    static return_type compute( char const trans, char const diag,
+    static return_type invoke( char const trans, char const diag,
             MatrixAP& ap, VectorX& x ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixAP >::value_type, typename traits::vector_traits<
@@ -76,7 +77,7 @@
         MatrixAP >::value_type >::return_type
 tpmv( char const trans, char const diag, MatrixAP& ap, VectorX& x ) {
     typedef typename traits::matrix_traits< MatrixAP >::value_type value_type;
-    tpmv_impl< value_type >::compute( trans, diag, ap, x );
+    tpmv_impl< value_type >::invoke( trans, diag, ap, x );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -55,11 +55,12 @@
 struct tpsv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixAP, typename VectorX >
-    static return_type compute( char const trans, char const diag,
+    static return_type invoke( char const trans, char const diag,
             MatrixAP& ap, VectorX& x ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixAP >::value_type, typename traits::vector_traits<
@@ -76,7 +77,7 @@
         MatrixAP >::value_type >::return_type
 tpsv( char const trans, char const diag, MatrixAP& ap, VectorX& x ) {
     typedef typename traits::matrix_traits< MatrixAP >::value_type value_type;
-    tpsv_impl< value_type >::compute( trans, diag, ap, x );
+    tpsv_impl< value_type >::invoke( trans, diag, ap, x );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -57,11 +57,12 @@
 struct trmv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename VectorX >
-    static return_type compute( char const trans, char const diag, MatrixA& a,
+    static return_type invoke( char const trans, char const diag, MatrixA& a,
             VectorX& x ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::vector_traits<
@@ -79,7 +80,7 @@
         MatrixA >::value_type >::return_type
 trmv( char const trans, char const diag, MatrixA& a, VectorX& x ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    trmv_impl< value_type >::compute( trans, diag, a, x );
+    trmv_impl< value_type >::invoke( trans, diag, a, x );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -57,11 +57,12 @@
 struct trsv_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename VectorX >
-    static return_type compute( char const trans, char const diag, MatrixA& a,
+    static return_type invoke( char const trans, char const diag, MatrixA& a,
             VectorX& x ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::vector_traits<
@@ -79,7 +80,7 @@
         MatrixA >::value_type >::return_type
 trsv( char const trans, char const diag, MatrixA& a, VectorX& x ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    trsv_impl< value_type >::compute( trans, diag, a, x );
+    trsv_impl< value_type >::invoke( trans, diag, a, x );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level2
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -9,4 +9,6 @@
 #ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_HPP
 #define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_HPP
 
+#include <boost/numeric/bindings/blas/solve.hpp>
+
 #endif
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -69,11 +69,12 @@
 struct gemm_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename MatrixB, typename MatrixC >
-    static return_type compute( char const transa, char const transb,
+    static return_type invoke( char const transa, char const transb,
             integer_t const k, value_type const alpha, MatrixA& a, MatrixB& b,
             value_type const beta, MatrixC& c ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
@@ -99,7 +100,7 @@
         MatrixA& a, MatrixB& b, typename traits::matrix_traits<
         MatrixA >::value_type const beta, MatrixC& c ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    gemm_impl< value_type >::compute( transa, transb, k, alpha, a, b,
+    gemm_impl< value_type >::invoke( transa, transb, k, alpha, a, b,
             beta, c );
 }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -53,11 +53,12 @@
 struct hemm_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename MatrixB, typename MatrixC >
-    static return_type compute( char const side, value_type const alpha,
+    static return_type invoke( char const side, value_type const alpha,
             MatrixA& a, MatrixB& b, value_type const beta, MatrixC& c ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::matrix_traits<
@@ -83,7 +84,7 @@
         typename traits::matrix_traits< MatrixA >::value_type const beta,
         MatrixC& c ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    hemm_impl< value_type >::compute( side, alpha, a, b, beta, c );
+    hemm_impl< value_type >::invoke( side, alpha, a, b, beta, c );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level3
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -53,11 +53,12 @@
 struct her2k_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename MatrixB, typename MatrixC >
-    static return_type compute( char const trans, integer_t const k,
+    static return_type invoke( char const trans, integer_t const k,
             value_type const alpha, MatrixA& a, MatrixB& b,
             real_type const beta, MatrixC& c ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
@@ -83,7 +84,7 @@
         MatrixA& a, MatrixB& b, typename traits::matrix_traits<
         MatrixA >::value_type const beta, MatrixC& c ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    her2k_impl< value_type >::compute( trans, k, alpha, a, b, beta, c );
+    her2k_impl< value_type >::invoke( trans, k, alpha, a, b, beta, c );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level3
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -49,11 +49,12 @@
 struct herk_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename MatrixC >
-    static return_type compute( char const trans, integer_t const k,
+    static return_type invoke( char const trans, integer_t const k,
             real_type const alpha, MatrixA& a, real_type const beta,
             MatrixC& c ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
@@ -75,7 +76,7 @@
         MatrixA& a, typename traits::matrix_traits<
         MatrixA >::value_type const beta, MatrixC& c ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    herk_impl< value_type >::compute( trans, k, alpha, a, beta, c );
+    herk_impl< value_type >::invoke( trans, k, alpha, a, beta, c );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level3
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -67,11 +67,12 @@
 struct symm_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename MatrixB, typename MatrixC >
-    static return_type compute( char const side, value_type const alpha,
+    static return_type invoke( char const side, value_type const alpha,
             MatrixA& a, MatrixB& b, value_type const beta, MatrixC& c ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::matrix_traits<
@@ -97,7 +98,7 @@
         typename traits::matrix_traits< MatrixA >::value_type const beta,
         MatrixC& c ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    symm_impl< value_type >::compute( side, alpha, a, b, beta, c );
+    symm_impl< value_type >::invoke( side, alpha, a, b, beta, c );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level3
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -67,11 +67,12 @@
 struct syr2k_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename MatrixB, typename MatrixC >
-    static return_type compute( char const trans, integer_t const k,
+    static return_type invoke( char const trans, integer_t const k,
             value_type const alpha, MatrixA& a, MatrixB& b,
             value_type const beta, MatrixC& c ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
@@ -97,7 +98,7 @@
         MatrixA& a, MatrixB& b, typename traits::matrix_traits<
         MatrixA >::value_type const beta, MatrixC& c ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    syr2k_impl< value_type >::compute( trans, k, alpha, a, b, beta, c );
+    syr2k_impl< value_type >::invoke( trans, k, alpha, a, b, beta, c );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level3
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -65,11 +65,12 @@
 struct syrk_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename MatrixC >
-    static return_type compute( char const trans, integer_t const k,
+    static return_type invoke( char const trans, integer_t const k,
             value_type const alpha, MatrixA& a, value_type const beta,
             MatrixC& c ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
@@ -91,7 +92,7 @@
         MatrixA& a, typename traits::matrix_traits<
         MatrixA >::value_type const beta, MatrixC& c ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    syrk_impl< value_type >::compute( trans, k, alpha, a, beta, c );
+    syrk_impl< value_type >::invoke( trans, k, alpha, a, beta, c );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level3
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -65,11 +65,12 @@
 struct trmm_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename MatrixB >
-    static return_type compute( char const side, char const transa,
+    static return_type invoke( char const side, char const transa,
             char const diag, value_type const alpha, MatrixA& a, MatrixB& b ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::matrix_traits<
@@ -90,7 +91,7 @@
         typename traits::matrix_traits< MatrixA >::value_type const alpha,
         MatrixA& a, MatrixB& b ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    trmm_impl< value_type >::compute( side, transa, diag, alpha, a, b );
+    trmm_impl< value_type >::invoke( side, transa, diag, alpha, a, b );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level3
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -65,11 +65,12 @@
 struct trsm_impl {
 
     typedef ValueType value_type;
+    typedef typename traits::type_traits<ValueType>::real_type real_type;
     typedef void return_type;
 
     // templated specialization
     template< typename MatrixA, typename MatrixB >
-    static return_type compute( char const side, char const transa,
+    static return_type invoke( char const side, char const transa,
             char const diag, value_type const alpha, MatrixA& a, MatrixB& b ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::matrix_traits<
@@ -90,7 +91,7 @@
         typename traits::matrix_traits< MatrixA >::value_type const alpha,
         MatrixA& a, MatrixB& b ) {
     typedef typename traits::matrix_traits< MatrixA >::value_type value_type;
-    trsm_impl< value_type >::compute( side, transa, diag, alpha, a, b );
+    trsm_impl< value_type >::invoke( side, transa, diag, alpha, a, b );
 }
 
 }}}}} // namespace boost::numeric::bindings::blas::level3
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/norm_1.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/norm_1.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/norm_1.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -21,7 +21,7 @@
     typename traits::vector_traits< VectorX >::value_type >::return_type
 norm_1( VectorX& x ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    return level1::asum_impl< value_type >::compute( x );
+    return level1::asum_impl< value_type >::invoke( x );
 }
 
 }}}} // namespace boost::numeric::bindings::blas
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/scale.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/scale.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/scale.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -16,14 +16,13 @@
 namespace bindings {
 namespace blas {
 
-//using scale = level1::scal;
 template< typename VectorX >
-inline typename level1::scal_impl< 
+inline typename level1::scal_impl<
     typename traits::vector_traits< VectorX >::value_type >::return_type
 scale( typename traits::vector_traits< VectorX >::value_type const a,
-        VectorX& x ) {
+       VectorX& x ) {
     typedef typename traits::vector_traits< VectorX >::value_type value_type;
-    level1::scal_impl< value_type >::compute( a, x );
+    level1::scal_impl< value_type >::invoke( a, x );
 }
 
 }}}} // namespace boost::numeric::bindings::blas
Added: sandbox/numeric_bindings/boost/numeric/bindings/blas/solve.hpp
==============================================================================
--- (empty file)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/solve.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -0,0 +1,52 @@
+//
+// Copyright (c) 2009 Rutger ter Borg
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SOLVE_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_SOLVE_HPP
+
+#include <boost/mpl/at.hpp>
+#include <boost/mpl/map.hpp>
+#include <boost/numeric/bindings/blas/level2/trsv.hpp>
+#include <boost/numeric/bindings/blas/level2/tbsv.hpp>
+#include <boost/numeric/bindings/blas/level2/tpsv.hpp>
+
+#include <boost/numeric/bindings/blas/level3/trsm.hpp>
+
+namespace mpl = ::boost::mpl;
+
+namespace boost {
+namespace numeric {
+namespace bindings {
+namespace blas {
+
+namespace detail {
+
+template< typename Matrix >
+struct solve_dispatcher {
+    typedef typename traits::vector_traits< Vector >::value_type value_type;
+
+    typedef typename mpl::map<
+        mpl::pair< traits::general_t, level2::trsv_impl< value_type > >,
+        mpl::pair< traits::banded_t, level2::tbsv_impl< value_type > >,
+        mpl::pair< traits::packed_t, level2::tpsv_impl< value_type > > > map;
+
+    typedef typename mpl::at< map, value_type >::type routine;
+};
+
+} // namespace detail
+
+
+
+
+
+
+
+}}}} // namespace boost::numeric::bindings::blas
+
+#endif
+
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsdc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsdc.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsdc.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_BDSDC_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_BDSQR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GBBRD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbcon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbcon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbcon.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GBCON_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbequ.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbequ.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbequ.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GBEQU_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GBRFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GBTRF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GBTRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GEBAK_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GEBAL_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GEBRD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gecon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gecon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gecon.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GECON_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geequ.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geequ.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geequ.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GEEQU_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GEHRD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GELQF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GEQLF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GEQP3_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GEQRF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GERFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GERQF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GETRF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GETRI_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GETRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GGBAK_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbal.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbal.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbal.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GGBAL_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GGHRD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GGQRF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GGRQF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GGSVP_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GTRFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_GTTRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HBGST_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HBTRD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hecon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hecon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hecon.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HECON_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hegst.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hegst.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hegst.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HEGST_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HERFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HETRD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HETRF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HETRI_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HETRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HGEQZ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HPRFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HPTRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HSEIN_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HSEQR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/labrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/labrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/labrd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_LABRD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/lacon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/lacon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/lacon.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_LACON_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/laebz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/laebz.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/laebz.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_LAEBZ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/larz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/larz.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/larz.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_LARZ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_LATRD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_LATRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrz.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrz.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_LATRZ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_OPGTR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_OPMTR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgbr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgbr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgbr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORGBR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orghr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orghr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orghr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORGHR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orglq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orglq.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orglq.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORGLQ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgql.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgql.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgql.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORGQL_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgqr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgqr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORGQR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgrq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgrq.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgrq.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORGRQ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgtr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORGTR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORMBR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORMHR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORMLQ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORMQL_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORMQR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORMRQ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORMRZ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_ORMTR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbcon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbcon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbcon.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_PBCON_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbequ.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbequ.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbequ.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_PBEQU_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_PBRFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_PBSTF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_PBTRF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_PBTRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pocon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pocon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pocon.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_POCON_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/poequ.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/poequ.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/poequ.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_POEQU_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_PORFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_POTRF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_POTRI_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_POTRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_PPRFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_PPTRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pteqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pteqr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pteqr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_PTEQR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_PTRFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_PTTRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_SBGST_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_SBTRD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_SPRFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_SPTRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stebz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stebz.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stebz.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_STEBZ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stedc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stedc.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stedc.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_STEDC_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stegr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stegr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stegr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_STEGR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stein.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stein.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stein.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_STEIN_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/steqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/steqr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/steqr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_STEQR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sterf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sterf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sterf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_STERF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sycon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sycon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sycon.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_SYCON_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sygst.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sygst.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sygst.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_SYGST_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_SYRFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_SYTRD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_SYTRF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_SYTRI_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_SYTRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbcon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbcon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbcon.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TBCON_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbrfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TBRFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TBTRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgevc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgevc.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgevc.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TGEVC_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgexc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgexc.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgexc.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TGEXC_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsen.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsen.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsen.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TGSEN_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TGSJA_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsna.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsna.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsna.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TGSNA_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsyl.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsyl.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsyl.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TGSYL_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tprfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tprfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tprfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TPRFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptri.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptri.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TPTRI_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TPTRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trcon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trcon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trcon.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TRCON_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TREVC_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TREXC_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trrfs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TRRFS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TRSEN_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsna.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsna.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsna.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TRSNA_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsyl.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsyl.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsyl.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TRSYL_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TRTRI_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TRTRS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_TZRZF_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungbr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungbr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungbr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNGBR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unghr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unghr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unghr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNGHR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unglq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unglq.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unglq.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNGLQ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungql.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungql.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungql.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNGQL_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungqr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungqr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNGQR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungrq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungrq.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungrq.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNGRQ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungtr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNGTR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNMBR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNMHR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNMLQ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNMQL_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNMQR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNMRQ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNMRZ_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UNMTR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UPGTR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_UPMTR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cgesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cgesv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cgesv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_CGESV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GBSV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
@@ -65,13 +66,23 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<true> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
     static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
             integer_t& info ) {
         invoke( A, pivot, B, info );
     }
 
+    template< typename MatrixA, typename MatrixB, typename VectorP >
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
+            integer_t& info ) {
+        traits::detail::array<
+                integer_t > pivot( traits::matrix_num_columns(A) );
+        invoke( A, pivot, B, info );
+    }
+
     // templated specialization
     template< typename MatrixAB, typename VectorIPIV, typename MatrixB >
     static void invoke( integer_t const kl, integer_t const ku, MatrixAB& ab,
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GBSVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GEES_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GEESX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GEEV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GEEVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GEGV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GELS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GELSD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/auxiliary/ilaenv.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GELSS_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GELSY_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GESDD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GESV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
@@ -61,13 +62,23 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<true> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
     static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
             integer_t& info ) {
         invoke( A, pivot, B, info );
     }
 
+    template< typename MatrixA, typename MatrixB, typename VectorP >
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
+            integer_t& info ) {
+        traits::detail::array<
+                integer_t > pivot( traits::matrix_num_columns(A) );
+        invoke( A, pivot, B, info );
+    }
+
     // templated specialization
     template< typename MatrixA, typename VectorIPIV, typename MatrixB >
     static void invoke( MatrixA& a, VectorIPIV& ipiv, MatrixB& b,
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GESVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GESVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GGES_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GGESX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GGEV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GGEVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GGGLM_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GGLSE_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GGSVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GTSV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
@@ -65,9 +66,11 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<false> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
-    static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
             integer_t& info ) {
         invoke( B, info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_GTSVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HBEV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HBEVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HBEVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HBGV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HBGVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HBGVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HEEV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HEEVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HEEVR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HEEVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HEGV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HEGVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HEGVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HESV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
@@ -58,13 +59,23 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<true> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
     static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
             integer_t& info ) {
         invoke( A, pivot, B, info );
     }
 
+    template< typename MatrixA, typename MatrixB, typename VectorP >
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
+            integer_t& info ) {
+        traits::detail::array<
+                integer_t > pivot( traits::matrix_num_columns(A) );
+        invoke( A, pivot, B, info );
+    }
+
     // user-defined workspace specialization
     template< typename MatrixA, typename VectorIPIV, typename MatrixB,
             typename WORK >
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HESVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpev.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HPEV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HPEVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HPEVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HPGV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HPGVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HPGVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HPSV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
@@ -51,13 +52,23 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<true> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
     static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
             integer_t& info ) {
         invoke( A, pivot, B, info );
     }
 
+    template< typename MatrixA, typename MatrixB, typename VectorP >
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
+            integer_t& info ) {
+        traits::detail::array<
+                integer_t > pivot( traits::matrix_num_columns(A) );
+        invoke( A, pivot, B, info );
+    }
+
     // templated specialization
     template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
     static void invoke( MatrixAP& ap, VectorIPIV& ipiv, MatrixB& b,
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HPSVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lacgv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lacgv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lacgv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_LACGV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lalsd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lalsd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lalsd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_LALSD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/largv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/largv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/largv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_LARGV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_PBSV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
@@ -61,9 +62,11 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<false> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
-    static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
             integer_t& info ) {
         invoke( A, B, info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_PBSVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_POSV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
@@ -61,9 +62,11 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<false> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
-    static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
             integer_t& info ) {
         invoke( A, B, info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_POSVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_PPSV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
@@ -61,9 +62,11 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<false> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
-    static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
             integer_t& info ) {
         invoke( A, B, info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_PPSVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_PTSV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/is_complex.hpp>
 #include <boost/numeric/bindings/traits/is_real.hpp>
@@ -66,9 +67,11 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<false> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
-    static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
             integer_t& info ) {
         invoke( B, info );
     }
@@ -102,9 +105,11 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<false> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
-    static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
             integer_t& info ) {
         invoke( B, info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_PTSVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SBEV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SBEVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SBEVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SBGV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SBGVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SBGVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sgesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sgesv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sgesv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SGESV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spev.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SPEV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SPEVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SPEVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SPGV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SPGVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SPGVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SPSV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
@@ -61,13 +62,23 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<true> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
     static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
             integer_t& info ) {
         invoke( A, pivot, B, info );
     }
 
+    template< typename MatrixA, typename MatrixB, typename VectorP >
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
+            integer_t& info ) {
+        traits::detail::array<
+                integer_t > pivot( traits::matrix_num_columns(A) );
+        invoke( A, pivot, B, info );
+    }
+
     // templated specialization
     template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
     static void invoke( MatrixAP& ap, VectorIPIV& ipiv, MatrixB& b,
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SPSVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stev.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_STEV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_STEVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_STEVR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_STEVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SYEV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SYEVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SYEVR_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SYEVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SYGV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvd.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SYGVD_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SYGVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SYSV_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
@@ -79,13 +80,23 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<true> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
     static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
             integer_t& info ) {
         invoke( A, pivot, B, info );
     }
 
+    template< typename MatrixA, typename MatrixB, typename VectorP >
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
+            integer_t& info ) {
+        traits::detail::array<
+                integer_t > pivot( traits::matrix_num_columns(A) );
+        invoke( A, pivot, B, info );
+    }
+
     // user-defined workspace specialization
     template< typename MatrixA, typename VectorIPIV, typename MatrixB,
             typename WORK >
@@ -148,13 +159,23 @@
     typedef ValueType value_type;
     typedef typename traits::type_traits<ValueType>::real_type real_type;
 
-    // uniform high-level dispatching-function
+    // high-level solve typedefs and functions
+    typedef boost::mpl::bool_<true> has_pivot;
+
     template< typename MatrixA, typename MatrixB, typename VectorP >
     static void solve( MatrixA& A, MatrixB& B, VectorP& pivot,
             integer_t& info ) {
         invoke( A, pivot, B, info );
     }
 
+    template< typename MatrixA, typename MatrixB, typename VectorP >
+    static void solve( MatrixA& A, MatrixB& B, VectorP const&,
+            integer_t& info ) {
+        traits::detail::array<
+                integer_t > pivot( traits::matrix_num_columns(A) );
+        invoke( A, pivot, B, info );
+    }
+
     // user-defined workspace specialization
     template< typename MatrixA, typename VectorIPIV, typename MatrixB,
             typename WORK >
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -15,6 +15,7 @@
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_SYSVX_HPP
 
 #include <boost/assert.hpp>
+#include <boost/mpl/bool.hpp>
 #include <boost/numeric/bindings/lapack/detail/lapack.h>
 #include <boost/numeric/bindings/lapack/workspace.hpp>
 #include <boost/numeric/bindings/traits/detail/array.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/solve.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/solve.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/solve.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -24,7 +24,6 @@
 #include <boost/numeric/bindings/lapack/driver/spsv.hpp>
 
 #include <boost/numeric/bindings/lapack/keywords.hpp>
-#include <boost/numeric/bindings/lapack/detail/null_vector.hpp>
 
 #include <boost/mpl/at.hpp>
 #include <boost/mpl/map.hpp>
@@ -39,10 +38,12 @@
 namespace lapack {
 
 template< typename Matrix >
-struct solve_dispatcher {
+struct solve_impl {
     typedef typename traits::matrix_traits< Matrix >::value_type value_type;
     typedef typename traits::matrix_traits< Matrix >::matrix_structure matrix_structure;
 
+    struct null_type {};
+
     typedef typename mpl::map<
         mpl::pair< traits::general_t, gesv_impl< value_type > >,
         mpl::pair< traits::symmetric_t, sysv_impl< value_type > >,
@@ -54,10 +55,6 @@
 
     typedef typename mpl::at< simple_map, matrix_structure >::type simple;
 
-    // placeholder for pivot vector type, 
-    // will dispatch to this type and a null_vector
-    typedef traits::detail::array< integer_t > pivot_type;
-
 };
 
 BOOST_PARAMETER_FUNCTION(
@@ -69,11 +66,11 @@
         (in_out(B), *)
     )
     (optional
-        (in_out(pivot), *,
-            typename solve_dispatcher< A_type >::pivot_type( traits::matrix_num_columns(A) ) )
+        (pivot, *,
+            typename solve_impl< A_type >::null_type() )
     )
     ) {
-        typedef typename solve_dispatcher< A_type >::simple routine;
+        typedef typename solve_impl< A_type >::simple routine;
         integer_t info(0);
         routine::solve( A, B, pivot, info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/traits/transpose.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/traits/transpose.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/traits/transpose.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -9,12 +9,40 @@
 #ifndef BOOST_BINDINGS_TRANSPOSE_HPP
 #define BOOST_BINDINGS_TRANSPOSE_HPP
 
+#include <boost/numeric/bindings/traits/matrix_traits.hpp>
+#include <boost/numeric/bindings/traits/is_decorated.hpp>
+
 namespace boost { namespace numeric { namespace bindings { namespace traits {
 
-  const char NO_TRANSPOSE = 'N' ;
-  const char TRANSPOSE    = 'T' ;
-  const char CONJUGATE    = 'C' ;
+const char NO_TRANSPOSE = 'N' ;
+const char TRANSPOSE    = 'T' ;
+const char CONJUGATE    = 'C' ;
+
+struct no_transpose_t {};
+struct transpose_t {};
+struct conjugate_t {};
+
+template< typename Matrix, typename Decoration >
+struct decoration_impl {
+    typedef Matrix underlying_type;
+    typedef Decoration decoration_type;
+    decoration_impl( Matrix &m ): m_matrix(m) {}
+    inline underlying_type& get() {
+        return m_matrix;
+    }
+    Matrix& m_matrix;
+};
+
+template< typename Matrix >
+decoration_impl< Matrix, transpose_t > trans( Matrix &m ) {
+    return decoration_impl<Matrix, transpose_t >(m);
+}
+
+template< typename Matrix >
+decoration_impl< Matrix, conjugate_t > conj( Matrix &m ) {
+    return decoration_impl<Matrix, conjugate_t >(m);
+}
 
 }}}}
 
-#endif 
+#endif
Modified: sandbox/numeric_bindings/boost/numeric/bindings/traits/type.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/traits/type.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/traits/type.hpp	2009-03-22 06:46:04 EDT (Sun, 22 Mar 2009)
@@ -26,6 +26,9 @@
   template <typename T> 
   T imag (std::complex<T> const& c) { return std::imag (c); }
 
+
+  struct null_t {};
+
 }}}}
 
 #endif // boost_numeric_bindings_type_hpp