Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r64585 - in sandbox/numeric_bindings: boost/numeric/bindings/blas/level1 boost/numeric/bindings/blas/level2 boost/numeric/bindings/blas/level3 boost/numeric/bindings/lapack/auxiliary boost/numeric/bindings/lapack/computational boost/numeric/bindings/lapack/driver libs/numeric/bindings/doc/blas/level1 libs/numeric/bindings/doc/blas/level2 libs/numeric/bindings/doc/lapack/auxiliary
From: thomas.klimpel_at_[hidden]
Date: 2010-08-03 19:56:35


Author: klimpel
Date: 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
New Revision: 64585
URL: http://svn.boost.org/trac/boost/changeset/64585

Log:
All the nice overloads are gone. And VectorView is gone too.
Text files modified:
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/asum.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/axpy.hpp | 36
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/copy.hpp | 31
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dot.hpp | 16
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotc.hpp | 16
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/iamax.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/nrm2.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/prec_dot.hpp | 16
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rot.hpp | 72 -
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotm.hpp | 65 -
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/scal.hpp | 27
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/swap.hpp | 61 -
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp | 37
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp | 36
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp | 36
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp | 29
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp | 36
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp | 30
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp | 36
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp | 36
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp | 30
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp | 37
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp | 29
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp | 37
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp | 26
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp | 26
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp | 25
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp | 25
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp | 25
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp | 25
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp | 16
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp | 16
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp | 16
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp | 16
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp | 16
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp | 16
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp | 15
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp | 14
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp | 14
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/labrd.hpp | 110 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/laebz.hpp | 163 ---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/lalsd.hpp | 38
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larf.hpp | 132 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larfb.hpp | 35
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larfg.hpp | 59 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larft.hpp | 41
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larfx.hpp | 66 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/largv.hpp | 140 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larz.hpp | 130 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/latrd.hpp | 41
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/latrz.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsdc.hpp | 115 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp | 258 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp | 580 -------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp | 38
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrf.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp | 13
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp | 30
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp | 30
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp | 37
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp | 16
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbal.hpp | 112 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp | 244 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp | 100 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp | 100 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp | 1545 ----------------------------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp | 44
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp | 14
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp | 97 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp | 103 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hegst.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp | 37
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp | 31
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp | 1314 -----------------------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp | 38
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrd.hpp | 13
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrf.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptri.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp | 260 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp | 218 ----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgbr.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orghr.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orglq.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgql.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgqr.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgrq.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgtr.hpp | 30
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp | 34
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp | 35
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp | 35
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftrf.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftri.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftrs.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp | 35
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp | 35
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrf.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptri.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pstrf.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pteqr.hpp | 30
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp | 76 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp | 24
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp | 97 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp | 103 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp | 38
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrd.hpp | 13
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrf.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptri.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stedc.hpp | 30
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stegr.hpp | 48 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stein.hpp | 40
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stemr.hpp | 96 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/steqr.hpp | 30
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sygst.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp | 37
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp | 31
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp | 12
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tftri.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgevc.hpp | 117 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgexc.hpp | 865 -------------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsen.hpp | 1589 -----------------------------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp | 1669 -------------------------------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsyl.hpp | 131 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptri.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp | 496 -----------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp | 138 ---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp | 127 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsyl.hpp | 16
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungbr.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unghr.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unglq.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungql.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungqr.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungrq.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungtr.hpp | 30
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp | 34
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp | 35
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp | 32
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp | 33
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp | 38
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp | 708 ---------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp | 219 ----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp | 258 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp | 507 -----------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp | 663 --------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp | 1266 ----------------------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gejsv.hpp | 272 ------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp | 88 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp | 109 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp | 109 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp | 109 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp | 251 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp | 38
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp | 251 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp | 704 ---------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp | 1336 ------------------------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp | 1449 --------------------------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp | 1266 ----------------------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp | 1772 ---------------------------------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp | 100 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp | 100 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp | 1438 --------------------------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp | 13
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp | 46 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp | 95 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp | 95 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp | 345 -------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp | 251 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp | 251 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp | 796 -----------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp | 142 ---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp | 142 ---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegv.hpp | 100 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvd.hpp | 100 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvx.hpp | 353 -------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp | 92 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp | 126 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpev.hpp | 95 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevd.hpp | 95 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevx.hpp | 142 ---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgv.hpp | 256 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvd.hpp | 256 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvx.hpp | 354 -------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp | 38
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp | 127 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/iter_gesv.hpp | 103 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/iter_posv.hpp | 97 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp | 35
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp | 675 ---------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp | 35
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp | 675 ---------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp | 35
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp | 302 ------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp | 11
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp | 41
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp | 95 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp | 95 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp | 345 -------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp | 251 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp | 251 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp | 796 -----------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spev.hpp | 95 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevd.hpp | 95 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevx.hpp | 142 ---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgv.hpp | 256 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvd.hpp | 256 -----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvx.hpp | 354 -------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp | 38
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp | 127 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stev.hpp | 31
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevd.hpp | 31
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevr.hpp | 48 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevx.hpp | 48 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp | 28
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp | 142 ---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp | 142 ---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygv.hpp | 100 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvd.hpp | 100 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvx.hpp | 353 -------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp | 92 --
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp | 126 --
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/asum.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/axpy.qbk | 10
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/copy.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/dot.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/dotc.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/iamax.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/nrm2.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/prec_dot.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/rot.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/rotm.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/scal.qbk | 10
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/swap.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/gbmv.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/gemv.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/ger.qbk | 9
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/gerc.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/geru.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hbmv.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hemv.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/her.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/her2.qbk | 11
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hpmv.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hpr.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hpr2.qbk | 11
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/sbmv.qbk | 4
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/spmv.qbk | 4
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/spr.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/spr2.qbk | 9
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/symv.qbk | 4
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/syr.qbk | 8
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/syr2.qbk | 9
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tbmv.qbk | 2
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tbsv.qbk | 2
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tpmv.qbk | 2
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tpsv.qbk | 2
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/trmv.qbk | 2
   sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/trsv.qbk | 2
   sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/larf.qbk | 12
   sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/larfg.qbk | 10
   sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/largv.qbk | 9
   sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/larz.qbk | 10
   314 files changed, 579 insertions(+), 39057 deletions(-)

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -193,8 +193,8 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX >
- static result_type invoke( const VectorViewX& x ) {
+ template< typename VectorX >
+ static result_type invoke( const VectorX& x ) {
         namespace bindings = ::boost::numeric::bindings;
         return detail::asum( bindings::size(x),
                 bindings::begin_value(x), bindings::stride(x) );
@@ -212,12 +212,12 @@
 //
 // Overloaded function for asum. Its overload differs for
 //
-template< typename VectorViewX >
+template< typename VectorX >
 inline typename asum_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-asum( const VectorViewX& x ) {
+ VectorX >::type >::result_type
+asum( const VectorX& x ) {
     return asum_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x );
+ VectorX >::type >::invoke( x );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -203,15 +203,15 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY >
- static result_type invoke( const value_type a, const VectorViewX& x,
- VectorViewY& y ) {
+ template< typename VectorX, typename VectorY >
+ static result_type invoke( const value_type a, const VectorX& x,
+ VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
+ VectorY >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
         detail::axpy( bindings::size(x), a, bindings::begin_value(x),
                 bindings::stride(x), bindings::begin_value(y),
                 bindings::stride(y) );
@@ -228,28 +228,14 @@
 
 //
 // Overloaded function for axpy. Its overload differs for
-// * VectorViewY&
 //
-template< typename VectorViewX, typename VectorViewY >
+template< typename VectorX, typename VectorY >
 inline typename axpy_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-axpy( const typename bindings::value_type< VectorViewX >::type a,
- const VectorViewX& x, VectorViewY& y ) {
+ VectorX >::type >::result_type
+axpy( const typename bindings::value_type< VectorX >::type a,
+ const VectorX& x, VectorY& y ) {
     axpy_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( a, x, y );
-}
-
-//
-// Overloaded function for axpy. Its overload differs for
-// * const VectorViewY&
-//
-template< typename VectorViewX, typename VectorViewY >
-inline typename axpy_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-axpy( const typename bindings::value_type< VectorViewX >::type a,
- const VectorViewX& x, const VectorViewY& y ) {
- axpy_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( a, x, y );
+ VectorX >::type >::invoke( a, x, y );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -199,14 +199,14 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY >
- static result_type invoke( const VectorViewX& x, VectorViewY& y ) {
+ template< typename VectorX, typename VectorY >
+ static result_type invoke( const VectorX& x, VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
+ VectorY >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
         detail::copy( bindings::size(x), bindings::begin_value(x),
                 bindings::stride(x), bindings::begin_value(y),
                 bindings::stride(y) );
@@ -223,26 +223,13 @@
 
 //
 // Overloaded function for copy. Its overload differs for
-// * VectorViewY&
 //
-template< typename VectorViewX, typename VectorViewY >
+template< typename VectorX, typename VectorY >
 inline typename copy_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-copy( const VectorViewX& x, VectorViewY& y ) {
+ VectorX >::type >::result_type
+copy( const VectorX& x, VectorY& y ) {
     copy_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y );
-}
-
-//
-// Overloaded function for copy. Its overload differs for
-// * const VectorViewY&
-//
-template< typename VectorViewX, typename VectorViewY >
-inline typename copy_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-copy( const VectorViewX& x, const VectorViewY& y ) {
- copy_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y );
+ VectorX >::type >::invoke( x, y );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -203,13 +203,13 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY >
- static result_type invoke( const VectorViewX& x, const VectorViewY& y ) {
+ template< typename VectorX, typename VectorY >
+ static result_type invoke( const VectorX& x, const VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         return detail::dot( bindings::size(x),
                 bindings::begin_value(x), bindings::stride(x),
                 bindings::begin_value(y), bindings::stride(y) );
@@ -227,12 +227,12 @@
 //
 // Overloaded function for dot. Its overload differs for
 //
-template< typename VectorViewX, typename VectorViewY >
+template< typename VectorX, typename VectorY >
 inline typename dot_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-dot( const VectorViewX& x, const VectorViewY& y ) {
+ VectorX >::type >::result_type
+dot( const VectorX& x, const VectorY& y ) {
     return dot_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y );
+ VectorX >::type >::invoke( x, y );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -143,13 +143,13 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY >
- static result_type invoke( const VectorViewX& x, const VectorViewY& y ) {
+ template< typename VectorX, typename VectorY >
+ static result_type invoke( const VectorX& x, const VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         return detail::dotc( bindings::size(x),
                 bindings::begin_value(x), bindings::stride(x),
                 bindings::begin_value(y), bindings::stride(y) );
@@ -167,12 +167,12 @@
 //
 // Overloaded function for dotc. Its overload differs for
 //
-template< typename VectorViewX, typename VectorViewY >
+template< typename VectorX, typename VectorY >
 inline typename dotc_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-dotc( const VectorViewX& x, const VectorViewY& y ) {
+ VectorX >::type >::result_type
+dotc( const VectorX& x, const VectorY& y ) {
     return dotc_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y );
+ VectorX >::type >::invoke( x, y );
 }
 
 } // namespace blas

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/iamax.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/iamax.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/iamax.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -195,8 +195,8 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX >
- static result_type invoke( const VectorViewX& x ) {
+ template< typename VectorX >
+ static result_type invoke( const VectorX& x ) {
         namespace bindings = ::boost::numeric::bindings;
         return detail::iamax( bindings::size(x),
                 bindings::begin_value(x), bindings::stride(x) );
@@ -214,12 +214,12 @@
 //
 // Overloaded function for iamax. Its overload differs for
 //
-template< typename VectorViewX >
+template< typename VectorX >
 inline typename iamax_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-iamax( const VectorViewX& x ) {
+ VectorX >::type >::result_type
+iamax( const VectorX& x ) {
     return iamax_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x );
+ VectorX >::type >::invoke( x );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -193,8 +193,8 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX >
- static result_type invoke( const VectorViewX& x ) {
+ template< typename VectorX >
+ static result_type invoke( const VectorX& x ) {
         namespace bindings = ::boost::numeric::bindings;
         return detail::nrm2( bindings::size(x),
                 bindings::begin_value(x), bindings::stride(x) );
@@ -212,12 +212,12 @@
 //
 // Overloaded function for nrm2. Its overload differs for
 //
-template< typename VectorViewX >
+template< typename VectorX >
 inline typename nrm2_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-nrm2( const VectorViewX& x ) {
+ VectorX >::type >::result_type
+nrm2( const VectorX& x ) {
     return nrm2_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x );
+ VectorX >::type >::invoke( x );
 }
 
 } // namespace blas

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/prec_dot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/prec_dot.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/prec_dot.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -107,13 +107,13 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY >
- static result_type invoke( const VectorViewX& x, const VectorViewY& y ) {
+ template< typename VectorX, typename VectorY >
+ static result_type invoke( const VectorX& x, const VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         return detail::prec_dot( bindings::size(x),
                 bindings::begin_value(x), bindings::stride(x),
                 bindings::begin_value(y), bindings::stride(y) );
@@ -131,12 +131,12 @@
 //
 // Overloaded function for prec_dot. Its overload differs for
 //
-template< typename VectorViewX, typename VectorViewY >
+template< typename VectorX, typename VectorY >
 inline typename prec_dot_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-prec_dot( const VectorViewX& x, const VectorViewY& y ) {
+ VectorX >::type >::result_type
+prec_dot( const VectorX& x, const VectorY& y ) {
     return prec_dot_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y );
+ VectorX >::type >::invoke( x, y );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -203,14 +203,14 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY >
- static result_type invoke( VectorViewX& x, VectorViewY& y,
- const real_type c, const real_type s ) {
+ template< typename VectorX, typename VectorY >
+ static result_type invoke( VectorX& x, VectorY& y, const real_type c,
+ const real_type s ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         detail::rot( bindings::size(x), bindings::begin_value(x),
                 bindings::stride(x), bindings::begin_value(y),
                 bindings::stride(y), c, s );
@@ -227,66 +227,16 @@
 
 //
 // Overloaded function for rot. Its overload differs for
-// * VectorViewX&
-// * VectorViewY&
 //
-template< typename VectorViewX, typename VectorViewY >
+template< typename VectorX, typename VectorY >
 inline typename rot_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-rot( VectorViewX& x, VectorViewY& y, const typename remove_imaginary<
- typename bindings::value_type< VectorViewX >::type >::type c,
+ VectorX >::type >::result_type
+rot( VectorX& x, VectorY& y, const typename remove_imaginary<
+ typename bindings::value_type< VectorX >::type >::type c,
         const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type s ) {
+ VectorX >::type >::type s ) {
     rot_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y, c, s );
-}
-
-//
-// Overloaded function for rot. Its overload differs for
-// * const VectorViewX&
-// * VectorViewY&
-//
-template< typename VectorViewX, typename VectorViewY >
-inline typename rot_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-rot( const VectorViewX& x, VectorViewY& y,
- const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type c, const typename remove_imaginary<
- typename bindings::value_type< VectorViewX >::type >::type s ) {
- rot_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y, c, s );
-}
-
-//
-// Overloaded function for rot. Its overload differs for
-// * VectorViewX&
-// * const VectorViewY&
-//
-template< typename VectorViewX, typename VectorViewY >
-inline typename rot_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-rot( VectorViewX& x, const VectorViewY& y,
- const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type c, const typename remove_imaginary<
- typename bindings::value_type< VectorViewX >::type >::type s ) {
- rot_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y, c, s );
-}
-
-//
-// Overloaded function for rot. Its overload differs for
-// * const VectorViewX&
-// * const VectorViewY&
-//
-template< typename VectorViewX, typename VectorViewY >
-inline typename rot_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-rot( const VectorViewX& x, const VectorViewY& y,
- const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type c, const typename remove_imaginary<
- typename bindings::value_type< VectorViewX >::type >::type s ) {
- rot_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y, c, s );
+ VectorX >::type >::invoke( x, y, c, s );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -137,21 +137,19 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY,
- typename VectorPARAM >
- static result_type invoke( VectorViewX& x, VectorViewY& y,
- VectorPARAM& param ) {
+ template< typename VectorX, typename VectorY, typename VectorPARAM >
+ static result_type invoke( VectorX& x, VectorY& y, VectorPARAM& param ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 VectorPARAM >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorPARAM >::value) );
         detail::rotm( bindings::size(x), bindings::begin_value(x),
                 bindings::stride(x), bindings::begin_value(y),
@@ -169,54 +167,13 @@
 
 //
 // Overloaded function for rotm. Its overload differs for
-// * VectorViewX&
-// * VectorViewY&
 //
-template< typename VectorViewX, typename VectorViewY, typename VectorPARAM >
+template< typename VectorX, typename VectorY, typename VectorPARAM >
 inline typename rotm_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-rotm( VectorViewX& x, VectorViewY& y, VectorPARAM& param ) {
+ VectorX >::type >::result_type
+rotm( VectorX& x, VectorY& y, VectorPARAM& param ) {
     rotm_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y, param );
-}
-
-//
-// Overloaded function for rotm. Its overload differs for
-// * const VectorViewX&
-// * VectorViewY&
-//
-template< typename VectorViewX, typename VectorViewY, typename VectorPARAM >
-inline typename rotm_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-rotm( const VectorViewX& x, VectorViewY& y, VectorPARAM& param ) {
- rotm_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y, param );
-}
-
-//
-// Overloaded function for rotm. Its overload differs for
-// * VectorViewX&
-// * const VectorViewY&
-//
-template< typename VectorViewX, typename VectorViewY, typename VectorPARAM >
-inline typename rotm_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-rotm( VectorViewX& x, const VectorViewY& y, VectorPARAM& param ) {
- rotm_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y, param );
-}
-
-//
-// Overloaded function for rotm. Its overload differs for
-// * const VectorViewX&
-// * const VectorViewY&
-//
-template< typename VectorViewX, typename VectorViewY, typename VectorPARAM >
-inline typename rotm_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-rotm( const VectorViewX& x, const VectorViewY& y, VectorPARAM& param ) {
- rotm_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y, param );
+ VectorX >::type >::invoke( x, y, param );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -253,10 +253,10 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename ScalarA, typename VectorViewX >
- static result_type invoke( const ScalarA a, VectorViewX& x ) {
+ template< typename ScalarA, typename VectorX >
+ static result_type invoke( const ScalarA a, VectorX& x ) {
         namespace bindings = ::boost::numeric::bindings;
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
         detail::scal( bindings::size(x), a, bindings::begin_value(x),
                 bindings::stride(x) );
     }
@@ -272,26 +272,13 @@
 
 //
 // Overloaded function for scal. Its overload differs for
-// * VectorViewX&
 //
-template< typename ScalarA, typename VectorViewX >
+template< typename ScalarA, typename VectorX >
 inline typename scal_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-scal( const ScalarA a, VectorViewX& x ) {
+ VectorX >::type >::result_type
+scal( const ScalarA a, VectorX& x ) {
     scal_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( a, x );
-}
-
-//
-// Overloaded function for scal. Its overload differs for
-// * const VectorViewX&
-//
-template< typename ScalarA, typename VectorViewX >
-inline typename scal_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-scal( const ScalarA a, const VectorViewX& x ) {
- scal_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( a, x );
+ VectorX >::type >::invoke( a, x );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -199,15 +199,15 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY >
- static result_type invoke( VectorViewX& x, VectorViewY& y ) {
+ template< typename VectorX, typename VectorY >
+ static result_type invoke( VectorX& x, VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
+ VectorY >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
         detail::swap( bindings::size(x), bindings::begin_value(x),
                 bindings::stride(x), bindings::begin_value(y),
                 bindings::stride(y) );
@@ -224,54 +224,13 @@
 
 //
 // Overloaded function for swap. Its overload differs for
-// * VectorViewX&
-// * VectorViewY&
 //
-template< typename VectorViewX, typename VectorViewY >
+template< typename VectorX, typename VectorY >
 inline typename swap_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-swap( VectorViewX& x, VectorViewY& y ) {
+ VectorX >::type >::result_type
+swap( VectorX& x, VectorY& y ) {
     swap_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y );
-}
-
-//
-// Overloaded function for swap. Its overload differs for
-// * const VectorViewX&
-// * VectorViewY&
-//
-template< typename VectorViewX, typename VectorViewY >
-inline typename swap_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-swap( const VectorViewX& x, VectorViewY& y ) {
- swap_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y );
-}
-
-//
-// Overloaded function for swap. Its overload differs for
-// * VectorViewX&
-// * const VectorViewY&
-//
-template< typename VectorViewX, typename VectorViewY >
-inline typename swap_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-swap( VectorViewX& x, const VectorViewY& y ) {
- swap_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y );
-}
-
-//
-// Overloaded function for swap. Its overload differs for
-// * const VectorViewX&
-// * const VectorViewY&
-//
-template< typename VectorViewX, typename VectorViewY >
-inline typename swap_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-swap( const VectorViewX& x, const VectorViewY& y ) {
- swap_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( x, y );
+ VectorX >::type >::invoke( x, y );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -268,21 +268,21 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixA, typename VectorViewX, typename VectorViewY >
+ template< typename MatrixA, typename VectorX, typename VectorY >
     static result_type invoke( const value_type alpha, const MatrixA& a,
- const VectorViewX& x, const value_type beta, VectorViewY& y ) {
+ const VectorX& x, const value_type beta, VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename detail::default_order< MatrixA >::type order;
         typedef typename result_of::trans_tag< MatrixA, order >::type trans;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
+ VectorX >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
+ VectorY >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
         BOOST_ASSERT( bindings::size_minor(a) == 1 ||
                 bindings::stride_minor(a) == 1 );
         detail::gbmv( order(), trans(), bindings::size_row_op(a,
@@ -305,30 +305,14 @@
 
 //
 // Overloaded function for gbmv. Its overload differs for
-// * VectorViewY&
 //
-template< typename MatrixA, typename VectorViewX, typename VectorViewY >
+template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename gbmv_impl< typename bindings::value_type<
         MatrixA >::type >::result_type
 gbmv( const typename bindings::value_type< MatrixA >::type alpha,
- const MatrixA& a, const VectorViewX& x,
+ const MatrixA& a, const VectorX& x,
         const typename bindings::value_type< MatrixA >::type beta,
- VectorViewY& y ) {
- gbmv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( alpha, a, x, beta, y );
-}
-
-//
-// Overloaded function for gbmv. Its overload differs for
-// * const VectorViewY&
-//
-template< typename MatrixA, typename VectorViewX, typename VectorViewY >
-inline typename gbmv_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-gbmv( const typename bindings::value_type< MatrixA >::type alpha,
- const MatrixA& a, const VectorViewX& x,
- const typename bindings::value_type< MatrixA >::type beta,
- const VectorViewY& y ) {
+ VectorY& y ) {
     gbmv_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( 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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -274,21 +274,21 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixA, typename VectorViewX, typename VectorViewY >
+ template< typename MatrixA, typename VectorX, typename VectorY >
     static result_type invoke( const value_type alpha, const MatrixA& a,
- const VectorViewX& x, const value_type beta, VectorViewY& y ) {
+ const VectorX& x, const value_type beta, VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename detail::default_order< MatrixA >::type order;
         typedef typename result_of::trans_tag< MatrixA, order >::type trans;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
+ VectorX >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
+ VectorY >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
         BOOST_ASSERT( bindings::size_minor(a) == 1 ||
                 bindings::stride_minor(a) == 1 );
         detail::gemv( order(), trans(), bindings::size_row_op(a,
@@ -309,30 +309,14 @@
 
 //
 // Overloaded function for gemv. Its overload differs for
-// * VectorViewY&
 //
-template< typename MatrixA, typename VectorViewX, typename VectorViewY >
+template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename gemv_impl< typename bindings::value_type<
         MatrixA >::type >::result_type
 gemv( const typename bindings::value_type< MatrixA >::type alpha,
- const MatrixA& a, const VectorViewX& x,
+ const MatrixA& a, const VectorX& x,
         const typename bindings::value_type< MatrixA >::type beta,
- VectorViewY& y ) {
- gemv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( alpha, a, x, beta, y );
-}
-
-//
-// Overloaded function for gemv. Its overload differs for
-// * const VectorViewY&
-//
-template< typename MatrixA, typename VectorViewX, typename VectorViewY >
-inline typename gemv_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-gemv( const typename bindings::value_type< MatrixA >::type alpha,
- const MatrixA& a, const VectorViewX& x,
- const typename bindings::value_type< MatrixA >::type beta,
- const VectorViewY& y ) {
+ VectorY& y ) {
     gemv_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( alpha, a, x, beta, y );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -158,17 +158,17 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY, typename MatrixA >
- static result_type invoke( const real_type alpha, const VectorViewX& x,
- const VectorViewY& y, MatrixA& a ) {
+ template< typename VectorX, typename VectorY, typename MatrixA >
+ static result_type invoke( const real_type alpha, const VectorX& x,
+ const VectorY& y, MatrixA& a ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixA >::type order;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixA >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixA >::value) );
@@ -192,30 +192,15 @@
 
 //
 // Overloaded function for ger. Its overload differs for
-// * MatrixA&
 //
-template< typename VectorViewX, typename VectorViewY, typename MatrixA >
+template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename ger_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
+ VectorX >::type >::result_type
 ger( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x,
- const VectorViewY& y, MatrixA& a ) {
+ VectorX >::type >::type alpha, const VectorX& x, const VectorY& y,
+ MatrixA& a ) {
     ger_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, a );
-}
-
-//
-// Overloaded function for ger. Its overload differs for
-// * const MatrixA&
-//
-template< typename VectorViewX, typename VectorViewY, typename MatrixA >
-inline typename ger_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-ger( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x,
- const VectorViewY& y, const MatrixA& a ) {
- ger_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, a );
+ VectorX >::type >::invoke( alpha, x, y, a );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -164,17 +164,17 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY, typename MatrixA >
- static result_type invoke( const value_type alpha, const VectorViewX& x,
- const VectorViewY& y, MatrixA& a ) {
+ template< typename VectorX, typename VectorY, typename MatrixA >
+ static result_type invoke( const value_type alpha, const VectorX& x,
+ const VectorY& y, MatrixA& a ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixA >::type order;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixA >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixA >::value) );
@@ -198,28 +198,14 @@
 
 //
 // Overloaded function for gerc. Its overload differs for
-// * MatrixA&
 //
-template< typename VectorViewX, typename VectorViewY, typename MatrixA >
+template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename gerc_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-gerc( const typename bindings::value_type< VectorViewX >::type alpha,
- const VectorViewX& x, const VectorViewY& y, MatrixA& a ) {
+ VectorX >::type >::result_type
+gerc( const typename bindings::value_type< VectorX >::type alpha,
+ const VectorX& x, const VectorY& y, MatrixA& a ) {
     gerc_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, a );
-}
-
-//
-// Overloaded function for gerc. Its overload differs for
-// * const MatrixA&
-//
-template< typename VectorViewX, typename VectorViewY, typename MatrixA >
-inline typename gerc_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-gerc( const typename bindings::value_type< VectorViewX >::type alpha,
- const VectorViewX& x, const VectorViewY& y, const MatrixA& a ) {
- gerc_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, a );
+ VectorX >::type >::invoke( alpha, x, y, a );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -164,17 +164,17 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY, typename MatrixA >
- static result_type invoke( const value_type alpha, const VectorViewX& x,
- const VectorViewY& y, MatrixA& a ) {
+ template< typename VectorX, typename VectorY, typename MatrixA >
+ static result_type invoke( const value_type alpha, const VectorX& x,
+ const VectorY& y, MatrixA& a ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixA >::type order;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixA >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixA >::value) );
@@ -198,28 +198,14 @@
 
 //
 // Overloaded function for geru. Its overload differs for
-// * MatrixA&
 //
-template< typename VectorViewX, typename VectorViewY, typename MatrixA >
+template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename geru_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-geru( const typename bindings::value_type< VectorViewX >::type alpha,
- const VectorViewX& x, const VectorViewY& y, MatrixA& a ) {
+ VectorX >::type >::result_type
+geru( const typename bindings::value_type< VectorX >::type alpha,
+ const VectorX& x, const VectorY& y, MatrixA& a ) {
     geru_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, a );
-}
-
-//
-// Overloaded function for geru. Its overload differs for
-// * const MatrixA&
-//
-template< typename VectorViewX, typename VectorViewY, typename MatrixA >
-inline typename geru_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-geru( const typename bindings::value_type< VectorViewX >::type alpha,
- const VectorViewX& x, const VectorViewY& y, const MatrixA& a ) {
- geru_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, a );
+ VectorX >::type >::invoke( alpha, x, y, a );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -266,21 +266,21 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixA, typename VectorViewX, typename VectorViewY >
+ template< typename MatrixA, typename VectorX, typename VectorY >
     static result_type invoke( const value_type alpha, const MatrixA& a,
- const VectorViewX& x, const value_type beta, VectorViewY& y ) {
+ const VectorX& x, const value_type beta, VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixA >::type order;
         typedef typename result_of::uplo_tag< MatrixA >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
+ VectorX >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
+ VectorY >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
         BOOST_ASSERT( bindings::size_minor(a) == 1 ||
                 bindings::stride_minor(a) == 1 );
         detail::hbmv( order(), uplo(), bindings::size_column(a),
@@ -301,30 +301,14 @@
 
 //
 // Overloaded function for hbmv. Its overload differs for
-// * VectorViewY&
 //
-template< typename MatrixA, typename VectorViewX, typename VectorViewY >
+template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename hbmv_impl< typename bindings::value_type<
         MatrixA >::type >::result_type
 hbmv( const typename bindings::value_type< MatrixA >::type alpha,
- const MatrixA& a, const VectorViewX& x,
+ const MatrixA& a, const VectorX& x,
         const typename bindings::value_type< MatrixA >::type beta,
- VectorViewY& y ) {
- hbmv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( alpha, a, x, beta, y );
-}
-
-//
-// Overloaded function for hbmv. Its overload differs for
-// * const VectorViewY&
-//
-template< typename MatrixA, typename VectorViewX, typename VectorViewY >
-inline typename hbmv_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-hbmv( const typename bindings::value_type< MatrixA >::type alpha,
- const MatrixA& a, const VectorViewX& x,
- const typename bindings::value_type< MatrixA >::type beta,
- const VectorViewY& y ) {
+ VectorY& y ) {
     hbmv_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( alpha, a, x, beta, y );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -255,21 +255,21 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixA, typename VectorViewX, typename VectorViewY >
+ template< typename MatrixA, typename VectorX, typename VectorY >
     static result_type invoke( const value_type alpha, const MatrixA& a,
- const VectorViewX& x, const value_type beta, VectorViewY& y ) {
+ const VectorX& x, const value_type beta, VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixA >::type order;
         typedef typename result_of::uplo_tag< MatrixA >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
+ VectorX >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
+ VectorY >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
         BOOST_ASSERT( bindings::size_minor(a) == 1 ||
                 bindings::stride_minor(a) == 1 );
         detail::hemv( order(), uplo(), bindings::size_column(a), alpha,
@@ -289,30 +289,14 @@
 
 //
 // Overloaded function for hemv. Its overload differs for
-// * VectorViewY&
 //
-template< typename MatrixA, typename VectorViewX, typename VectorViewY >
+template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename hemv_impl< typename bindings::value_type<
         MatrixA >::type >::result_type
 hemv( const typename bindings::value_type< MatrixA >::type alpha,
- const MatrixA& a, const VectorViewX& x,
+ const MatrixA& a, const VectorX& x,
         const typename bindings::value_type< MatrixA >::type beta,
- VectorViewY& y ) {
- hemv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( alpha, a, x, beta, y );
-}
-
-//
-// Overloaded function for hemv. Its overload differs for
-// * const VectorViewY&
-//
-template< typename MatrixA, typename VectorViewX, typename VectorViewY >
-inline typename hemv_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-hemv( const typename bindings::value_type< MatrixA >::type alpha,
- const MatrixA& a, const VectorViewX& x,
- const typename bindings::value_type< MatrixA >::type beta,
- const VectorViewY& y ) {
+ VectorY& y ) {
     hemv_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( alpha, a, x, beta, y );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -237,14 +237,14 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename MatrixA >
- static result_type invoke( const real_type alpha, const VectorViewX& x,
+ template< typename VectorX, typename MatrixA >
+ static result_type invoke( const real_type alpha, const VectorX& x,
             MatrixA& a ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixA >::type order;
         typedef typename result_of::uplo_tag< MatrixA >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixA >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixA >::value) );
@@ -266,29 +266,14 @@
 
 //
 // Overloaded function for her. Its overload differs for
-// * MatrixA&
 //
-template< typename VectorViewX, typename MatrixA >
+template< typename VectorX, typename MatrixA >
 inline typename her_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
+ VectorX >::type >::result_type
 her( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x, MatrixA& a ) {
+ VectorX >::type >::type alpha, const VectorX& x, MatrixA& a ) {
     her_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, a );
-}
-
-//
-// Overloaded function for her. Its overload differs for
-// * const MatrixA&
-//
-template< typename VectorViewX, typename MatrixA >
-inline typename her_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-her( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x,
- const MatrixA& a ) {
- her_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, a );
+ VectorX >::type >::invoke( alpha, x, a );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -251,18 +251,18 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY, typename MatrixA >
- static result_type invoke( const value_type alpha, const VectorViewX& x,
- const VectorViewY& y, MatrixA& a ) {
+ template< typename VectorX, typename VectorY, typename MatrixA >
+ static result_type invoke( const value_type alpha, const VectorX& x,
+ const VectorY& y, MatrixA& a ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixA >::type order;
         typedef typename result_of::uplo_tag< MatrixA >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixA >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixA >::value) );
@@ -285,28 +285,14 @@
 
 //
 // Overloaded function for her2. Its overload differs for
-// * MatrixA&
 //
-template< typename VectorViewX, typename VectorViewY, typename MatrixA >
+template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename her2_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-her2( const typename bindings::value_type< VectorViewX >::type alpha,
- const VectorViewX& x, const VectorViewY& y, MatrixA& a ) {
+ VectorX >::type >::result_type
+her2( const typename bindings::value_type< VectorX >::type alpha,
+ const VectorX& x, const VectorY& y, MatrixA& a ) {
     her2_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, a );
-}
-
-//
-// Overloaded function for her2. Its overload differs for
-// * const MatrixA&
-//
-template< typename VectorViewX, typename VectorViewY, typename MatrixA >
-inline typename her2_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-her2( const typename bindings::value_type< VectorViewX >::type alpha,
- const VectorViewX& x, const VectorViewY& y, const MatrixA& a ) {
- her2_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, a );
+ VectorX >::type >::invoke( alpha, x, y, a );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -255,21 +255,21 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixAP, typename VectorViewX, typename VectorViewY >
+ template< typename MatrixAP, typename VectorX, typename VectorY >
     static result_type invoke( const value_type alpha, const MatrixAP& ap,
- const VectorViewX& x, const value_type beta, VectorViewY& y ) {
+ const VectorX& x, const value_type beta, VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixAP >::type order;
         typedef typename result_of::uplo_tag< MatrixAP >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixAP >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
+ VectorX >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixAP >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
+ VectorY >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
         detail::hpmv( order(), uplo(), bindings::size_column(ap), alpha,
                 bindings::begin_value(ap), bindings::begin_value(x),
                 bindings::stride(x), beta, bindings::begin_value(y),
@@ -287,30 +287,14 @@
 
 //
 // Overloaded function for hpmv. Its overload differs for
-// * VectorViewY&
 //
-template< typename MatrixAP, typename VectorViewX, typename VectorViewY >
+template< typename MatrixAP, typename VectorX, typename VectorY >
 inline typename hpmv_impl< typename bindings::value_type<
         MatrixAP >::type >::result_type
 hpmv( const typename bindings::value_type< MatrixAP >::type alpha,
- const MatrixAP& ap, const VectorViewX& x,
+ const MatrixAP& ap, const VectorX& x,
         const typename bindings::value_type< MatrixAP >::type beta,
- VectorViewY& y ) {
- hpmv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( alpha, ap, x, beta, y );
-}
-
-//
-// Overloaded function for hpmv. Its overload differs for
-// * const VectorViewY&
-//
-template< typename MatrixAP, typename VectorViewX, typename VectorViewY >
-inline typename hpmv_impl< typename bindings::value_type<
- MatrixAP >::type >::result_type
-hpmv( const typename bindings::value_type< MatrixAP >::type alpha,
- const MatrixAP& ap, const VectorViewX& x,
- const typename bindings::value_type< MatrixAP >::type beta,
- const VectorViewY& y ) {
+ VectorY& y ) {
     hpmv_impl< typename bindings::value_type<
             MatrixAP >::type >::invoke( alpha, ap, x, beta, y );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -231,14 +231,14 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename MatrixAP >
- static result_type invoke( const real_type alpha, const VectorViewX& x,
+ template< typename VectorX, typename MatrixAP >
+ static result_type invoke( const real_type alpha, const VectorX& x,
             MatrixAP& ap ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixAP >::type order;
         typedef typename result_of::uplo_tag< MatrixAP >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixAP >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixAP >::value) );
@@ -258,30 +258,14 @@
 
 //
 // Overloaded function for hpr. Its overload differs for
-// * MatrixAP&
 //
-template< typename VectorViewX, typename MatrixAP >
+template< typename VectorX, typename MatrixAP >
 inline typename hpr_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
+ VectorX >::type >::result_type
 hpr( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x,
- MatrixAP& ap ) {
+ VectorX >::type >::type alpha, const VectorX& x, MatrixAP& ap ) {
     hpr_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, ap );
-}
-
-//
-// Overloaded function for hpr. Its overload differs for
-// * const MatrixAP&
-//
-template< typename VectorViewX, typename MatrixAP >
-inline typename hpr_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-hpr( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x,
- const MatrixAP& ap ) {
- hpr_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, ap );
+ VectorX >::type >::invoke( alpha, x, ap );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -245,18 +245,18 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY, typename MatrixAP >
- static result_type invoke( const value_type alpha, const VectorViewX& x,
- const VectorViewY& y, MatrixAP& ap ) {
+ template< typename VectorX, typename VectorY, typename MatrixAP >
+ static result_type invoke( const value_type alpha, const VectorX& x,
+ const VectorY& y, MatrixAP& ap ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixAP >::type order;
         typedef typename result_of::uplo_tag< MatrixAP >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixAP >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixAP >::value) );
@@ -277,28 +277,14 @@
 
 //
 // Overloaded function for hpr2. Its overload differs for
-// * MatrixAP&
 //
-template< typename VectorViewX, typename VectorViewY, typename MatrixAP >
+template< typename VectorX, typename VectorY, typename MatrixAP >
 inline typename hpr2_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-hpr2( const typename bindings::value_type< VectorViewX >::type alpha,
- const VectorViewX& x, const VectorViewY& y, MatrixAP& ap ) {
+ VectorX >::type >::result_type
+hpr2( const typename bindings::value_type< VectorX >::type alpha,
+ const VectorX& x, const VectorY& y, MatrixAP& ap ) {
     hpr2_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, ap );
-}
-
-//
-// Overloaded function for hpr2. Its overload differs for
-// * const MatrixAP&
-//
-template< typename VectorViewX, typename VectorViewY, typename MatrixAP >
-inline typename hpr2_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-hpr2( const typename bindings::value_type< VectorViewX >::type alpha,
- const VectorViewX& x, const VectorViewY& y, const MatrixAP& ap ) {
- hpr2_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, ap );
+ VectorX >::type >::invoke( alpha, x, y, ap );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -167,21 +167,21 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixA, typename VectorViewX, typename VectorViewY >
+ template< typename MatrixA, typename VectorX, typename VectorY >
     static result_type invoke( const real_type alpha, const MatrixA& a,
- const VectorViewX& x, const real_type beta, VectorViewY& y ) {
+ const VectorX& x, const real_type beta, VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixA >::type order;
         typedef typename result_of::uplo_tag< MatrixA >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
+ VectorX >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
+ VectorY >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
         BOOST_ASSERT( bindings::size_minor(a) == 1 ||
                 bindings::stride_minor(a) == 1 );
         detail::sbmv( order(), uplo(), bindings::size_column(a),
@@ -202,30 +202,14 @@
 
 //
 // Overloaded function for sbmv. Its overload differs for
-// * VectorViewY&
 //
-template< typename MatrixA, typename VectorViewX, typename VectorViewY >
+template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename sbmv_impl< typename bindings::value_type<
         MatrixA >::type >::result_type
 sbmv( const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type alpha, const MatrixA& a, const VectorViewX& x,
+ MatrixA >::type >::type alpha, const MatrixA& a, const VectorX& x,
         const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type beta, VectorViewY& y ) {
- sbmv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( alpha, a, x, beta, y );
-}
-
-//
-// Overloaded function for sbmv. Its overload differs for
-// * const VectorViewY&
-//
-template< typename MatrixA, typename VectorViewX, typename VectorViewY >
-inline typename sbmv_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-sbmv( const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type alpha, const MatrixA& a, const VectorViewX& x,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type beta, const VectorViewY& y ) {
+ MatrixA >::type >::type beta, VectorY& y ) {
     sbmv_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( alpha, a, x, beta, y );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -162,21 +162,21 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixAP, typename VectorViewX, typename VectorViewY >
+ template< typename MatrixAP, typename VectorX, typename VectorY >
     static result_type invoke( const real_type alpha, const MatrixAP& ap,
- const VectorViewX& x, const real_type beta, VectorViewY& y ) {
+ const VectorX& x, const real_type beta, VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixAP >::type order;
         typedef typename result_of::uplo_tag< MatrixAP >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixAP >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
+ VectorX >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixAP >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
+ VectorY >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
         detail::spmv( order(), uplo(), bindings::size_column(ap), alpha,
                 bindings::begin_value(ap), bindings::begin_value(x),
                 bindings::stride(x), beta, bindings::begin_value(y),
@@ -194,32 +194,14 @@
 
 //
 // Overloaded function for spmv. Its overload differs for
-// * VectorViewY&
 //
-template< typename MatrixAP, typename VectorViewX, typename VectorViewY >
+template< typename MatrixAP, typename VectorX, typename VectorY >
 inline typename spmv_impl< typename bindings::value_type<
         MatrixAP >::type >::result_type
 spmv( const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type alpha, const MatrixAP& ap,
- const VectorViewX& x, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type beta,
- VectorViewY& y ) {
- spmv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( alpha, ap, x, beta, y );
-}
-
-//
-// Overloaded function for spmv. Its overload differs for
-// * const VectorViewY&
-//
-template< typename MatrixAP, typename VectorViewX, typename VectorViewY >
-inline typename spmv_impl< typename bindings::value_type<
- MatrixAP >::type >::result_type
-spmv( const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type alpha, const MatrixAP& ap,
- const VectorViewX& x, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type beta,
- const VectorViewY& y ) {
+ MatrixAP >::type >::type alpha, const MatrixAP& ap, const VectorX& x,
+ const typename remove_imaginary< typename bindings::value_type<
+ MatrixAP >::type >::type beta, VectorY& y ) {
     spmv_impl< typename bindings::value_type<
             MatrixAP >::type >::invoke( alpha, ap, x, beta, y );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -153,14 +153,14 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename MatrixAP >
- static result_type invoke( const real_type alpha, const VectorViewX& x,
+ template< typename VectorX, typename MatrixAP >
+ static result_type invoke( const real_type alpha, const VectorX& x,
             MatrixAP& ap ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixAP >::type order;
         typedef typename result_of::uplo_tag< MatrixAP >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixAP >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixAP >::value) );
@@ -180,30 +180,14 @@
 
 //
 // Overloaded function for spr. Its overload differs for
-// * MatrixAP&
 //
-template< typename VectorViewX, typename MatrixAP >
+template< typename VectorX, typename MatrixAP >
 inline typename spr_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
+ VectorX >::type >::result_type
 spr( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x,
- MatrixAP& ap ) {
+ VectorX >::type >::type alpha, const VectorX& x, MatrixAP& ap ) {
     spr_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, ap );
-}
-
-//
-// Overloaded function for spr. Its overload differs for
-// * const MatrixAP&
-//
-template< typename VectorViewX, typename MatrixAP >
-inline typename spr_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-spr( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x,
- const MatrixAP& ap ) {
- spr_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, ap );
+ VectorX >::type >::invoke( alpha, x, ap );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -159,18 +159,18 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY, typename MatrixAP >
- static result_type invoke( const real_type alpha, const VectorViewX& x,
- const VectorViewY& y, MatrixAP& ap ) {
+ template< typename VectorX, typename VectorY, typename MatrixAP >
+ static result_type invoke( const real_type alpha, const VectorX& x,
+ const VectorY& y, MatrixAP& ap ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixAP >::type order;
         typedef typename result_of::uplo_tag< MatrixAP >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixAP >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixAP >::value) );
@@ -191,30 +191,15 @@
 
 //
 // Overloaded function for spr2. Its overload differs for
-// * MatrixAP&
 //
-template< typename VectorViewX, typename VectorViewY, typename MatrixAP >
+template< typename VectorX, typename VectorY, typename MatrixAP >
 inline typename spr2_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
+ VectorX >::type >::result_type
 spr2( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x,
- const VectorViewY& y, MatrixAP& ap ) {
+ VectorX >::type >::type alpha, const VectorX& x, const VectorY& y,
+ MatrixAP& ap ) {
     spr2_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, ap );
-}
-
-//
-// Overloaded function for spr2. Its overload differs for
-// * const MatrixAP&
-//
-template< typename VectorViewX, typename VectorViewY, typename MatrixAP >
-inline typename spr2_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-spr2( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x,
- const VectorViewY& y, const MatrixAP& ap ) {
- spr2_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, ap );
+ VectorX >::type >::invoke( alpha, x, y, ap );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -162,21 +162,21 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixA, typename VectorViewX, typename VectorViewY >
+ template< typename MatrixA, typename VectorX, typename VectorY >
     static result_type invoke( const real_type alpha, const MatrixA& a,
- const VectorViewX& x, const real_type beta, VectorViewY& y ) {
+ const VectorX& x, const real_type beta, VectorY& y ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixA >::type order;
         typedef typename result_of::uplo_tag< MatrixA >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
+ VectorX >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
+ VectorY >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
         BOOST_ASSERT( bindings::size_minor(a) == 1 ||
                 bindings::stride_minor(a) == 1 );
         detail::symv( order(), uplo(), bindings::size_column(a), alpha,
@@ -196,30 +196,14 @@
 
 //
 // Overloaded function for symv. Its overload differs for
-// * VectorViewY&
 //
-template< typename MatrixA, typename VectorViewX, typename VectorViewY >
+template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename symv_impl< typename bindings::value_type<
         MatrixA >::type >::result_type
 symv( const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type alpha, const MatrixA& a, const VectorViewX& x,
+ MatrixA >::type >::type alpha, const MatrixA& a, const VectorX& x,
         const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type beta, VectorViewY& y ) {
- symv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( alpha, a, x, beta, y );
-}
-
-//
-// Overloaded function for symv. Its overload differs for
-// * const VectorViewY&
-//
-template< typename MatrixA, typename VectorViewX, typename VectorViewY >
-inline typename symv_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-symv( const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type alpha, const MatrixA& a, const VectorViewX& x,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type beta, const VectorViewY& y ) {
+ MatrixA >::type >::type beta, VectorY& y ) {
     symv_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( alpha, a, x, beta, y );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -157,14 +157,14 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename MatrixA >
- static result_type invoke( const real_type alpha, const VectorViewX& x,
+ template< typename VectorX, typename MatrixA >
+ static result_type invoke( const real_type alpha, const VectorX& x,
             MatrixA& a ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixA >::type order;
         typedef typename result_of::uplo_tag< MatrixA >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixA >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixA >::value) );
@@ -186,29 +186,14 @@
 
 //
 // Overloaded function for syr. Its overload differs for
-// * MatrixA&
 //
-template< typename VectorViewX, typename MatrixA >
+template< typename VectorX, typename MatrixA >
 inline typename syr_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
+ VectorX >::type >::result_type
 syr( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x, MatrixA& a ) {
+ VectorX >::type >::type alpha, const VectorX& x, MatrixA& a ) {
     syr_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, a );
-}
-
-//
-// Overloaded function for syr. Its overload differs for
-// * const MatrixA&
-//
-template< typename VectorViewX, typename MatrixA >
-inline typename syr_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-syr( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x,
- const MatrixA& a ) {
- syr_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, a );
+ VectorX >::type >::invoke( alpha, x, a );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -162,18 +162,18 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY, typename MatrixA >
- static result_type invoke( const real_type alpha, const VectorViewX& x,
- const VectorViewY& y, MatrixA& a ) {
+ template< typename VectorX, typename VectorY, typename MatrixA >
+ static result_type invoke( const real_type alpha, const VectorX& x,
+ const VectorY& y, MatrixA& a ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename result_of::data_order< MatrixA >::type order;
         typedef typename result_of::uplo_tag< MatrixA >::type uplo;
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixA >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixA >::value) );
@@ -196,30 +196,15 @@
 
 //
 // Overloaded function for syr2. Its overload differs for
-// * MatrixA&
 //
-template< typename VectorViewX, typename VectorViewY, typename MatrixA >
+template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename syr2_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
+ VectorX >::type >::result_type
 syr2( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x,
- const VectorViewY& y, MatrixA& a ) {
+ VectorX >::type >::type alpha, const VectorX& x, const VectorY& y,
+ MatrixA& a ) {
     syr2_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, a );
-}
-
-//
-// Overloaded function for syr2. Its overload differs for
-// * const MatrixA&
-//
-template< typename VectorViewX, typename VectorViewY, typename MatrixA >
-inline typename syr2_impl< typename bindings::value_type<
- VectorViewX >::type >::result_type
-syr2( const typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type alpha, const VectorViewX& x,
- const VectorViewY& y, const MatrixA& a ) {
- syr2_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( alpha, x, y, a );
+ VectorX >::type >::invoke( alpha, x, y, a );
 }
 
 } // namespace blas

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -256,9 +256,9 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixA, typename VectorViewX >
+ template< typename MatrixA, typename VectorX >
     static result_type invoke( const std::ptrdiff_t k, const MatrixA& a,
- VectorViewX& x ) {
+ VectorX& x ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename detail::default_order< MatrixA >::type order;
         typedef typename result_of::trans_tag< MatrixA, order >::type trans;
@@ -267,8 +267,8 @@
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
+ VectorX >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
         BOOST_ASSERT( bindings::size_minor(a) == 1 ||
                 bindings::stride_minor(a) == 1 );
         detail::tbmv( order(), uplo(), trans(), diag(),
@@ -288,25 +288,11 @@
 
 //
 // Overloaded function for tbmv. Its overload differs for
-// * VectorViewX&
 //
-template< typename MatrixA, typename VectorViewX >
+template< typename MatrixA, typename VectorX >
 inline typename tbmv_impl< typename bindings::value_type<
         MatrixA >::type >::result_type
-tbmv( const std::ptrdiff_t k, const MatrixA& a, VectorViewX& x ) {
- tbmv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( k, a, x );
-}
-
-//
-// Overloaded function for tbmv. Its overload differs for
-// * const VectorViewX&
-//
-template< typename MatrixA, typename VectorViewX >
-inline typename tbmv_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-tbmv( const std::ptrdiff_t k, const MatrixA& a,
- const VectorViewX& x ) {
+tbmv( const std::ptrdiff_t k, const MatrixA& a, VectorX& x ) {
     tbmv_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( k, a, x );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -256,9 +256,9 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixA, typename VectorViewX >
+ template< typename MatrixA, typename VectorX >
     static result_type invoke( const std::ptrdiff_t k, const MatrixA& a,
- VectorViewX& x ) {
+ VectorX& x ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename detail::default_order< MatrixA >::type order;
         typedef typename result_of::trans_tag< MatrixA, order >::type trans;
@@ -267,8 +267,8 @@
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
+ VectorX >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
         BOOST_ASSERT( bindings::size_minor(a) == 1 ||
                 bindings::stride_minor(a) == 1 );
         detail::tbsv( order(), uplo(), trans(), diag(),
@@ -288,25 +288,11 @@
 
 //
 // Overloaded function for tbsv. Its overload differs for
-// * VectorViewX&
 //
-template< typename MatrixA, typename VectorViewX >
+template< typename MatrixA, typename VectorX >
 inline typename tbsv_impl< typename bindings::value_type<
         MatrixA >::type >::result_type
-tbsv( const std::ptrdiff_t k, const MatrixA& a, VectorViewX& x ) {
- tbsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( k, a, x );
-}
-
-//
-// Overloaded function for tbsv. Its overload differs for
-// * const VectorViewX&
-//
-template< typename MatrixA, typename VectorViewX >
-inline typename tbsv_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-tbsv( const std::ptrdiff_t k, const MatrixA& a,
- const VectorViewX& x ) {
+tbsv( const std::ptrdiff_t k, const MatrixA& a, VectorX& x ) {
     tbsv_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( k, a, x );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -248,8 +248,8 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixAP, typename VectorViewX >
- static result_type invoke( const MatrixAP& ap, VectorViewX& x ) {
+ template< typename MatrixAP, typename VectorX >
+ static result_type invoke( const MatrixAP& ap, VectorX& x ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename detail::default_order< MatrixAP >::type order;
         typedef typename result_of::trans_tag< MatrixAP, order >::type trans;
@@ -258,8 +258,8 @@
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixAP >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
+ VectorX >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
         detail::tpmv( order(), uplo(), trans(), diag(),
                 bindings::size_column_op(ap, trans()),
                 bindings::begin_value(ap), bindings::begin_value(x),
@@ -277,24 +277,11 @@
 
 //
 // Overloaded function for tpmv. Its overload differs for
-// * VectorViewX&
 //
-template< typename MatrixAP, typename VectorViewX >
+template< typename MatrixAP, typename VectorX >
 inline typename tpmv_impl< typename bindings::value_type<
         MatrixAP >::type >::result_type
-tpmv( const MatrixAP& ap, VectorViewX& x ) {
- tpmv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, x );
-}
-
-//
-// Overloaded function for tpmv. Its overload differs for
-// * const VectorViewX&
-//
-template< typename MatrixAP, typename VectorViewX >
-inline typename tpmv_impl< typename bindings::value_type<
- MatrixAP >::type >::result_type
-tpmv( const MatrixAP& ap, const VectorViewX& x ) {
+tpmv( const MatrixAP& ap, VectorX& x ) {
     tpmv_impl< typename bindings::value_type<
             MatrixAP >::type >::invoke( ap, x );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -248,8 +248,8 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixAP, typename VectorViewX >
- static result_type invoke( const MatrixAP& ap, VectorViewX& x ) {
+ template< typename MatrixAP, typename VectorX >
+ static result_type invoke( const MatrixAP& ap, VectorX& x ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename detail::default_order< MatrixAP >::type order;
         typedef typename result_of::trans_tag< MatrixAP, order >::type trans;
@@ -258,8 +258,8 @@
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixAP >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
+ VectorX >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
         detail::tpsv( order(), uplo(), trans(), diag(),
                 bindings::size_column_op(ap, trans()),
                 bindings::begin_value(ap), bindings::begin_value(x),
@@ -277,24 +277,11 @@
 
 //
 // Overloaded function for tpsv. Its overload differs for
-// * VectorViewX&
 //
-template< typename MatrixAP, typename VectorViewX >
+template< typename MatrixAP, typename VectorX >
 inline typename tpsv_impl< typename bindings::value_type<
         MatrixAP >::type >::result_type
-tpsv( const MatrixAP& ap, VectorViewX& x ) {
- tpsv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, x );
-}
-
-//
-// Overloaded function for tpsv. Its overload differs for
-// * const VectorViewX&
-//
-template< typename MatrixAP, typename VectorViewX >
-inline typename tpsv_impl< typename bindings::value_type<
- MatrixAP >::type >::result_type
-tpsv( const MatrixAP& ap, const VectorViewX& x ) {
+tpsv( const MatrixAP& ap, VectorX& x ) {
     tpsv_impl< typename bindings::value_type<
             MatrixAP >::type >::invoke( ap, x );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -248,8 +248,8 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixA, typename VectorViewX >
- static result_type invoke( const MatrixA& a, VectorViewX& x ) {
+ template< typename MatrixA, typename VectorX >
+ static result_type invoke( const MatrixA& a, VectorX& x ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename detail::default_order< MatrixA >::type order;
         typedef typename result_of::trans_tag< MatrixA, order >::type trans;
@@ -258,8 +258,8 @@
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
+ VectorX >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
         BOOST_ASSERT( bindings::size_minor(a) == 1 ||
                 bindings::stride_minor(a) == 1 );
         detail::trmv( order(), uplo(), trans(), diag(),
@@ -279,24 +279,11 @@
 
 //
 // Overloaded function for trmv. Its overload differs for
-// * VectorViewX&
 //
-template< typename MatrixA, typename VectorViewX >
+template< typename MatrixA, typename VectorX >
 inline typename trmv_impl< typename bindings::value_type<
         MatrixA >::type >::result_type
-trmv( const MatrixA& a, VectorViewX& x ) {
- trmv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, x );
-}
-
-//
-// Overloaded function for trmv. Its overload differs for
-// * const VectorViewX&
-//
-template< typename MatrixA, typename VectorViewX >
-inline typename trmv_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-trmv( const MatrixA& a, const VectorViewX& x ) {
+trmv( const MatrixA& a, VectorX& x ) {
     trmv_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( a, x );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -250,8 +250,8 @@
     // * Deduces the required arguments for dispatching to BLAS, and
     // * Asserts that most arguments make sense.
     //
- template< typename MatrixA, typename VectorViewX >
- static result_type invoke( const MatrixA& a, VectorViewX& x ) {
+ template< typename MatrixA, typename VectorX >
+ static result_type invoke( const MatrixA& a, VectorX& x ) {
         namespace bindings = ::boost::numeric::bindings;
         typedef typename detail::default_order< MatrixA >::type order;
         typedef typename result_of::trans_tag< MatrixA, order >::type trans;
@@ -260,8 +260,8 @@
         BOOST_STATIC_ASSERT( (is_same< typename remove_const<
                 typename bindings::value_type< MatrixA >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewX >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
+ VectorX >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
         BOOST_ASSERT( bindings::size_minor(a) == 1 ||
                 bindings::stride_minor(a) == 1 );
         detail::trsv( order(), uplo(), trans(), diag(),
@@ -281,24 +281,11 @@
 
 //
 // Overloaded function for trsv. Its overload differs for
-// * VectorViewX&
 //
-template< typename MatrixA, typename VectorViewX >
+template< typename MatrixA, typename VectorX >
 inline typename trsv_impl< typename bindings::value_type<
         MatrixA >::type >::result_type
-trsv( const MatrixA& a, VectorViewX& x ) {
- trsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, x );
-}
-
-//
-// Overloaded function for trsv. Its overload differs for
-// * const VectorViewX&
-//
-template< typename MatrixA, typename VectorViewX >
-inline typename trsv_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-trsv( const MatrixA& a, const VectorViewX& x ) {
+trsv( const MatrixA& a, VectorX& x ) {
     trsv_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( a, x );
 }

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -314,7 +314,6 @@
 
 //
 // Overloaded function for gemm. Its overload differs for
-// * MatrixC&
 //
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename gemm_impl< typename bindings::value_type<
@@ -327,21 +326,6 @@
             MatrixA >::type >::invoke( alpha, a, b, beta, c );
 }
 
-//
-// Overloaded function for gemm. Its overload differs for
-// * const MatrixC&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixC >
-inline typename gemm_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-gemm( const typename bindings::value_type< MatrixA >::type alpha,
- const MatrixA& a, const MatrixB& b,
- const typename bindings::value_type< MatrixA >::type beta,
- const MatrixC& c ) {
- gemm_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( alpha, a, b, beta, c );
-}
-
 } // namespace blas
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -313,7 +313,6 @@
 
 //
 // Overloaded function for hemm. Its overload differs for
-// * MatrixC&
 //
 template< typename Side, typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename hemm_impl< typename bindings::value_type<
@@ -326,21 +325,6 @@
             MatrixA >::type >::invoke( side, alpha, a, b, beta, c );
 }
 
-//
-// Overloaded function for hemm. Its overload differs for
-// * const MatrixC&
-//
-template< typename Side, typename MatrixA, typename MatrixB, typename MatrixC >
-inline typename hemm_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-hemm( const Side side, const typename bindings::value_type<
- MatrixA >::type alpha, const MatrixA& a, const MatrixB& b,
- const typename bindings::value_type< MatrixA >::type beta,
- const MatrixC& c ) {
- hemm_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, alpha, a, b, beta, c );
-}
-
 } // namespace blas
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -309,7 +309,6 @@
 
 //
 // Overloaded function for her2k. Its overload differs for
-// * MatrixC&
 //
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename her2k_impl< typename bindings::value_type<
@@ -322,21 +321,6 @@
             MatrixA >::type >::invoke( alpha, a, b, beta, c );
 }
 
-//
-// Overloaded function for her2k. Its overload differs for
-// * const MatrixC&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixC >
-inline typename her2k_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-her2k( const typename bindings::value_type< MatrixA >::type alpha,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type beta,
- const MatrixC& c ) {
- her2k_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( alpha, a, b, beta, c );
-}
-
 } // namespace blas
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -284,7 +284,6 @@
 
 //
 // Overloaded function for herk. Its overload differs for
-// * MatrixC&
 //
 template< typename MatrixA, typename MatrixC >
 inline typename herk_impl< typename bindings::value_type<
@@ -297,21 +296,6 @@
             MatrixA >::type >::invoke( alpha, a, beta, c );
 }
 
-//
-// Overloaded function for herk. Its overload differs for
-// * const MatrixC&
-//
-template< typename MatrixA, typename MatrixC >
-inline typename herk_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-herk( const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type alpha, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type beta, const MatrixC& c ) {
- herk_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( alpha, a, beta, c );
-}
-
 } // namespace blas
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -313,7 +313,6 @@
 
 //
 // Overloaded function for symm. Its overload differs for
-// * MatrixC&
 //
 template< typename Side, typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename symm_impl< typename bindings::value_type<
@@ -326,21 +325,6 @@
             MatrixA >::type >::invoke( side, alpha, a, b, beta, c );
 }
 
-//
-// Overloaded function for symm. Its overload differs for
-// * const MatrixC&
-//
-template< typename Side, typename MatrixA, typename MatrixB, typename MatrixC >
-inline typename symm_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-symm( const Side side, const typename bindings::value_type<
- MatrixA >::type alpha, const MatrixA& a, const MatrixB& b,
- const typename bindings::value_type< MatrixA >::type beta,
- const MatrixC& c ) {
- symm_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, alpha, a, b, beta, c );
-}
-
 } // namespace blas
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -313,7 +313,6 @@
 
 //
 // Overloaded function for syr2k. Its overload differs for
-// * MatrixC&
 //
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename syr2k_impl< typename bindings::value_type<
@@ -326,21 +325,6 @@
             MatrixA >::type >::invoke( alpha, a, b, beta, c );
 }
 
-//
-// Overloaded function for syr2k. Its overload differs for
-// * const MatrixC&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixC >
-inline typename syr2k_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-syr2k( const typename bindings::value_type< MatrixA >::type alpha,
- const MatrixA& a, const MatrixB& b,
- const typename bindings::value_type< MatrixA >::type beta,
- const MatrixC& c ) {
- syr2k_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( alpha, a, b, beta, c );
-}
-
 } // namespace blas
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -293,7 +293,6 @@
 
 //
 // Overloaded function for syrk. Its overload differs for
-// * MatrixC&
 //
 template< typename MatrixA, typename MatrixC >
 inline typename syrk_impl< typename bindings::value_type<
@@ -305,20 +304,6 @@
             MatrixA >::type >::invoke( alpha, a, beta, c );
 }
 
-//
-// Overloaded function for syrk. Its overload differs for
-// * const MatrixC&
-//
-template< typename MatrixA, typename MatrixC >
-inline typename syrk_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-syrk( const typename bindings::value_type< MatrixA >::type alpha,
- const MatrixA& a, const typename bindings::value_type<
- MatrixA >::type beta, const MatrixC& c ) {
- syrk_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( alpha, a, beta, c );
-}
-
 } // namespace blas
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -315,7 +315,6 @@
 
 //
 // Overloaded function for trmm. Its overload differs for
-// * MatrixB&
 //
 template< typename Side, typename MatrixA, typename MatrixB >
 inline typename trmm_impl< typename bindings::value_type<
@@ -326,19 +325,6 @@
             MatrixA >::type >::invoke( side, alpha, a, b );
 }
 
-//
-// Overloaded function for trmm. Its overload differs for
-// * const MatrixB&
-//
-template< typename Side, typename MatrixA, typename MatrixB >
-inline typename trmm_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-trmm( const Side side, const typename bindings::value_type<
- MatrixA >::type alpha, const MatrixA& a, const MatrixB& b ) {
- trmm_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, alpha, a, b );
-}
-
 } // namespace blas
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -317,7 +317,6 @@
 
 //
 // Overloaded function for trsm. Its overload differs for
-// * MatrixB&
 //
 template< typename Side, typename MatrixA, typename MatrixB >
 inline typename trsm_impl< typename bindings::value_type<
@@ -328,19 +327,6 @@
             MatrixA >::type >::invoke( side, alpha, a, b );
 }
 
-//
-// Overloaded function for trsm. Its overload differs for
-// * const MatrixB&
-//
-template< typename Side, typename MatrixA, typename MatrixB >
-inline typename trsm_impl< typename bindings::value_type<
- MatrixA >::type >::result_type
-trsm( const Side side, const typename bindings::value_type<
- MatrixA >::type alpha, const MatrixA& a, const MatrixB& b ) {
- trsm_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, alpha, a, b );
-}
-
 } // namespace blas
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/labrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/labrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/labrd.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -283,9 +283,6 @@
 
 //
 // Overloaded function for labrd. Its overload differs for
-// * MatrixA&
-// * MatrixX&
-// * MatrixY&
 //
 template< typename MatrixA, typename VectorD, typename VectorE,
         typename VectorTAUQ, typename VectorTAUP, typename MatrixX,
@@ -296,113 +293,6 @@
             MatrixA >::type >::invoke( a, d, e, tauq, taup, x, y );
 }
 
-//
-// Overloaded function for labrd. Its overload differs for
-// * const MatrixA&
-// * MatrixX&
-// * MatrixY&
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAUQ, typename VectorTAUP, typename MatrixX,
- typename MatrixY >
-inline std::ptrdiff_t labrd( const MatrixA& a, VectorD& d, VectorE& e,
- VectorTAUQ& tauq, VectorTAUP& taup, MatrixX& x, MatrixY& y ) {
- return labrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tauq, taup, x, y );
-}
-
-//
-// Overloaded function for labrd. Its overload differs for
-// * MatrixA&
-// * const MatrixX&
-// * MatrixY&
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAUQ, typename VectorTAUP, typename MatrixX,
- typename MatrixY >
-inline std::ptrdiff_t labrd( MatrixA& a, VectorD& d, VectorE& e,
- VectorTAUQ& tauq, VectorTAUP& taup, const MatrixX& x, MatrixY& y ) {
- return labrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tauq, taup, x, y );
-}
-
-//
-// Overloaded function for labrd. Its overload differs for
-// * const MatrixA&
-// * const MatrixX&
-// * MatrixY&
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAUQ, typename VectorTAUP, typename MatrixX,
- typename MatrixY >
-inline std::ptrdiff_t labrd( const MatrixA& a, VectorD& d, VectorE& e,
- VectorTAUQ& tauq, VectorTAUP& taup, const MatrixX& x, MatrixY& y ) {
- return labrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tauq, taup, x, y );
-}
-
-//
-// Overloaded function for labrd. Its overload differs for
-// * MatrixA&
-// * MatrixX&
-// * const MatrixY&
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAUQ, typename VectorTAUP, typename MatrixX,
- typename MatrixY >
-inline std::ptrdiff_t labrd( MatrixA& a, VectorD& d, VectorE& e,
- VectorTAUQ& tauq, VectorTAUP& taup, MatrixX& x, const MatrixY& y ) {
- return labrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tauq, taup, x, y );
-}
-
-//
-// Overloaded function for labrd. Its overload differs for
-// * const MatrixA&
-// * MatrixX&
-// * const MatrixY&
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAUQ, typename VectorTAUP, typename MatrixX,
- typename MatrixY >
-inline std::ptrdiff_t labrd( const MatrixA& a, VectorD& d, VectorE& e,
- VectorTAUQ& tauq, VectorTAUP& taup, MatrixX& x, const MatrixY& y ) {
- return labrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tauq, taup, x, y );
-}
-
-//
-// Overloaded function for labrd. Its overload differs for
-// * MatrixA&
-// * const MatrixX&
-// * const MatrixY&
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAUQ, typename VectorTAUP, typename MatrixX,
- typename MatrixY >
-inline std::ptrdiff_t labrd( MatrixA& a, VectorD& d, VectorE& e,
- VectorTAUQ& tauq, VectorTAUP& taup, const MatrixX& x,
- const MatrixY& y ) {
- return labrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tauq, taup, x, y );
-}
-
-//
-// Overloaded function for labrd. Its overload differs for
-// * const MatrixA&
-// * const MatrixX&
-// * const MatrixY&
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAUQ, typename VectorTAUP, typename MatrixX,
- typename MatrixY >
-inline std::ptrdiff_t labrd( const MatrixA& a, VectorD& d, VectorE& e,
- VectorTAUQ& tauq, VectorTAUP& taup, const MatrixX& x,
- const MatrixY& y ) {
- return labrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tauq, taup, x, y );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/laebz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/laebz.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/laebz.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -232,8 +232,6 @@
 
 //
 // Overloaded function for laebz. Its overload differs for
-// * MatrixAB&
-// * MatrixNAB&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename VectorE2,
@@ -258,8 +256,6 @@
 
 //
 // Overloaded function for laebz. Its overload differs for
-// * MatrixAB&
-// * MatrixNAB&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename VectorE2,
@@ -283,165 +279,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for laebz. Its overload differs for
-// * const MatrixAB&
-// * MatrixNAB&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename VectorE2,
- typename VectorNVAL, typename MatrixAB, typename VectorC,
- typename MatrixNAB, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-laebz( const fortran_int_t ijob, const fortran_int_t nitmax,
- const fortran_int_t n, const fortran_int_t minp,
- const fortran_int_t nbmin, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type abstol,
- const typename remove_imaginary< typename bindings::value_type<
- VectorD >::type >::type reltol, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type pivmin,
- const VectorD& d, const VectorE& e, const VectorE2& e2,
- VectorNVAL& nval, const MatrixAB& ab, VectorC& c,
- fortran_int_t& mout, MatrixNAB& nab, Workspace work ) {
- return laebz_impl< typename bindings::value_type<
- VectorD >::type >::invoke( ijob, nitmax, n, minp, nbmin, abstol,
- reltol, pivmin, d, e, e2, nval, ab, c, mout, nab, work );
-}
-
-//
-// Overloaded function for laebz. Its overload differs for
-// * const MatrixAB&
-// * MatrixNAB&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename VectorE2,
- typename VectorNVAL, typename MatrixAB, typename VectorC,
- typename MatrixNAB >
-inline typename boost::disable_if< detail::is_workspace< MatrixNAB >,
- std::ptrdiff_t >::type
-laebz( const fortran_int_t ijob, const fortran_int_t nitmax,
- const fortran_int_t n, const fortran_int_t minp,
- const fortran_int_t nbmin, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type abstol,
- const typename remove_imaginary< typename bindings::value_type<
- VectorD >::type >::type reltol, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type pivmin,
- const VectorD& d, const VectorE& e, const VectorE2& e2,
- VectorNVAL& nval, const MatrixAB& ab, VectorC& c,
- fortran_int_t& mout, MatrixNAB& nab ) {
- return laebz_impl< typename bindings::value_type<
- VectorD >::type >::invoke( ijob, nitmax, n, minp, nbmin, abstol,
- reltol, pivmin, d, e, e2, nval, ab, c, mout, nab,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for laebz. Its overload differs for
-// * MatrixAB&
-// * const MatrixNAB&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename VectorE2,
- typename VectorNVAL, typename MatrixAB, typename VectorC,
- typename MatrixNAB, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-laebz( const fortran_int_t ijob, const fortran_int_t nitmax,
- const fortran_int_t n, const fortran_int_t minp,
- const fortran_int_t nbmin, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type abstol,
- const typename remove_imaginary< typename bindings::value_type<
- VectorD >::type >::type reltol, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type pivmin,
- const VectorD& d, const VectorE& e, const VectorE2& e2,
- VectorNVAL& nval, MatrixAB& ab, VectorC& c, fortran_int_t& mout,
- const MatrixNAB& nab, Workspace work ) {
- return laebz_impl< typename bindings::value_type<
- VectorD >::type >::invoke( ijob, nitmax, n, minp, nbmin, abstol,
- reltol, pivmin, d, e, e2, nval, ab, c, mout, nab, work );
-}
-
-//
-// Overloaded function for laebz. Its overload differs for
-// * MatrixAB&
-// * const MatrixNAB&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename VectorE2,
- typename VectorNVAL, typename MatrixAB, typename VectorC,
- typename MatrixNAB >
-inline typename boost::disable_if< detail::is_workspace< MatrixNAB >,
- std::ptrdiff_t >::type
-laebz( const fortran_int_t ijob, const fortran_int_t nitmax,
- const fortran_int_t n, const fortran_int_t minp,
- const fortran_int_t nbmin, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type abstol,
- const typename remove_imaginary< typename bindings::value_type<
- VectorD >::type >::type reltol, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type pivmin,
- const VectorD& d, const VectorE& e, const VectorE2& e2,
- VectorNVAL& nval, MatrixAB& ab, VectorC& c, fortran_int_t& mout,
- const MatrixNAB& nab ) {
- return laebz_impl< typename bindings::value_type<
- VectorD >::type >::invoke( ijob, nitmax, n, minp, nbmin, abstol,
- reltol, pivmin, d, e, e2, nval, ab, c, mout, nab,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for laebz. Its overload differs for
-// * const MatrixAB&
-// * const MatrixNAB&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename VectorE2,
- typename VectorNVAL, typename MatrixAB, typename VectorC,
- typename MatrixNAB, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-laebz( const fortran_int_t ijob, const fortran_int_t nitmax,
- const fortran_int_t n, const fortran_int_t minp,
- const fortran_int_t nbmin, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type abstol,
- const typename remove_imaginary< typename bindings::value_type<
- VectorD >::type >::type reltol, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type pivmin,
- const VectorD& d, const VectorE& e, const VectorE2& e2,
- VectorNVAL& nval, const MatrixAB& ab, VectorC& c,
- fortran_int_t& mout, const MatrixNAB& nab, Workspace work ) {
- return laebz_impl< typename bindings::value_type<
- VectorD >::type >::invoke( ijob, nitmax, n, minp, nbmin, abstol,
- reltol, pivmin, d, e, e2, nval, ab, c, mout, nab, work );
-}
-
-//
-// Overloaded function for laebz. Its overload differs for
-// * const MatrixAB&
-// * const MatrixNAB&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename VectorE2,
- typename VectorNVAL, typename MatrixAB, typename VectorC,
- typename MatrixNAB >
-inline typename boost::disable_if< detail::is_workspace< MatrixNAB >,
- std::ptrdiff_t >::type
-laebz( const fortran_int_t ijob, const fortran_int_t nitmax,
- const fortran_int_t n, const fortran_int_t minp,
- const fortran_int_t nbmin, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type abstol,
- const typename remove_imaginary< typename bindings::value_type<
- VectorD >::type >::type reltol, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type pivmin,
- const VectorD& d, const VectorE& e, const VectorE2& e2,
- VectorNVAL& nval, const MatrixAB& ab, VectorC& c,
- fortran_int_t& mout, const MatrixNAB& nab ) {
- return laebz_impl< typename bindings::value_type<
- VectorD >::type >::invoke( ijob, nitmax, n, minp, nbmin, abstol,
- reltol, pivmin, d, e, e2, nval, ab, c, mout, nab,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/lalsd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/lalsd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/lalsd.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -385,7 +385,6 @@
 
 //
 // Overloaded function for lalsd. Its overload differs for
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename MatrixB,
@@ -404,7 +403,6 @@
 
 //
 // Overloaded function for lalsd. Its overload differs for
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename MatrixB >
@@ -419,42 +417,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for lalsd. Its overload differs for
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixB,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-lalsd( const char uplo, const fortran_int_t smlsiz,
- const fortran_int_t n, VectorD& d, VectorE& e, const MatrixB& b,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixB >::type >::type rcond, fortran_int_t& rank,
- Workspace work ) {
- return lalsd_impl< typename bindings::value_type<
- MatrixB >::type >::invoke( uplo, smlsiz, n, d, e, b, rcond, rank,
- work );
-}
-
-//
-// Overloaded function for lalsd. Its overload differs for
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixB >
-inline typename boost::disable_if< detail::is_workspace< MatrixB >,
- std::ptrdiff_t >::type
-lalsd( const char uplo, const fortran_int_t smlsiz,
- const fortran_int_t n, VectorD& d, VectorE& e, const MatrixB& b,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixB >::type >::type rcond, fortran_int_t& rank ) {
- return lalsd_impl< typename bindings::value_type<
- MatrixB >::type >::invoke( uplo, smlsiz, n, d, e, b, rcond, rank,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larf.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -136,15 +136,15 @@
     // * Deduces the required arguments for dispatching to LAPACK, and
     // * Asserts that most arguments make sense.
     //
- template< typename Side, typename VectorViewV, typename MatrixC,
+ template< typename Side, typename VectorV, typename MatrixC,
             typename WORK >
- static std::ptrdiff_t invoke( const Side side, const VectorViewV& v,
+ static std::ptrdiff_t invoke( const Side side, const VectorV& v,
             const real_type tau, MatrixC& c, detail::workspace1<
             WORK > work ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (bindings::is_column_major< MatrixC >::value) );
         BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
- typename bindings::value_type< VectorViewV >::type >::type,
+ typename bindings::value_type< VectorV >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixC >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixC >::value) );
@@ -169,8 +169,8 @@
     // invoke static member function
     // * Enables the unblocked algorithm (BLAS level 2)
     //
- template< typename Side, typename VectorViewV, typename MatrixC >
- static std::ptrdiff_t invoke( const Side side, const VectorViewV& v,
+ template< typename Side, typename VectorV, typename MatrixC >
+ static std::ptrdiff_t invoke( const Side side, const VectorV& v,
             const real_type tau, MatrixC& c, minimal_workspace ) {
         namespace bindings = ::boost::numeric::bindings;
         bindings::detail::array< real_type > tmp_work( min_size_work( side,
@@ -185,8 +185,8 @@
     // invoke static member
     // * Enables the blocked algorithm (BLAS level 3)
     //
- template< typename Side, typename VectorViewV, typename MatrixC >
- static std::ptrdiff_t invoke( const Side side, const VectorViewV& v,
+ template< typename Side, typename VectorV, typename MatrixC >
+ static std::ptrdiff_t invoke( const Side side, const VectorV& v,
             const real_type tau, MatrixC& c, optimal_workspace ) {
         namespace bindings = ::boost::numeric::bindings;
         return invoke( side, v, tau, c, minimal_workspace() );
@@ -218,15 +218,15 @@
     // * Deduces the required arguments for dispatching to LAPACK, and
     // * Asserts that most arguments make sense.
     //
- template< typename Side, typename VectorViewV, typename MatrixC,
+ template< typename Side, typename VectorV, typename MatrixC,
             typename WORK >
- static std::ptrdiff_t invoke( const Side side, const VectorViewV& v,
+ static std::ptrdiff_t invoke( const Side side, const VectorV& v,
             const value_type tau, MatrixC& c, detail::workspace1<
             WORK > work ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (bindings::is_column_major< MatrixC >::value) );
         BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
- typename bindings::value_type< VectorViewV >::type >::type,
+ typename bindings::value_type< VectorV >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixC >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixC >::value) );
@@ -251,8 +251,8 @@
     // invoke static member function
     // * Enables the unblocked algorithm (BLAS level 2)
     //
- template< typename Side, typename VectorViewV, typename MatrixC >
- static std::ptrdiff_t invoke( const Side side, const VectorViewV& v,
+ template< typename Side, typename VectorV, typename MatrixC >
+ static std::ptrdiff_t invoke( const Side side, const VectorV& v,
             const value_type tau, MatrixC& c, minimal_workspace ) {
         namespace bindings = ::boost::numeric::bindings;
         bindings::detail::array< value_type > tmp_work( min_size_work( side,
@@ -267,8 +267,8 @@
     // invoke static member
     // * Enables the blocked algorithm (BLAS level 3)
     //
- template< typename Side, typename VectorViewV, typename MatrixC >
- static std::ptrdiff_t invoke( const Side side, const VectorViewV& v,
+ template< typename Side, typename VectorV, typename MatrixC >
+ static std::ptrdiff_t invoke( const Side side, const VectorV& v,
             const value_type tau, MatrixC& c, optimal_workspace ) {
         namespace bindings = ::boost::numeric::bindings;
         return invoke( side, v, tau, c, minimal_workspace() );
@@ -298,129 +298,59 @@
 
 //
 // Overloaded function for larf. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
-template< typename Side, typename VectorViewV, typename MatrixC,
+template< typename Side, typename VectorV, typename MatrixC,
         typename Workspace >
 inline typename boost::enable_if< detail::is_workspace< Workspace >,
         std::ptrdiff_t >::type
-larf( const Side side, const VectorViewV& v,
+larf( const Side side, const VectorV& v,
         const typename remove_imaginary< typename bindings::value_type<
- VectorViewV >::type >::type tau, MatrixC& c, Workspace work ) {
+ VectorV >::type >::type tau, MatrixC& c, Workspace work ) {
     return larf_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, v, tau, c, work );
+ VectorV >::type >::invoke( side, v, tau, c, work );
 }
 
 //
 // Overloaded function for larf. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
-template< typename Side, typename VectorViewV, typename MatrixC >
+template< typename Side, typename VectorV, typename MatrixC >
 inline typename boost::disable_if< detail::is_workspace< MatrixC >,
         std::ptrdiff_t >::type
-larf( const Side side, const VectorViewV& v,
+larf( const Side side, const VectorV& v,
         const typename remove_imaginary< typename bindings::value_type<
- VectorViewV >::type >::type tau, MatrixC& c ) {
+ VectorV >::type >::type tau, MatrixC& c ) {
     return larf_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, v, tau, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for larf. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename VectorViewV, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-larf( const Side side, const VectorViewV& v,
- const typename remove_imaginary< typename bindings::value_type<
- VectorViewV >::type >::type tau, const MatrixC& c, Workspace work ) {
- return larf_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, v, tau, c, work );
-}
-
-//
-// Overloaded function for larf. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorViewV, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-larf( const Side side, const VectorViewV& v,
- const typename remove_imaginary< typename bindings::value_type<
- VectorViewV >::type >::type tau, const MatrixC& c ) {
- return larf_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, v, tau, c,
- optimal_workspace() );
+ VectorV >::type >::invoke( side, v, tau, c, optimal_workspace() );
 }
 //
 // Overloaded function for larf. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
-template< typename Side, typename VectorViewV, typename MatrixC,
+template< typename Side, typename VectorV, typename MatrixC,
         typename Workspace >
 inline typename boost::enable_if< detail::is_workspace< Workspace >,
         std::ptrdiff_t >::type
-larf( const Side side, const VectorViewV& v,
- const typename bindings::value_type< VectorViewV >::type tau,
- MatrixC& c, Workspace work ) {
+larf( const Side side, const VectorV& v,
+ const typename bindings::value_type< VectorV >::type tau, MatrixC& c,
+ Workspace work ) {
     return larf_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, v, tau, c, work );
+ VectorV >::type >::invoke( side, v, tau, c, work );
 }
 
 //
 // Overloaded function for larf. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
-template< typename Side, typename VectorViewV, typename MatrixC >
+template< typename Side, typename VectorV, typename MatrixC >
 inline typename boost::disable_if< detail::is_workspace< MatrixC >,
         std::ptrdiff_t >::type
-larf( const Side side, const VectorViewV& v,
- const typename bindings::value_type< VectorViewV >::type tau,
+larf( const Side side, const VectorV& v,
+ const typename bindings::value_type< VectorV >::type tau,
         MatrixC& c ) {
     return larf_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, v, tau, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for larf. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename VectorViewV, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-larf( const Side side, const VectorViewV& v,
- const typename bindings::value_type< VectorViewV >::type tau,
- const MatrixC& c, Workspace work ) {
- return larf_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, v, tau, c, work );
-}
-
-//
-// Overloaded function for larf. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorViewV, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-larf( const Side side, const VectorViewV& v,
- const typename bindings::value_type< VectorViewV >::type tau,
- const MatrixC& c ) {
- return larf_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, v, tau, c,
- optimal_workspace() );
+ VectorV >::type >::invoke( side, v, tau, c, optimal_workspace() );
 }
 
 } // namespace lapack

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larfb.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larfb.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larfb.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -358,7 +358,6 @@
 
 //
 // Overloaded function for larfb. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixV, typename MatrixT, typename MatrixC,
@@ -375,7 +374,6 @@
 
 //
 // Overloaded function for larfb. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixV, typename MatrixT, typename MatrixC >
@@ -389,39 +387,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for larfb. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixV, typename MatrixT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-larfb( const Side side, const char direct, const char storev,
- const MatrixV& v, const MatrixT& t, const MatrixC& c,
- const fortran_int_t ldwork, Workspace work ) {
- return larfb_impl< typename bindings::value_type<
- MatrixV >::type >::invoke( side, direct, storev, v, t, c, ldwork,
- work );
-}
-
-//
-// Overloaded function for larfb. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixV, typename MatrixT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-larfb( const Side side, const char direct, const char storev,
- const MatrixV& v, const MatrixT& t, const MatrixC& c,
- const fortran_int_t ldwork ) {
- return larfb_impl< typename bindings::value_type<
- MatrixV >::type >::invoke( side, direct, storev, v, t, c, ldwork,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larfg.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larfg.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larfg.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -118,11 +118,11 @@
     // * Deduces the required arguments for dispatching to LAPACK, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX >
+ template< typename VectorX >
     static std::ptrdiff_t invoke( const fortran_int_t n, real_type& alpha,
- VectorViewX& x, real_type& tau ) {
+ VectorX& x, real_type& tau ) {
         namespace bindings = ::boost::numeric::bindings;
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
         return detail::larfg( n, alpha, bindings::begin_value(x),
                 bindings::stride(x), tau );
     }
@@ -143,11 +143,11 @@
     // * Deduces the required arguments for dispatching to LAPACK, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX >
+ template< typename VectorX >
     static std::ptrdiff_t invoke( const fortran_int_t n, value_type& alpha,
- VectorViewX& x, value_type& tau ) {
+ VectorX& x, value_type& tau ) {
         namespace bindings = ::boost::numeric::bindings;
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
         return detail::larfg( n, alpha, bindings::begin_value(x),
                 bindings::stride(x), tau );
     }
@@ -166,55 +166,24 @@
 
 //
 // Overloaded function for larfg. Its overload differs for
-// * VectorViewX&
 //
-template< typename VectorViewX >
+template< typename VectorX >
 inline std::ptrdiff_t larfg( const fortran_int_t n,
         typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type& alpha, VectorViewX& x,
- typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type& tau ) {
+ VectorX >::type >::type& alpha, VectorX& x, typename remove_imaginary<
+ typename bindings::value_type< VectorX >::type >::type& tau ) {
     return larfg_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( n, alpha, x, tau );
+ VectorX >::type >::invoke( n, alpha, x, tau );
 }
-
-//
-// Overloaded function for larfg. Its overload differs for
-// * const VectorViewX&
-//
-template< typename VectorViewX >
-inline std::ptrdiff_t larfg( const fortran_int_t n,
- typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type& alpha, const VectorViewX& x,
- typename remove_imaginary< typename bindings::value_type<
- VectorViewX >::type >::type& tau ) {
- return larfg_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( n, alpha, x, tau );
-}
-//
-// Overloaded function for larfg. Its overload differs for
-// * VectorViewX&
-//
-template< typename VectorViewX >
-inline std::ptrdiff_t larfg( const fortran_int_t n,
- typename bindings::value_type< VectorViewX >::type& alpha,
- VectorViewX& x, typename bindings::value_type<
- VectorViewX >::type& tau ) {
- return larfg_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( n, alpha, x, tau );
-}
-
 //
 // Overloaded function for larfg. Its overload differs for
-// * const VectorViewX&
 //
-template< typename VectorViewX >
+template< typename VectorX >
 inline std::ptrdiff_t larfg( const fortran_int_t n,
- typename bindings::value_type< VectorViewX >::type& alpha,
- const VectorViewX& x, typename bindings::value_type<
- VectorViewX >::type& tau ) {
+ typename bindings::value_type< VectorX >::type& alpha, VectorX& x,
+ typename bindings::value_type< VectorX >::type& tau ) {
     return larfg_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( n, alpha, x, tau );
+ VectorX >::type >::invoke( n, alpha, x, tau );
 }
 
 } // namespace lapack

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larft.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larft.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larft.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -162,8 +162,6 @@
 
 //
 // Overloaded function for larft. Its overload differs for
-// * MatrixV&
-// * MatrixT&
 //
 template< typename MatrixV, typename VectorTAU, typename MatrixT >
 inline std::ptrdiff_t larft( const char direct, const char storev,
@@ -173,45 +171,6 @@
             MatrixV >::type >::invoke( direct, storev, n, k, v, tau, t );
 }
 
-//
-// Overloaded function for larft. Its overload differs for
-// * const MatrixV&
-// * MatrixT&
-//
-template< typename MatrixV, typename VectorTAU, typename MatrixT >
-inline std::ptrdiff_t larft( const char direct, const char storev,
- const fortran_int_t n, const fortran_int_t k,
- const MatrixV& v, const VectorTAU& tau, MatrixT& t ) {
- return larft_impl< typename bindings::value_type<
- MatrixV >::type >::invoke( direct, storev, n, k, v, tau, t );
-}
-
-//
-// Overloaded function for larft. Its overload differs for
-// * MatrixV&
-// * const MatrixT&
-//
-template< typename MatrixV, typename VectorTAU, typename MatrixT >
-inline std::ptrdiff_t larft( const char direct, const char storev,
- const fortran_int_t n, const fortran_int_t k, MatrixV& v,
- const VectorTAU& tau, const MatrixT& t ) {
- return larft_impl< typename bindings::value_type<
- MatrixV >::type >::invoke( direct, storev, n, k, v, tau, t );
-}
-
-//
-// Overloaded function for larft. Its overload differs for
-// * const MatrixV&
-// * const MatrixT&
-//
-template< typename MatrixV, typename VectorTAU, typename MatrixT >
-inline std::ptrdiff_t larft( const char direct, const char storev,
- const fortran_int_t n, const fortran_int_t k,
- const MatrixV& v, const VectorTAU& tau, const MatrixT& t ) {
- return larft_impl< typename bindings::value_type<
- MatrixV >::type >::invoke( direct, storev, n, k, v, tau, t );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larfx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larfx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larfx.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -300,7 +300,6 @@
 
 //
 // Overloaded function for larfx. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename VectorV, typename MatrixC,
@@ -316,7 +315,6 @@
 
 //
 // Overloaded function for larfx. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename VectorV, typename MatrixC >
@@ -328,40 +326,8 @@
     return larfx_impl< typename bindings::value_type<
             VectorV >::type >::invoke( side, v, tau, c, optimal_workspace() );
 }
-
-//
-// Overloaded function for larfx. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename VectorV, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-larfx( const Side side, const VectorV& v,
- const typename remove_imaginary< typename bindings::value_type<
- VectorV >::type >::type tau, const MatrixC& c, Workspace work ) {
- return larfx_impl< typename bindings::value_type<
- VectorV >::type >::invoke( side, v, tau, c, work );
-}
-
-//
-// Overloaded function for larfx. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorV, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-larfx( const Side side, const VectorV& v,
- const typename remove_imaginary< typename bindings::value_type<
- VectorV >::type >::type tau, const MatrixC& c ) {
- return larfx_impl< typename bindings::value_type<
- VectorV >::type >::invoke( side, v, tau, c, optimal_workspace() );
-}
 //
 // Overloaded function for larfx. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename VectorV, typename MatrixC,
@@ -377,7 +343,6 @@
 
 //
 // Overloaded function for larfx. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename VectorV, typename MatrixC >
@@ -390,37 +355,6 @@
             VectorV >::type >::invoke( side, v, tau, c, optimal_workspace() );
 }
 
-//
-// Overloaded function for larfx. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename VectorV, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-larfx( const Side side, const VectorV& v,
- const typename bindings::value_type< VectorV >::type tau,
- const MatrixC& c, Workspace work ) {
- return larfx_impl< typename bindings::value_type<
- VectorV >::type >::invoke( side, v, tau, c, work );
-}
-
-//
-// Overloaded function for larfx. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorV, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-larfx( const Side side, const VectorV& v,
- const typename bindings::value_type< VectorV >::type tau,
- const MatrixC& c ) {
- return larfx_impl< typename bindings::value_type<
- VectorV >::type >::invoke( side, v, tau, c, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/largv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/largv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/largv.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -120,22 +120,21 @@
     // * Deduces the required arguments for dispatching to LAPACK, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY,
- typename VectorViewC >
- static std::ptrdiff_t invoke( const fortran_int_t n, VectorViewX& x,
- VectorViewY& y, VectorViewC& c ) {
+ template< typename VectorX, typename VectorY, typename VectorC >
+ static std::ptrdiff_t invoke( const fortran_int_t n, VectorX& x,
+ VectorY& y, VectorC& c ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
+ VectorY >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewC >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewC >::value) );
+ VectorC >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorC >::value) );
         BOOST_ASSERT( bindings::size(c) >= 1+(n-1)*bindings::stride(c) );
         BOOST_ASSERT( bindings::size(x) >= 1+(n-1)*bindings::stride(x) );
         BOOST_ASSERT( bindings::size(y) >= 1+(n-1)*bindings::stride(y) );
@@ -161,18 +160,17 @@
     // * Deduces the required arguments for dispatching to LAPACK, and
     // * Asserts that most arguments make sense.
     //
- template< typename VectorViewX, typename VectorViewY,
- typename VectorViewC >
- static std::ptrdiff_t invoke( const fortran_int_t n, VectorViewX& x,
- VectorViewY& y, VectorViewC& c ) {
+ template< typename VectorX, typename VectorY, typename VectorC >
+ static std::ptrdiff_t invoke( const fortran_int_t n, VectorX& x,
+ VectorY& y, VectorC& c ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
- typename bindings::value_type< VectorViewX >::type >::type,
+ typename bindings::value_type< VectorX >::type >::type,
                 typename remove_const< typename bindings::value_type<
- VectorViewY >::type >::type >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewX >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewY >::value) );
- BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorViewC >::value) );
+ VectorY >::type >::type >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorY >::value) );
+ BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorC >::value) );
         BOOST_ASSERT( bindings::size(c) >= 1+(n-1)*bindings::stride(c) );
         BOOST_ASSERT( bindings::size(x) >= 1+(n-1)*bindings::stride(x) );
         BOOST_ASSERT( bindings::size(y) >= 1+(n-1)*bindings::stride(y) );
@@ -196,106 +194,12 @@
 
 //
 // Overloaded function for largv. Its overload differs for
-// * VectorViewX&
-// * VectorViewY&
-// * VectorViewC&
-//
-template< typename VectorViewX, typename VectorViewY, typename VectorViewC >
-inline std::ptrdiff_t largv( const fortran_int_t n, VectorViewX& x,
- VectorViewY& y, VectorViewC& c ) {
- return largv_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( n, x, y, c );
-}
-
-//
-// Overloaded function for largv. Its overload differs for
-// * const VectorViewX&
-// * VectorViewY&
-// * VectorViewC&
-//
-template< typename VectorViewX, typename VectorViewY, typename VectorViewC >
-inline std::ptrdiff_t largv( const fortran_int_t n,
- const VectorViewX& x, VectorViewY& y, VectorViewC& c ) {
- return largv_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( n, x, y, c );
-}
-
-//
-// Overloaded function for largv. Its overload differs for
-// * VectorViewX&
-// * const VectorViewY&
-// * VectorViewC&
-//
-template< typename VectorViewX, typename VectorViewY, typename VectorViewC >
-inline std::ptrdiff_t largv( const fortran_int_t n, VectorViewX& x,
- const VectorViewY& y, VectorViewC& c ) {
- return largv_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( n, x, y, c );
-}
-
-//
-// Overloaded function for largv. Its overload differs for
-// * const VectorViewX&
-// * const VectorViewY&
-// * VectorViewC&
-//
-template< typename VectorViewX, typename VectorViewY, typename VectorViewC >
-inline std::ptrdiff_t largv( const fortran_int_t n,
- const VectorViewX& x, const VectorViewY& y, VectorViewC& c ) {
- return largv_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( n, x, y, c );
-}
-
 //
-// Overloaded function for largv. Its overload differs for
-// * VectorViewX&
-// * VectorViewY&
-// * const VectorViewC&
-//
-template< typename VectorViewX, typename VectorViewY, typename VectorViewC >
-inline std::ptrdiff_t largv( const fortran_int_t n, VectorViewX& x,
- VectorViewY& y, const VectorViewC& c ) {
- return largv_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( n, x, y, c );
-}
-
-//
-// Overloaded function for largv. Its overload differs for
-// * const VectorViewX&
-// * VectorViewY&
-// * const VectorViewC&
-//
-template< typename VectorViewX, typename VectorViewY, typename VectorViewC >
-inline std::ptrdiff_t largv( const fortran_int_t n,
- const VectorViewX& x, VectorViewY& y, const VectorViewC& c ) {
- return largv_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( n, x, y, c );
-}
-
-//
-// Overloaded function for largv. Its overload differs for
-// * VectorViewX&
-// * const VectorViewY&
-// * const VectorViewC&
-//
-template< typename VectorViewX, typename VectorViewY, typename VectorViewC >
-inline std::ptrdiff_t largv( const fortran_int_t n, VectorViewX& x,
- const VectorViewY& y, const VectorViewC& c ) {
- return largv_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( n, x, y, c );
-}
-
-//
-// Overloaded function for largv. Its overload differs for
-// * const VectorViewX&
-// * const VectorViewY&
-// * const VectorViewC&
-//
-template< typename VectorViewX, typename VectorViewY, typename VectorViewC >
-inline std::ptrdiff_t largv( const fortran_int_t n,
- const VectorViewX& x, const VectorViewY& y, const VectorViewC& c ) {
+template< typename VectorX, typename VectorY, typename VectorC >
+inline std::ptrdiff_t largv( const fortran_int_t n, VectorX& x,
+ VectorY& y, VectorC& c ) {
     return largv_impl< typename bindings::value_type<
- VectorViewX >::type >::invoke( n, x, y, c );
+ VectorX >::type >::invoke( n, x, y, c );
 }
 
 } // namespace lapack

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larz.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/larz.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -138,15 +138,15 @@
     // * Deduces the required arguments for dispatching to LAPACK, and
     // * Asserts that most arguments make sense.
     //
- template< typename Side, typename VectorViewV, typename MatrixC,
+ template< typename Side, typename VectorV, typename MatrixC,
             typename WORK >
     static std::ptrdiff_t invoke( const Side side, const fortran_int_t l,
- const VectorViewV& v, const real_type tau, MatrixC& c,
+ const VectorV& v, const real_type tau, MatrixC& c,
             detail::workspace1< WORK > work ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (bindings::is_column_major< MatrixC >::value) );
         BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
- typename bindings::value_type< VectorViewV >::type >::type,
+ typename bindings::value_type< VectorV >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixC >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixC >::value) );
@@ -171,9 +171,9 @@
     // invoke static member function
     // * Enables the unblocked algorithm (BLAS level 2)
     //
- template< typename Side, typename VectorViewV, typename MatrixC >
+ template< typename Side, typename VectorV, typename MatrixC >
     static std::ptrdiff_t invoke( const Side side, const fortran_int_t l,
- const VectorViewV& v, const real_type tau, MatrixC& c,
+ const VectorV& v, const real_type tau, MatrixC& c,
             minimal_workspace ) {
         namespace bindings = ::boost::numeric::bindings;
         bindings::detail::array< real_type > tmp_work( min_size_work( side,
@@ -188,9 +188,9 @@
     // invoke static member
     // * Enables the blocked algorithm (BLAS level 3)
     //
- template< typename Side, typename VectorViewV, typename MatrixC >
+ template< typename Side, typename VectorV, typename MatrixC >
     static std::ptrdiff_t invoke( const Side side, const fortran_int_t l,
- const VectorViewV& v, const real_type tau, MatrixC& c,
+ const VectorV& v, const real_type tau, MatrixC& c,
             optimal_workspace ) {
         namespace bindings = ::boost::numeric::bindings;
         return invoke( side, l, v, tau, c, minimal_workspace() );
@@ -222,15 +222,15 @@
     // * Deduces the required arguments for dispatching to LAPACK, and
     // * Asserts that most arguments make sense.
     //
- template< typename Side, typename VectorViewV, typename MatrixC,
+ template< typename Side, typename VectorV, typename MatrixC,
             typename WORK >
     static std::ptrdiff_t invoke( const Side side, const fortran_int_t l,
- const VectorViewV& v, const value_type tau, MatrixC& c,
+ const VectorV& v, const value_type tau, MatrixC& c,
             detail::workspace1< WORK > work ) {
         namespace bindings = ::boost::numeric::bindings;
         BOOST_STATIC_ASSERT( (bindings::is_column_major< MatrixC >::value) );
         BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
- typename bindings::value_type< VectorViewV >::type >::type,
+ typename bindings::value_type< VectorV >::type >::type,
                 typename remove_const< typename bindings::value_type<
                 MatrixC >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixC >::value) );
@@ -255,9 +255,9 @@
     // invoke static member function
     // * Enables the unblocked algorithm (BLAS level 2)
     //
- template< typename Side, typename VectorViewV, typename MatrixC >
+ template< typename Side, typename VectorV, typename MatrixC >
     static std::ptrdiff_t invoke( const Side side, const fortran_int_t l,
- const VectorViewV& v, const value_type tau, MatrixC& c,
+ const VectorV& v, const value_type tau, MatrixC& c,
             minimal_workspace ) {
         namespace bindings = ::boost::numeric::bindings;
         bindings::detail::array< value_type > tmp_work( min_size_work( side,
@@ -272,9 +272,9 @@
     // invoke static member
     // * Enables the blocked algorithm (BLAS level 3)
     //
- template< typename Side, typename VectorViewV, typename MatrixC >
+ template< typename Side, typename VectorV, typename MatrixC >
     static std::ptrdiff_t invoke( const Side side, const fortran_int_t l,
- const VectorViewV& v, const value_type tau, MatrixC& c,
+ const VectorV& v, const value_type tau, MatrixC& c,
             optimal_workspace ) {
         namespace bindings = ::boost::numeric::bindings;
         return invoke( side, l, v, tau, c, minimal_workspace() );
@@ -304,128 +304,60 @@
 
 //
 // Overloaded function for larz. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
-template< typename Side, typename VectorViewV, typename MatrixC,
+template< typename Side, typename VectorV, typename MatrixC,
         typename Workspace >
 inline typename boost::enable_if< detail::is_workspace< Workspace >,
         std::ptrdiff_t >::type
-larz( const Side side, const fortran_int_t l, const VectorViewV& v,
+larz( const Side side, const fortran_int_t l, const VectorV& v,
         const typename remove_imaginary< typename bindings::value_type<
- VectorViewV >::type >::type tau, MatrixC& c, Workspace work ) {
+ VectorV >::type >::type tau, MatrixC& c, Workspace work ) {
     return larz_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, l, v, tau, c, work );
+ VectorV >::type >::invoke( side, l, v, tau, c, work );
 }
 
 //
 // Overloaded function for larz. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
-template< typename Side, typename VectorViewV, typename MatrixC >
+template< typename Side, typename VectorV, typename MatrixC >
 inline typename boost::disable_if< detail::is_workspace< MatrixC >,
         std::ptrdiff_t >::type
-larz( const Side side, const fortran_int_t l, const VectorViewV& v,
+larz( const Side side, const fortran_int_t l, const VectorV& v,
         const typename remove_imaginary< typename bindings::value_type<
- VectorViewV >::type >::type tau, MatrixC& c ) {
+ VectorV >::type >::type tau, MatrixC& c ) {
     return larz_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, l, v, tau, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for larz. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename VectorViewV, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-larz( const Side side, const fortran_int_t l, const VectorViewV& v,
- const typename remove_imaginary< typename bindings::value_type<
- VectorViewV >::type >::type tau, const MatrixC& c, Workspace work ) {
- return larz_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, l, v, tau, c, work );
-}
-
-//
-// Overloaded function for larz. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorViewV, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-larz( const Side side, const fortran_int_t l, const VectorViewV& v,
- const typename remove_imaginary< typename bindings::value_type<
- VectorViewV >::type >::type tau, const MatrixC& c ) {
- return larz_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, l, v, tau, c,
+ VectorV >::type >::invoke( side, l, v, tau, c,
             optimal_workspace() );
 }
 //
 // Overloaded function for larz. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
-template< typename Side, typename VectorViewV, typename MatrixC,
+template< typename Side, typename VectorV, typename MatrixC,
         typename Workspace >
 inline typename boost::enable_if< detail::is_workspace< Workspace >,
         std::ptrdiff_t >::type
-larz( const Side side, const fortran_int_t l, const VectorViewV& v,
- const typename bindings::value_type< VectorViewV >::type tau,
- MatrixC& c, Workspace work ) {
+larz( const Side side, const fortran_int_t l, const VectorV& v,
+ const typename bindings::value_type< VectorV >::type tau, MatrixC& c,
+ Workspace work ) {
     return larz_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, l, v, tau, c, work );
+ VectorV >::type >::invoke( side, l, v, tau, c, work );
 }
 
 //
 // Overloaded function for larz. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
-template< typename Side, typename VectorViewV, typename MatrixC >
+template< typename Side, typename VectorV, typename MatrixC >
 inline typename boost::disable_if< detail::is_workspace< MatrixC >,
         std::ptrdiff_t >::type
-larz( const Side side, const fortran_int_t l, const VectorViewV& v,
- const typename bindings::value_type< VectorViewV >::type tau,
+larz( const Side side, const fortran_int_t l, const VectorV& v,
+ const typename bindings::value_type< VectorV >::type tau,
         MatrixC& c ) {
     return larz_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, l, v, tau, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for larz. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename VectorViewV, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-larz( const Side side, const fortran_int_t l, const VectorViewV& v,
- const typename bindings::value_type< VectorViewV >::type tau,
- const MatrixC& c, Workspace work ) {
- return larz_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, l, v, tau, c, work );
-}
-
-//
-// Overloaded function for larz. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorViewV, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-larz( const Side side, const fortran_int_t l, const VectorViewV& v,
- const typename bindings::value_type< VectorViewV >::type tau,
- const MatrixC& c ) {
- return larz_impl< typename bindings::value_type<
- VectorViewV >::type >::invoke( side, l, v, tau, c,
+ VectorV >::type >::invoke( side, l, v, tau, c,
             optimal_workspace() );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/latrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/latrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/latrd.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -234,8 +234,6 @@
 
 //
 // Overloaded function for latrd. Its overload differs for
-// * MatrixA&
-// * MatrixW&
 //
 template< typename MatrixA, typename VectorE, typename VectorTAU,
         typename MatrixW >
@@ -245,45 +243,6 @@
             MatrixA >::type >::invoke( nb, a, e, tau, w );
 }
 
-//
-// Overloaded function for latrd. Its overload differs for
-// * const MatrixA&
-// * MatrixW&
-//
-template< typename MatrixA, typename VectorE, typename VectorTAU,
- typename MatrixW >
-inline std::ptrdiff_t latrd( const fortran_int_t nb, const MatrixA& a,
- VectorE& e, VectorTAU& tau, MatrixW& w ) {
- return latrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( nb, a, e, tau, w );
-}
-
-//
-// Overloaded function for latrd. Its overload differs for
-// * MatrixA&
-// * const MatrixW&
-//
-template< typename MatrixA, typename VectorE, typename VectorTAU,
- typename MatrixW >
-inline std::ptrdiff_t latrd( const fortran_int_t nb, MatrixA& a,
- VectorE& e, VectorTAU& tau, const MatrixW& w ) {
- return latrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( nb, a, e, tau, w );
-}
-
-//
-// Overloaded function for latrd. Its overload differs for
-// * const MatrixA&
-// * const MatrixW&
-//
-template< typename MatrixA, typename VectorE, typename VectorTAU,
- typename MatrixW >
-inline std::ptrdiff_t latrd( const fortran_int_t nb, const MatrixA& a,
- VectorE& e, VectorTAU& tau, const MatrixW& w ) {
- return latrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( nb, a, e, tau, w );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/latrz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/latrz.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/auxiliary/latrz.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -283,7 +283,6 @@
 
 //
 // Overloaded function for latrz. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -296,7 +295,6 @@
 
 //
 // Overloaded function for latrz. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -307,32 +305,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for latrz. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-latrz( const MatrixA& a, VectorTAU& tau, Workspace work ) {
- return latrz_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for latrz. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-latrz( const MatrixA& a, VectorTAU& tau ) {
- return latrz_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -217,8 +217,6 @@
 
 //
 // Overloaded function for bdsdc. Its overload differs for
-// * MatrixU&
-// * MatrixVT&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename MatrixU,
@@ -236,8 +234,6 @@
 
 //
 // Overloaded function for bdsdc. Its overload differs for
-// * MatrixU&
-// * MatrixVT&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename MatrixU,
@@ -252,117 +248,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for bdsdc. Its overload differs for
-// * const MatrixU&
-// * MatrixVT&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixU,
- typename MatrixVT, typename VectorQ, typename VectorIQ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-bdsdc( const char uplo, const char compq, const fortran_int_t n,
- VectorD& d, VectorE& e, const MatrixU& u, MatrixVT& vt, VectorQ& q,
- VectorIQ& iq, Workspace work ) {
- return bdsdc_impl< typename bindings::value_type<
- VectorD >::type >::invoke( uplo, compq, n, d, e, u, vt, q, iq,
- work );
-}
-
-//
-// Overloaded function for bdsdc. Its overload differs for
-// * const MatrixU&
-// * MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixU,
- typename MatrixVT, typename VectorQ, typename VectorIQ >
-inline typename boost::disable_if< detail::is_workspace< VectorIQ >,
- std::ptrdiff_t >::type
-bdsdc( const char uplo, const char compq, const fortran_int_t n,
- VectorD& d, VectorE& e, const MatrixU& u, MatrixVT& vt, VectorQ& q,
- VectorIQ& iq ) {
- return bdsdc_impl< typename bindings::value_type<
- VectorD >::type >::invoke( uplo, compq, n, d, e, u, vt, q, iq,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for bdsdc. Its overload differs for
-// * MatrixU&
-// * const MatrixVT&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixU,
- typename MatrixVT, typename VectorQ, typename VectorIQ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-bdsdc( const char uplo, const char compq, const fortran_int_t n,
- VectorD& d, VectorE& e, MatrixU& u, const MatrixVT& vt, VectorQ& q,
- VectorIQ& iq, Workspace work ) {
- return bdsdc_impl< typename bindings::value_type<
- VectorD >::type >::invoke( uplo, compq, n, d, e, u, vt, q, iq,
- work );
-}
-
-//
-// Overloaded function for bdsdc. Its overload differs for
-// * MatrixU&
-// * const MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixU,
- typename MatrixVT, typename VectorQ, typename VectorIQ >
-inline typename boost::disable_if< detail::is_workspace< VectorIQ >,
- std::ptrdiff_t >::type
-bdsdc( const char uplo, const char compq, const fortran_int_t n,
- VectorD& d, VectorE& e, MatrixU& u, const MatrixVT& vt, VectorQ& q,
- VectorIQ& iq ) {
- return bdsdc_impl< typename bindings::value_type<
- VectorD >::type >::invoke( uplo, compq, n, d, e, u, vt, q, iq,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for bdsdc. Its overload differs for
-// * const MatrixU&
-// * const MatrixVT&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixU,
- typename MatrixVT, typename VectorQ, typename VectorIQ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-bdsdc( const char uplo, const char compq, const fortran_int_t n,
- VectorD& d, VectorE& e, const MatrixU& u, const MatrixVT& vt,
- VectorQ& q, VectorIQ& iq, Workspace work ) {
- return bdsdc_impl< typename bindings::value_type<
- VectorD >::type >::invoke( uplo, compq, n, d, e, u, vt, q, iq,
- work );
-}
-
-//
-// Overloaded function for bdsdc. Its overload differs for
-// * const MatrixU&
-// * const MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixU,
- typename MatrixVT, typename VectorQ, typename VectorIQ >
-inline typename boost::disable_if< detail::is_workspace< VectorIQ >,
- std::ptrdiff_t >::type
-bdsdc( const char uplo, const char compq, const fortran_int_t n,
- VectorD& d, VectorE& e, const MatrixU& u, const MatrixVT& vt,
- VectorQ& q, VectorIQ& iq ) {
- return bdsdc_impl< typename bindings::value_type<
- VectorD >::type >::invoke( uplo, compq, n, d, e, u, vt, q, iq,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -366,9 +366,6 @@
 
 //
 // Overloaded function for bdsqr. Its overload differs for
-// * MatrixVT&
-// * MatrixU&
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename MatrixVT,
@@ -383,9 +380,6 @@
 
 //
 // Overloaded function for bdsqr. Its overload differs for
-// * MatrixVT&
-// * MatrixU&
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename MatrixVT,
@@ -399,258 +393,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * const MatrixVT&
-// * MatrixU&
-// * MatrixC&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, const MatrixVT& vt, MatrixU& u, MatrixC& c,
- Workspace work ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c, work );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * const MatrixVT&
-// * MatrixU&
-// * MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, const MatrixVT& vt, MatrixU& u, MatrixC& c ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * MatrixVT&
-// * const MatrixU&
-// * MatrixC&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, MatrixVT& vt, const MatrixU& u, MatrixC& c,
- Workspace work ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c, work );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * MatrixVT&
-// * const MatrixU&
-// * MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, MatrixVT& vt, const MatrixU& u, MatrixC& c ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * const MatrixVT&
-// * const MatrixU&
-// * MatrixC&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, const MatrixVT& vt, const MatrixU& u, MatrixC& c,
- Workspace work ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c, work );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * const MatrixVT&
-// * const MatrixU&
-// * MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, const MatrixVT& vt, const MatrixU& u, MatrixC& c ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * MatrixVT&
-// * MatrixU&
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, MatrixVT& vt, MatrixU& u, const MatrixC& c,
- Workspace work ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c, work );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * MatrixVT&
-// * MatrixU&
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, MatrixVT& vt, MatrixU& u, const MatrixC& c ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * const MatrixVT&
-// * MatrixU&
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, const MatrixVT& vt, MatrixU& u, const MatrixC& c,
- Workspace work ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c, work );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * const MatrixVT&
-// * MatrixU&
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, const MatrixVT& vt, MatrixU& u, const MatrixC& c ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * MatrixVT&
-// * const MatrixU&
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, MatrixVT& vt, const MatrixU& u, const MatrixC& c,
- Workspace work ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c, work );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * MatrixVT&
-// * const MatrixU&
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, MatrixVT& vt, const MatrixU& u, const MatrixC& c ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * const MatrixVT&
-// * const MatrixU&
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, const MatrixVT& vt, const MatrixU& u, const MatrixC& c,
- Workspace work ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c, work );
-}
-
-//
-// Overloaded function for bdsqr. Its overload differs for
-// * const MatrixVT&
-// * const MatrixU&
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixVT,
- typename MatrixU, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-bdsqr( const char uplo, const fortran_int_t n, VectorD& d,
- VectorE& e, const MatrixVT& vt, const MatrixU& u, const MatrixC& c ) {
- return bdsqr_impl< typename bindings::value_type<
- MatrixVT >::type >::invoke( uplo, n, d, e, vt, u, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -420,10 +420,6 @@
 
 //
 // Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * MatrixPT&
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename VectorD, typename VectorE,
@@ -439,10 +435,6 @@
 
 //
 // Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * MatrixPT&
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename VectorD, typename VectorE,
@@ -456,578 +448,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * MatrixPT&
-// * MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- MatrixQ& q, MatrixPT& pt, MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * MatrixPT&
-// * MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- MatrixQ& q, MatrixPT& pt, MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * MatrixPT&
-// * MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, MatrixPT& pt, MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * MatrixPT&
-// * MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, MatrixPT& pt, MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * MatrixPT&
-// * MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, MatrixPT& pt, MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * MatrixPT&
-// * MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, MatrixPT& pt, MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * const MatrixPT&
-// * MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e, MatrixQ& q,
- const MatrixPT& pt, MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * const MatrixPT&
-// * MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e, MatrixQ& q,
- const MatrixPT& pt, MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * const MatrixPT&
-// * MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- MatrixQ& q, const MatrixPT& pt, MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * const MatrixPT&
-// * MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- MatrixQ& q, const MatrixPT& pt, MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * const MatrixPT&
-// * MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, const MatrixPT& pt, MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * const MatrixPT&
-// * MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, const MatrixPT& pt, MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * const MatrixPT&
-// * MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, const MatrixPT& pt, MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * const MatrixPT&
-// * MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, const MatrixPT& pt, MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * MatrixPT&
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e, MatrixQ& q,
- MatrixPT& pt, const MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * MatrixPT&
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e, MatrixQ& q,
- MatrixPT& pt, const MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * MatrixPT&
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- MatrixQ& q, MatrixPT& pt, const MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * MatrixPT&
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- MatrixQ& q, MatrixPT& pt, const MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * MatrixPT&
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, MatrixPT& pt, const MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * MatrixPT&
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, MatrixPT& pt, const MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * MatrixPT&
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, MatrixPT& pt, const MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * MatrixPT&
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, MatrixPT& pt, const MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * const MatrixPT&
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e, MatrixQ& q,
- const MatrixPT& pt, const MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * const MatrixPT&
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e, MatrixQ& q,
- const MatrixPT& pt, const MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * const MatrixPT&
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- MatrixQ& q, const MatrixPT& pt, const MatrixC& c, Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * const MatrixPT&
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- MatrixQ& q, const MatrixPT& pt, const MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * const MatrixPT&
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, const MatrixPT& pt, const MatrixC& c,
- Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * const MatrixPT&
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, const MatrixPT& pt, const MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * const MatrixPT&
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, const MatrixPT& pt, const MatrixC& c,
- Workspace work ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c, work );
-}
-
-//
-// Overloaded function for gbbrd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * const MatrixPT&
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename MatrixPT, typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-gbbrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, const MatrixPT& pt, const MatrixC& c ) {
- return gbbrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, pt, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -460,7 +460,6 @@
 
 //
 // Overloaded function for gbrfs. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
@@ -478,7 +477,6 @@
 
 //
 // Overloaded function for gbrfs. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
@@ -493,42 +491,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for gbrfs. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbrfs( const MatrixAB& ab, const MatrixAFB& afb, const VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, VectorFERR& ferr,
- VectorBERR& berr, Workspace work ) {
- return gbrfs_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, afb, ipiv, b, x, ferr, berr,
- work );
-}
-
-//
-// Overloaded function for gbrfs. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbrfs( const MatrixAB& ab, const MatrixAFB& afb, const VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, VectorFERR& ferr,
- VectorBERR& berr ) {
- return gbrfs_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, afb, ipiv, b, x, ferr, berr,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -155,7 +155,6 @@
 
 //
 // Overloaded function for gbtrf. Its overload differs for
-// * MatrixAB&
 //
 template< typename MatrixAB, typename VectorIPIV >
 inline std::ptrdiff_t gbtrf( MatrixAB& ab, VectorIPIV& ipiv ) {
@@ -163,16 +162,6 @@
             MatrixAB >::type >::invoke( ab, ipiv );
 }
 
-//
-// Overloaded function for gbtrf. Its overload differs for
-// * const MatrixAB&
-//
-template< typename MatrixAB, typename VectorIPIV >
-inline std::ptrdiff_t gbtrf( const MatrixAB& ab, VectorIPIV& ipiv ) {
- return gbtrf_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, ipiv );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -179,7 +179,6 @@
 
 //
 // Overloaded function for gbtrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixAB, typename VectorIPIV, typename MatrixB >
 inline std::ptrdiff_t gbtrs( const MatrixAB& ab, const VectorIPIV& ipiv,
@@ -188,17 +187,6 @@
             MatrixAB >::type >::invoke( ab, ipiv, b );
 }
 
-//
-// Overloaded function for gbtrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixAB, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t gbtrs( const MatrixAB& ab, const VectorIPIV& ipiv,
- const MatrixB& b ) {
- return gbtrs_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, ipiv, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -207,7 +207,6 @@
 
 //
 // Overloaded function for gebak. Its overload differs for
-// * MatrixV&
 //
 template< typename Side, typename VectorSCALE, typename MatrixV >
 inline std::ptrdiff_t gebak( const char job, const Side side,
@@ -217,18 +216,6 @@
             MatrixV >::type >::invoke( job, side, ilo, ihi, scale, v );
 }
 
-//
-// Overloaded function for gebak. Its overload differs for
-// * const MatrixV&
-//
-template< typename Side, typename VectorSCALE, typename MatrixV >
-inline std::ptrdiff_t gebak( const char job, const Side side,
- const fortran_int_t ilo, const fortran_int_t ihi,
- const VectorSCALE& scale, const MatrixV& v ) {
- return gebak_impl< typename bindings::value_type<
- MatrixV >::type >::invoke( job, side, ilo, ihi, scale, v );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -193,7 +193,6 @@
 
 //
 // Overloaded function for gebal. Its overload differs for
-// * MatrixA&
 //
 template< typename MatrixA, typename VectorSCALE >
 inline std::ptrdiff_t gebal( const char job, MatrixA& a,
@@ -202,17 +201,6 @@
             MatrixA >::type >::invoke( job, a, ilo, ihi, scale );
 }
 
-//
-// Overloaded function for gebal. Its overload differs for
-// * const MatrixA&
-//
-template< typename MatrixA, typename VectorSCALE >
-inline std::ptrdiff_t gebal( const char job, const MatrixA& a,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorSCALE& scale ) {
- return gebal_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( job, a, ilo, ihi, scale );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -356,7 +356,6 @@
 
 //
 // Overloaded function for gebrd. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorD, typename VectorE,
@@ -371,7 +370,6 @@
 
 //
 // Overloaded function for gebrd. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorD, typename VectorE,
@@ -385,37 +383,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for gebrd. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAUQ, typename VectorTAUP, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gebrd( const MatrixA& a, VectorD& d, VectorE& e, VectorTAUQ& tauq,
- VectorTAUP& taup, Workspace work ) {
- return gebrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tauq, taup, work );
-}
-
-//
-// Overloaded function for gebrd. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAUQ, typename VectorTAUP >
-inline typename boost::disable_if< detail::is_workspace< VectorTAUP >,
- std::ptrdiff_t >::type
-gebrd( const MatrixA& a, VectorD& d, VectorE& e, VectorTAUQ& tauq,
- VectorTAUP& taup ) {
- return gebrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tauq, taup,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -300,7 +300,6 @@
 
 //
 // Overloaded function for gehrd. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -314,7 +313,6 @@
 
 //
 // Overloaded function for gehrd. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -326,34 +324,6 @@
             MatrixA >::type >::invoke( ilo, ihi, a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for gehrd. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gehrd( const fortran_int_t ilo, const fortran_int_t ihi,
- const MatrixA& a, VectorTAU& tau, Workspace work ) {
- return gehrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ilo, ihi, a, tau, work );
-}
-
-//
-// Overloaded function for gehrd. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-gehrd( const fortran_int_t ilo, const fortran_int_t ihi,
- const MatrixA& a, VectorTAU& tau ) {
- return gehrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ilo, ihi, a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -300,7 +300,6 @@
 
 //
 // Overloaded function for gelqf. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -313,7 +312,6 @@
 
 //
 // Overloaded function for gelqf. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -324,32 +322,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for gelqf. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gelqf( const MatrixA& a, VectorTAU& tau, Workspace work ) {
- return gelqf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for gelqf. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-gelqf( const MatrixA& a, VectorTAU& tau ) {
- return gelqf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -300,7 +300,6 @@
 
 //
 // Overloaded function for geqlf. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -313,7 +312,6 @@
 
 //
 // Overloaded function for geqlf. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -324,32 +322,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for geqlf. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geqlf( const MatrixA& a, VectorTAU& tau, Workspace work ) {
- return geqlf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for geqlf. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-geqlf( const MatrixA& a, VectorTAU& tau ) {
- return geqlf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -321,7 +321,6 @@
 
 //
 // Overloaded function for geqp3. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorJPVT, typename VectorTAU,
@@ -335,7 +334,6 @@
 
 //
 // Overloaded function for geqp3. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorJPVT, typename VectorTAU >
@@ -346,34 +344,6 @@
             MatrixA >::type >::invoke( a, jpvt, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for geqp3. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorJPVT, typename VectorTAU,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geqp3( const MatrixA& a, VectorJPVT& jpvt, VectorTAU& tau,
- Workspace work ) {
- return geqp3_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, jpvt, tau, work );
-}
-
-//
-// Overloaded function for geqp3. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorJPVT, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-geqp3( const MatrixA& a, VectorJPVT& jpvt, VectorTAU& tau ) {
- return geqp3_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, jpvt, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -300,7 +300,6 @@
 
 //
 // Overloaded function for geqrf. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -313,7 +312,6 @@
 
 //
 // Overloaded function for geqrf. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -324,32 +322,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for geqrf. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geqrf( const MatrixA& a, VectorTAU& tau, Workspace work ) {
- return geqrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for geqrf. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-geqrf( const MatrixA& a, VectorTAU& tau ) {
- return geqrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -431,7 +431,6 @@
 
 //
 // Overloaded function for gerfs. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
@@ -448,7 +447,6 @@
 
 //
 // Overloaded function for gerfs. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
@@ -463,41 +461,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for gerfs. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gerfs( const MatrixA& a, const MatrixAF& af, const VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, VectorFERR& ferr,
- VectorBERR& berr, Workspace work ) {
- return gerfs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, af, ipiv, b, x, ferr, berr, work );
-}
-
-//
-// Overloaded function for gerfs. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gerfs( const MatrixA& a, const MatrixAF& af, const VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, VectorFERR& ferr,
- VectorBERR& berr ) {
- return gerfs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, af, ipiv, b, x, ferr, berr,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -300,7 +300,6 @@
 
 //
 // Overloaded function for gerqf. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -313,7 +312,6 @@
 
 //
 // Overloaded function for gerqf. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -324,32 +322,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for gerqf. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gerqf( const MatrixA& a, VectorTAU& tau, Workspace work ) {
- return gerqf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for gerqf. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-gerqf( const MatrixA& a, VectorTAU& tau ) {
- return gerqf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -213,7 +213,6 @@
 
 //
 // Overloaded function for getrf. Its overload differs for
-// * MatrixA&
 //
 template< typename MatrixA, typename VectorIPIV >
 inline std::ptrdiff_t getrf( MatrixA& a, VectorIPIV& ipiv ) {
@@ -221,16 +220,6 @@
             MatrixA >::type >::invoke( a, ipiv );
 }
 
-//
-// Overloaded function for getrf. Its overload differs for
-// * const MatrixA&
-//
-template< typename MatrixA, typename VectorIPIV >
-inline std::ptrdiff_t getrf( const MatrixA& a, VectorIPIV& ipiv ) {
- return getrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -369,7 +369,6 @@
 
 //
 // Overloaded function for getri. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorIPIV, typename Workspace >
@@ -382,7 +381,6 @@
 
 //
 // Overloaded function for getri. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorIPIV >
@@ -393,32 +391,6 @@
             MatrixA >::type >::invoke( a, ipiv, optimal_workspace() );
 }
 
-//
-// Overloaded function for getri. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-getri( const MatrixA& a, const VectorIPIV& ipiv, Workspace work ) {
- return getri_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, work );
-}
-
-//
-// Overloaded function for getri. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV >
-inline typename boost::disable_if< detail::is_workspace< VectorIPIV >,
- std::ptrdiff_t >::type
-getri( const MatrixA& a, const VectorIPIV& ipiv ) {
- return getri_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -239,7 +239,6 @@
 
 //
 // Overloaded function for getrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixA, typename VectorIPIV, typename MatrixB >
 inline std::ptrdiff_t getrs( const MatrixA& a, const VectorIPIV& ipiv,
@@ -248,17 +247,6 @@
             MatrixA >::type >::invoke( a, ipiv, b );
 }
 
-//
-// Overloaded function for getrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t getrs( const MatrixA& a, const VectorIPIV& ipiv,
- const MatrixB& b ) {
- return getrs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -225,7 +225,6 @@
 
 //
 // Overloaded function for ggbak. Its overload differs for
-// * MatrixV&
 //
 template< typename Side, typename VectorLSCALE, typename VectorRSCALE,
         typename MatrixV >
@@ -237,21 +236,6 @@
             v );
 }
 
-//
-// Overloaded function for ggbak. Its overload differs for
-// * const MatrixV&
-//
-template< typename Side, typename VectorLSCALE, typename VectorRSCALE,
- typename MatrixV >
-inline std::ptrdiff_t ggbak( const char job, const Side side,
- const fortran_int_t ilo, const fortran_int_t ihi,
- const VectorLSCALE& lscale, const VectorRSCALE& rscale,
- const MatrixV& v ) {
- return ggbak_impl< typename bindings::value_type<
- MatrixV >::type >::invoke( job, side, ilo, ihi, lscale, rscale,
- v );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -339,8 +339,6 @@
 
 //
 // Overloaded function for ggbal. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorLSCALE,
@@ -357,8 +355,6 @@
 
 //
 // Overloaded function for ggbal. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorLSCALE,
@@ -372,114 +368,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for ggbal. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorLSCALE,
- typename VectorRSCALE, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggbal( const char job, const MatrixA& a, MatrixB& b,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, Workspace work ) {
- return ggbal_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( job, a, b, ilo, ihi, lscale, rscale,
- work );
-}
-
-//
-// Overloaded function for ggbal. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorLSCALE,
- typename VectorRSCALE >
-inline typename boost::disable_if< detail::is_workspace< VectorRSCALE >,
- std::ptrdiff_t >::type
-ggbal( const char job, const MatrixA& a, MatrixB& b,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale ) {
- return ggbal_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( job, a, b, ilo, ihi, lscale, rscale,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggbal. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorLSCALE,
- typename VectorRSCALE, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggbal( const char job, MatrixA& a, const MatrixB& b,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, Workspace work ) {
- return ggbal_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( job, a, b, ilo, ihi, lscale, rscale,
- work );
-}
-
-//
-// Overloaded function for ggbal. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorLSCALE,
- typename VectorRSCALE >
-inline typename boost::disable_if< detail::is_workspace< VectorRSCALE >,
- std::ptrdiff_t >::type
-ggbal( const char job, MatrixA& a, const MatrixB& b,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale ) {
- return ggbal_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( job, a, b, ilo, ihi, lscale, rscale,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggbal. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorLSCALE,
- typename VectorRSCALE, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggbal( const char job, const MatrixA& a, const MatrixB& b,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, Workspace work ) {
- return ggbal_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( job, a, b, ilo, ihi, lscale, rscale,
- work );
-}
-
-//
-// Overloaded function for ggbal. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorLSCALE,
- typename VectorRSCALE >
-inline typename boost::disable_if< detail::is_workspace< VectorRSCALE >,
- std::ptrdiff_t >::type
-ggbal( const char job, const MatrixA& a, const MatrixB& b,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale ) {
- return ggbal_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( job, a, b, ilo, ihi, lscale, rscale,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -191,10 +191,6 @@
 
 //
 // Overloaded function for gghrd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
 //
 template< typename MatrixA, typename MatrixB, typename MatrixQ,
         typename MatrixZ >
@@ -205,246 +201,6 @@
             MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
 }
 
-//
-// Overloaded function for gghrd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, const MatrixA& a, MatrixB& b, MatrixQ& q,
- MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, MatrixA& a, const MatrixB& b, MatrixQ& q,
- MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, const MatrixA& a, const MatrixB& b,
- MatrixQ& q, MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, MatrixA& a, MatrixB& b, const MatrixQ& q,
- MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, const MatrixA& a, MatrixB& b,
- const MatrixQ& q, MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, MatrixA& a, const MatrixB& b,
- const MatrixQ& q, MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, const MatrixA& a, const MatrixB& b,
- const MatrixQ& q, MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, MatrixA& a, MatrixB& b, MatrixQ& q,
- const MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, const MatrixA& a, MatrixB& b, MatrixQ& q,
- const MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, MatrixA& a, const MatrixB& b, MatrixQ& q,
- const MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, const MatrixA& a, const MatrixB& b,
- MatrixQ& q, const MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, MatrixA& a, MatrixB& b, const MatrixQ& q,
- const MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, const MatrixA& a, MatrixB& b,
- const MatrixQ& q, const MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, MatrixA& a, const MatrixB& b,
- const MatrixQ& q, const MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
-//
-// Overloaded function for gghrd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t gghrd( const char compq, const char compz,
- const fortran_int_t ilo, const MatrixA& a, const MatrixB& b,
- const MatrixQ& q, const MatrixZ& z ) {
- return gghrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( compq, compz, ilo, a, b, q, z );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -370,8 +370,6 @@
 
 //
 // Overloaded function for ggqrf. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAUA, typename MatrixB,
@@ -386,8 +384,6 @@
 
 //
 // Overloaded function for ggqrf. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAUA, typename MatrixB,
@@ -399,102 +395,6 @@
             MatrixA >::type >::invoke( a, taua, b, taub, optimal_workspace() );
 }
 
-//
-// Overloaded function for ggqrf. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAUA, typename MatrixB,
- typename VectorTAUB, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggqrf( const MatrixA& a, VectorTAUA& taua, MatrixB& b, VectorTAUB& taub,
- Workspace work ) {
- return ggqrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, taua, b, taub, work );
-}
-
-//
-// Overloaded function for ggqrf. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAUA, typename MatrixB,
- typename VectorTAUB >
-inline typename boost::disable_if< detail::is_workspace< VectorTAUB >,
- std::ptrdiff_t >::type
-ggqrf( const MatrixA& a, VectorTAUA& taua, MatrixB& b,
- VectorTAUB& taub ) {
- return ggqrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, taua, b, taub, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggqrf. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAUA, typename MatrixB,
- typename VectorTAUB, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggqrf( MatrixA& a, VectorTAUA& taua, const MatrixB& b, VectorTAUB& taub,
- Workspace work ) {
- return ggqrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, taua, b, taub, work );
-}
-
-//
-// Overloaded function for ggqrf. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAUA, typename MatrixB,
- typename VectorTAUB >
-inline typename boost::disable_if< detail::is_workspace< VectorTAUB >,
- std::ptrdiff_t >::type
-ggqrf( MatrixA& a, VectorTAUA& taua, const MatrixB& b,
- VectorTAUB& taub ) {
- return ggqrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, taua, b, taub, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggqrf. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAUA, typename MatrixB,
- typename VectorTAUB, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggqrf( const MatrixA& a, VectorTAUA& taua, const MatrixB& b,
- VectorTAUB& taub, Workspace work ) {
- return ggqrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, taua, b, taub, work );
-}
-
-//
-// Overloaded function for ggqrf. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAUA, typename MatrixB,
- typename VectorTAUB >
-inline typename boost::disable_if< detail::is_workspace< VectorTAUB >,
- std::ptrdiff_t >::type
-ggqrf( const MatrixA& a, VectorTAUA& taua, const MatrixB& b,
- VectorTAUB& taub ) {
- return ggqrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, taua, b, taub, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -370,8 +370,6 @@
 
 //
 // Overloaded function for ggrqf. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAUA, typename MatrixB,
@@ -386,8 +384,6 @@
 
 //
 // Overloaded function for ggrqf. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAUA, typename MatrixB,
@@ -399,102 +395,6 @@
             MatrixA >::type >::invoke( a, taua, b, taub, optimal_workspace() );
 }
 
-//
-// Overloaded function for ggrqf. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAUA, typename MatrixB,
- typename VectorTAUB, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggrqf( const MatrixA& a, VectorTAUA& taua, MatrixB& b, VectorTAUB& taub,
- Workspace work ) {
- return ggrqf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, taua, b, taub, work );
-}
-
-//
-// Overloaded function for ggrqf. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAUA, typename MatrixB,
- typename VectorTAUB >
-inline typename boost::disable_if< detail::is_workspace< VectorTAUB >,
- std::ptrdiff_t >::type
-ggrqf( const MatrixA& a, VectorTAUA& taua, MatrixB& b,
- VectorTAUB& taub ) {
- return ggrqf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, taua, b, taub, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggrqf. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAUA, typename MatrixB,
- typename VectorTAUB, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggrqf( MatrixA& a, VectorTAUA& taua, const MatrixB& b, VectorTAUB& taub,
- Workspace work ) {
- return ggrqf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, taua, b, taub, work );
-}
-
-//
-// Overloaded function for ggrqf. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAUA, typename MatrixB,
- typename VectorTAUB >
-inline typename boost::disable_if< detail::is_workspace< VectorTAUB >,
- std::ptrdiff_t >::type
-ggrqf( MatrixA& a, VectorTAUA& taua, const MatrixB& b,
- VectorTAUB& taub ) {
- return ggrqf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, taua, b, taub, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggrqf. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAUA, typename MatrixB,
- typename VectorTAUB, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggrqf( const MatrixA& a, VectorTAUA& taua, const MatrixB& b,
- VectorTAUB& taub, Workspace work ) {
- return ggrqf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, taua, b, taub, work );
-}
-
-//
-// Overloaded function for ggrqf. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAUA, typename MatrixB,
- typename VectorTAUB >
-inline typename boost::disable_if< detail::is_workspace< VectorTAUB >,
- std::ptrdiff_t >::type
-ggrqf( const MatrixA& a, VectorTAUA& taua, const MatrixB& b,
- VectorTAUB& taub ) {
- return ggrqf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, taua, b, taub, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -480,11 +480,6 @@
 
 //
 // Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename MatrixU,
@@ -505,11 +500,6 @@
 
 //
 // Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename MatrixU,
@@ -527,1541 +517,6 @@
             l, u, v, q, optimal_workspace() );
 }
 
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v, MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v, MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v, MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v, MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v, MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v, MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v, MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v, MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v,
- MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v,
- MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v,
- MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v, MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v,
- MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, MatrixV& v, const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v,
- const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v,
- const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v,
- const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, MatrixV& v,
- const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v,
- const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v,
- const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v,
- const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, MatrixU& u, const MatrixV& v,
- const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v,
- const MatrixQ& q, Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v,
- const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v,
- const MatrixQ& q, Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v,
- const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v,
- const MatrixQ& q, Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v,
- const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v,
- const MatrixQ& q, Workspace work ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvp. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixU,
- typename MatrixV, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvp( const char jobu, const char jobv, const char jobq,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, fortran_int_t& k,
- fortran_int_t& l, const MatrixU& u, const MatrixV& v,
- const MatrixQ& q ) {
- return ggsvp_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, a, b, tola, tolb, k,
- l, u, v, q, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -516,7 +516,6 @@
 
 //
 // Overloaded function for gtrfs. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename VectorDL, typename VectorD, typename VectorDU,
@@ -537,7 +536,6 @@
 
 //
 // Overloaded function for gtrfs. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename VectorDL, typename VectorD, typename VectorDU,
@@ -555,48 +553,6 @@
             x, ferr, berr, optimal_workspace() );
 }
 
-//
-// Overloaded function for gtrfs. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename VectorDL, typename VectorD, typename VectorDU,
- typename VectorDLF, typename VectorDF, typename VectorDUF,
- typename VectorDU2, typename VectorIPIV, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gtrfs( const VectorDL& dl, const VectorD& d, const VectorDU& du,
- const VectorDLF& dlf, const VectorDF& df, const VectorDUF& duf,
- const VectorDU2& du2, const VectorIPIV& ipiv, const MatrixB& b,
- const MatrixX& x, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gtrfs_impl< typename bindings::value_type<
- VectorDL >::type >::invoke( dl, d, du, dlf, df, duf, du2, ipiv, b,
- x, ferr, berr, work );
-}
-
-//
-// Overloaded function for gtrfs. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename VectorDL, typename VectorD, typename VectorDU,
- typename VectorDLF, typename VectorDF, typename VectorDUF,
- typename VectorDU2, typename VectorIPIV, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gtrfs( const VectorDL& dl, const VectorD& d, const VectorDU& du,
- const VectorDLF& dlf, const VectorDF& df, const VectorDUF& duf,
- const VectorDU2& du2, const VectorIPIV& ipiv, const MatrixB& b,
- const MatrixX& x, VectorFERR& ferr, VectorBERR& berr ) {
- return gtrfs_impl< typename bindings::value_type<
- VectorDL >::type >::invoke( dl, d, du, dlf, df, duf, du2, ipiv, b,
- x, ferr, berr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -188,7 +188,6 @@
 
 //
 // Overloaded function for gttrs. Its overload differs for
-// * MatrixB&
 //
 template< typename VectorDL, typename VectorD, typename VectorDU,
         typename VectorDU2, typename VectorIPIV, typename MatrixB >
@@ -199,19 +198,6 @@
             VectorDL >::type >::invoke( dl, d, du, du2, ipiv, b );
 }
 
-//
-// Overloaded function for gttrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename VectorDL, typename VectorD, typename VectorDU,
- typename VectorDU2, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t gttrs( const VectorDL& dl, const VectorD& d,
- const VectorDU& du, const VectorDU2& du2, const VectorIPIV& ipiv,
- const MatrixB& b ) {
- return gttrs_impl< typename bindings::value_type<
- VectorDL >::type >::invoke( dl, d, du, du2, ipiv, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -351,8 +351,6 @@
 
 //
 // Overloaded function for hbgst. Its overload differs for
-// * MatrixAB&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixBB, typename MatrixX,
@@ -367,8 +365,6 @@
 
 //
 // Overloaded function for hbgst. Its overload differs for
-// * MatrixAB&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixBB, typename MatrixX >
@@ -379,99 +375,6 @@
             MatrixAB >::type >::invoke( vect, ab, bb, x, optimal_workspace() );
 }
 
-//
-// Overloaded function for hbgst. Its overload differs for
-// * const MatrixAB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixX,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgst( const char vect, const MatrixAB& ab, const MatrixBB& bb,
- MatrixX& x, Workspace work ) {
- return hbgst_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, bb, x, work );
-}
-
-//
-// Overloaded function for hbgst. Its overload differs for
-// * const MatrixAB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixX >
-inline typename boost::disable_if< detail::is_workspace< MatrixX >,
- std::ptrdiff_t >::type
-hbgst( const char vect, const MatrixAB& ab, const MatrixBB& bb,
- MatrixX& x ) {
- return hbgst_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, bb, x, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgst. Its overload differs for
-// * MatrixAB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixX,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgst( const char vect, MatrixAB& ab, const MatrixBB& bb,
- const MatrixX& x, Workspace work ) {
- return hbgst_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, bb, x, work );
-}
-
-//
-// Overloaded function for hbgst. Its overload differs for
-// * MatrixAB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixX >
-inline typename boost::disable_if< detail::is_workspace< MatrixX >,
- std::ptrdiff_t >::type
-hbgst( const char vect, MatrixAB& ab, const MatrixBB& bb,
- const MatrixX& x ) {
- return hbgst_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, bb, x, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgst. Its overload differs for
-// * const MatrixAB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixX,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgst( const char vect, const MatrixAB& ab, const MatrixBB& bb,
- const MatrixX& x, Workspace work ) {
- return hbgst_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, bb, x, work );
-}
-
-//
-// Overloaded function for hbgst. Its overload differs for
-// * const MatrixAB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixX >
-inline typename boost::disable_if< detail::is_workspace< MatrixX >,
- std::ptrdiff_t >::type
-hbgst( const char vect, const MatrixAB& ab, const MatrixBB& bb,
- const MatrixX& x ) {
- return hbgst_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, bb, x, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -335,8 +335,6 @@
 
 //
 // Overloaded function for hbtrd. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename VectorD, typename VectorE,
@@ -351,8 +349,6 @@
 
 //
 // Overloaded function for hbtrd. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename VectorD, typename VectorE,
@@ -366,105 +362,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for hbtrd. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbtrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- MatrixQ& q, Workspace work ) {
- return hbtrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, work );
-}
-
-//
-// Overloaded function for hbtrd. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-hbtrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- MatrixQ& q ) {
- return hbtrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbtrd. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbtrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, Workspace work ) {
- return hbtrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, work );
-}
-
-//
-// Overloaded function for hbtrd. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-hbtrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q ) {
- return hbtrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbtrd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbtrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, Workspace work ) {
- return hbtrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, work );
-}
-
-//
-// Overloaded function for hbtrd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-hbtrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q ) {
- return hbtrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -163,7 +163,6 @@
 
 //
 // Overloaded function for hegst. Its overload differs for
-// * MatrixA&
 //
 template< typename MatrixA, typename MatrixB >
 inline std::ptrdiff_t hegst( const fortran_int_t itype, MatrixA& a,
@@ -172,17 +171,6 @@
             MatrixA >::type >::invoke( itype, a, b );
 }
 
-//
-// Overloaded function for hegst. Its overload differs for
-// * const MatrixA&
-//
-template< typename MatrixA, typename MatrixB >
-inline std::ptrdiff_t hegst( const fortran_int_t itype,
- const MatrixA& a, const MatrixB& b ) {
- return hegst_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, a, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -426,7 +426,6 @@
 
 //
 // Overloaded function for herfs. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
@@ -443,7 +442,6 @@
 
 //
 // Overloaded function for herfs. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
@@ -458,41 +456,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for herfs. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-herfs( const MatrixA& a, const MatrixAF& af, const VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, VectorFERR& ferr,
- VectorBERR& berr, Workspace work ) {
- return herfs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, af, ipiv, b, x, ferr, berr, work );
-}
-
-//
-// Overloaded function for herfs. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-herfs( const MatrixA& a, const MatrixAF& af, const VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, VectorFERR& ferr,
- VectorBERR& berr ) {
- return herfs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, af, ipiv, b, x, ferr, berr,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -335,7 +335,6 @@
 
 //
 // Overloaded function for hetrd. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorD, typename VectorE,
@@ -350,7 +349,6 @@
 
 //
 // Overloaded function for hetrd. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorD, typename VectorE,
@@ -362,35 +360,6 @@
             MatrixA >::type >::invoke( a, d, e, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for hetrd. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hetrd( const MatrixA& a, VectorD& d, VectorE& e, VectorTAU& tau,
- Workspace work ) {
- return hetrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tau, work );
-}
-
-//
-// Overloaded function for hetrd. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-hetrd( const MatrixA& a, VectorD& d, VectorE& e, VectorTAU& tau ) {
- return hetrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -295,7 +295,6 @@
 
 //
 // Overloaded function for hetrf. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorIPIV, typename Workspace >
@@ -308,7 +307,6 @@
 
 //
 // Overloaded function for hetrf. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorIPIV >
@@ -319,32 +317,6 @@
             MatrixA >::type >::invoke( a, ipiv, optimal_workspace() );
 }
 
-//
-// Overloaded function for hetrf. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hetrf( const MatrixA& a, VectorIPIV& ipiv, Workspace work ) {
- return hetrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, work );
-}
-
-//
-// Overloaded function for hetrf. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV >
-inline typename boost::disable_if< detail::is_workspace< VectorIPIV >,
- std::ptrdiff_t >::type
-hetrf( const MatrixA& a, VectorIPIV& ipiv ) {
- return hetrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -280,7 +280,6 @@
 
 //
 // Overloaded function for hetri. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorIPIV, typename Workspace >
@@ -293,7 +292,6 @@
 
 //
 // Overloaded function for hetri. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorIPIV >
@@ -304,32 +302,6 @@
             MatrixA >::type >::invoke( a, ipiv, optimal_workspace() );
 }
 
-//
-// Overloaded function for hetri. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hetri( const MatrixA& a, const VectorIPIV& ipiv, Workspace work ) {
- return hetri_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, work );
-}
-
-//
-// Overloaded function for hetri. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV >
-inline typename boost::disable_if< detail::is_workspace< VectorIPIV >,
- std::ptrdiff_t >::type
-hetri( const MatrixA& a, const VectorIPIV& ipiv ) {
- return hetri_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -166,7 +166,6 @@
 
 //
 // Overloaded function for hetrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixA, typename VectorIPIV, typename MatrixB >
 inline std::ptrdiff_t hetrs( const MatrixA& a, const VectorIPIV& ipiv,
@@ -175,17 +174,6 @@
             MatrixA >::type >::invoke( a, ipiv, b );
 }
 
-//
-// Overloaded function for hetrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t hetrs( const MatrixA& a, const VectorIPIV& ipiv,
- const MatrixB& b ) {
- return hetrs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -449,10 +449,6 @@
 
 //
 // Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
@@ -471,10 +467,6 @@
 
 //
 // Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
@@ -490,1008 +482,8 @@
             MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
             alphai, beta, q, z, optimal_workspace() );
 }
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, const MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, const MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, const MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, const MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixQ& q, const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, const MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, const MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, const MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, const MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixQ& q, const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alphar,
- alphai, beta, q, z, optimal_workspace() );
-}
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, MatrixZ& z,
- Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, MatrixZ& z,
- Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, MatrixZ& z,
- Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, MatrixZ& z,
- Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q, MatrixZ& z,
- Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q, MatrixZ& z,
- Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q, MatrixZ& z,
- Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q, MatrixZ& z,
- Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
 //
 // Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q, MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixH, typename MatrixT, typename VectorALPHA,
@@ -1501,133 +493,7 @@
         std::ptrdiff_t >::type
 hgeqz( const char job, const char compq, const char compz,
         const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, const MatrixZ& z,
- Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, const MatrixZ& z,
- Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, const MatrixZ& z,
- Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, const MatrixZ& z,
+ VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, MatrixZ& z,
         Workspace work ) {
     return hgeqz_impl< typename bindings::value_type<
             MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
@@ -1636,52 +502,6 @@
 
 //
 // Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixH, typename MatrixT, typename VectorALPHA,
@@ -1690,137 +510,7 @@
         std::ptrdiff_t >::type
 hgeqz( const char job, const char compq, const char compz,
         const fortran_int_t ilo, MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z, Workspace work ) {
- return hgeqz_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
- beta, q, z, work );
-}
-
-//
-// Overloaded function for hgeqz. Its overload differs for
-// * const MatrixH&
-// * const MatrixT&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename MatrixT, typename VectorALPHA,
- typename VectorBETA, typename MatrixQ, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hgeqz( const char job, const char compq, const char compz,
- const fortran_int_t ilo, const MatrixH& h, const MatrixT& t,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z ) {
+ VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, MatrixZ& z ) {
     return hgeqz_impl< typename bindings::value_type<
             MatrixH >::type >::invoke( job, compq, compz, ilo, h, t, alpha,
             beta, q, z, optimal_workspace() );

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -400,7 +400,6 @@
 
 //
 // Overloaded function for hprfs. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
@@ -418,7 +417,6 @@
 
 //
 // Overloaded function for hprfs. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
@@ -433,42 +431,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for hprfs. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hprfs( const MatrixAP& ap, const MatrixAFP& afp, const VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, VectorFERR& ferr,
- VectorBERR& berr, Workspace work ) {
- return hprfs_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, afp, ipiv, b, x, ferr, berr,
- work );
-}
-
-//
-// Overloaded function for hprfs. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-hprfs( const MatrixAP& ap, const MatrixAFP& afp, const VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, VectorFERR& ferr,
- VectorBERR& berr ) {
- return hprfs_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, afp, ipiv, b, x, ferr, berr,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrd.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -209,7 +209,6 @@
 
 //
 // Overloaded function for hptrd. Its overload differs for
-// * MatrixAP&
 //
 template< typename MatrixAP, typename VectorD, typename VectorE,
         typename VectorTAU >
@@ -219,18 +218,6 @@
             MatrixAP >::type >::invoke( ap, d, e, tau );
 }
 
-//
-// Overloaded function for hptrd. Its overload differs for
-// * const MatrixAP&
-//
-template< typename MatrixAP, typename VectorD, typename VectorE,
- typename VectorTAU >
-inline std::ptrdiff_t hptrd( const MatrixAP& ap, VectorD& d, VectorE& e,
- VectorTAU& tau ) {
- return hptrd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, d, e, tau );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrf.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -137,7 +137,6 @@
 
 //
 // Overloaded function for hptrf. Its overload differs for
-// * MatrixAP&
 //
 template< typename MatrixAP, typename VectorIPIV >
 inline std::ptrdiff_t hptrf( MatrixAP& ap, VectorIPIV& ipiv ) {
@@ -145,16 +144,6 @@
             MatrixAP >::type >::invoke( ap, ipiv );
 }
 
-//
-// Overloaded function for hptrf. Its overload differs for
-// * const MatrixAP&
-//
-template< typename MatrixAP, typename VectorIPIV >
-inline std::ptrdiff_t hptrf( const MatrixAP& ap, VectorIPIV& ipiv ) {
- return hptrf_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptri.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptri.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -263,7 +263,6 @@
 
 //
 // Overloaded function for hptri. Its overload differs for
-// * MatrixAP&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename VectorIPIV, typename Workspace >
@@ -276,7 +275,6 @@
 
 //
 // Overloaded function for hptri. Its overload differs for
-// * MatrixAP&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename VectorIPIV >
@@ -287,32 +285,6 @@
             MatrixAP >::type >::invoke( ap, ipiv, optimal_workspace() );
 }
 
-//
-// Overloaded function for hptri. Its overload differs for
-// * const MatrixAP&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorIPIV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hptri( const MatrixAP& ap, const VectorIPIV& ipiv, Workspace work ) {
- return hptri_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv, work );
-}
-
-//
-// Overloaded function for hptri. Its overload differs for
-// * const MatrixAP&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorIPIV >
-inline typename boost::disable_if< detail::is_workspace< VectorIPIV >,
- std::ptrdiff_t >::type
-hptri( const MatrixAP& ap, const VectorIPIV& ipiv ) {
- return hptri_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -161,7 +161,6 @@
 
 //
 // Overloaded function for hptrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
 inline std::ptrdiff_t hptrs( const MatrixAP& ap, const VectorIPIV& ipiv,
@@ -170,17 +169,6 @@
             MatrixAP >::type >::invoke( ap, ipiv, b );
 }
 
-//
-// Overloaded function for hptrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t hptrs( const MatrixAP& ap, const VectorIPIV& ipiv,
- const MatrixB& b ) {
- return hptrs_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -418,8 +418,6 @@
 
 //
 // Overloaded function for hsein. Its overload differs for
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename Side, typename VectorSELECT, typename MatrixH,
@@ -440,8 +438,6 @@
 
 //
 // Overloaded function for hsein. Its overload differs for
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename VectorSELECT, typename MatrixH,
@@ -458,139 +454,8 @@
             MatrixH >::type >::invoke( side, eigsrc, initv, select, h, wr, wi,
             vl, vr, mm, m, ifaill, ifailr, optimal_workspace() );
 }
-
-//
-// Overloaded function for hsein. Its overload differs for
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixH,
- typename VectorWR, typename VectorWI, typename MatrixVL,
- typename MatrixVR, typename VectorIFAILL, typename VectorIFAILR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hsein( const Side side, const char eigsrc, const char initv,
- VectorSELECT& select, const MatrixH& h, VectorWR& wr,
- const VectorWI& wi, const MatrixVL& vl, MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m,
- VectorIFAILL& ifaill, VectorIFAILR& ifailr, Workspace work ) {
- return hsein_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( side, eigsrc, initv, select, h, wr, wi,
- vl, vr, mm, m, ifaill, ifailr, work );
-}
-
-//
-// Overloaded function for hsein. Its overload differs for
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixH,
- typename VectorWR, typename VectorWI, typename MatrixVL,
- typename MatrixVR, typename VectorIFAILL, typename VectorIFAILR >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAILR >,
- std::ptrdiff_t >::type
-hsein( const Side side, const char eigsrc, const char initv,
- VectorSELECT& select, const MatrixH& h, VectorWR& wr,
- const VectorWI& wi, const MatrixVL& vl, MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m,
- VectorIFAILL& ifaill, VectorIFAILR& ifailr ) {
- return hsein_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( side, eigsrc, initv, select, h, wr, wi,
- vl, vr, mm, m, ifaill, ifailr, optimal_workspace() );
-}
-
-//
-// Overloaded function for hsein. Its overload differs for
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixH,
- typename VectorWR, typename VectorWI, typename MatrixVL,
- typename MatrixVR, typename VectorIFAILL, typename VectorIFAILR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hsein( const Side side, const char eigsrc, const char initv,
- VectorSELECT& select, const MatrixH& h, VectorWR& wr,
- const VectorWI& wi, MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m,
- VectorIFAILL& ifaill, VectorIFAILR& ifailr, Workspace work ) {
- return hsein_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( side, eigsrc, initv, select, h, wr, wi,
- vl, vr, mm, m, ifaill, ifailr, work );
-}
-
-//
-// Overloaded function for hsein. Its overload differs for
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixH,
- typename VectorWR, typename VectorWI, typename MatrixVL,
- typename MatrixVR, typename VectorIFAILL, typename VectorIFAILR >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAILR >,
- std::ptrdiff_t >::type
-hsein( const Side side, const char eigsrc, const char initv,
- VectorSELECT& select, const MatrixH& h, VectorWR& wr,
- const VectorWI& wi, MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m,
- VectorIFAILL& ifaill, VectorIFAILR& ifailr ) {
- return hsein_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( side, eigsrc, initv, select, h, wr, wi,
- vl, vr, mm, m, ifaill, ifailr, optimal_workspace() );
-}
-
-//
-// Overloaded function for hsein. Its overload differs for
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixH,
- typename VectorWR, typename VectorWI, typename MatrixVL,
- typename MatrixVR, typename VectorIFAILL, typename VectorIFAILR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hsein( const Side side, const char eigsrc, const char initv,
- VectorSELECT& select, const MatrixH& h, VectorWR& wr,
- const VectorWI& wi, const MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m,
- VectorIFAILL& ifaill, VectorIFAILR& ifailr, Workspace work ) {
- return hsein_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( side, eigsrc, initv, select, h, wr, wi,
- vl, vr, mm, m, ifaill, ifailr, work );
-}
-
-//
-// Overloaded function for hsein. Its overload differs for
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixH,
- typename VectorWR, typename VectorWI, typename MatrixVL,
- typename MatrixVR, typename VectorIFAILL, typename VectorIFAILR >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAILR >,
- std::ptrdiff_t >::type
-hsein( const Side side, const char eigsrc, const char initv,
- VectorSELECT& select, const MatrixH& h, VectorWR& wr,
- const VectorWI& wi, const MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m,
- VectorIFAILL& ifaill, VectorIFAILR& ifailr ) {
- return hsein_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( side, eigsrc, initv, select, h, wr, wi,
- vl, vr, mm, m, ifaill, ifailr, optimal_workspace() );
-}
 //
 // Overloaded function for hsein. Its overload differs for
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename Side, typename VectorSELECT, typename MatrixH,
@@ -610,8 +475,6 @@
 
 //
 // Overloaded function for hsein. Its overload differs for
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename VectorSELECT, typename MatrixH,
@@ -628,129 +491,6 @@
             vr, mm, m, ifaill, ifailr, optimal_workspace() );
 }
 
-//
-// Overloaded function for hsein. Its overload differs for
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixH,
- typename VectorW, typename MatrixVL, typename MatrixVR,
- typename VectorIFAILL, typename VectorIFAILR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hsein( const Side side, const char eigsrc, const char initv,
- const VectorSELECT& select, const MatrixH& h, VectorW& w,
- const MatrixVL& vl, MatrixVR& vr, const fortran_int_t mm,
- fortran_int_t& m, VectorIFAILL& ifaill, VectorIFAILR& ifailr,
- Workspace work ) {
- return hsein_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( side, eigsrc, initv, select, h, w, vl,
- vr, mm, m, ifaill, ifailr, work );
-}
-
-//
-// Overloaded function for hsein. Its overload differs for
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixH,
- typename VectorW, typename MatrixVL, typename MatrixVR,
- typename VectorIFAILL, typename VectorIFAILR >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAILR >,
- std::ptrdiff_t >::type
-hsein( const Side side, const char eigsrc, const char initv,
- const VectorSELECT& select, const MatrixH& h, VectorW& w,
- const MatrixVL& vl, MatrixVR& vr, const fortran_int_t mm,
- fortran_int_t& m, VectorIFAILL& ifaill, VectorIFAILR& ifailr ) {
- return hsein_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( side, eigsrc, initv, select, h, w, vl,
- vr, mm, m, ifaill, ifailr, optimal_workspace() );
-}
-
-//
-// Overloaded function for hsein. Its overload differs for
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixH,
- typename VectorW, typename MatrixVL, typename MatrixVR,
- typename VectorIFAILL, typename VectorIFAILR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hsein( const Side side, const char eigsrc, const char initv,
- const VectorSELECT& select, const MatrixH& h, VectorW& w,
- MatrixVL& vl, const MatrixVR& vr, const fortran_int_t mm,
- fortran_int_t& m, VectorIFAILL& ifaill, VectorIFAILR& ifailr,
- Workspace work ) {
- return hsein_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( side, eigsrc, initv, select, h, w, vl,
- vr, mm, m, ifaill, ifailr, work );
-}
-
-//
-// Overloaded function for hsein. Its overload differs for
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixH,
- typename VectorW, typename MatrixVL, typename MatrixVR,
- typename VectorIFAILL, typename VectorIFAILR >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAILR >,
- std::ptrdiff_t >::type
-hsein( const Side side, const char eigsrc, const char initv,
- const VectorSELECT& select, const MatrixH& h, VectorW& w,
- MatrixVL& vl, const MatrixVR& vr, const fortran_int_t mm,
- fortran_int_t& m, VectorIFAILL& ifaill, VectorIFAILR& ifailr ) {
- return hsein_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( side, eigsrc, initv, select, h, w, vl,
- vr, mm, m, ifaill, ifailr, optimal_workspace() );
-}
-
-//
-// Overloaded function for hsein. Its overload differs for
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixH,
- typename VectorW, typename MatrixVL, typename MatrixVR,
- typename VectorIFAILL, typename VectorIFAILR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hsein( const Side side, const char eigsrc, const char initv,
- const VectorSELECT& select, const MatrixH& h, VectorW& w,
- const MatrixVL& vl, const MatrixVR& vr, const fortran_int_t mm,
- fortran_int_t& m, VectorIFAILL& ifaill, VectorIFAILR& ifailr,
- Workspace work ) {
- return hsein_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( side, eigsrc, initv, select, h, w, vl,
- vr, mm, m, ifaill, ifailr, work );
-}
-
-//
-// Overloaded function for hsein. Its overload differs for
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixH,
- typename VectorW, typename MatrixVL, typename MatrixVR,
- typename VectorIFAILL, typename VectorIFAILR >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAILR >,
- std::ptrdiff_t >::type
-hsein( const Side side, const char eigsrc, const char initv,
- const VectorSELECT& select, const MatrixH& h, VectorW& w,
- const MatrixVL& vl, const MatrixVR& vr, const fortran_int_t mm,
- fortran_int_t& m, VectorIFAILL& ifaill, VectorIFAILR& ifailr ) {
- return hsein_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( side, eigsrc, initv, select, h, w, vl,
- vr, mm, m, ifaill, ifailr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -351,8 +351,6 @@
 
 //
 // Overloaded function for hseqr. Its overload differs for
-// * MatrixH&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixH, typename VectorWR, typename VectorWI,
@@ -369,8 +367,6 @@
 
 //
 // Overloaded function for hseqr. Its overload differs for
-// * MatrixH&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixH, typename VectorWR, typename VectorWI,
@@ -384,118 +380,8 @@
             MatrixH >::type >::invoke( job, compz, ilo, ihi, h, wr, wi, z,
             optimal_workspace() );
 }
-
-//
-// Overloaded function for hseqr. Its overload differs for
-// * const MatrixH&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename VectorWR, typename VectorWI,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hseqr( const char job, const char compz, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixH& h, VectorWR& wr,
- VectorWI& wi, MatrixZ& z, Workspace work ) {
- return hseqr_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compz, ilo, ihi, h, wr, wi, z,
- work );
-}
-
-//
-// Overloaded function for hseqr. Its overload differs for
-// * const MatrixH&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename VectorWR, typename VectorWI,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hseqr( const char job, const char compz, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixH& h, VectorWR& wr,
- VectorWI& wi, MatrixZ& z ) {
- return hseqr_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compz, ilo, ihi, h, wr, wi, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hseqr. Its overload differs for
-// * MatrixH&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename VectorWR, typename VectorWI,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hseqr( const char job, const char compz, const fortran_int_t ilo,
- const fortran_int_t ihi, MatrixH& h, VectorWR& wr, VectorWI& wi,
- const MatrixZ& z, Workspace work ) {
- return hseqr_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compz, ilo, ihi, h, wr, wi, z,
- work );
-}
-
 //
 // Overloaded function for hseqr. Its overload differs for
-// * MatrixH&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename VectorWR, typename VectorWI,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hseqr( const char job, const char compz, const fortran_int_t ilo,
- const fortran_int_t ihi, MatrixH& h, VectorWR& wr, VectorWI& wi,
- const MatrixZ& z ) {
- return hseqr_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compz, ilo, ihi, h, wr, wi, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hseqr. Its overload differs for
-// * const MatrixH&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename VectorWR, typename VectorWI,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hseqr( const char job, const char compz, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixH& h, VectorWR& wr,
- VectorWI& wi, const MatrixZ& z, Workspace work ) {
- return hseqr_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compz, ilo, ihi, h, wr, wi, z,
- work );
-}
-
-//
-// Overloaded function for hseqr. Its overload differs for
-// * const MatrixH&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename VectorWR, typename VectorWI,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hseqr( const char job, const char compz, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixH& h, VectorWR& wr,
- VectorWI& wi, const MatrixZ& z ) {
- return hseqr_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compz, ilo, ihi, h, wr, wi, z,
- optimal_workspace() );
-}
-//
-// Overloaded function for hseqr. Its overload differs for
-// * MatrixH&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixH, typename VectorW, typename MatrixZ,
@@ -511,8 +397,6 @@
 
 //
 // Overloaded function for hseqr. Its overload differs for
-// * MatrixH&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixH, typename VectorW, typename MatrixZ >
@@ -525,108 +409,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for hseqr. Its overload differs for
-// * const MatrixH&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hseqr( const char job, const char compz, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixH& h, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return hseqr_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compz, ilo, ihi, h, w, z, work );
-}
-
-//
-// Overloaded function for hseqr. Its overload differs for
-// * const MatrixH&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hseqr( const char job, const char compz, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixH& h, VectorW& w,
- MatrixZ& z ) {
- return hseqr_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compz, ilo, ihi, h, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hseqr. Its overload differs for
-// * MatrixH&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hseqr( const char job, const char compz, const fortran_int_t ilo,
- const fortran_int_t ihi, MatrixH& h, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hseqr_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compz, ilo, ihi, h, w, z, work );
-}
-
-//
-// Overloaded function for hseqr. Its overload differs for
-// * MatrixH&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hseqr( const char job, const char compz, const fortran_int_t ilo,
- const fortran_int_t ihi, MatrixH& h, VectorW& w,
- const MatrixZ& z ) {
- return hseqr_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compz, ilo, ihi, h, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hseqr. Its overload differs for
-// * const MatrixH&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixH, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hseqr( const char job, const char compz, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixH& h, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return hseqr_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compz, ilo, ihi, h, w, z, work );
-}
-
-//
-// Overloaded function for hseqr. Its overload differs for
-// * const MatrixH&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixH, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hseqr( const char job, const char compz, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixH& h, VectorW& w,
- const MatrixZ& z ) {
- return hseqr_impl< typename bindings::value_type<
- MatrixH >::type >::invoke( job, compz, ilo, ihi, h, w, z,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -172,7 +172,6 @@
 
 //
 // Overloaded function for opgtr. Its overload differs for
-// * MatrixQ&
 // * User-defined workspace
 //
 template< typename VectorAP, typename VectorTAU, typename MatrixQ,
@@ -187,7 +186,6 @@
 
 //
 // Overloaded function for opgtr. Its overload differs for
-// * MatrixQ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorAP, typename VectorTAU, typename MatrixQ >
@@ -200,36 +198,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for opgtr. Its overload differs for
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename VectorAP, typename VectorTAU, typename MatrixQ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-opgtr( const char uplo, const VectorAP& ap, const VectorTAU& tau,
- const MatrixQ& q, Workspace work ) {
- return opgtr_impl< typename bindings::value_type<
- VectorAP >::type >::invoke( uplo, ap, tau, q, work );
-}
-
-//
-// Overloaded function for opgtr. Its overload differs for
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorAP, typename VectorTAU, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-opgtr( const char uplo, const VectorAP& ap, const VectorTAU& tau,
- const MatrixQ& q ) {
- return opgtr_impl< typename bindings::value_type<
- VectorAP >::type >::invoke( uplo, ap, tau, q,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -192,7 +192,6 @@
 
 //
 // Overloaded function for opmtr. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename VectorAP, typename VectorTAU,
@@ -207,7 +206,6 @@
 
 //
 // Overloaded function for opmtr. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename VectorAP, typename VectorTAU,
@@ -221,37 +219,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for opmtr. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename VectorAP, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-opmtr( const Side side, const char uplo, const VectorAP& ap,
- const VectorTAU& tau, const MatrixC& c, Workspace work ) {
- return opmtr_impl< typename bindings::value_type<
- VectorAP >::type >::invoke( side, uplo, ap, tau, c, work );
-}
-
-//
-// Overloaded function for opmtr. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorAP, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-opmtr( const Side side, const char uplo, const VectorAP& ap,
- const VectorTAU& tau, const MatrixC& c ) {
- return opmtr_impl< typename bindings::value_type<
- VectorAP >::type >::invoke( side, uplo, ap, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -177,7 +177,6 @@
 
 //
 // Overloaded function for orgbr. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -192,7 +191,6 @@
 
 //
 // Overloaded function for orgbr. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -206,37 +204,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for orgbr. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-orgbr( const char vect, const fortran_int_t m,
- const fortran_int_t n, const fortran_int_t k,
- const MatrixA& a, const VectorTAU& tau, Workspace work ) {
- return orgbr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( vect, m, n, k, a, tau, work );
-}
-
-//
-// Overloaded function for orgbr. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-orgbr( const char vect, const fortran_int_t m,
- const fortran_int_t n, const fortran_int_t k,
- const MatrixA& a, const VectorTAU& tau ) {
- return orgbr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( vect, m, n, k, a, tau,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -175,7 +175,6 @@
 
 //
 // Overloaded function for orghr. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -190,7 +189,6 @@
 
 //
 // Overloaded function for orghr. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -203,36 +201,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for orghr. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-orghr( const fortran_int_t n, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixA& a, const VectorTAU& tau,
- Workspace work ) {
- return orghr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( n, ilo, ihi, a, tau, work );
-}
-
-//
-// Overloaded function for orghr. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-orghr( const fortran_int_t n, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixA& a, const VectorTAU& tau ) {
- return orghr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( n, ilo, ihi, a, tau,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -173,7 +173,6 @@
 
 //
 // Overloaded function for orglq. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -186,7 +185,6 @@
 
 //
 // Overloaded function for orglq. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -197,32 +195,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for orglq. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-orglq( const MatrixA& a, const VectorTAU& tau, Workspace work ) {
- return orglq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for orglq. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-orglq( const MatrixA& a, const VectorTAU& tau ) {
- return orglq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -172,7 +172,6 @@
 
 //
 // Overloaded function for orgql. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -185,7 +184,6 @@
 
 //
 // Overloaded function for orgql. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -196,32 +194,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for orgql. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-orgql( const MatrixA& a, const VectorTAU& tau, Workspace work ) {
- return orgql_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for orgql. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-orgql( const MatrixA& a, const VectorTAU& tau ) {
- return orgql_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -172,7 +172,6 @@
 
 //
 // Overloaded function for orgqr. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -185,7 +184,6 @@
 
 //
 // Overloaded function for orgqr. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -196,32 +194,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for orgqr. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-orgqr( const MatrixA& a, const VectorTAU& tau, Workspace work ) {
- return orgqr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for orgqr. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-orgqr( const MatrixA& a, const VectorTAU& tau ) {
- return orgqr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -173,7 +173,6 @@
 
 //
 // Overloaded function for orgrq. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -186,7 +185,6 @@
 
 //
 // Overloaded function for orgrq. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -197,32 +195,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for orgrq. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-orgrq( const MatrixA& a, const VectorTAU& tau, Workspace work ) {
- return orgrq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for orgrq. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-orgrq( const MatrixA& a, const VectorTAU& tau ) {
- return orgrq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -177,7 +177,6 @@
 
 //
 // Overloaded function for orgtr. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -191,7 +190,6 @@
 
 //
 // Overloaded function for orgtr. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -202,34 +200,6 @@
             MatrixA >::type >::invoke( n, a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for orgtr. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-orgtr( const fortran_int_t n, const MatrixA& a, const VectorTAU& tau,
- Workspace work ) {
- return orgtr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( n, a, tau, work );
-}
-
-//
-// Overloaded function for orgtr. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-orgtr( const fortran_int_t n, const MatrixA& a,
- const VectorTAU& tau ) {
- return orgtr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( n, a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -209,7 +209,6 @@
 
 //
 // Overloaded function for ormbr. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -224,7 +223,6 @@
 
 //
 // Overloaded function for ormbr. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -238,38 +236,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for ormbr. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ormbr( const char vect, const Side side, const fortran_int_t k,
- const MatrixA& a, const VectorTAU& tau, const MatrixC& c,
- Workspace work ) {
- return ormbr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( vect, side, k, a, tau, c, work );
-}
-
-//
-// Overloaded function for ormbr. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-ormbr( const char vect, const Side side, const fortran_int_t k,
- const MatrixA& a, const VectorTAU& tau, const MatrixC& c ) {
- return ormbr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( vect, side, k, a, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -208,7 +208,6 @@
 
 //
 // Overloaded function for ormhr. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -224,7 +223,6 @@
 
 //
 // Overloaded function for ormhr. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -239,39 +237,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for ormhr. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ormhr( const Side side, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixA& a, const VectorTAU& tau,
- const MatrixC& c, Workspace work ) {
- return ormhr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, ilo, ihi, a, tau, c, work );
-}
-
-//
-// Overloaded function for ormhr. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-ormhr( const Side side, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixA& a, const VectorTAU& tau,
- const MatrixC& c ) {
- return ormhr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, ilo, ihi, a, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -209,7 +209,6 @@
 
 //
 // Overloaded function for ormlq. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -224,7 +223,6 @@
 
 //
 // Overloaded function for ormlq. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -238,37 +236,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for ormlq. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ormlq( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c, Workspace work ) {
- return ormlq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c, work );
-}
-
-//
-// Overloaded function for ormlq. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-ormlq( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c ) {
- return ormlq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -207,7 +207,6 @@
 
 //
 // Overloaded function for ormql. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -222,7 +221,6 @@
 
 //
 // Overloaded function for ormql. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -236,37 +234,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for ormql. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ormql( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c, Workspace work ) {
- return ormql_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c, work );
-}
-
-//
-// Overloaded function for ormql. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-ormql( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c ) {
- return ormql_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -206,7 +206,6 @@
 
 //
 // Overloaded function for ormqr. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -221,7 +220,6 @@
 
 //
 // Overloaded function for ormqr. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -234,36 +232,6 @@
             MatrixA >::type >::invoke( side, a, tau, c, optimal_workspace() );
 }
 
-//
-// Overloaded function for ormqr. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ormqr( const Side side, const MatrixA& a, const VectorTAU& tau,
- const MatrixC& c, Workspace work ) {
- return ormqr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, a, tau, c, work );
-}
-
-//
-// Overloaded function for ormqr. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-ormqr( const Side side, const MatrixA& a, const VectorTAU& tau,
- const MatrixC& c ) {
- return ormqr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, a, tau, c, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -209,7 +209,6 @@
 
 //
 // Overloaded function for ormrq. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -224,7 +223,6 @@
 
 //
 // Overloaded function for ormrq. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -238,37 +236,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for ormrq. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ormrq( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c, Workspace work ) {
- return ormrq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c, work );
-}
-
-//
-// Overloaded function for ormrq. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-ormrq( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c ) {
- return ormrq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -211,7 +211,6 @@
 
 //
 // Overloaded function for ormrz. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -226,7 +225,6 @@
 
 //
 // Overloaded function for ormrz. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -240,37 +238,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for ormrz. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ormrz( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c, Workspace work ) {
- return ormrz_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c, work );
-}
-
-//
-// Overloaded function for ormrz. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-ormrz( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c ) {
- return ormrz_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -208,7 +208,6 @@
 
 //
 // Overloaded function for ormtr. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -223,7 +222,6 @@
 
 //
 // Overloaded function for ormtr. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -236,36 +234,6 @@
             MatrixA >::type >::invoke( side, a, tau, c, optimal_workspace() );
 }
 
-//
-// Overloaded function for ormtr. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ormtr( const Side side, const MatrixA& a, const VectorTAU& tau,
- const MatrixC& c, Workspace work ) {
- return ormtr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, a, tau, c, work );
-}
-
-//
-// Overloaded function for ormtr. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-ormtr( const Side side, const MatrixA& a, const VectorTAU& tau,
- const MatrixC& c ) {
- return ormtr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, a, tau, c, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -421,7 +421,6 @@
 
 //
 // Overloaded function for pbrfs. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixAFB, typename MatrixB,
@@ -437,7 +436,6 @@
 
 //
 // Overloaded function for pbrfs. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixAFB, typename MatrixB,
@@ -451,39 +449,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for pbrfs. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbrfs( const MatrixAB& ab, const MatrixAFB& afb, const MatrixB& b,
- const MatrixX& x, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return pbrfs_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, afb, b, x, ferr, berr, work );
-}
-
-//
-// Overloaded function for pbrfs. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbrfs( const MatrixAB& ab, const MatrixAFB& afb, const MatrixB& b,
- const MatrixX& x, VectorFERR& ferr, VectorBERR& berr ) {
- return pbrfs_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, afb, b, x, ferr, berr,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -147,7 +147,6 @@
 
 //
 // Overloaded function for pbstf. Its overload differs for
-// * MatrixAB&
 //
 template< typename MatrixAB >
 inline std::ptrdiff_t pbstf( MatrixAB& ab ) {
@@ -155,16 +154,6 @@
             MatrixAB >::type >::invoke( ab );
 }
 
-//
-// Overloaded function for pbstf. Its overload differs for
-// * const MatrixAB&
-//
-template< typename MatrixAB >
-inline std::ptrdiff_t pbstf( const MatrixAB& ab ) {
- return pbstf_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -147,7 +147,6 @@
 
 //
 // Overloaded function for pbtrf. Its overload differs for
-// * MatrixAB&
 //
 template< typename MatrixAB >
 inline std::ptrdiff_t pbtrf( MatrixAB& ab ) {
@@ -155,16 +154,6 @@
             MatrixAB >::type >::invoke( ab );
 }
 
-//
-// Overloaded function for pbtrf. Its overload differs for
-// * const MatrixAB&
-//
-template< typename MatrixAB >
-inline std::ptrdiff_t pbtrf( const MatrixAB& ab ) {
- return pbtrf_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -166,7 +166,6 @@
 
 //
 // Overloaded function for pbtrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixAB, typename MatrixB >
 inline std::ptrdiff_t pbtrs( const MatrixAB& ab, MatrixB& b ) {
@@ -174,16 +173,6 @@
             MatrixAB >::type >::invoke( ab, b );
 }
 
-//
-// Overloaded function for pbtrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixAB, typename MatrixB >
-inline std::ptrdiff_t pbtrs( const MatrixAB& ab, const MatrixB& b ) {
- return pbtrs_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftrf.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -139,7 +139,6 @@
 
 //
 // Overloaded function for pftrf. Its overload differs for
-// * MatrixA&
 //
 template< typename MatrixA >
 inline std::ptrdiff_t pftrf( const char uplo, MatrixA& a ) {
@@ -147,16 +146,6 @@
             MatrixA >::type >::invoke( uplo, a );
 }
 
-//
-// Overloaded function for pftrf. Its overload differs for
-// * const MatrixA&
-//
-template< typename MatrixA >
-inline std::ptrdiff_t pftrf( const char uplo, const MatrixA& a ) {
- return pftrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( uplo, a );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftri.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftri.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -144,7 +144,6 @@
 
 //
 // Overloaded function for pftri. Its overload differs for
-// * MatrixA&
 //
 template< typename MatrixA >
 inline std::ptrdiff_t pftri( MatrixA& a ) {
@@ -152,16 +151,6 @@
             MatrixA >::type >::invoke( a );
 }
 
-//
-// Overloaded function for pftri. Its overload differs for
-// * const MatrixA&
-//
-template< typename MatrixA >
-inline std::ptrdiff_t pftri( const MatrixA& a ) {
- return pftri_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftrs.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -160,7 +160,6 @@
 
 //
 // Overloaded function for pftrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixA, typename MatrixB >
 inline std::ptrdiff_t pftrs( const MatrixA& a, MatrixB& b ) {
@@ -168,16 +167,6 @@
             MatrixA >::type >::invoke( a, b );
 }
 
-//
-// Overloaded function for pftrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixA, typename MatrixB >
-inline std::ptrdiff_t pftrs( const MatrixA& a, const MatrixB& b ) {
- return pftrs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -416,7 +416,6 @@
 
 //
 // Overloaded function for porfs. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixAF, typename MatrixB,
@@ -432,7 +431,6 @@
 
 //
 // Overloaded function for porfs. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixAF, typename MatrixB,
@@ -446,39 +444,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for porfs. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-porfs( const MatrixA& a, const MatrixAF& af, const MatrixB& b,
- const MatrixX& x, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return porfs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, af, b, x, ferr, berr, work );
-}
-
-//
-// Overloaded function for porfs. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-porfs( const MatrixA& a, const MatrixAF& af, const MatrixB& b,
- const MatrixX& x, VectorFERR& ferr, VectorBERR& berr ) {
- return porfs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, af, b, x, ferr, berr,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -205,7 +205,6 @@
 
 //
 // Overloaded function for potrf. Its overload differs for
-// * MatrixA&
 //
 template< typename MatrixA >
 inline std::ptrdiff_t potrf( MatrixA& a ) {
@@ -213,16 +212,6 @@
             MatrixA >::type >::invoke( a );
 }
 
-//
-// Overloaded function for potrf. Its overload differs for
-// * const MatrixA&
-//
-template< typename MatrixA >
-inline std::ptrdiff_t potrf( const MatrixA& a ) {
- return potrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -205,7 +205,6 @@
 
 //
 // Overloaded function for potri. Its overload differs for
-// * MatrixA&
 //
 template< typename MatrixA >
 inline std::ptrdiff_t potri( MatrixA& a ) {
@@ -213,16 +212,6 @@
             MatrixA >::type >::invoke( a );
 }
 
-//
-// Overloaded function for potri. Its overload differs for
-// * const MatrixA&
-//
-template< typename MatrixA >
-inline std::ptrdiff_t potri( const MatrixA& a ) {
- return potri_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -232,7 +232,6 @@
 
 //
 // Overloaded function for potrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixA, typename MatrixB >
 inline std::ptrdiff_t potrs( const MatrixA& a, MatrixB& b ) {
@@ -240,16 +239,6 @@
             MatrixA >::type >::invoke( a, b );
 }
 
-//
-// Overloaded function for potrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixA, typename MatrixB >
-inline std::ptrdiff_t potrs( const MatrixA& a, const MatrixB& b ) {
- return potrs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -392,7 +392,6 @@
 
 //
 // Overloaded function for pprfs. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename MatrixAFP, typename MatrixB,
@@ -408,7 +407,6 @@
 
 //
 // Overloaded function for pprfs. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename MatrixAFP, typename MatrixB,
@@ -422,39 +420,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for pprfs. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixAFP, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pprfs( const MatrixAP& ap, const MatrixAFP& afp, const MatrixB& b,
- const MatrixX& x, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return pprfs_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, afp, b, x, ferr, berr, work );
-}
-
-//
-// Overloaded function for pprfs. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixAFP, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pprfs( const MatrixAP& ap, const MatrixAFP& afp, const MatrixB& b,
- const MatrixX& x, VectorFERR& ferr, VectorBERR& berr ) {
- return pprfs_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, afp, b, x, ferr, berr,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrf.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -136,7 +136,6 @@
 
 //
 // Overloaded function for pptrf. Its overload differs for
-// * MatrixAP&
 //
 template< typename MatrixAP >
 inline std::ptrdiff_t pptrf( MatrixAP& ap ) {
@@ -144,16 +143,6 @@
             MatrixAP >::type >::invoke( ap );
 }
 
-//
-// Overloaded function for pptrf. Its overload differs for
-// * const MatrixAP&
-//
-template< typename MatrixAP >
-inline std::ptrdiff_t pptrf( const MatrixAP& ap ) {
- return pptrf_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptri.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptri.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -136,7 +136,6 @@
 
 //
 // Overloaded function for pptri. Its overload differs for
-// * MatrixAP&
 //
 template< typename MatrixAP >
 inline std::ptrdiff_t pptri( MatrixAP& ap ) {
@@ -144,16 +143,6 @@
             MatrixAP >::type >::invoke( ap );
 }
 
-//
-// Overloaded function for pptri. Its overload differs for
-// * const MatrixAP&
-//
-template< typename MatrixAP >
-inline std::ptrdiff_t pptri( const MatrixAP& ap ) {
- return pptri_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -156,7 +156,6 @@
 
 //
 // Overloaded function for pptrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixAP, typename MatrixB >
 inline std::ptrdiff_t pptrs( const MatrixAP& ap, MatrixB& b ) {
@@ -164,16 +163,6 @@
             MatrixAP >::type >::invoke( ap, b );
 }
 
-//
-// Overloaded function for pptrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixAP, typename MatrixB >
-inline std::ptrdiff_t pptrs( const MatrixAP& ap, const MatrixB& b ) {
- return pptrs_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pstrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pstrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pstrf.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -199,7 +199,6 @@
 
 //
 // Overloaded function for pstrf. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorPIV, typename Workspace >
@@ -214,7 +213,6 @@
 
 //
 // Overloaded function for pstrf. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorPIV >
@@ -228,37 +226,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for pstrf. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorPIV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pstrf( const MatrixA& a, VectorPIV& piv, fortran_int_t& rank,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tol, Workspace work ) {
- return pstrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, piv, rank, tol, work );
-}
-
-//
-// Overloaded function for pstrf. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorPIV >
-inline typename boost::disable_if< detail::is_workspace< VectorPIV >,
- std::ptrdiff_t >::type
-pstrf( const MatrixA& a, VectorPIV& piv, fortran_int_t& rank,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tol ) {
- return pstrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, piv, rank, tol,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -284,7 +284,6 @@
 
 //
 // Overloaded function for pteqr. Its overload differs for
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename MatrixZ,
@@ -299,7 +298,6 @@
 
 //
 // Overloaded function for pteqr. Its overload differs for
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename MatrixZ >
@@ -310,34 +308,6 @@
             MatrixZ >::type >::invoke( compz, d, e, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for pteqr. Its overload differs for
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pteqr( const char compz, VectorD& d, VectorE& e, const MatrixZ& z,
- Workspace work ) {
- return pteqr_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( compz, d, e, z, work );
-}
-
-//
-// Overloaded function for pteqr. Its overload differs for
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-pteqr( const char compz, VectorD& d, VectorE& e, const MatrixZ& z ) {
- return pteqr_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( compz, d, e, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -405,7 +405,6 @@
 
 //
 // Overloaded function for ptrfs. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename VectorDF,
@@ -422,7 +421,6 @@
 
 //
 // Overloaded function for ptrfs. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename VectorDF,
@@ -437,44 +435,8 @@
             VectorE >::type >::invoke( d, e, df, ef, b, x, ferr, berr,
             optimal_workspace() );
 }
-
-//
-// Overloaded function for ptrfs. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename VectorDF,
- typename VectorEF, typename MatrixB, typename MatrixX,
- typename VectorFERR, typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ptrfs( const VectorD& d, const VectorE& e, const VectorDF& df,
- const VectorEF& ef, const MatrixB& b, const MatrixX& x,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return ptrfs_impl< typename bindings::value_type<
- VectorE >::type >::invoke( d, e, df, ef, b, x, ferr, berr, work );
-}
-
-//
-// Overloaded function for ptrfs. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename VectorDF,
- typename VectorEF, typename MatrixB, typename MatrixX,
- typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-ptrfs( const VectorD& d, const VectorE& e, const VectorDF& df,
- const VectorEF& ef, const MatrixB& b, const MatrixX& x,
- VectorFERR& ferr, VectorBERR& berr ) {
- return ptrfs_impl< typename bindings::value_type<
- VectorE >::type >::invoke( d, e, df, ef, b, x, ferr, berr,
- optimal_workspace() );
-}
 //
 // Overloaded function for ptrfs. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename VectorDF,
@@ -492,7 +454,6 @@
 
 //
 // Overloaded function for ptrfs. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename VectorDF,
@@ -508,43 +469,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for ptrfs. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename VectorDF,
- typename VectorEF, typename MatrixB, typename MatrixX,
- typename VectorFERR, typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ptrfs( const char uplo, const VectorD& d, const VectorE& e,
- const VectorDF& df, const VectorEF& ef, const MatrixB& b,
- const MatrixX& x, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return ptrfs_impl< typename bindings::value_type<
- VectorE >::type >::invoke( uplo, d, e, df, ef, b, x, ferr, berr,
- work );
-}
-
-//
-// Overloaded function for ptrfs. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename VectorDF,
- typename VectorEF, typename MatrixB, typename MatrixX,
- typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-ptrfs( const char uplo, const VectorD& d, const VectorE& e,
- const VectorDF& df, const VectorEF& ef, const MatrixB& b,
- const MatrixX& x, VectorFERR& ferr, VectorBERR& berr ) {
- return ptrfs_impl< typename bindings::value_type<
- VectorE >::type >::invoke( uplo, d, e, df, ef, b, x, ferr, berr,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -203,7 +203,6 @@
 
 //
 // Overloaded function for pttrs. Its overload differs for
-// * MatrixB&
 //
 template< typename VectorD, typename VectorE, typename MatrixB >
 inline std::ptrdiff_t pttrs( const VectorD& d, const VectorE& e,
@@ -211,20 +210,8 @@
     return pttrs_impl< typename bindings::value_type<
             VectorE >::type >::invoke( d, e, b );
 }
-
-//
-// Overloaded function for pttrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename VectorD, typename VectorE, typename MatrixB >
-inline std::ptrdiff_t pttrs( const VectorD& d, const VectorE& e,
- const MatrixB& b ) {
- return pttrs_impl< typename bindings::value_type<
- VectorE >::type >::invoke( d, e, b );
-}
 //
 // Overloaded function for pttrs. Its overload differs for
-// * MatrixB&
 //
 template< typename VectorD, typename VectorE, typename MatrixB >
 inline std::ptrdiff_t pttrs( const char uplo, const VectorD& d,
@@ -233,17 +220,6 @@
             VectorE >::type >::invoke( uplo, d, e, b );
 }
 
-//
-// Overloaded function for pttrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename VectorD, typename VectorE, typename MatrixB >
-inline std::ptrdiff_t pttrs( const char uplo, const VectorD& d,
- const VectorE& e, const MatrixB& b ) {
- return pttrs_impl< typename bindings::value_type<
- VectorE >::type >::invoke( uplo, d, e, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -194,8 +194,6 @@
 
 //
 // Overloaded function for sbgst. Its overload differs for
-// * MatrixAB&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixBB, typename MatrixX,
@@ -210,8 +208,6 @@
 
 //
 // Overloaded function for sbgst. Its overload differs for
-// * MatrixAB&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixBB, typename MatrixX >
@@ -222,99 +218,6 @@
             MatrixAB >::type >::invoke( vect, ab, bb, x, optimal_workspace() );
 }
 
-//
-// Overloaded function for sbgst. Its overload differs for
-// * const MatrixAB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixX,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgst( const char vect, const MatrixAB& ab, const MatrixBB& bb,
- MatrixX& x, Workspace work ) {
- return sbgst_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, bb, x, work );
-}
-
-//
-// Overloaded function for sbgst. Its overload differs for
-// * const MatrixAB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixX >
-inline typename boost::disable_if< detail::is_workspace< MatrixX >,
- std::ptrdiff_t >::type
-sbgst( const char vect, const MatrixAB& ab, const MatrixBB& bb,
- MatrixX& x ) {
- return sbgst_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, bb, x, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgst. Its overload differs for
-// * MatrixAB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixX,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgst( const char vect, MatrixAB& ab, const MatrixBB& bb,
- const MatrixX& x, Workspace work ) {
- return sbgst_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, bb, x, work );
-}
-
-//
-// Overloaded function for sbgst. Its overload differs for
-// * MatrixAB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixX >
-inline typename boost::disable_if< detail::is_workspace< MatrixX >,
- std::ptrdiff_t >::type
-sbgst( const char vect, MatrixAB& ab, const MatrixBB& bb,
- const MatrixX& x ) {
- return sbgst_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, bb, x, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgst. Its overload differs for
-// * const MatrixAB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixX,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgst( const char vect, const MatrixAB& ab, const MatrixBB& bb,
- const MatrixX& x, Workspace work ) {
- return sbgst_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, bb, x, work );
-}
-
-//
-// Overloaded function for sbgst. Its overload differs for
-// * const MatrixAB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixX >
-inline typename boost::disable_if< detail::is_workspace< MatrixX >,
- std::ptrdiff_t >::type
-sbgst( const char vect, const MatrixAB& ab, const MatrixBB& bb,
- const MatrixX& x ) {
- return sbgst_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, bb, x, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -195,8 +195,6 @@
 
 //
 // Overloaded function for sbtrd. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename VectorD, typename VectorE,
@@ -211,8 +209,6 @@
 
 //
 // Overloaded function for sbtrd. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename VectorD, typename VectorE,
@@ -226,105 +222,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for sbtrd. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbtrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- MatrixQ& q, Workspace work ) {
- return sbtrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, work );
-}
-
-//
-// Overloaded function for sbtrd. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-sbtrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- MatrixQ& q ) {
- return sbtrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbtrd. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbtrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, Workspace work ) {
- return sbtrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, work );
-}
-
-//
-// Overloaded function for sbtrd. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-sbtrd( const char vect, MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q ) {
- return sbtrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbtrd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbtrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q, Workspace work ) {
- return sbtrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q, work );
-}
-
-//
-// Overloaded function for sbtrd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorD, typename VectorE,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-sbtrd( const char vect, const MatrixAB& ab, VectorD& d, VectorE& e,
- const MatrixQ& q ) {
- return sbtrd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( vect, ab, d, e, q,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -400,7 +400,6 @@
 
 //
 // Overloaded function for sprfs. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
@@ -418,7 +417,6 @@
 
 //
 // Overloaded function for sprfs. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
@@ -433,42 +431,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for sprfs. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sprfs( const MatrixAP& ap, const MatrixAFP& afp, const VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, VectorFERR& ferr,
- VectorBERR& berr, Workspace work ) {
- return sprfs_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, afp, ipiv, b, x, ferr, berr,
- work );
-}
-
-//
-// Overloaded function for sprfs. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-sprfs( const MatrixAP& ap, const MatrixAFP& afp, const VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, VectorFERR& ferr,
- VectorBERR& berr ) {
- return sprfs_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, afp, ipiv, b, x, ferr, berr,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrd.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -130,7 +130,6 @@
 
 //
 // Overloaded function for sptrd. Its overload differs for
-// * MatrixAP&
 //
 template< typename MatrixAP, typename VectorD, typename VectorE,
         typename VectorTAU >
@@ -140,18 +139,6 @@
             MatrixAP >::type >::invoke( ap, d, e, tau );
 }
 
-//
-// Overloaded function for sptrd. Its overload differs for
-// * const MatrixAP&
-//
-template< typename MatrixAP, typename VectorD, typename VectorE,
- typename VectorTAU >
-inline std::ptrdiff_t sptrd( const MatrixAP& ap, VectorD& d, VectorE& e,
- VectorTAU& tau ) {
- return sptrd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, d, e, tau );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrf.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -137,7 +137,6 @@
 
 //
 // Overloaded function for sptrf. Its overload differs for
-// * MatrixAP&
 //
 template< typename MatrixAP, typename VectorIPIV >
 inline std::ptrdiff_t sptrf( MatrixAP& ap, VectorIPIV& ipiv ) {
@@ -145,16 +144,6 @@
             MatrixAP >::type >::invoke( ap, ipiv );
 }
 
-//
-// Overloaded function for sptrf. Its overload differs for
-// * const MatrixAP&
-//
-template< typename MatrixAP, typename VectorIPIV >
-inline std::ptrdiff_t sptrf( const MatrixAP& ap, VectorIPIV& ipiv ) {
- return sptrf_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptri.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptri.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -263,7 +263,6 @@
 
 //
 // Overloaded function for sptri. Its overload differs for
-// * MatrixAP&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename VectorIPIV, typename Workspace >
@@ -276,7 +275,6 @@
 
 //
 // Overloaded function for sptri. Its overload differs for
-// * MatrixAP&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename VectorIPIV >
@@ -287,32 +285,6 @@
             MatrixAP >::type >::invoke( ap, ipiv, optimal_workspace() );
 }
 
-//
-// Overloaded function for sptri. Its overload differs for
-// * const MatrixAP&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorIPIV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sptri( const MatrixAP& ap, const VectorIPIV& ipiv, Workspace work ) {
- return sptri_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv, work );
-}
-
-//
-// Overloaded function for sptri. Its overload differs for
-// * const MatrixAP&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorIPIV >
-inline typename boost::disable_if< detail::is_workspace< VectorIPIV >,
- std::ptrdiff_t >::type
-sptri( const MatrixAP& ap, const VectorIPIV& ipiv ) {
- return sptri_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -161,7 +161,6 @@
 
 //
 // Overloaded function for sptrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
 inline std::ptrdiff_t sptrs( const MatrixAP& ap, const VectorIPIV& ipiv,
@@ -170,17 +169,6 @@
             MatrixAP >::type >::invoke( ap, ipiv, b );
 }
 
-//
-// Overloaded function for sptrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t sptrs( const MatrixAP& ap, const VectorIPIV& ipiv,
- const MatrixB& b ) {
- return sptrs_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -400,7 +400,6 @@
 
 //
 // Overloaded function for stedc. Its overload differs for
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename MatrixZ,
@@ -415,7 +414,6 @@
 
 //
 // Overloaded function for stedc. Its overload differs for
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename MatrixZ >
@@ -426,34 +424,6 @@
             MatrixZ >::type >::invoke( compz, d, e, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for stedc. Its overload differs for
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-stedc( const char compz, VectorD& d, VectorE& e, const MatrixZ& z,
- Workspace work ) {
- return stedc_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( compz, d, e, z, work );
-}
-
-//
-// Overloaded function for stedc. Its overload differs for
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-stedc( const char compz, VectorD& d, VectorE& e, const MatrixZ& z ) {
- return stedc_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( compz, d, e, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -432,7 +432,6 @@
 
 //
 // Overloaded function for stegr. Its overload differs for
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename VectorW,
@@ -455,7 +454,6 @@
 
 //
 // Overloaded function for stegr. Its overload differs for
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename VectorW,
@@ -475,52 +473,6 @@
             abstol, m, w, z, isuppz, optimal_workspace() );
 }
 
-//
-// Overloaded function for stegr. Its overload differs for
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename VectorW,
- typename MatrixZ, typename VectorISUPPZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-stegr( const char jobz, const char range, const fortran_int_t n,
- VectorD& d, VectorE& e, const typename remove_imaginary<
- typename bindings::value_type< MatrixZ >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixZ >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixZ >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorISUPPZ& isuppz, Workspace work ) {
- return stegr_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( jobz, range, n, d, e, vl, vu, il, iu,
- abstol, m, w, z, isuppz, work );
-}
-
-//
-// Overloaded function for stegr. Its overload differs for
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename VectorW,
- typename MatrixZ, typename VectorISUPPZ >
-inline typename boost::disable_if< detail::is_workspace< VectorISUPPZ >,
- std::ptrdiff_t >::type
-stegr( const char jobz, const char range, const fortran_int_t n,
- VectorD& d, VectorE& e, const typename remove_imaginary<
- typename bindings::value_type< MatrixZ >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixZ >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixZ >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorISUPPZ& isuppz ) {
- return stegr_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( jobz, range, n, d, e, vl, vu, il, iu,
- abstol, m, w, z, isuppz, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -381,7 +381,6 @@
 
 //
 // Overloaded function for stein. Its overload differs for
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename VectorW,
@@ -400,7 +399,6 @@
 
 //
 // Overloaded function for stein. Its overload differs for
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename VectorW,
@@ -417,44 +415,6 @@
             ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for stein. Its overload differs for
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename VectorW,
- typename VectorIBLOCK, typename VectorISPLIT, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-stein( const fortran_int_t n, const VectorD& d, const VectorE& e,
- const fortran_int_t m, const VectorW& w,
- const VectorIBLOCK& iblock, const VectorISPLIT& isplit,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return stein_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( n, d, e, m, w, iblock, isplit, z,
- ifail, work );
-}
-
-//
-// Overloaded function for stein. Its overload differs for
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename VectorW,
- typename VectorIBLOCK, typename VectorISPLIT, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-stein( const fortran_int_t n, const VectorD& d, const VectorE& e,
- const fortran_int_t m, const VectorW& w,
- const VectorIBLOCK& iblock, const VectorISPLIT& isplit,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return stein_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( n, d, e, m, w, iblock, isplit, z,
- ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stemr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stemr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stemr.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -438,7 +438,6 @@
 
 //
 // Overloaded function for stemr. Its overload differs for
-// * MatrixZ&
 // * fortran_bool_t&
 // * User-defined workspace
 //
@@ -461,7 +460,6 @@
 
 //
 // Overloaded function for stemr. Its overload differs for
-// * MatrixZ&
 // * fortran_bool_t&
 // * Default workspace-type (optimal)
 //
@@ -484,53 +482,6 @@
 
 //
 // Overloaded function for stemr. Its overload differs for
-// * const MatrixZ&
-// * fortran_bool_t&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename VectorW,
- typename MatrixZ, typename VectorISUPPZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-stemr( const char jobz, const char range, const fortran_int_t n,
- VectorD& d, VectorE& e, const typename remove_imaginary<
- typename bindings::value_type< MatrixZ >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixZ >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, const fortran_int_t nzc, VectorISUPPZ& isuppz,
- fortran_bool_t& tryrac, Workspace work ) {
- return stemr_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( jobz, range, n, d, e, vl, vu, il, iu,
- m, w, z, nzc, isuppz, tryrac, work );
-}
-
-//
-// Overloaded function for stemr. Its overload differs for
-// * const MatrixZ&
-// * fortran_bool_t&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename VectorW,
- typename MatrixZ, typename VectorISUPPZ >
-inline typename boost::disable_if< detail::is_workspace< VectorISUPPZ >,
- std::ptrdiff_t >::type
-stemr( const char jobz, const char range, const fortran_int_t n,
- VectorD& d, VectorE& e, const typename remove_imaginary<
- typename bindings::value_type< MatrixZ >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixZ >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, const fortran_int_t nzc, VectorISUPPZ& isuppz,
- fortran_bool_t& tryrac ) {
- return stemr_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( jobz, range, n, d, e, vl, vu, il, iu,
- m, w, z, nzc, isuppz, tryrac, optimal_workspace() );
-}
-
-//
-// Overloaded function for stemr. Its overload differs for
-// * MatrixZ&
 // * const fortran_bool_t&
 // * User-defined workspace
 //
@@ -553,7 +504,6 @@
 
 //
 // Overloaded function for stemr. Its overload differs for
-// * MatrixZ&
 // * const fortran_bool_t&
 // * Default workspace-type (optimal)
 //
@@ -574,52 +524,6 @@
             m, w, z, nzc, isuppz, tryrac, optimal_workspace() );
 }
 
-//
-// Overloaded function for stemr. Its overload differs for
-// * const MatrixZ&
-// * const fortran_bool_t&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename VectorW,
- typename MatrixZ, typename VectorISUPPZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-stemr( const char jobz, const char range, const fortran_int_t n,
- VectorD& d, VectorE& e, const typename remove_imaginary<
- typename bindings::value_type< MatrixZ >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixZ >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, const fortran_int_t nzc, VectorISUPPZ& isuppz,
- const fortran_bool_t& tryrac, Workspace work ) {
- return stemr_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( jobz, range, n, d, e, vl, vu, il, iu,
- m, w, z, nzc, isuppz, tryrac, work );
-}
-
-//
-// Overloaded function for stemr. Its overload differs for
-// * const MatrixZ&
-// * const fortran_bool_t&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename VectorW,
- typename MatrixZ, typename VectorISUPPZ >
-inline typename boost::disable_if< detail::is_workspace< VectorISUPPZ >,
- std::ptrdiff_t >::type
-stemr( const char jobz, const char range, const fortran_int_t n,
- VectorD& d, VectorE& e, const typename remove_imaginary<
- typename bindings::value_type< MatrixZ >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixZ >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, const fortran_int_t nzc, VectorISUPPZ& isuppz,
- const fortran_bool_t& tryrac ) {
- return stemr_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( jobz, range, n, d, e, vl, vu, il, iu,
- m, w, z, nzc, isuppz, tryrac, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -292,7 +292,6 @@
 
 //
 // Overloaded function for steqr. Its overload differs for
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename MatrixZ,
@@ -307,7 +306,6 @@
 
 //
 // Overloaded function for steqr. Its overload differs for
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename MatrixZ >
@@ -318,34 +316,6 @@
             MatrixZ >::type >::invoke( compz, d, e, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for steqr. Its overload differs for
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-steqr( const char compz, VectorD& d, VectorE& e, const MatrixZ& z,
- Workspace work ) {
- return steqr_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( compz, d, e, z, work );
-}
-
-//
-// Overloaded function for steqr. Its overload differs for
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-steqr( const char compz, VectorD& d, VectorE& e, const MatrixZ& z ) {
- return steqr_impl< typename bindings::value_type<
- MatrixZ >::type >::invoke( compz, d, e, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -131,7 +131,6 @@
 
 //
 // Overloaded function for sygst. Its overload differs for
-// * MatrixA&
 //
 template< typename MatrixA, typename MatrixB >
 inline std::ptrdiff_t sygst( const fortran_int_t itype, MatrixA& a,
@@ -140,17 +139,6 @@
             MatrixA >::type >::invoke( itype, a, b );
 }
 
-//
-// Overloaded function for sygst. Its overload differs for
-// * const MatrixA&
-//
-template< typename MatrixA, typename MatrixB >
-inline std::ptrdiff_t sygst( const fortran_int_t itype,
- const MatrixA& a, const MatrixB& b ) {
- return sygst_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, a, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -426,7 +426,6 @@
 
 //
 // Overloaded function for syrfs. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
@@ -443,7 +442,6 @@
 
 //
 // Overloaded function for syrfs. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
@@ -458,41 +456,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for syrfs. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-syrfs( const MatrixA& a, const MatrixAF& af, const VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, VectorFERR& ferr,
- VectorBERR& berr, Workspace work ) {
- return syrfs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, af, ipiv, b, x, ferr, berr, work );
-}
-
-//
-// Overloaded function for syrfs. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-syrfs( const MatrixA& a, const MatrixAF& af, const VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, VectorFERR& ferr,
- VectorBERR& berr ) {
- return syrfs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, af, ipiv, b, x, ferr, berr,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -195,7 +195,6 @@
 
 //
 // Overloaded function for sytrd. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorD, typename VectorE,
@@ -210,7 +209,6 @@
 
 //
 // Overloaded function for sytrd. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorD, typename VectorE,
@@ -222,35 +220,6 @@
             MatrixA >::type >::invoke( a, d, e, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for sytrd. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sytrd( const MatrixA& a, VectorD& d, VectorE& e, VectorTAU& tau,
- Workspace work ) {
- return sytrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tau, work );
-}
-
-//
-// Overloaded function for sytrd. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorD, typename VectorE,
- typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-sytrd( const MatrixA& a, VectorD& d, VectorE& e, VectorTAU& tau ) {
- return sytrd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, d, e, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -295,7 +295,6 @@
 
 //
 // Overloaded function for sytrf. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorIPIV, typename Workspace >
@@ -308,7 +307,6 @@
 
 //
 // Overloaded function for sytrf. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorIPIV >
@@ -319,32 +317,6 @@
             MatrixA >::type >::invoke( a, ipiv, optimal_workspace() );
 }
 
-//
-// Overloaded function for sytrf. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sytrf( const MatrixA& a, VectorIPIV& ipiv, Workspace work ) {
- return sytrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, work );
-}
-
-//
-// Overloaded function for sytrf. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV >
-inline typename boost::disable_if< detail::is_workspace< VectorIPIV >,
- std::ptrdiff_t >::type
-sytrf( const MatrixA& a, VectorIPIV& ipiv ) {
- return sytrf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -280,7 +280,6 @@
 
 //
 // Overloaded function for sytri. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorIPIV, typename Workspace >
@@ -293,7 +292,6 @@
 
 //
 // Overloaded function for sytri. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorIPIV >
@@ -304,32 +302,6 @@
             MatrixA >::type >::invoke( a, ipiv, optimal_workspace() );
 }
 
-//
-// Overloaded function for sytri. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sytri( const MatrixA& a, const VectorIPIV& ipiv, Workspace work ) {
- return sytri_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, work );
-}
-
-//
-// Overloaded function for sytri. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV >
-inline typename boost::disable_if< detail::is_workspace< VectorIPIV >,
- std::ptrdiff_t >::type
-sytri( const MatrixA& a, const VectorIPIV& ipiv ) {
- return sytri_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -166,7 +166,6 @@
 
 //
 // Overloaded function for sytrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixA, typename VectorIPIV, typename MatrixB >
 inline std::ptrdiff_t sytrs( const MatrixA& a, const VectorIPIV& ipiv,
@@ -175,17 +174,6 @@
             MatrixA >::type >::invoke( a, ipiv, b );
 }
 
-//
-// Overloaded function for sytrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t sytrs( const MatrixA& a, const VectorIPIV& ipiv,
- const MatrixB& b ) {
- return sytrs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -178,7 +178,6 @@
 
 //
 // Overloaded function for tbtrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixAB, typename MatrixB >
 inline std::ptrdiff_t tbtrs( const fortran_int_t kd,
@@ -187,17 +186,6 @@
             MatrixAB >::type >::invoke( kd, ab, b );
 }
 
-//
-// Overloaded function for tbtrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixAB, typename MatrixB >
-inline std::ptrdiff_t tbtrs( const fortran_int_t kd,
- const MatrixAB& ab, const MatrixB& b ) {
- return tbtrs_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( kd, ab, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tftri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tftri.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tftri.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -147,7 +147,6 @@
 
 //
 // Overloaded function for tftri. Its overload differs for
-// * MatrixA&
 //
 template< typename MatrixA >
 inline std::ptrdiff_t tftri( MatrixA& a ) {
@@ -155,16 +154,6 @@
             MatrixA >::type >::invoke( a );
 }
 
-//
-// Overloaded function for tftri. Its overload differs for
-// * const MatrixA&
-//
-template< typename MatrixA >
-inline std::ptrdiff_t tftri( const MatrixA& a ) {
- return tftri_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -382,8 +382,6 @@
 
 //
 // Overloaded function for tgevc. Its overload differs for
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename Side, typename VectorSELECT, typename MatrixS,
@@ -401,8 +399,6 @@
 
 //
 // Overloaded function for tgevc. Its overload differs for
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename VectorSELECT, typename MatrixS,
@@ -417,119 +413,6 @@
             m, optimal_workspace() );
 }
 
-//
-// Overloaded function for tgevc. Its overload differs for
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixS,
- typename MatrixP, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgevc( const Side side, const char howmny, const VectorSELECT& select,
- const MatrixS& s, const MatrixP& p, const MatrixVL& vl, MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return tgevc_impl< typename bindings::value_type<
- MatrixS >::type >::invoke( side, howmny, select, s, p, vl, vr, mm,
- m, work );
-}
-
-//
-// Overloaded function for tgevc. Its overload differs for
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixS,
- typename MatrixP, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-tgevc( const Side side, const char howmny, const VectorSELECT& select,
- const MatrixS& s, const MatrixP& p, const MatrixVL& vl, MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return tgevc_impl< typename bindings::value_type<
- MatrixS >::type >::invoke( side, howmny, select, s, p, vl, vr, mm,
- m, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgevc. Its overload differs for
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixS,
- typename MatrixP, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgevc( const Side side, const char howmny, const VectorSELECT& select,
- const MatrixS& s, const MatrixP& p, MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return tgevc_impl< typename bindings::value_type<
- MatrixS >::type >::invoke( side, howmny, select, s, p, vl, vr, mm,
- m, work );
-}
-
-//
-// Overloaded function for tgevc. Its overload differs for
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixS,
- typename MatrixP, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-tgevc( const Side side, const char howmny, const VectorSELECT& select,
- const MatrixS& s, const MatrixP& p, MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return tgevc_impl< typename bindings::value_type<
- MatrixS >::type >::invoke( side, howmny, select, s, p, vl, vr, mm,
- m, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgevc. Its overload differs for
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixS,
- typename MatrixP, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgevc( const Side side, const char howmny, const VectorSELECT& select,
- const MatrixS& s, const MatrixP& p, const MatrixVL& vl,
- const MatrixVR& vr, const fortran_int_t mm, fortran_int_t& m,
- Workspace work ) {
- return tgevc_impl< typename bindings::value_type<
- MatrixS >::type >::invoke( side, howmny, select, s, p, vl, vr, mm,
- m, work );
-}
-
-//
-// Overloaded function for tgevc. Its overload differs for
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixS,
- typename MatrixP, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-tgevc( const Side side, const char howmny, const VectorSELECT& select,
- const MatrixS& s, const MatrixP& p, const MatrixVL& vl,
- const MatrixVR& vr, const fortran_int_t mm,
- fortran_int_t& m ) {
- return tgevc_impl< typename bindings::value_type<
- MatrixS >::type >::invoke( side, howmny, select, s, p, vl, vr, mm,
- m, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -328,10 +328,6 @@
 
 //
 // Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename MatrixQ,
@@ -348,10 +344,6 @@
 
 //
 // Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename MatrixQ,
@@ -365,613 +357,8 @@
             MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
             optimal_workspace() );
 }
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, MatrixB& b, MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, MatrixB& b, MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, const MatrixB& b, MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, const MatrixB& b, MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, const MatrixB& b, MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, const MatrixB& b, MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, MatrixB& b, const MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, MatrixB& b, const MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, MatrixB& b, const MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, MatrixB& b, const MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, const MatrixB& b, const MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, const MatrixB& b, const MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, const MatrixB& b, const MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, const MatrixB& b, const MatrixQ& q, MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, MatrixB& b, MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, MatrixB& b, MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, MatrixB& b, MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, MatrixB& b, MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, const MatrixB& b, MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, const MatrixB& b, MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, const MatrixB& b, MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, const MatrixB& b, MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, MatrixB& b, const MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
 //
 // Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, MatrixB& b, const MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, MatrixB& b, const MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, MatrixB& b, const MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, const MatrixB& b, const MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- MatrixA& a, const MatrixB& b, const MatrixQ& q, const MatrixZ& z,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, const MatrixB& b, const MatrixQ& q,
- const MatrixZ& z, fortran_int_t& ifst, fortran_int_t& ilst,
- Workspace work ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- work );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-tgexc( const fortran_bool_t wantq, const fortran_bool_t wantz,
- const MatrixA& a, const MatrixB& b, const MatrixQ& q,
- const MatrixZ& z, fortran_int_t& ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst,
- optimal_workspace() );
-}
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
 //
 template< typename MatrixA, typename MatrixB, typename MatrixQ,
         typename MatrixZ >
@@ -982,258 +369,6 @@
             MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
 }
 
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, const MatrixA& a, MatrixB& b, MatrixQ& q,
- MatrixZ& z, const fortran_int_t ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, MatrixA& a, const MatrixB& b, MatrixQ& q,
- MatrixZ& z, const fortran_int_t ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, const MatrixA& a, const MatrixB& b,
- MatrixQ& q, MatrixZ& z, const fortran_int_t ifst,
- fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, MatrixA& a, MatrixB& b, const MatrixQ& q,
- MatrixZ& z, const fortran_int_t ifst, fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, const MatrixA& a, MatrixB& b,
- const MatrixQ& q, MatrixZ& z, const fortran_int_t ifst,
- fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, MatrixA& a, const MatrixB& b,
- const MatrixQ& q, MatrixZ& z, const fortran_int_t ifst,
- fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, const MatrixA& a, const MatrixB& b,
- const MatrixQ& q, MatrixZ& z, const fortran_int_t ifst,
- fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, MatrixA& a, MatrixB& b, MatrixQ& q,
- const MatrixZ& z, const fortran_int_t ifst,
- fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, const MatrixA& a, MatrixB& b, MatrixQ& q,
- const MatrixZ& z, const fortran_int_t ifst,
- fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, MatrixA& a, const MatrixB& b, MatrixQ& q,
- const MatrixZ& z, const fortran_int_t ifst,
- fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, const MatrixA& a, const MatrixB& b,
- MatrixQ& q, const MatrixZ& z, const fortran_int_t ifst,
- fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, MatrixA& a, MatrixB& b, const MatrixQ& q,
- const MatrixZ& z, const fortran_int_t ifst,
- fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, const MatrixA& a, MatrixB& b,
- const MatrixQ& q, const MatrixZ& z, const fortran_int_t ifst,
- fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, MatrixA& a, const MatrixB& b,
- const MatrixQ& q, const MatrixZ& z, const fortran_int_t ifst,
- fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
-//
-// Overloaded function for tgexc. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixQ,
- typename MatrixZ >
-inline std::ptrdiff_t tgexc( const fortran_bool_t wantq,
- const fortran_bool_t wantz, const MatrixA& a, const MatrixB& b,
- const MatrixQ& q, const MatrixZ& z, const fortran_int_t ifst,
- fortran_int_t& ilst ) {
- return tgexc_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( wantq, wantz, a, b, q, z, ifst, ilst );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -520,10 +520,6 @@
 
 //
 // Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename VectorSELECT, typename MatrixA, typename MatrixB,
@@ -547,10 +543,6 @@
 
 //
 // Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorSELECT, typename MatrixA, typename MatrixB,
@@ -570,1421 +562,8 @@
             MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
             alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
 }
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixQ& q, MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixQ& q, MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixQ& q, MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixQ& q, MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixQ& q, MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixQ& q, MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixQ& q, MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixQ& q, MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixQ& q, const MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixQ& q, const MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixQ& q, const MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixQ& q, const MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixQ& q, const MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixQ& q, const MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixQ& q, const MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixQ& q, const MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixQ& q, const MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixQ& q, const MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixQ& q, const MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixQ& q, const MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHAR, typename VectorALPHAI, typename VectorBETA,
- typename MatrixQ, typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alphar, alphai, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q,
- MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q,
- MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q,
- MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q,
- MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q,
- MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q,
- MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixQ& q, MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q,
- const MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q,
- const MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- MatrixQ& q, const MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- MatrixQ& q, const MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q,
- const MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q,
- const MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixQ& q, const MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixQ& q, const MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
 //
 // Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
 // * User-defined workspace
 //
 template< typename VectorSELECT, typename MatrixA, typename MatrixB,
@@ -1994,8 +573,8 @@
         std::ptrdiff_t >::type
 tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
         const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
+ MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q,
+ MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
         typename bindings::value_type< MatrixA >::type >::type& pl,
         typename remove_imaginary< typename bindings::value_type<
         MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
@@ -2006,113 +585,6 @@
 
 //
 // Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, const MatrixQ& q,
- const MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixQ& q, const MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixQ& q, const MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixQ& q, const MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorSELECT, typename MatrixA, typename MatrixB,
@@ -2122,61 +594,8 @@
         std::ptrdiff_t >::type
 tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
         const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixQ& q, const MatrixZ& z, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pl, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pr,
- VectorDIF& dif ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixQ& q, const MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& pl,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& pr, VectorDIF& dif, Workspace work ) {
- return tgsen_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, wantq, wantz, select, a, b,
- alpha, beta, q, z, m, pl, pr, dif, work );
-}
-
-//
-// Overloaded function for tgsen. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixA, typename MatrixB,
- typename VectorALPHA, typename VectorBETA, typename MatrixQ,
- typename MatrixZ, typename VectorDIF >
-inline typename boost::disable_if< detail::is_workspace< VectorDIF >,
- std::ptrdiff_t >::type
-tgsen( const fortran_int_t ijob, const fortran_bool_t wantq,
- const fortran_bool_t wantz, const VectorSELECT& select,
- const MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixQ& q, const MatrixZ& z,
- fortran_int_t& m, typename remove_imaginary<
+ MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q,
+ MatrixZ& z, fortran_int_t& m, typename remove_imaginary<
         typename bindings::value_type< MatrixA >::type >::type& pl,
         typename remove_imaginary< typename bindings::value_type<
         MatrixA >::type >::type& pr, VectorDIF& dif ) {

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -445,11 +445,6 @@
 
 //
 // Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -472,11 +467,6 @@
 
 //
 // Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -496,1665 +486,6 @@
             tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
 }
 
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, const MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, const MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, const MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, const MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, const MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, const MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, const MatrixQ& q, fortran_int_t& ncycle,
- Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, MatrixV& v, const MatrixQ& q, fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l, MatrixA& a,
- const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle, Workspace work ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, work );
-}
-
-//
-// Overloaded function for tgsja. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-tgsja( const char jobu, const char jobv, const char jobq,
- const fortran_int_t k, const fortran_int_t l,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type tola,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type tolb, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, const MatrixQ& q,
- fortran_int_t& ncycle ) {
- return tgsja_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, tola,
- tolb, alpha, beta, u, v, q, ncycle, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -504,8 +504,6 @@
 
 //
 // Overloaded function for tgsyl. Its overload differs for
-// * MatrixC&
-// * MatrixF&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename MatrixC,
@@ -526,8 +524,6 @@
 
 //
 // Overloaded function for tgsyl. Its overload differs for
-// * MatrixC&
-// * MatrixF&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename MatrixC,
@@ -544,133 +540,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for tgsyl. Its overload differs for
-// * const MatrixC&
-// * MatrixF&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixC,
- typename MatrixD, typename MatrixE, typename MatrixF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsyl( const fortran_int_t ijob, const MatrixA& a, const MatrixB& b,
- const MatrixC& c, const MatrixD& d, const MatrixE& e, MatrixF& f,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& dif,
- Workspace work ) {
- return tgsyl_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, a, b, c, d, e, f, scale, dif,
- work );
-}
-
-//
-// Overloaded function for tgsyl. Its overload differs for
-// * const MatrixC&
-// * MatrixF&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixC,
- typename MatrixD, typename MatrixE, typename MatrixF >
-inline typename boost::disable_if< detail::is_workspace< MatrixF >,
- std::ptrdiff_t >::type
-tgsyl( const fortran_int_t ijob, const MatrixA& a, const MatrixB& b,
- const MatrixC& c, const MatrixD& d, const MatrixE& e, MatrixF& f,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& dif ) {
- return tgsyl_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, a, b, c, d, e, f, scale, dif,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsyl. Its overload differs for
-// * MatrixC&
-// * const MatrixF&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixC,
- typename MatrixD, typename MatrixE, typename MatrixF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsyl( const fortran_int_t ijob, const MatrixA& a, const MatrixB& b,
- MatrixC& c, const MatrixD& d, const MatrixE& e, const MatrixF& f,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& dif,
- Workspace work ) {
- return tgsyl_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, a, b, c, d, e, f, scale, dif,
- work );
-}
-
-//
-// Overloaded function for tgsyl. Its overload differs for
-// * MatrixC&
-// * const MatrixF&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixC,
- typename MatrixD, typename MatrixE, typename MatrixF >
-inline typename boost::disable_if< detail::is_workspace< MatrixF >,
- std::ptrdiff_t >::type
-tgsyl( const fortran_int_t ijob, const MatrixA& a, const MatrixB& b,
- MatrixC& c, const MatrixD& d, const MatrixE& e, const MatrixF& f,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& dif ) {
- return tgsyl_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, a, b, c, d, e, f, scale, dif,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for tgsyl. Its overload differs for
-// * const MatrixC&
-// * const MatrixF&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixC,
- typename MatrixD, typename MatrixE, typename MatrixF,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tgsyl( const fortran_int_t ijob, const MatrixA& a, const MatrixB& b,
- const MatrixC& c, const MatrixD& d, const MatrixE& e,
- const MatrixF& f, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& scale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& dif, Workspace work ) {
- return tgsyl_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, a, b, c, d, e, f, scale, dif,
- work );
-}
-
-//
-// Overloaded function for tgsyl. Its overload differs for
-// * const MatrixC&
-// * const MatrixF&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixC,
- typename MatrixD, typename MatrixE, typename MatrixF >
-inline typename boost::disable_if< detail::is_workspace< MatrixF >,
- std::ptrdiff_t >::type
-tgsyl( const fortran_int_t ijob, const MatrixA& a, const MatrixB& b,
- const MatrixC& c, const MatrixD& d, const MatrixE& e,
- const MatrixF& f, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& scale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& dif ) {
- return tgsyl_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( ijob, a, b, c, d, e, f, scale, dif,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -142,7 +142,6 @@
 
 //
 // Overloaded function for tptri. Its overload differs for
-// * MatrixAP&
 //
 template< typename MatrixAP >
 inline std::ptrdiff_t tptri( MatrixAP& ap ) {
@@ -150,16 +149,6 @@
             MatrixAP >::type >::invoke( ap );
 }
 
-//
-// Overloaded function for tptri. Its overload differs for
-// * const MatrixAP&
-//
-template< typename MatrixAP >
-inline std::ptrdiff_t tptri( const MatrixAP& ap ) {
- return tptri_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -167,7 +167,6 @@
 
 //
 // Overloaded function for tptrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixAP, typename MatrixB >
 inline std::ptrdiff_t tptrs( const MatrixAP& ap, MatrixB& b ) {
@@ -175,16 +174,6 @@
             MatrixAP >::type >::invoke( ap, b );
 }
 
-//
-// Overloaded function for tptrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixAP, typename MatrixB >
-inline std::ptrdiff_t tptrs( const MatrixAP& ap, const MatrixB& b ) {
- return tptrs_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -361,8 +361,6 @@
 // Overloaded function for trevc. Its overload differs for
 // * VectorSELECT&
 // * MatrixT&
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename Side, typename VectorSELECT, typename MatrixT,
@@ -381,8 +379,6 @@
 // Overloaded function for trevc. Its overload differs for
 // * VectorSELECT&
 // * MatrixT&
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename VectorSELECT, typename MatrixT,
@@ -401,8 +397,6 @@
 // Overloaded function for trevc. Its overload differs for
 // * const VectorSELECT&
 // * MatrixT&
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename Side, typename VectorSELECT, typename MatrixT,
@@ -421,8 +415,6 @@
 // Overloaded function for trevc. Its overload differs for
 // * const VectorSELECT&
 // * MatrixT&
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename VectorSELECT, typename MatrixT,
@@ -441,8 +433,6 @@
 // Overloaded function for trevc. Its overload differs for
 // * VectorSELECT&
 // * const MatrixT&
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename Side, typename VectorSELECT, typename MatrixT,
@@ -461,8 +451,6 @@
 // Overloaded function for trevc. Its overload differs for
 // * VectorSELECT&
 // * const MatrixT&
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename VectorSELECT, typename MatrixT,
@@ -481,8 +469,6 @@
 // Overloaded function for trevc. Its overload differs for
 // * const VectorSELECT&
 // * const MatrixT&
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename Side, typename VectorSELECT, typename MatrixT,
@@ -501,8 +487,6 @@
 // Overloaded function for trevc. Its overload differs for
 // * const VectorSELECT&
 // * const MatrixT&
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename VectorSELECT, typename MatrixT,
@@ -517,486 +501,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for trevc. Its overload differs for
-// * VectorSELECT&
-// * MatrixT&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, VectorSELECT& select,
- MatrixT& t, const MatrixVL& vl, MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- work );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * VectorSELECT&
-// * MatrixT&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, VectorSELECT& select,
- MatrixT& t, const MatrixVL& vl, MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * const VectorSELECT&
-// * MatrixT&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, const VectorSELECT& select,
- MatrixT& t, const MatrixVL& vl, MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- work );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * const VectorSELECT&
-// * MatrixT&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, const VectorSELECT& select,
- MatrixT& t, const MatrixVL& vl, MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * VectorSELECT&
-// * const MatrixT&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, VectorSELECT& select,
- const MatrixT& t, const MatrixVL& vl, MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- work );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * VectorSELECT&
-// * const MatrixT&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, VectorSELECT& select,
- const MatrixT& t, const MatrixVL& vl, MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * const VectorSELECT&
-// * const MatrixT&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, const VectorSELECT& select,
- const MatrixT& t, const MatrixVL& vl, MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- work );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * const VectorSELECT&
-// * const MatrixT&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, const VectorSELECT& select,
- const MatrixT& t, const MatrixVL& vl, MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * VectorSELECT&
-// * MatrixT&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, VectorSELECT& select,
- MatrixT& t, MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- work );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * VectorSELECT&
-// * MatrixT&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, VectorSELECT& select,
- MatrixT& t, MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * const VectorSELECT&
-// * MatrixT&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, const VectorSELECT& select,
- MatrixT& t, MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- work );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * const VectorSELECT&
-// * MatrixT&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, const VectorSELECT& select,
- MatrixT& t, MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * VectorSELECT&
-// * const MatrixT&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, VectorSELECT& select,
- const MatrixT& t, MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- work );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * VectorSELECT&
-// * const MatrixT&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, VectorSELECT& select,
- const MatrixT& t, MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * const VectorSELECT&
-// * const MatrixT&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, const VectorSELECT& select,
- const MatrixT& t, MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- work );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * const VectorSELECT&
-// * const MatrixT&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, const VectorSELECT& select,
- const MatrixT& t, MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * VectorSELECT&
-// * MatrixT&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, VectorSELECT& select,
- MatrixT& t, const MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- work );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * VectorSELECT&
-// * MatrixT&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, VectorSELECT& select,
- MatrixT& t, const MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * const VectorSELECT&
-// * MatrixT&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, const VectorSELECT& select,
- MatrixT& t, const MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- work );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * const VectorSELECT&
-// * MatrixT&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, const VectorSELECT& select,
- MatrixT& t, const MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * VectorSELECT&
-// * const MatrixT&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, VectorSELECT& select,
- const MatrixT& t, const MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- work );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * VectorSELECT&
-// * const MatrixT&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, VectorSELECT& select,
- const MatrixT& t, const MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * const VectorSELECT&
-// * const MatrixT&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, const VectorSELECT& select,
- const MatrixT& t, const MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m, Workspace work ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- work );
-}
-
-//
-// Overloaded function for trevc. Its overload differs for
-// * const VectorSELECT&
-// * const MatrixT&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorSELECT, typename MatrixT,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-trevc( const Side side, const char howmny, const VectorSELECT& select,
- const MatrixT& t, const MatrixVL& vl, const MatrixVR& vr,
- const fortran_int_t mm, fortran_int_t& m ) {
- return trevc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( side, howmny, select, t, vl, vr, mm, m,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -254,8 +254,6 @@
 
 //
 // Overloaded function for trexc. Its overload differs for
-// * MatrixT&
-// * MatrixQ&
 // * User-defined workspace
 //
 template< typename MatrixT, typename MatrixQ, typename Workspace >
@@ -269,8 +267,6 @@
 
 //
 // Overloaded function for trexc. Its overload differs for
-// * MatrixT&
-// * MatrixQ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixT, typename MatrixQ >
@@ -282,103 +278,8 @@
             MatrixT >::type >::invoke( compq, t, q, ifst, ilst,
             optimal_workspace() );
 }
-
-//
-// Overloaded function for trexc. Its overload differs for
-// * const MatrixT&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixT, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trexc( const char compq, const MatrixT& t, MatrixQ& q,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return trexc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( compq, t, q, ifst, ilst, work );
-}
-
 //
 // Overloaded function for trexc. Its overload differs for
-// * const MatrixT&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixT, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-trexc( const char compq, const MatrixT& t, MatrixQ& q,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return trexc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( compq, t, q, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trexc. Its overload differs for
-// * MatrixT&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixT, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trexc( const char compq, MatrixT& t, const MatrixQ& q,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return trexc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( compq, t, q, ifst, ilst, work );
-}
-
-//
-// Overloaded function for trexc. Its overload differs for
-// * MatrixT&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixT, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-trexc( const char compq, MatrixT& t, const MatrixQ& q,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return trexc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( compq, t, q, ifst, ilst,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for trexc. Its overload differs for
-// * const MatrixT&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixT, typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trexc( const char compq, const MatrixT& t, const MatrixQ& q,
- fortran_int_t& ifst, fortran_int_t& ilst, Workspace work ) {
- return trexc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( compq, t, q, ifst, ilst, work );
-}
-
-//
-// Overloaded function for trexc. Its overload differs for
-// * const MatrixT&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixT, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-trexc( const char compq, const MatrixT& t, const MatrixQ& q,
- fortran_int_t& ifst, fortran_int_t& ilst ) {
- return trexc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( compq, t, q, ifst, ilst,
- optimal_workspace() );
-}
-//
-// Overloaded function for trexc. Its overload differs for
-// * MatrixT&
-// * MatrixQ&
 //
 template< typename MatrixT, typename MatrixQ >
 inline std::ptrdiff_t trexc( const char compq, MatrixT& t, MatrixQ& q,
@@ -387,45 +288,6 @@
             MatrixT >::type >::invoke( compq, t, q, ifst, ilst );
 }
 
-//
-// Overloaded function for trexc. Its overload differs for
-// * const MatrixT&
-// * MatrixQ&
-//
-template< typename MatrixT, typename MatrixQ >
-inline std::ptrdiff_t trexc( const char compq, const MatrixT& t,
- MatrixQ& q, const fortran_int_t ifst,
- const fortran_int_t ilst ) {
- return trexc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( compq, t, q, ifst, ilst );
-}
-
-//
-// Overloaded function for trexc. Its overload differs for
-// * MatrixT&
-// * const MatrixQ&
-//
-template< typename MatrixT, typename MatrixQ >
-inline std::ptrdiff_t trexc( const char compq, MatrixT& t,
- const MatrixQ& q, const fortran_int_t ifst,
- const fortran_int_t ilst ) {
- return trexc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( compq, t, q, ifst, ilst );
-}
-
-//
-// Overloaded function for trexc. Its overload differs for
-// * const MatrixT&
-// * const MatrixQ&
-//
-template< typename MatrixT, typename MatrixQ >
-inline std::ptrdiff_t trexc( const char compq, const MatrixT& t,
- const MatrixQ& q, const fortran_int_t ifst,
- const fortran_int_t ilst ) {
- return trexc_impl< typename bindings::value_type<
- MatrixT >::type >::invoke( compq, t, q, ifst, ilst );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -211,8 +211,6 @@
 
 //
 // Overloaded function for trsen. Its overload differs for
-// * MatrixT&
-// * MatrixQ&
 // * User-defined workspace
 //
 template< typename VectorSELECT, typename MatrixT, typename MatrixQ,
@@ -232,8 +230,6 @@
 
 //
 // Overloaded function for trsen. Its overload differs for
-// * MatrixT&
-// * MatrixQ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorSELECT, typename MatrixT, typename MatrixQ,
@@ -250,129 +246,6 @@
             sep, optimal_workspace() );
 }
 
-//
-// Overloaded function for trsen. Its overload differs for
-// * const MatrixT&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixT, typename MatrixQ,
- typename VectorW, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trsen( const char job, const char compq, const VectorSELECT& select,
- const MatrixT& t, MatrixQ& q, VectorW& w, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- VectorSELECT >::type >::type& s, typename remove_imaginary<
- typename bindings::value_type< VectorSELECT >::type >::type& sep,
- Workspace work ) {
- return trsen_impl< typename bindings::value_type<
- VectorSELECT >::type >::invoke( job, compq, select, t, q, w, m, s,
- sep, work );
-}
-
-//
-// Overloaded function for trsen. Its overload differs for
-// * const MatrixT&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixT, typename MatrixQ,
- typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-trsen( const char job, const char compq, const VectorSELECT& select,
- const MatrixT& t, MatrixQ& q, VectorW& w, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- VectorSELECT >::type >::type& s, typename remove_imaginary<
- typename bindings::value_type< VectorSELECT >::type >::type& sep ) {
- return trsen_impl< typename bindings::value_type<
- VectorSELECT >::type >::invoke( job, compq, select, t, q, w, m, s,
- sep, optimal_workspace() );
-}
-
-//
-// Overloaded function for trsen. Its overload differs for
-// * MatrixT&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixT, typename MatrixQ,
- typename VectorW, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trsen( const char job, const char compq, const VectorSELECT& select,
- MatrixT& t, const MatrixQ& q, VectorW& w, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- VectorSELECT >::type >::type& s, typename remove_imaginary<
- typename bindings::value_type< VectorSELECT >::type >::type& sep,
- Workspace work ) {
- return trsen_impl< typename bindings::value_type<
- VectorSELECT >::type >::invoke( job, compq, select, t, q, w, m, s,
- sep, work );
-}
-
-//
-// Overloaded function for trsen. Its overload differs for
-// * MatrixT&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixT, typename MatrixQ,
- typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-trsen( const char job, const char compq, const VectorSELECT& select,
- MatrixT& t, const MatrixQ& q, VectorW& w, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- VectorSELECT >::type >::type& s, typename remove_imaginary<
- typename bindings::value_type< VectorSELECT >::type >::type& sep ) {
- return trsen_impl< typename bindings::value_type<
- VectorSELECT >::type >::invoke( job, compq, select, t, q, w, m, s,
- sep, optimal_workspace() );
-}
-
-//
-// Overloaded function for trsen. Its overload differs for
-// * const MatrixT&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename VectorSELECT, typename MatrixT, typename MatrixQ,
- typename VectorW, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-trsen( const char job, const char compq, const VectorSELECT& select,
- const MatrixT& t, const MatrixQ& q, VectorW& w, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- VectorSELECT >::type >::type& s, typename remove_imaginary<
- typename bindings::value_type< VectorSELECT >::type >::type& sep,
- Workspace work ) {
- return trsen_impl< typename bindings::value_type<
- VectorSELECT >::type >::invoke( job, compq, select, t, q, w, m, s,
- sep, work );
-}
-
-//
-// Overloaded function for trsen. Its overload differs for
-// * const MatrixT&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorSELECT, typename MatrixT, typename MatrixQ,
- typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-trsen( const char job, const char compq, const VectorSELECT& select,
- const MatrixT& t, const MatrixQ& q, VectorW& w, fortran_int_t& m,
- typename remove_imaginary< typename bindings::value_type<
- VectorSELECT >::type >::type& s, typename remove_imaginary<
- typename bindings::value_type< VectorSELECT >::type >::type& sep ) {
- return trsen_impl< typename bindings::value_type<
- VectorSELECT >::type >::invoke( job, compq, select, t, q, w, m, s,
- sep, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -245,7 +245,6 @@
 
 //
 // Overloaded function for trsyl. Its overload differs for
-// * MatrixC&
 //
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline std::ptrdiff_t trsyl( const char trana, const char tranb,
@@ -258,21 +257,6 @@
             scale );
 }
 
-//
-// Overloaded function for trsyl. Its overload differs for
-// * const MatrixC&
-//
-template< typename MatrixA, typename MatrixB, typename MatrixC >
-inline std::ptrdiff_t trsyl( const char trana, const char tranb,
- const fortran_int_t isgn, const fortran_int_t m,
- const fortran_int_t n, const MatrixA& a, const MatrixB& b,
- const MatrixC& c, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& scale ) {
- return trsyl_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( trana, tranb, isgn, m, n, a, b, c,
- scale );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -214,7 +214,6 @@
 
 //
 // Overloaded function for trtri. Its overload differs for
-// * MatrixA&
 //
 template< typename MatrixA >
 inline std::ptrdiff_t trtri( MatrixA& a ) {
@@ -222,16 +221,6 @@
             MatrixA >::type >::invoke( a );
 }
 
-//
-// Overloaded function for trtri. Its overload differs for
-// * const MatrixA&
-//
-template< typename MatrixA >
-inline std::ptrdiff_t trtri( const MatrixA& a ) {
- return trtri_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -174,7 +174,6 @@
 
 //
 // Overloaded function for trtrs. Its overload differs for
-// * MatrixB&
 //
 template< typename MatrixA, typename MatrixB >
 inline std::ptrdiff_t trtrs( const MatrixA& a, MatrixB& b ) {
@@ -182,16 +181,6 @@
             MatrixA >::type >::invoke( a, b );
 }
 
-//
-// Overloaded function for trtrs. Its overload differs for
-// * const MatrixB&
-//
-template< typename MatrixA, typename MatrixB >
-inline std::ptrdiff_t trtrs( const MatrixA& a, const MatrixB& b ) {
- return trtrs_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -296,7 +296,6 @@
 
 //
 // Overloaded function for tzrzf. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -309,7 +308,6 @@
 
 //
 // Overloaded function for tzrzf. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -320,32 +318,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for tzrzf. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-tzrzf( const MatrixA& a, VectorTAU& tau, Workspace work ) {
- return tzrzf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for tzrzf. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-tzrzf( const MatrixA& a, VectorTAU& tau ) {
- return tzrzf_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -302,7 +302,6 @@
 
 //
 // Overloaded function for ungbr. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -317,7 +316,6 @@
 
 //
 // Overloaded function for ungbr. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -331,37 +329,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for ungbr. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ungbr( const char vect, const fortran_int_t m,
- const fortran_int_t n, const fortran_int_t k,
- const MatrixA& a, const VectorTAU& tau, Workspace work ) {
- return ungbr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( vect, m, n, k, a, tau, work );
-}
-
-//
-// Overloaded function for ungbr. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-ungbr( const char vect, const fortran_int_t m,
- const fortran_int_t n, const fortran_int_t k,
- const MatrixA& a, const VectorTAU& tau ) {
- return ungbr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( vect, m, n, k, a, tau,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -300,7 +300,6 @@
 
 //
 // Overloaded function for unghr. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -315,7 +314,6 @@
 
 //
 // Overloaded function for unghr. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -328,36 +326,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for unghr. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-unghr( const fortran_int_t n, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixA& a, const VectorTAU& tau,
- Workspace work ) {
- return unghr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( n, ilo, ihi, a, tau, work );
-}
-
-//
-// Overloaded function for unghr. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-unghr( const fortran_int_t n, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixA& a, const VectorTAU& tau ) {
- return unghr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( n, ilo, ihi, a, tau,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -296,7 +296,6 @@
 
 //
 // Overloaded function for unglq. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -309,7 +308,6 @@
 
 //
 // Overloaded function for unglq. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -320,32 +318,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for unglq. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-unglq( const MatrixA& a, const VectorTAU& tau, Workspace work ) {
- return unglq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for unglq. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-unglq( const MatrixA& a, const VectorTAU& tau ) {
- return unglq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -294,7 +294,6 @@
 
 //
 // Overloaded function for ungql. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -307,7 +306,6 @@
 
 //
 // Overloaded function for ungql. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -318,32 +316,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for ungql. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ungql( const MatrixA& a, const VectorTAU& tau, Workspace work ) {
- return ungql_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for ungql. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-ungql( const MatrixA& a, const VectorTAU& tau ) {
- return ungql_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -294,7 +294,6 @@
 
 //
 // Overloaded function for ungqr. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -307,7 +306,6 @@
 
 //
 // Overloaded function for ungqr. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -318,32 +316,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for ungqr. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ungqr( const MatrixA& a, const VectorTAU& tau, Workspace work ) {
- return ungqr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for ungqr. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-ungqr( const MatrixA& a, const VectorTAU& tau ) {
- return ungqr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -296,7 +296,6 @@
 
 //
 // Overloaded function for ungrq. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -309,7 +308,6 @@
 
 //
 // Overloaded function for ungrq. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -320,32 +318,6 @@
             MatrixA >::type >::invoke( a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for ungrq. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ungrq( const MatrixA& a, const VectorTAU& tau, Workspace work ) {
- return ungrq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, work );
-}
-
-//
-// Overloaded function for ungrq. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-ungrq( const MatrixA& a, const VectorTAU& tau ) {
- return ungrq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -302,7 +302,6 @@
 
 //
 // Overloaded function for ungtr. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorTAU, typename Workspace >
@@ -316,7 +315,6 @@
 
 //
 // Overloaded function for ungtr. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorTAU >
@@ -327,34 +325,6 @@
             MatrixA >::type >::invoke( n, a, tau, optimal_workspace() );
 }
 
-//
-// Overloaded function for ungtr. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorTAU, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ungtr( const fortran_int_t n, const MatrixA& a, const VectorTAU& tau,
- Workspace work ) {
- return ungtr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( n, a, tau, work );
-}
-
-//
-// Overloaded function for ungtr. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorTAU >
-inline typename boost::disable_if< detail::is_workspace< VectorTAU >,
- std::ptrdiff_t >::type
-ungtr( const fortran_int_t n, const MatrixA& a,
- const VectorTAU& tau ) {
- return ungtr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( n, a, tau, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -366,7 +366,6 @@
 
 //
 // Overloaded function for unmbr. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -381,7 +380,6 @@
 
 //
 // Overloaded function for unmbr. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -395,38 +393,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for unmbr. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-unmbr( const char vect, const Side side, const fortran_int_t k,
- const MatrixA& a, const VectorTAU& tau, const MatrixC& c,
- Workspace work ) {
- return unmbr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( vect, side, k, a, tau, c, work );
-}
-
-//
-// Overloaded function for unmbr. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-unmbr( const char vect, const Side side, const fortran_int_t k,
- const MatrixA& a, const VectorTAU& tau, const MatrixC& c ) {
- return unmbr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( vect, side, k, a, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -364,7 +364,6 @@
 
 //
 // Overloaded function for unmhr. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -380,7 +379,6 @@
 
 //
 // Overloaded function for unmhr. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -395,39 +393,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for unmhr. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-unmhr( const Side side, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixA& a, const VectorTAU& tau,
- const MatrixC& c, Workspace work ) {
- return unmhr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, ilo, ihi, a, tau, c, work );
-}
-
-//
-// Overloaded function for unmhr. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-unmhr( const Side side, const fortran_int_t ilo,
- const fortran_int_t ihi, const MatrixA& a, const VectorTAU& tau,
- const MatrixC& c ) {
- return unmhr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, ilo, ihi, a, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -367,7 +367,6 @@
 
 //
 // Overloaded function for unmlq. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -382,7 +381,6 @@
 
 //
 // Overloaded function for unmlq. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -396,37 +394,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for unmlq. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-unmlq( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c, Workspace work ) {
- return unmlq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c, work );
-}
-
-//
-// Overloaded function for unmlq. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-unmlq( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c ) {
- return unmlq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -363,7 +363,6 @@
 
 //
 // Overloaded function for unmql. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -378,7 +377,6 @@
 
 //
 // Overloaded function for unmql. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -392,37 +390,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for unmql. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-unmql( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c, Workspace work ) {
- return unmql_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c, work );
-}
-
-//
-// Overloaded function for unmql. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-unmql( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c ) {
- return unmql_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -361,7 +361,6 @@
 
 //
 // Overloaded function for unmqr. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -376,7 +375,6 @@
 
 //
 // Overloaded function for unmqr. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -389,36 +387,6 @@
             MatrixA >::type >::invoke( side, a, tau, c, optimal_workspace() );
 }
 
-//
-// Overloaded function for unmqr. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-unmqr( const Side side, const MatrixA& a, const VectorTAU& tau,
- const MatrixC& c, Workspace work ) {
- return unmqr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, a, tau, c, work );
-}
-
-//
-// Overloaded function for unmqr. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-unmqr( const Side side, const MatrixA& a, const VectorTAU& tau,
- const MatrixC& c ) {
- return unmqr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, a, tau, c, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -367,7 +367,6 @@
 
 //
 // Overloaded function for unmrq. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -382,7 +381,6 @@
 
 //
 // Overloaded function for unmrq. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -396,37 +394,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for unmrq. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-unmrq( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c, Workspace work ) {
- return unmrq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c, work );
-}
-
-//
-// Overloaded function for unmrq. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-unmrq( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c ) {
- return unmrq_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -370,7 +370,6 @@
 
 //
 // Overloaded function for unmrz. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -385,7 +384,6 @@
 
 //
 // Overloaded function for unmrz. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -399,37 +397,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for unmrz. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-unmrz( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c, Workspace work ) {
- return unmrz_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c, work );
-}
-
-//
-// Overloaded function for unmrz. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-unmrz( const Side side, const fortran_int_t k, const MatrixA& a,
- const VectorTAU& tau, const MatrixC& c ) {
- return unmrz_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, k, a, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -364,7 +364,6 @@
 
 //
 // Overloaded function for unmtr. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -379,7 +378,6 @@
 
 //
 // Overloaded function for unmtr. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename MatrixA, typename VectorTAU,
@@ -392,36 +390,6 @@
             MatrixA >::type >::invoke( side, a, tau, c, optimal_workspace() );
 }
 
-//
-// Overloaded function for unmtr. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-unmtr( const Side side, const MatrixA& a, const VectorTAU& tau,
- const MatrixC& c, Workspace work ) {
- return unmtr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, a, tau, c, work );
-}
-
-//
-// Overloaded function for unmtr. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename MatrixA, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-unmtr( const Side side, const MatrixA& a, const VectorTAU& tau,
- const MatrixC& c ) {
- return unmtr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( side, a, tau, c, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -294,7 +294,6 @@
 
 //
 // Overloaded function for upgtr. Its overload differs for
-// * MatrixQ&
 // * User-defined workspace
 //
 template< typename VectorAP, typename VectorTAU, typename MatrixQ,
@@ -309,7 +308,6 @@
 
 //
 // Overloaded function for upgtr. Its overload differs for
-// * MatrixQ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorAP, typename VectorTAU, typename MatrixQ >
@@ -322,36 +320,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for upgtr. Its overload differs for
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename VectorAP, typename VectorTAU, typename MatrixQ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-upgtr( const char uplo, const VectorAP& ap, const VectorTAU& tau,
- const MatrixQ& q, Workspace work ) {
- return upgtr_impl< typename bindings::value_type<
- VectorAP >::type >::invoke( uplo, ap, tau, q, work );
-}
-
-//
-// Overloaded function for upgtr. Its overload differs for
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorAP, typename VectorTAU, typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-upgtr( const char uplo, const VectorAP& ap, const VectorTAU& tau,
- const MatrixQ& q ) {
- return upgtr_impl< typename bindings::value_type<
- VectorAP >::type >::invoke( uplo, ap, tau, q,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -333,7 +333,6 @@
 
 //
 // Overloaded function for upmtr. Its overload differs for
-// * MatrixC&
 // * User-defined workspace
 //
 template< typename Side, typename VectorAP, typename VectorTAU,
@@ -348,7 +347,6 @@
 
 //
 // Overloaded function for upmtr. Its overload differs for
-// * MatrixC&
 // * Default workspace-type (optimal)
 //
 template< typename Side, typename VectorAP, typename VectorTAU,
@@ -362,37 +360,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for upmtr. Its overload differs for
-// * const MatrixC&
-// * User-defined workspace
-//
-template< typename Side, typename VectorAP, typename VectorTAU,
- typename MatrixC, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-upmtr( const Side side, const char uplo, const VectorAP& ap,
- const VectorTAU& tau, const MatrixC& c, Workspace work ) {
- return upmtr_impl< typename bindings::value_type<
- VectorAP >::type >::invoke( side, uplo, ap, tau, c, work );
-}
-
-//
-// Overloaded function for upmtr. Its overload differs for
-// * const MatrixC&
-// * Default workspace-type (optimal)
-//
-template< typename Side, typename VectorAP, typename VectorTAU,
- typename MatrixC >
-inline typename boost::disable_if< detail::is_workspace< MatrixC >,
- std::ptrdiff_t >::type
-upmtr( const Side side, const char uplo, const VectorAP& ap,
- const VectorTAU& tau, const MatrixC& c ) {
- return upmtr_impl< typename bindings::value_type<
- VectorAP >::type >::invoke( side, uplo, ap, tau, c,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -168,8 +168,6 @@
 
 //
 // Overloaded function for gbsv. Its overload differs for
-// * MatrixAB&
-// * MatrixB&
 //
 template< typename MatrixAB, typename VectorIPIV, typename MatrixB >
 inline std::ptrdiff_t gbsv( MatrixAB& ab, VectorIPIV& ipiv, MatrixB& b ) {
@@ -177,42 +175,6 @@
             MatrixAB >::type >::invoke( ab, ipiv, b );
 }
 
-//
-// Overloaded function for gbsv. Its overload differs for
-// * const MatrixAB&
-// * MatrixB&
-//
-template< typename MatrixAB, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t gbsv( const MatrixAB& ab, VectorIPIV& ipiv,
- MatrixB& b ) {
- return gbsv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, ipiv, b );
-}
-
-//
-// Overloaded function for gbsv. Its overload differs for
-// * MatrixAB&
-// * const MatrixB&
-//
-template< typename MatrixAB, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t gbsv( MatrixAB& ab, VectorIPIV& ipiv,
- const MatrixB& b ) {
- return gbsv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, ipiv, b );
-}
-
-//
-// Overloaded function for gbsv. Its overload differs for
-// * const MatrixAB&
-// * const MatrixB&
-//
-template< typename MatrixAB, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t gbsv( const MatrixAB& ab, VectorIPIV& ipiv,
- const MatrixB& b ) {
- return gbsv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, ipiv, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -503,10 +503,6 @@
 
 //
 // Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
@@ -527,10 +523,6 @@
 
 //
 // Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
@@ -547,706 +539,6 @@
             x, rcond, ferr, berr, optimal_workspace() );
 }
 
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- MatrixX& x, typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- MatrixX& x, typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- MatrixX& x, typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- MatrixX& x, typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- MatrixX& x, typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- MatrixX& x, typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, MatrixAFB& afb, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, MatrixAFB& afb, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, MatrixAFB& afb, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, MatrixAFB& afb, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, MatrixAFB& afb, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, MatrixAFB& afb, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, ipiv, equed, r, c, b,
- x, rcond, ferr, berr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -408,8 +408,6 @@
 
 //
 // Overloaded function for gees. Its overload differs for
-// * MatrixA&
-// * MatrixVS&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorWR, typename VectorWI,
@@ -426,8 +424,6 @@
 
 //
 // Overloaded function for gees. Its overload differs for
-// * MatrixA&
-// * MatrixVS&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorWR, typename VectorWI,
@@ -440,118 +436,8 @@
             MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, wr, wi,
             vs, optimal_workspace() );
 }
-
-//
-// Overloaded function for gees. Its overload differs for
-// * const MatrixA&
-// * MatrixVS&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVS, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, external_fp select,
- const MatrixA& a, fortran_int_t& sdim, VectorWR& wr, VectorWI& wi,
- MatrixVS& vs, Workspace work ) {
- return gees_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, wr, wi,
- vs, work );
-}
-
-//
-// Overloaded function for gees. Its overload differs for
-// * const MatrixA&
-// * MatrixVS&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVS >
-inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
- std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, external_fp select,
- const MatrixA& a, fortran_int_t& sdim, VectorWR& wr, VectorWI& wi,
- MatrixVS& vs ) {
- return gees_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, wr, wi,
- vs, optimal_workspace() );
-}
-
-//
-// Overloaded function for gees. Its overload differs for
-// * MatrixA&
-// * const MatrixVS&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVS, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, external_fp select, MatrixA& a,
- fortran_int_t& sdim, VectorWR& wr, VectorWI& wi,
- const MatrixVS& vs, Workspace work ) {
- return gees_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, wr, wi,
- vs, work );
-}
-
-//
-// Overloaded function for gees. Its overload differs for
-// * MatrixA&
-// * const MatrixVS&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVS >
-inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
- std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, external_fp select, MatrixA& a,
- fortran_int_t& sdim, VectorWR& wr, VectorWI& wi,
- const MatrixVS& vs ) {
- return gees_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, wr, wi,
- vs, optimal_workspace() );
-}
-
-//
-// Overloaded function for gees. Its overload differs for
-// * const MatrixA&
-// * const MatrixVS&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVS, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, external_fp select,
- const MatrixA& a, fortran_int_t& sdim, VectorWR& wr, VectorWI& wi,
- const MatrixVS& vs, Workspace work ) {
- return gees_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, wr, wi,
- vs, work );
-}
-
-//
-// Overloaded function for gees. Its overload differs for
-// * const MatrixA&
-// * const MatrixVS&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVS >
-inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
- std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, external_fp select,
- const MatrixA& a, fortran_int_t& sdim, VectorWR& wr, VectorWI& wi,
- const MatrixVS& vs ) {
- return gees_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, wr, wi,
- vs, optimal_workspace() );
-}
 //
 // Overloaded function for gees. Its overload differs for
-// * MatrixA&
-// * MatrixVS&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorW, typename MatrixVS,
@@ -567,8 +453,6 @@
 
 //
 // Overloaded function for gees. Its overload differs for
-// * MatrixA&
-// * MatrixVS&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorW, typename MatrixVS >
@@ -581,109 +465,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for gees. Its overload differs for
-// * const MatrixA&
-// * MatrixVS&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVS,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, external_fp select,
- const MatrixA& a, fortran_int_t& sdim, VectorW& w, MatrixVS& vs,
- Workspace work ) {
- return gees_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, w, vs,
- work );
-}
-
-//
-// Overloaded function for gees. Its overload differs for
-// * const MatrixA&
-// * MatrixVS&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVS >
-inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
- std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, external_fp select,
- const MatrixA& a, fortran_int_t& sdim, VectorW& w, MatrixVS& vs ) {
- return gees_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, w, vs,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gees. Its overload differs for
-// * MatrixA&
-// * const MatrixVS&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVS,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, external_fp select, MatrixA& a,
- fortran_int_t& sdim, VectorW& w, const MatrixVS& vs,
- Workspace work ) {
- return gees_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, w, vs,
- work );
-}
-
-//
-// Overloaded function for gees. Its overload differs for
-// * MatrixA&
-// * const MatrixVS&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVS >
-inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
- std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, external_fp select, MatrixA& a,
- fortran_int_t& sdim, VectorW& w, const MatrixVS& vs ) {
- return gees_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, w, vs,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gees. Its overload differs for
-// * const MatrixA&
-// * const MatrixVS&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVS,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, external_fp select,
- const MatrixA& a, fortran_int_t& sdim, VectorW& w,
- const MatrixVS& vs, Workspace work ) {
- return gees_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, w, vs,
- work );
-}
-
-//
-// Overloaded function for gees. Its overload differs for
-// * const MatrixA&
-// * const MatrixVS&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVS >
-inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
- std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, external_fp select,
- const MatrixA& a, fortran_int_t& sdim, VectorW& w,
- const MatrixVS& vs ) {
- return gees_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, a, sdim, w, vs,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -456,8 +456,6 @@
 
 //
 // Overloaded function for geesx. Its overload differs for
-// * MatrixA&
-// * MatrixVS&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorWR, typename VectorWI,
@@ -477,8 +475,6 @@
 
 //
 // Overloaded function for geesx. Its overload differs for
-// * MatrixA&
-// * MatrixVS&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorWR, typename VectorWI,
@@ -495,137 +491,8 @@
             MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim,
             wr, wi, vs, rconde, rcondv, optimal_workspace() );
 }
-
 //
 // Overloaded function for geesx. Its overload differs for
-// * const MatrixA&
-// * MatrixVS&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVS, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, external_fp select,
- const char sense, const MatrixA& a, fortran_int_t& sdim,
- VectorWR& wr, VectorWI& wi, MatrixVS& vs, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rconde,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcondv, Workspace work ) {
- return geesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim,
- wr, wi, vs, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geesx. Its overload differs for
-// * const MatrixA&
-// * MatrixVS&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVS >
-inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
- std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, external_fp select,
- const char sense, const MatrixA& a, fortran_int_t& sdim,
- VectorWR& wr, VectorWI& wi, MatrixVS& vs, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rconde,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcondv ) {
- return geesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim,
- wr, wi, vs, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for geesx. Its overload differs for
-// * MatrixA&
-// * const MatrixVS&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVS, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, external_fp select,
- const char sense, MatrixA& a, fortran_int_t& sdim, VectorWR& wr,
- VectorWI& wi, const MatrixVS& vs, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rconde,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcondv, Workspace work ) {
- return geesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim,
- wr, wi, vs, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geesx. Its overload differs for
-// * MatrixA&
-// * const MatrixVS&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVS >
-inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
- std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, external_fp select,
- const char sense, MatrixA& a, fortran_int_t& sdim, VectorWR& wr,
- VectorWI& wi, const MatrixVS& vs, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rconde,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcondv ) {
- return geesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim,
- wr, wi, vs, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for geesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixVS&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVS, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, external_fp select,
- const char sense, const MatrixA& a, fortran_int_t& sdim,
- VectorWR& wr, VectorWI& wi, const MatrixVS& vs,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rconde, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcondv,
- Workspace work ) {
- return geesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim,
- wr, wi, vs, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixVS&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVS >
-inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
- std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, external_fp select,
- const char sense, const MatrixA& a, fortran_int_t& sdim,
- VectorWR& wr, VectorWI& wi, const MatrixVS& vs,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rconde, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcondv ) {
- return geesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim,
- wr, wi, vs, rconde, rcondv, optimal_workspace() );
-}
-//
-// Overloaded function for geesx. Its overload differs for
-// * MatrixA&
-// * MatrixVS&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorW, typename MatrixVS,
@@ -645,8 +512,6 @@
 
 //
 // Overloaded function for geesx. Its overload differs for
-// * MatrixA&
-// * MatrixVS&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorW, typename MatrixVS >
@@ -663,129 +528,6 @@
             vs, rconde, rcondv, optimal_workspace() );
 }
 
-//
-// Overloaded function for geesx. Its overload differs for
-// * const MatrixA&
-// * MatrixVS&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVS,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, external_fp select,
- const char sense, const MatrixA& a, fortran_int_t& sdim,
- VectorW& w, MatrixVS& vs, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rconde,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcondv, Workspace work ) {
- return geesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim, w,
- vs, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geesx. Its overload differs for
-// * const MatrixA&
-// * MatrixVS&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVS >
-inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
- std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, external_fp select,
- const char sense, const MatrixA& a, fortran_int_t& sdim,
- VectorW& w, MatrixVS& vs, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rconde,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcondv ) {
- return geesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim, w,
- vs, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for geesx. Its overload differs for
-// * MatrixA&
-// * const MatrixVS&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVS,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, external_fp select,
- const char sense, MatrixA& a, fortran_int_t& sdim, VectorW& w,
- const MatrixVS& vs, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rconde,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcondv, Workspace work ) {
- return geesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim, w,
- vs, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geesx. Its overload differs for
-// * MatrixA&
-// * const MatrixVS&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVS >
-inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
- std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, external_fp select,
- const char sense, MatrixA& a, fortran_int_t& sdim, VectorW& w,
- const MatrixVS& vs, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rconde,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcondv ) {
- return geesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim, w,
- vs, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for geesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixVS&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVS,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, external_fp select,
- const char sense, const MatrixA& a, fortran_int_t& sdim,
- VectorW& w, const MatrixVS& vs, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rconde,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcondv, Workspace work ) {
- return geesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim, w,
- vs, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixVS&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVS >
-inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
- std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, external_fp select,
- const char sense, const MatrixA& a, fortran_int_t& sdim,
- VectorW& w, const MatrixVS& vs, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rconde,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcondv ) {
- return geesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvs, sort, select, sense, a, sdim, w,
- vs, rconde, rcondv, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -392,9 +392,6 @@
 
 //
 // Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorWR, typename VectorWI,
@@ -409,9 +406,6 @@
 
 //
 // Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorWR, typename VectorWI,
@@ -424,261 +418,8 @@
             MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr,
             optimal_workspace() );
 }
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a,
- VectorWR& wr, VectorWI& wi, MatrixVL& vl, MatrixVR& vr,
- Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a,
- VectorWR& wr, VectorWI& wi, MatrixVL& vl, MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, MatrixA& a, VectorWR& wr,
- VectorWI& wi, const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, MatrixA& a, VectorWR& wr,
- VectorWI& wi, const MatrixVL& vl, MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a,
- VectorWR& wr, VectorWI& wi, const MatrixVL& vl, MatrixVR& vr,
- Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a,
- VectorWR& wr, VectorWI& wi, const MatrixVL& vl, MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, MatrixA& a, VectorWR& wr,
- VectorWI& wi, MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr, work );
-}
-
 //
 // Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, MatrixA& a, VectorWR& wr,
- VectorWI& wi, MatrixVL& vl, const MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a,
- VectorWR& wr, VectorWI& wi, MatrixVL& vl, const MatrixVR& vr,
- Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a,
- VectorWR& wr, VectorWI& wi, MatrixVL& vl, const MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, MatrixA& a, VectorWR& wr,
- VectorWI& wi, const MatrixVL& vl, const MatrixVR& vr,
- Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, MatrixA& a, VectorWR& wr,
- VectorWI& wi, const MatrixVL& vl, const MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a,
- VectorWR& wr, VectorWI& wi, const MatrixVL& vl, const MatrixVR& vr,
- Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a,
- VectorWR& wr, VectorWI& wi, const MatrixVL& vl, const MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, wr, wi, vl, vr,
- optimal_workspace() );
-}
-//
-// Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorW, typename MatrixVL,
@@ -693,9 +434,6 @@
 
 //
 // Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorW, typename MatrixVL,
@@ -709,251 +447,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a, VectorW& w,
- MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a, VectorW& w,
- MatrixVL& vl, MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, MatrixA& a, VectorW& w,
- const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, MatrixA& a, VectorW& w,
- const MatrixVL& vl, MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a, VectorW& w,
- const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a, VectorW& w,
- const MatrixVL& vl, MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, MatrixA& a, VectorW& w,
- MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, MatrixA& a, VectorW& w,
- MatrixVL& vl, const MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a, VectorW& w,
- MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a, VectorW& w,
- MatrixVL& vl, const MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, MatrixA& a, VectorW& w,
- const MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, MatrixA& a, VectorW& w,
- const MatrixVL& vl, const MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a, VectorW& w,
- const MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr, work );
-}
-
-//
-// Overloaded function for geev. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-geev( const char jobvl, const char jobvr, const MatrixA& a, VectorW& w,
- const MatrixVL& vl, const MatrixVR& vr ) {
- return geev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, w, vl, vr,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -510,9 +510,6 @@
 
 //
 // Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorWR, typename VectorWI,
@@ -533,9 +530,6 @@
 
 //
 // Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorWR, typename VectorWI,
@@ -554,340 +548,8 @@
             vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv,
             optimal_workspace() );
 }
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorWR& wr, VectorWI& wi,
- MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorWR& wr, VectorWI& wi,
- MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv,
- optimal_workspace() );
-}
-
 //
 // Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, VectorWR& wr, VectorWI& wi,
- const MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, VectorWR& wr, VectorWI& wi,
- const MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorWR& wr, VectorWI& wi,
- const MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorWR& wr, VectorWI& wi,
- const MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, VectorWR& wr, VectorWI& wi,
- MatrixVL& vl, const MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, VectorWR& wr, VectorWI& wi,
- MatrixVL& vl, const MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorWR& wr, VectorWI& wi,
- MatrixVL& vl, const MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorWR& wr, VectorWI& wi,
- MatrixVL& vl, const MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, VectorWR& wr, VectorWI& wi,
- const MatrixVL& vl, const MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, VectorWR& wr, VectorWI& wi,
- const MatrixVL& vl, const MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorWR& wr, VectorWI& wi,
- const MatrixVL& vl, const MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorWR, typename VectorWI,
- typename MatrixVL, typename MatrixVR, typename VectorSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorWR& wr, VectorWI& wi,
- const MatrixVL& vl, const MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, wr, wi,
- vl, vr, ilo, ihi, scale, abnrm, rconde, rcondv,
- optimal_workspace() );
-}
-//
-// Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorW, typename MatrixVL,
@@ -908,9 +570,6 @@
 
 //
 // Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorW, typename MatrixVL,
@@ -929,328 +588,6 @@
             vr, ilo, ihi, scale, abnrm, rconde, rcondv, optimal_workspace() );
 }
 
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorW& w, MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorW& w, MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, VectorW& w, const MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, VectorW& w, const MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorW& w, const MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorW& w, const MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, VectorW& w, MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, VectorW& w, MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorW& w, MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorW& w, MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, VectorW& w, const MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, VectorW& w, const MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorW& w, const MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for geevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixVL,
- typename MatrixVR, typename VectorSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-geevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, VectorW& w, const MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorSCALE& scale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return geevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, w, vl,
- vr, ilo, ihi, scale, abnrm, rconde, rcondv, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -437,10 +437,6 @@
 
 //
 // Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
@@ -458,10 +454,6 @@
 
 //
 // Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
@@ -476,1132 +468,8 @@
             MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
             beta, vl, vr, optimal_workspace() );
 }
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVL& vl, MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVL& vl, MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVL& vl, const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVL& vl, const MatrixVR& vr,
- Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVL& vl, const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
- Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
- Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
- Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
 //
 // Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -1610,8 +478,8 @@
 inline typename boost::enable_if< detail::is_workspace< Workspace >,
         std::ptrdiff_t >::type
 gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
+ VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
+ Workspace work ) {
     return gegv_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
             vr, work );
@@ -1619,10 +487,6 @@
 
 //
 // Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -1630,131 +494,7 @@
 inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
         std::ptrdiff_t >::type
 gegv( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return gegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for gegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-gegv( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr ) {
+ VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr ) {
     return gegv_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
             vr, optimal_workspace() );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gejsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gejsv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gejsv.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -236,9 +236,6 @@
 
 //
 // Overloaded function for gejsv. Its overload differs for
-// * MatrixA&
-// * MatrixU&
-// * MatrixV&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorSVA, typename MatrixU,
@@ -255,9 +252,6 @@
 
 //
 // Overloaded function for gejsv. Its overload differs for
-// * MatrixA&
-// * MatrixU&
-// * MatrixV&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorSVA, typename MatrixU,
@@ -272,272 +266,6 @@
             sva, u, v, optimal_workspace() );
 }
 
-//
-// Overloaded function for gejsv. Its overload differs for
-// * const MatrixA&
-// * MatrixU&
-// * MatrixV&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, const MatrixA& a,
- VectorSVA& sva, MatrixU& u, MatrixV& v, Workspace work ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, work );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * const MatrixA&
-// * MatrixU&
-// * MatrixV&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV >
-inline typename boost::disable_if< detail::is_workspace< MatrixV >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, const MatrixA& a,
- VectorSVA& sva, MatrixU& u, MatrixV& v ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, optimal_workspace() );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * MatrixA&
-// * const MatrixU&
-// * MatrixV&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, MatrixA& a,
- VectorSVA& sva, const MatrixU& u, MatrixV& v, Workspace work ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, work );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * MatrixA&
-// * const MatrixU&
-// * MatrixV&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV >
-inline typename boost::disable_if< detail::is_workspace< MatrixV >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, MatrixA& a,
- VectorSVA& sva, const MatrixU& u, MatrixV& v ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, optimal_workspace() );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * const MatrixA&
-// * const MatrixU&
-// * MatrixV&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, const MatrixA& a,
- VectorSVA& sva, const MatrixU& u, MatrixV& v, Workspace work ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, work );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * const MatrixA&
-// * const MatrixU&
-// * MatrixV&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV >
-inline typename boost::disable_if< detail::is_workspace< MatrixV >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, const MatrixA& a,
- VectorSVA& sva, const MatrixU& u, MatrixV& v ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, optimal_workspace() );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * MatrixA&
-// * MatrixU&
-// * const MatrixV&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, MatrixA& a,
- VectorSVA& sva, MatrixU& u, const MatrixV& v, Workspace work ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, work );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * MatrixA&
-// * MatrixU&
-// * const MatrixV&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV >
-inline typename boost::disable_if< detail::is_workspace< MatrixV >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, MatrixA& a,
- VectorSVA& sva, MatrixU& u, const MatrixV& v ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, optimal_workspace() );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * const MatrixA&
-// * MatrixU&
-// * const MatrixV&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, const MatrixA& a,
- VectorSVA& sva, MatrixU& u, const MatrixV& v, Workspace work ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, work );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * const MatrixA&
-// * MatrixU&
-// * const MatrixV&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV >
-inline typename boost::disable_if< detail::is_workspace< MatrixV >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, const MatrixA& a,
- VectorSVA& sva, MatrixU& u, const MatrixV& v ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, optimal_workspace() );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * MatrixA&
-// * const MatrixU&
-// * const MatrixV&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, MatrixA& a,
- VectorSVA& sva, const MatrixU& u, const MatrixV& v, Workspace work ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, work );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * MatrixA&
-// * const MatrixU&
-// * const MatrixV&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV >
-inline typename boost::disable_if< detail::is_workspace< MatrixV >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, MatrixA& a,
- VectorSVA& sva, const MatrixU& u, const MatrixV& v ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, optimal_workspace() );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * const MatrixA&
-// * const MatrixU&
-// * const MatrixV&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, const MatrixA& a,
- VectorSVA& sva, const MatrixU& u, const MatrixV& v, Workspace work ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, work );
-}
-
-//
-// Overloaded function for gejsv. Its overload differs for
-// * const MatrixA&
-// * const MatrixU&
-// * const MatrixV&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorSVA, typename MatrixU,
- typename MatrixV >
-inline typename boost::disable_if< detail::is_workspace< MatrixV >,
- std::ptrdiff_t >::type
-gejsv( const char joba, const char jobu, const char jobv,
- const char jobr, const char jobt, const char jobp, const MatrixA& a,
- VectorSVA& sva, const MatrixU& u, const MatrixV& v ) {
- return gejsv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( joba, jobu, jobv, jobr, jobt, jobp, a,
- sva, u, v, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -345,8 +345,6 @@
 
 //
 // Overloaded function for gels. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename Workspace >
@@ -359,8 +357,6 @@
 
 //
 // Overloaded function for gels. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB >
@@ -371,90 +367,6 @@
             MatrixA >::type >::invoke( a, b, optimal_workspace() );
 }
 
-//
-// Overloaded function for gels. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gels( const MatrixA& a, MatrixB& b, Workspace work ) {
- return gels_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, work );
-}
-
-//
-// Overloaded function for gels. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB >
-inline typename boost::disable_if< detail::is_workspace< MatrixB >,
- std::ptrdiff_t >::type
-gels( const MatrixA& a, MatrixB& b ) {
- return gels_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, optimal_workspace() );
-}
-
-//
-// Overloaded function for gels. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gels( MatrixA& a, const MatrixB& b, Workspace work ) {
- return gels_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, work );
-}
-
-//
-// Overloaded function for gels. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB >
-inline typename boost::disable_if< detail::is_workspace< MatrixB >,
- std::ptrdiff_t >::type
-gels( MatrixA& a, const MatrixB& b ) {
- return gels_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, optimal_workspace() );
-}
-
-//
-// Overloaded function for gels. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gels( const MatrixA& a, const MatrixB& b, Workspace work ) {
- return gels_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, work );
-}
-
-//
-// Overloaded function for gels. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB >
-inline typename boost::disable_if< detail::is_workspace< MatrixB >,
- std::ptrdiff_t >::type
-gels( const MatrixA& a, const MatrixB& b ) {
- return gels_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -456,8 +456,6 @@
 
 //
 // Overloaded function for gelsd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorS,
@@ -474,8 +472,6 @@
 
 //
 // Overloaded function for gelsd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorS >
@@ -489,111 +485,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for gelsd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorS,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gelsd( const MatrixA& a, MatrixB& b, VectorS& s,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank,
- Workspace work ) {
- return gelsd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, s, rcond, rank, work );
-}
-
-//
-// Overloaded function for gelsd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorS >
-inline typename boost::disable_if< detail::is_workspace< VectorS >,
- std::ptrdiff_t >::type
-gelsd( const MatrixA& a, MatrixB& b, VectorS& s,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank ) {
- return gelsd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, s, rcond, rank,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gelsd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorS,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gelsd( MatrixA& a, const MatrixB& b, VectorS& s,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank,
- Workspace work ) {
- return gelsd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, s, rcond, rank, work );
-}
-
-//
-// Overloaded function for gelsd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorS >
-inline typename boost::disable_if< detail::is_workspace< VectorS >,
- std::ptrdiff_t >::type
-gelsd( MatrixA& a, const MatrixB& b, VectorS& s,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank ) {
- return gelsd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, s, rcond, rank,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gelsd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorS,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gelsd( const MatrixA& a, const MatrixB& b, VectorS& s,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank,
- Workspace work ) {
- return gelsd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, s, rcond, rank, work );
-}
-
-//
-// Overloaded function for gelsd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorS >
-inline typename boost::disable_if< detail::is_workspace< VectorS >,
- std::ptrdiff_t >::type
-gelsd( const MatrixA& a, const MatrixB& b, VectorS& s,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank ) {
- return gelsd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, s, rcond, rank,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -378,8 +378,6 @@
 
 //
 // Overloaded function for gelss. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorS,
@@ -396,8 +394,6 @@
 
 //
 // Overloaded function for gelss. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorS >
@@ -411,111 +407,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for gelss. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorS,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gelss( const MatrixA& a, MatrixB& b, VectorS& s,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank,
- Workspace work ) {
- return gelss_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, s, rcond, rank, work );
-}
-
-//
-// Overloaded function for gelss. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorS >
-inline typename boost::disable_if< detail::is_workspace< VectorS >,
- std::ptrdiff_t >::type
-gelss( const MatrixA& a, MatrixB& b, VectorS& s,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank ) {
- return gelss_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, s, rcond, rank,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gelss. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorS,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gelss( MatrixA& a, const MatrixB& b, VectorS& s,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank,
- Workspace work ) {
- return gelss_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, s, rcond, rank, work );
-}
-
-//
-// Overloaded function for gelss. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorS >
-inline typename boost::disable_if< detail::is_workspace< VectorS >,
- std::ptrdiff_t >::type
-gelss( MatrixA& a, const MatrixB& b, VectorS& s,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank ) {
- return gelss_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, s, rcond, rank,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gelss. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorS,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gelss( const MatrixA& a, const MatrixB& b, VectorS& s,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank,
- Workspace work ) {
- return gelss_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, s, rcond, rank, work );
-}
-
-//
-// Overloaded function for gelss. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorS >
-inline typename boost::disable_if< detail::is_workspace< VectorS >,
- std::ptrdiff_t >::type
-gelss( const MatrixA& a, const MatrixB& b, VectorS& s,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank ) {
- return gelss_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, s, rcond, rank,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -363,8 +363,6 @@
 
 //
 // Overloaded function for gelsy. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorJPVT,
@@ -381,8 +379,6 @@
 
 //
 // Overloaded function for gelsy. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorJPVT >
@@ -396,111 +392,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for gelsy. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorJPVT,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gelsy( const MatrixA& a, MatrixB& b, VectorJPVT& jpvt,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank,
- Workspace work ) {
- return gelsy_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, jpvt, rcond, rank, work );
-}
-
-//
-// Overloaded function for gelsy. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorJPVT >
-inline typename boost::disable_if< detail::is_workspace< VectorJPVT >,
- std::ptrdiff_t >::type
-gelsy( const MatrixA& a, MatrixB& b, VectorJPVT& jpvt,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank ) {
- return gelsy_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, jpvt, rcond, rank,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gelsy. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorJPVT,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gelsy( MatrixA& a, const MatrixB& b, VectorJPVT& jpvt,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank,
- Workspace work ) {
- return gelsy_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, jpvt, rcond, rank, work );
-}
-
-//
-// Overloaded function for gelsy. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorJPVT >
-inline typename boost::disable_if< detail::is_workspace< VectorJPVT >,
- std::ptrdiff_t >::type
-gelsy( MatrixA& a, const MatrixB& b, VectorJPVT& jpvt,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank ) {
- return gelsy_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, jpvt, rcond, rank,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gelsy. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorJPVT,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gelsy( const MatrixA& a, const MatrixB& b, VectorJPVT& jpvt,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank,
- Workspace work ) {
- return gelsy_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, jpvt, rcond, rank, work );
-}
-
-//
-// Overloaded function for gelsy. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorJPVT >
-inline typename boost::disable_if< detail::is_workspace< VectorJPVT >,
- std::ptrdiff_t >::type
-gelsy( const MatrixA& a, const MatrixB& b, VectorJPVT& jpvt,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type rcond, fortran_int_t& rank ) {
- return gelsy_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, jpvt, rcond, rank,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -430,9 +430,6 @@
 
 //
 // Overloaded function for gesdd. Its overload differs for
-// * MatrixA&
-// * MatrixU&
-// * MatrixVT&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorS, typename MatrixU,
@@ -447,9 +444,6 @@
 
 //
 // Overloaded function for gesdd. Its overload differs for
-// * MatrixA&
-// * MatrixU&
-// * MatrixVT&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorS, typename MatrixU,
@@ -463,251 +457,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for gesdd. Its overload differs for
-// * const MatrixA&
-// * MatrixU&
-// * MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, const MatrixA& a, VectorS& s, MatrixU& u,
- MatrixVT& vt, Workspace work ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * const MatrixA&
-// * MatrixU&
-// * MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, const MatrixA& a, VectorS& s, MatrixU& u,
- MatrixVT& vt ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * MatrixA&
-// * const MatrixU&
-// * MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, MatrixA& a, VectorS& s, const MatrixU& u,
- MatrixVT& vt, Workspace work ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * MatrixA&
-// * const MatrixU&
-// * MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, MatrixA& a, VectorS& s, const MatrixU& u,
- MatrixVT& vt ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * const MatrixA&
-// * const MatrixU&
-// * MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, const MatrixA& a, VectorS& s, const MatrixU& u,
- MatrixVT& vt, Workspace work ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * const MatrixA&
-// * const MatrixU&
-// * MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, const MatrixA& a, VectorS& s, const MatrixU& u,
- MatrixVT& vt ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * MatrixA&
-// * MatrixU&
-// * const MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, MatrixA& a, VectorS& s, MatrixU& u,
- const MatrixVT& vt, Workspace work ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * MatrixA&
-// * MatrixU&
-// * const MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, MatrixA& a, VectorS& s, MatrixU& u,
- const MatrixVT& vt ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * const MatrixA&
-// * MatrixU&
-// * const MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, const MatrixA& a, VectorS& s, MatrixU& u,
- const MatrixVT& vt, Workspace work ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * const MatrixA&
-// * MatrixU&
-// * const MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, const MatrixA& a, VectorS& s, MatrixU& u,
- const MatrixVT& vt ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * MatrixA&
-// * const MatrixU&
-// * const MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, MatrixA& a, VectorS& s, const MatrixU& u,
- const MatrixVT& vt, Workspace work ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * MatrixA&
-// * const MatrixU&
-// * const MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, MatrixA& a, VectorS& s, const MatrixU& u,
- const MatrixVT& vt ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * const MatrixA&
-// * const MatrixU&
-// * const MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, const MatrixA& a, VectorS& s, const MatrixU& u,
- const MatrixVT& vt, Workspace work ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesdd. Its overload differs for
-// * const MatrixA&
-// * const MatrixU&
-// * const MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesdd( const char jobz, const MatrixA& a, VectorS& s, const MatrixU& u,
- const MatrixVT& vt ) {
- return gesdd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, s, u, vt,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -227,8 +227,6 @@
 
 //
 // Overloaded function for gesv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 //
 template< typename MatrixA, typename VectorIPIV, typename MatrixB >
 inline std::ptrdiff_t gesv( MatrixA& a, VectorIPIV& ipiv, MatrixB& b ) {
@@ -236,42 +234,6 @@
             MatrixA >::type >::invoke( a, ipiv, b );
 }
 
-//
-// Overloaded function for gesv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t gesv( const MatrixA& a, VectorIPIV& ipiv,
- MatrixB& b ) {
- return gesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b );
-}
-
-//
-// Overloaded function for gesv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t gesv( MatrixA& a, VectorIPIV& ipiv,
- const MatrixB& b ) {
- return gesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b );
-}
-
-//
-// Overloaded function for gesv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t gesv( const MatrixA& a, VectorIPIV& ipiv,
- const MatrixB& b ) {
- return gesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -401,9 +401,6 @@
 
 //
 // Overloaded function for gesvd. Its overload differs for
-// * MatrixA&
-// * MatrixU&
-// * MatrixVT&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorS, typename MatrixU,
@@ -418,9 +415,6 @@
 
 //
 // Overloaded function for gesvd. Its overload differs for
-// * MatrixA&
-// * MatrixU&
-// * MatrixVT&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorS, typename MatrixU,
@@ -434,251 +428,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for gesvd. Its overload differs for
-// * const MatrixA&
-// * MatrixU&
-// * MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, const MatrixA& a, VectorS& s,
- MatrixU& u, MatrixVT& vt, Workspace work ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * const MatrixA&
-// * MatrixU&
-// * MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, const MatrixA& a, VectorS& s,
- MatrixU& u, MatrixVT& vt ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * MatrixA&
-// * const MatrixU&
-// * MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, MatrixA& a, VectorS& s,
- const MatrixU& u, MatrixVT& vt, Workspace work ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * MatrixA&
-// * const MatrixU&
-// * MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, MatrixA& a, VectorS& s,
- const MatrixU& u, MatrixVT& vt ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixU&
-// * MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, const MatrixA& a, VectorS& s,
- const MatrixU& u, MatrixVT& vt, Workspace work ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixU&
-// * MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, const MatrixA& a, VectorS& s,
- const MatrixU& u, MatrixVT& vt ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * MatrixA&
-// * MatrixU&
-// * const MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, MatrixA& a, VectorS& s,
- MatrixU& u, const MatrixVT& vt, Workspace work ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * MatrixA&
-// * MatrixU&
-// * const MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, MatrixA& a, VectorS& s,
- MatrixU& u, const MatrixVT& vt ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * const MatrixA&
-// * MatrixU&
-// * const MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, const MatrixA& a, VectorS& s,
- MatrixU& u, const MatrixVT& vt, Workspace work ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * const MatrixA&
-// * MatrixU&
-// * const MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, const MatrixA& a, VectorS& s,
- MatrixU& u, const MatrixVT& vt ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * MatrixA&
-// * const MatrixU&
-// * const MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, MatrixA& a, VectorS& s,
- const MatrixU& u, const MatrixVT& vt, Workspace work ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * MatrixA&
-// * const MatrixU&
-// * const MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, MatrixA& a, VectorS& s,
- const MatrixU& u, const MatrixVT& vt ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixU&
-// * const MatrixVT&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, const MatrixA& a, VectorS& s,
- const MatrixU& u, const MatrixVT& vt, Workspace work ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt, work );
-}
-
-//
-// Overloaded function for gesvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixU&
-// * const MatrixVT&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorS, typename MatrixU,
- typename MatrixVT >
-inline typename boost::disable_if< detail::is_workspace< MatrixVT >,
- std::ptrdiff_t >::type
-gesvd( const char jobu, const char jobvt, const MatrixA& a, VectorS& s,
- const MatrixU& u, const MatrixVT& vt ) {
- return gesvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobvt, a, s, u, vt,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -480,10 +480,6 @@
 
 //
 // Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
@@ -504,10 +500,6 @@
 
 //
 // Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
@@ -524,702 +516,6 @@
             rcond, ferr, berr, optimal_workspace() );
 }
 
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, const MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, const MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- MatrixX& x, typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- MatrixX& x, typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, const MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, const MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, const MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, const MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c, MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, const MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, MatrixA& a, const MatrixAF& af, VectorIPIV& ipiv,
- char& equed, VectorR& r, VectorC& c, const MatrixB& b,
- const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gesvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename VectorR, typename VectorC, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gesvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, char& equed, VectorR& r, VectorC& c,
- const MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return gesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, equed, r, c, b, x,
- rcond, ferr, berr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -503,10 +503,6 @@
 
 //
 // Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
@@ -525,10 +521,6 @@
 
 //
 // Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
@@ -544,1025 +536,8 @@
             MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
             sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
 }
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
- Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
- Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
- Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
- Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
- Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
- Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
- Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
- Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
- Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alphar, alphai, beta, vsl, vsr, optimal_workspace() );
-}
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
- Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVSL& vsl,
- MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVSL& vsl,
- MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVSL& vsl,
- MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
 //
 // Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -1572,8 +547,8 @@
         std::ptrdiff_t >::type
 gges( const char jobvsl, const char jobvsr, const char sort,
         external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVSL& vsl,
- const MatrixVSR& vsr, Workspace work ) {
+ VectorALPHA& alpha, VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
+ Workspace work ) {
     return gges_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
             sdim, alpha, beta, vsl, vsr, work );
@@ -1581,10 +556,6 @@
 
 //
 // Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -1594,308 +565,7 @@
 gges( const char jobvsl, const char jobvsr, const char sort,
         external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
         VectorALPHA& alpha, VectorBETA& beta, MatrixVSL& vsl,
- const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVSL& vsl,
- const MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVSL& vsl,
- const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, optimal_workspace() );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr, Workspace work ) {
- return gges_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
- sdim, alpha, beta, vsl, vsr, work );
-}
-
-//
-// Overloaded function for gges. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
- std::ptrdiff_t >::type
-gges( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr ) {
+ MatrixVSR& vsr ) {
     return gges_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, a, b,
             sdim, alpha, beta, vsl, vsr, optimal_workspace() );

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -598,10 +598,6 @@
 
 //
 // Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
@@ -622,10 +618,6 @@
 
 //
 // Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
@@ -643,1300 +635,8 @@
             b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
             optimal_workspace() );
 }
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVSL& vsl,
- MatrixVSR& vsr, VectorRCONDE& rconde, VectorRCONDV& rcondv,
- Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVSL& vsl,
- MatrixVSR& vsr, VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVSL& vsl,
- MatrixVSR& vsr, VectorRCONDE& rconde, VectorRCONDV& rcondv,
- Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVSL& vsl,
- MatrixVSR& vsr, VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVSL& vsl,
- const MatrixVSR& vsr, VectorRCONDE& rconde, VectorRCONDV& rcondv,
- Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVSL& vsl,
- const MatrixVSR& vsr, VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVSL& vsl,
- const MatrixVSR& vsr, VectorRCONDE& rconde, VectorRCONDV& rcondv,
- Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
- typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVSL& vsl,
- const MatrixVSR& vsr, VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alphar, alphai, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- MatrixVSL& vsl, const MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
 //
 // Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -1947,7 +647,7 @@
 ggesx( const char jobvsl, const char jobvsr, const char sort,
         external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
         fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr, VectorRCONDE& rconde,
+ MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
         VectorRCONDV& rcondv, Workspace work ) {
     return ggesx_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
@@ -1956,10 +656,6 @@
 
 //
 // Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -1970,101 +666,7 @@
 ggesx( const char jobvsl, const char jobvsr, const char sort,
         external_fp selctg, const char sense, MatrixA& a, MatrixB& b,
         fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a, MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, MatrixA& a, const MatrixB& b,
- fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVSL& vsl, const MatrixVSR& vsr, VectorRCONDE& rconde,
+ MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
         VectorRCONDV& rcondv ) {
     return ggesx_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
@@ -2072,53 +674,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggesx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVSL&
-// * const MatrixVSR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggesx( const char jobvsl, const char jobvsr, const char sort,
- external_fp selctg, const char sense, const MatrixA& a,
- const MatrixB& b, fortran_int_t& sdim, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggesx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvsl, jobvsr, sort, selctg, sense, a,
- b, sdim, alpha, beta, vsl, vsr, rconde, rcondv,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -437,10 +437,6 @@
 
 //
 // Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
@@ -458,10 +454,6 @@
 
 //
 // Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
@@ -476,1132 +468,8 @@
             MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
             beta, vl, vr, optimal_workspace() );
 }
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVL& vl, MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVL& vl, MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, MatrixVL& vl, const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVL& vl, const MatrixVR& vr,
- Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai,
- VectorBETA& beta, const MatrixVL& vl, const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alphar, alphai,
- beta, vl, vr, optimal_workspace() );
-}
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
- Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
- Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
- Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
 //
 // Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -1610,8 +478,8 @@
 inline typename boost::enable_if< detail::is_workspace< Workspace >,
         std::ptrdiff_t >::type
 ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
+ VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
+ Workspace work ) {
     return ggev_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
             vr, work );
@@ -1619,10 +487,6 @@
 
 //
 // Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -1630,131 +494,7 @@
 inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
         std::ptrdiff_t >::type
 ggev( const char jobvl, const char jobvr, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr, Workspace work ) {
- return ggev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
- vr, work );
-}
-
-//
-// Overloaded function for ggev. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR >
-inline typename boost::disable_if< detail::is_workspace< MatrixVR >,
- std::ptrdiff_t >::type
-ggev( const char jobvl, const char jobvr, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr ) {
+ VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr ) {
     return ggev_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( jobvl, jobvr, a, b, alpha, beta, vl,
             vr, optimal_workspace() );

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -652,10 +652,6 @@
 
 //
 // Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
@@ -681,10 +677,6 @@
 
 //
 // Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
@@ -707,1572 +699,8 @@
             alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
             bbnrm, rconde, rcondv, optimal_workspace() );
 }
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- MatrixVL& vl, const MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHAR& alphar,
- VectorALPHAI& alphai, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHAR,
- typename VectorALPHAI, typename VectorBETA, typename MatrixVL,
- typename MatrixVR, typename VectorLSCALE, typename VectorRSCALE,
- typename VectorRCONDE, typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
- const MatrixVL& vl, const MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alphar, alphai, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm,
- bbnrm, rconde, rcondv, optimal_workspace() );
-}
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
- fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& abnrm, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& bbnrm,
- VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl, MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVL& vl, MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVL& vl, MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVL& vl, MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVL& vl, MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVL& vl, MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVL& vl, MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVL& vl, const MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVL& vl, const MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVL& vl, const MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVL& vl, const MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVL& vl, const MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, MatrixVL& vl, const MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
 //
 // Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -2283,13 +711,12 @@
         std::ptrdiff_t >::type
 ggevx( const char balanc, const char jobvl, const char jobvr,
         const char sense, MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVL& vl, const MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
+ VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
+ fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
         typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
+ MatrixA >::type >::type& abnrm, typename remove_imaginary<
+ typename bindings::value_type< MatrixA >::type >::type& bbnrm,
+ VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
     return ggevx_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
             alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
@@ -2298,10 +725,6 @@
 
 //
 // Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -2312,187 +735,12 @@
         std::ptrdiff_t >::type
 ggevx( const char balanc, const char jobvl, const char jobvr,
         const char sense, MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVL& vl, const MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVL& vl, const MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVL& vl, const MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVL& vl, const MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, MatrixA& a, const MatrixB& b, VectorALPHA& alpha,
- VectorBETA& beta, const MatrixVL& vl, const MatrixVR& vr,
- fortran_int_t& ilo, fortran_int_t& ihi, VectorLSCALE& lscale,
- VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv, Workspace work ) {
- return ggevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
- alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,
- rconde, rcondv, work );
-}
-
-//
-// Overloaded function for ggevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixVL&
-// * const MatrixVR&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixVL, typename MatrixVR,
- typename VectorLSCALE, typename VectorRSCALE, typename VectorRCONDE,
- typename VectorRCONDV >
-inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
- std::ptrdiff_t >::type
-ggevx( const char balanc, const char jobvl, const char jobvr,
- const char sense, const MatrixA& a, const MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixVL& vl,
- const MatrixVR& vr, fortran_int_t& ilo, fortran_int_t& ihi,
- VectorLSCALE& lscale, VectorRSCALE& rscale, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& abnrm,
+ VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, fortran_int_t& ilo,
+ fortran_int_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale,
         typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& bbnrm, VectorRCONDE& rconde,
- VectorRCONDV& rcondv ) {
+ MatrixA >::type >::type& abnrm, typename remove_imaginary<
+ typename bindings::value_type< MatrixA >::type >::type& bbnrm,
+ VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
     return ggevx_impl< typename bindings::value_type<
             MatrixA >::type >::invoke( balanc, jobvl, jobvr, sense, a, b,
             alpha, beta, vl, vr, ilo, ihi, lscale, rscale, abnrm, bbnrm,

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -374,8 +374,6 @@
 
 //
 // Overloaded function for ggglm. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorD,
@@ -390,8 +388,6 @@
 
 //
 // Overloaded function for ggglm. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorD,
@@ -403,102 +399,6 @@
             MatrixA >::type >::invoke( a, b, d, x, y, optimal_workspace() );
 }
 
-//
-// Overloaded function for ggglm. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorD,
- typename VectorX, typename VectorY, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggglm( const MatrixA& a, MatrixB& b, VectorD& d, VectorX& x, VectorY& y,
- Workspace work ) {
- return ggglm_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, d, x, y, work );
-}
-
-//
-// Overloaded function for ggglm. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorD,
- typename VectorX, typename VectorY >
-inline typename boost::disable_if< detail::is_workspace< VectorY >,
- std::ptrdiff_t >::type
-ggglm( const MatrixA& a, MatrixB& b, VectorD& d, VectorX& x,
- VectorY& y ) {
- return ggglm_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, d, x, y, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggglm. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorD,
- typename VectorX, typename VectorY, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggglm( MatrixA& a, const MatrixB& b, VectorD& d, VectorX& x, VectorY& y,
- Workspace work ) {
- return ggglm_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, d, x, y, work );
-}
-
-//
-// Overloaded function for ggglm. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorD,
- typename VectorX, typename VectorY >
-inline typename boost::disable_if< detail::is_workspace< VectorY >,
- std::ptrdiff_t >::type
-ggglm( MatrixA& a, const MatrixB& b, VectorD& d, VectorX& x,
- VectorY& y ) {
- return ggglm_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, d, x, y, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggglm. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorD,
- typename VectorX, typename VectorY, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggglm( const MatrixA& a, const MatrixB& b, VectorD& d, VectorX& x,
- VectorY& y, Workspace work ) {
- return ggglm_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, d, x, y, work );
-}
-
-//
-// Overloaded function for ggglm. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorD,
- typename VectorX, typename VectorY >
-inline typename boost::disable_if< detail::is_workspace< VectorY >,
- std::ptrdiff_t >::type
-ggglm( const MatrixA& a, const MatrixB& b, VectorD& d, VectorX& x,
- VectorY& y ) {
- return ggglm_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, d, x, y, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -372,8 +372,6 @@
 
 //
 // Overloaded function for gglse. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorC,
@@ -388,8 +386,6 @@
 
 //
 // Overloaded function for gglse. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorC,
@@ -401,102 +397,6 @@
             MatrixA >::type >::invoke( a, b, c, d, x, optimal_workspace() );
 }
 
-//
-// Overloaded function for gglse. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorC,
- typename VectorD, typename VectorX, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gglse( const MatrixA& a, MatrixB& b, VectorC& c, VectorD& d, VectorX& x,
- Workspace work ) {
- return gglse_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, c, d, x, work );
-}
-
-//
-// Overloaded function for gglse. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorC,
- typename VectorD, typename VectorX >
-inline typename boost::disable_if< detail::is_workspace< VectorX >,
- std::ptrdiff_t >::type
-gglse( const MatrixA& a, MatrixB& b, VectorC& c, VectorD& d,
- VectorX& x ) {
- return gglse_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, c, d, x, optimal_workspace() );
-}
-
-//
-// Overloaded function for gglse. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorC,
- typename VectorD, typename VectorX, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gglse( MatrixA& a, const MatrixB& b, VectorC& c, VectorD& d, VectorX& x,
- Workspace work ) {
- return gglse_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, c, d, x, work );
-}
-
-//
-// Overloaded function for gglse. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorC,
- typename VectorD, typename VectorX >
-inline typename boost::disable_if< detail::is_workspace< VectorX >,
- std::ptrdiff_t >::type
-gglse( MatrixA& a, const MatrixB& b, VectorC& c, VectorD& d,
- VectorX& x ) {
- return gglse_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, c, d, x, optimal_workspace() );
-}
-
-//
-// Overloaded function for gglse. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorC,
- typename VectorD, typename VectorX, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gglse( const MatrixA& a, const MatrixB& b, VectorC& c, VectorD& d,
- VectorX& x, Workspace work ) {
- return gglse_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, c, d, x, work );
-}
-
-//
-// Overloaded function for gglse. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorC,
- typename VectorD, typename VectorX >
-inline typename boost::disable_if< detail::is_workspace< VectorX >,
- std::ptrdiff_t >::type
-gglse( const MatrixA& a, const MatrixB& b, VectorC& c, VectorD& d,
- VectorX& x ) {
- return gglse_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, c, d, x, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -472,11 +472,6 @@
 
 //
 // Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -495,11 +490,6 @@
 
 //
 // Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorALPHA,
@@ -516,1434 +506,6 @@
             beta, u, v, q, optimal_workspace() );
 }
 
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u, MatrixV& v,
- MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u, MatrixV& v,
- MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u,
- MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u,
- MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixU& u, const MatrixV& v,
- MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixU& u, const MatrixV& v,
- MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- const MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- const MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- const MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- const MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- const MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- const MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u,
- const MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u,
- const MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u,
- const MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u,
- const MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixU& u, MatrixV& v,
- const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixU& u, MatrixV& v,
- const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- MatrixV& v, const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- MatrixV& v, const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- MatrixV& v, const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u, MatrixV& v,
- const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u, MatrixV& v,
- const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u,
- MatrixV& v, const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u,
- MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixU& u, const MatrixV& v,
- const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, MatrixU& u, const MatrixV& v,
- const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- const MatrixV& v, const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- const MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- const MatrixV& v, const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- const MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- const MatrixV& v, const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u,
- const MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u,
- const MatrixV& v, const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a, MatrixB& b,
- VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u,
- const MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u,
- const MatrixV& v, const MatrixQ& q, Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, const MatrixU& u,
- const MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, const MatrixQ& q,
- Workspace work ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, work );
-}
-
-//
-// Overloaded function for ggsvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixU&
-// * const MatrixV&
-// * const MatrixQ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorALPHA,
- typename VectorBETA, typename MatrixU, typename MatrixV,
- typename MatrixQ >
-inline typename boost::disable_if< detail::is_workspace< MatrixQ >,
- std::ptrdiff_t >::type
-ggsvd( const char jobu, const char jobv, const char jobq,
- fortran_int_t& k, fortran_int_t& l, const MatrixA& a,
- const MatrixB& b, VectorALPHA& alpha, VectorBETA& beta,
- const MatrixU& u, const MatrixV& v, const MatrixQ& q ) {
- return ggsvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobu, jobv, jobq, k, l, a, b, alpha,
- beta, u, v, q, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -164,7 +164,6 @@
 
 //
 // Overloaded function for gtsv. Its overload differs for
-// * MatrixB&
 //
 template< typename VectorDL, typename VectorD, typename VectorDU,
         typename MatrixB >
@@ -174,18 +173,6 @@
             VectorDL >::type >::invoke( n, dl, d, du, b );
 }
 
-//
-// Overloaded function for gtsv. Its overload differs for
-// * const MatrixB&
-//
-template< typename VectorDL, typename VectorD, typename VectorDU,
- typename MatrixB >
-inline std::ptrdiff_t gtsv( const fortran_int_t n, VectorDL& dl,
- VectorD& d, VectorDU& du, const MatrixB& b ) {
- return gtsv_impl< typename bindings::value_type<
- VectorDL >::type >::invoke( n, dl, d, du, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -508,7 +508,6 @@
 
 //
 // Overloaded function for gtsvx. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename VectorDL, typename VectorD, typename VectorDU,
@@ -531,7 +530,6 @@
 
 //
 // Overloaded function for gtsvx. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename VectorDL, typename VectorD, typename VectorDU,
@@ -550,50 +548,6 @@
             ipiv, b, x, rcond, ferr, berr, optimal_workspace() );
 }
 
-//
-// Overloaded function for gtsvx. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename VectorDL, typename VectorD, typename VectorDU,
- typename VectorDLF, typename VectorDF, typename VectorDUF,
- typename VectorDU2, typename VectorIPIV, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-gtsvx( const char fact, const VectorDL& dl, const VectorD& d,
- const VectorDU& du, VectorDLF& dlf, VectorDF& df, VectorDUF& duf,
- VectorDU2& du2, VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- VectorDL >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return gtsvx_impl< typename bindings::value_type<
- VectorDL >::type >::invoke( fact, dl, d, du, dlf, df, duf, du2,
- ipiv, b, x, rcond, ferr, berr, work );
-}
-
-//
-// Overloaded function for gtsvx. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename VectorDL, typename VectorD, typename VectorDU,
- typename VectorDLF, typename VectorDF, typename VectorDUF,
- typename VectorDU2, typename VectorIPIV, typename MatrixB,
- typename MatrixX, typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-gtsvx( const char fact, const VectorDL& dl, const VectorD& d,
- const VectorDU& du, VectorDLF& dlf, VectorDF& df, VectorDUF& duf,
- VectorDU2& du2, VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- VectorDL >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return gtsvx_impl< typename bindings::value_type<
- VectorDL >::type >::invoke( fact, dl, d, du, dlf, df, duf, du2,
- ipiv, b, x, rcond, ferr, berr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -330,8 +330,6 @@
 
 //
 // Overloaded function for hbev. Its overload differs for
-// * MatrixAB&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename VectorW, typename MatrixZ,
@@ -346,8 +344,6 @@
 
 //
 // Overloaded function for hbev. Its overload differs for
-// * MatrixAB&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename VectorW, typename MatrixZ >
@@ -358,97 +354,6 @@
             MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for hbev. Its overload differs for
-// * const MatrixAB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbev( const char jobz, const MatrixAB& ab, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return hbev_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, work );
-}
-
-//
-// Overloaded function for hbev. Its overload differs for
-// * const MatrixAB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbev( const char jobz, const MatrixAB& ab, VectorW& w, MatrixZ& z ) {
- return hbev_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbev. Its overload differs for
-// * MatrixAB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbev( const char jobz, MatrixAB& ab, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hbev_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, work );
-}
-
-//
-// Overloaded function for hbev. Its overload differs for
-// * MatrixAB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbev( const char jobz, MatrixAB& ab, VectorW& w, const MatrixZ& z ) {
- return hbev_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbev. Its overload differs for
-// * const MatrixAB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbev( const char jobz, const MatrixAB& ab, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hbev_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, work );
-}
-
-//
-// Overloaded function for hbev. Its overload differs for
-// * const MatrixAB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbev( const char jobz, const MatrixAB& ab, VectorW& w,
- const MatrixZ& z ) {
- return hbev_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -427,8 +427,6 @@
 
 //
 // Overloaded function for hbevd. Its overload differs for
-// * MatrixAB&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename VectorW, typename MatrixZ,
@@ -443,8 +441,6 @@
 
 //
 // Overloaded function for hbevd. Its overload differs for
-// * MatrixAB&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename VectorW, typename MatrixZ >
@@ -455,97 +451,6 @@
             MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for hbevd. Its overload differs for
-// * const MatrixAB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbevd( const char jobz, const MatrixAB& ab, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return hbevd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, work );
-}
-
-//
-// Overloaded function for hbevd. Its overload differs for
-// * const MatrixAB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbevd( const char jobz, const MatrixAB& ab, VectorW& w, MatrixZ& z ) {
- return hbevd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbevd. Its overload differs for
-// * MatrixAB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbevd( const char jobz, MatrixAB& ab, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hbevd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, work );
-}
-
-//
-// Overloaded function for hbevd. Its overload differs for
-// * MatrixAB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbevd( const char jobz, MatrixAB& ab, VectorW& w, const MatrixZ& z ) {
- return hbevd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbevd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbevd( const char jobz, const MatrixAB& ab, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hbevd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, work );
-}
-
-//
-// Overloaded function for hbevd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbevd( const char jobz, const MatrixAB& ab, VectorW& w,
- const MatrixZ& z ) {
- return hbevd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -436,9 +436,6 @@
 
 //
 // Overloaded function for hbevx. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixQ, typename VectorW,
@@ -460,9 +457,6 @@
 
 //
 // Overloaded function for hbevx. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixQ, typename VectorW,
@@ -482,345 +476,6 @@
             abstol, m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for hbevx. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, const MatrixAB& ab, MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, const MatrixAB& ab, MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, MatrixAB& ab, const MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, MatrixAB& ab, const MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, MatrixAB& ab, MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, MatrixAB& ab, MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, const MatrixAB& ab, MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, const MatrixAB& ab, MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, MatrixAB& ab, const MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, MatrixAB& ab, const MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbevx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbevx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -364,9 +364,6 @@
 
 //
 // Overloaded function for hbgv. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixBB, typename VectorW,
@@ -381,9 +378,6 @@
 
 //
 // Overloaded function for hbgv. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixBB, typename VectorW,
@@ -397,251 +391,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for hbgv. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- MatrixZ& z, Workspace work ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- MatrixZ& z ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- MatrixZ& z, Workspace work ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- MatrixZ& z ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, MatrixZ& z, Workspace work ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, MatrixZ& z ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- const MatrixZ& z ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, const MatrixZ& z, Workspace work ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgv. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgv( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, const MatrixZ& z ) {
- return hbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -470,9 +470,6 @@
 
 //
 // Overloaded function for hbgvd. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixBB, typename VectorW,
@@ -487,9 +484,6 @@
 
 //
 // Overloaded function for hbgvd. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixBB, typename VectorW,
@@ -503,251 +497,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- MatrixZ& z, Workspace work ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- MatrixZ& z ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- MatrixZ& z, Workspace work ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- MatrixZ& z ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, MatrixZ& z, Workspace work ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, MatrixZ& z ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- const MatrixZ& z ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, const MatrixZ& z, Workspace work ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for hbgvd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hbgvd( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, const MatrixZ& z ) {
- return hbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -464,10 +464,6 @@
 
 //
 // Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
@@ -491,10 +487,6 @@
 
 //
 // Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
@@ -514,794 +506,6 @@
             iu, abstol, m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab, MatrixBB& bb,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab, MatrixBB& bb,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab, MatrixBB& bb,
- MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab, MatrixBB& bb,
- MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab, MatrixBB& bb,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab, MatrixBB& bb,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -322,7 +322,6 @@
 
 //
 // Overloaded function for heev. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorW, typename Workspace >
@@ -335,7 +334,6 @@
 
 //
 // Overloaded function for heev. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorW >
@@ -346,32 +344,6 @@
             MatrixA >::type >::invoke( jobz, a, w, optimal_workspace() );
 }
 
-//
-// Overloaded function for heev. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-heev( const char jobz, const MatrixA& a, VectorW& w, Workspace work ) {
- return heev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, w, work );
-}
-
-//
-// Overloaded function for heev. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-heev( const char jobz, const MatrixA& a, VectorW& w ) {
- return heev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, w, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -398,7 +398,6 @@
 
 //
 // Overloaded function for heevd. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorW, typename Workspace >
@@ -411,7 +410,6 @@
 
 //
 // Overloaded function for heevd. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorW >
@@ -422,32 +420,6 @@
             MatrixA >::type >::invoke( jobz, a, w, optimal_workspace() );
 }
 
-//
-// Overloaded function for heevd. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-heevd( const char jobz, const MatrixA& a, VectorW& w, Workspace work ) {
- return heevd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, w, work );
-}
-
-//
-// Overloaded function for heevd. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-heevd( const char jobz, const MatrixA& a, VectorW& w ) {
- return heevd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, w, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -441,8 +441,6 @@
 
 //
 // Overloaded function for heevr. Its overload differs for
-// * MatrixA&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorW, typename MatrixZ,
@@ -464,8 +462,6 @@
 
 //
 // Overloaded function for heevr. Its overload differs for
-// * MatrixA&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorW, typename MatrixZ,
@@ -485,144 +481,6 @@
             m, w, z, isuppz, optimal_workspace() );
 }
 
-//
-// Overloaded function for heevr. Its overload differs for
-// * const MatrixA&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorISUPPZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-heevr( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorISUPPZ& isuppz, Workspace work ) {
- return heevr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, isuppz, work );
-}
-
-//
-// Overloaded function for heevr. Its overload differs for
-// * const MatrixA&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorISUPPZ >
-inline typename boost::disable_if< detail::is_workspace< VectorISUPPZ >,
- std::ptrdiff_t >::type
-heevr( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorISUPPZ& isuppz ) {
- return heevr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, isuppz, optimal_workspace() );
-}
-
-//
-// Overloaded function for heevr. Its overload differs for
-// * MatrixA&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorISUPPZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-heevr( const char jobz, const char range, MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorISUPPZ& isuppz, Workspace work ) {
- return heevr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, isuppz, work );
-}
-
-//
-// Overloaded function for heevr. Its overload differs for
-// * MatrixA&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorISUPPZ >
-inline typename boost::disable_if< detail::is_workspace< VectorISUPPZ >,
- std::ptrdiff_t >::type
-heevr( const char jobz, const char range, MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorISUPPZ& isuppz ) {
- return heevr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, isuppz, optimal_workspace() );
-}
-
-//
-// Overloaded function for heevr. Its overload differs for
-// * const MatrixA&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorISUPPZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-heevr( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorISUPPZ& isuppz, Workspace work ) {
- return heevr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, isuppz, work );
-}
-
-//
-// Overloaded function for heevr. Its overload differs for
-// * const MatrixA&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorISUPPZ >
-inline typename boost::disable_if< detail::is_workspace< VectorISUPPZ >,
- std::ptrdiff_t >::type
-heevr( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorISUPPZ& isuppz ) {
- return heevr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, isuppz, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -437,8 +437,6 @@
 
 //
 // Overloaded function for heevx. Its overload differs for
-// * MatrixA&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorW, typename MatrixZ,
@@ -460,8 +458,6 @@
 
 //
 // Overloaded function for heevx. Its overload differs for
-// * MatrixA&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorW, typename MatrixZ,
@@ -481,144 +477,6 @@
             m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for heevx. Its overload differs for
-// * const MatrixA&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-heevx( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return heevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for heevx. Its overload differs for
-// * const MatrixA&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-heevx( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail ) {
- return heevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for heevx. Its overload differs for
-// * MatrixA&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-heevx( const char jobz, const char range, MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return heevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for heevx. Its overload differs for
-// * MatrixA&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-heevx( const char jobz, const char range, MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return heevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for heevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-heevx( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return heevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for heevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-heevx( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return heevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -359,8 +359,6 @@
 
 //
 // Overloaded function for hegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorW,
@@ -375,8 +373,6 @@
 
 //
 // Overloaded function for hegv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorW >
@@ -389,102 +385,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for hegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegv( const fortran_int_t itype, const char jobz, const MatrixA& a,
- MatrixB& b, VectorW& w, Workspace work ) {
- return hegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w, work );
-}
-
-//
-// Overloaded function for hegv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-hegv( const fortran_int_t itype, const char jobz, const MatrixA& a,
- MatrixB& b, VectorW& w ) {
- return hegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegv( const fortran_int_t itype, const char jobz, MatrixA& a,
- const MatrixB& b, VectorW& w, Workspace work ) {
- return hegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w, work );
-}
-
-//
-// Overloaded function for hegv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-hegv( const fortran_int_t itype, const char jobz, MatrixA& a,
- const MatrixB& b, VectorW& w ) {
- return hegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegv( const fortran_int_t itype, const char jobz, const MatrixA& a,
- const MatrixB& b, VectorW& w, Workspace work ) {
- return hegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w, work );
-}
-
-//
-// Overloaded function for hegv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-hegv( const fortran_int_t itype, const char jobz, const MatrixA& a,
- const MatrixB& b, VectorW& w ) {
- return hegv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -434,8 +434,6 @@
 
 //
 // Overloaded function for hegvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorW,
@@ -450,8 +448,6 @@
 
 //
 // Overloaded function for hegvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorW >
@@ -464,102 +460,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for hegvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegvd( const fortran_int_t itype, const char jobz, const MatrixA& a,
- MatrixB& b, VectorW& w, Workspace work ) {
- return hegvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w, work );
-}
-
-//
-// Overloaded function for hegvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-hegvd( const fortran_int_t itype, const char jobz, const MatrixA& a,
- MatrixB& b, VectorW& w ) {
- return hegvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hegvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegvd( const fortran_int_t itype, const char jobz, MatrixA& a,
- const MatrixB& b, VectorW& w, Workspace work ) {
- return hegvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w, work );
-}
-
-//
-// Overloaded function for hegvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-hegvd( const fortran_int_t itype, const char jobz, MatrixA& a,
- const MatrixB& b, VectorW& w ) {
- return hegvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hegvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegvd( const fortran_int_t itype, const char jobz, const MatrixA& a,
- const MatrixB& b, VectorW& w, Workspace work ) {
- return hegvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w, work );
-}
-
-//
-// Overloaded function for hegvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-hegvd( const fortran_int_t itype, const char jobz, const MatrixA& a,
- const MatrixB& b, VectorW& w ) {
- return hegvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -473,9 +473,6 @@
 
 //
 // Overloaded function for hegvx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorW,
@@ -498,9 +495,6 @@
 
 //
 // Overloaded function for hegvx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorW,
@@ -520,353 +514,6 @@
             iu, abstol, m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for hegvx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hegvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hegvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hegvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -331,8 +331,6 @@
 
 //
 // Overloaded function for hesv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorIPIV, typename MatrixB,
@@ -346,8 +344,6 @@
 
 //
 // Overloaded function for hesv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorIPIV, typename MatrixB >
@@ -358,94 +354,6 @@
             MatrixA >::type >::invoke( a, ipiv, b, optimal_workspace() );
 }
 
-//
-// Overloaded function for hesv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hesv( const MatrixA& a, VectorIPIV& ipiv, MatrixB& b, Workspace work ) {
- return hesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, work );
-}
-
-//
-// Overloaded function for hesv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB >
-inline typename boost::disable_if< detail::is_workspace< MatrixB >,
- std::ptrdiff_t >::type
-hesv( const MatrixA& a, VectorIPIV& ipiv, MatrixB& b ) {
- return hesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, optimal_workspace() );
-}
-
-//
-// Overloaded function for hesv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hesv( MatrixA& a, VectorIPIV& ipiv, const MatrixB& b, Workspace work ) {
- return hesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, work );
-}
-
-//
-// Overloaded function for hesv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB >
-inline typename boost::disable_if< detail::is_workspace< MatrixB >,
- std::ptrdiff_t >::type
-hesv( MatrixA& a, VectorIPIV& ipiv, const MatrixB& b ) {
- return hesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, optimal_workspace() );
-}
-
-//
-// Overloaded function for hesv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hesv( const MatrixA& a, VectorIPIV& ipiv, const MatrixB& b,
- Workspace work ) {
- return hesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, work );
-}
-
-//
-// Overloaded function for hesv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB >
-inline typename boost::disable_if< detail::is_workspace< MatrixB >,
- std::ptrdiff_t >::type
-hesv( const MatrixA& a, VectorIPIV& ipiv, const MatrixB& b ) {
- return hesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -474,8 +474,6 @@
 
 //
 // Overloaded function for hesvx. Its overload differs for
-// * MatrixAF&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
@@ -494,8 +492,6 @@
 
 //
 // Overloaded function for hesvx. Its overload differs for
-// * MatrixAF&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
@@ -512,128 +508,6 @@
             berr, optimal_workspace() );
 }
 
-//
-// Overloaded function for hesvx. Its overload differs for
-// * const MatrixAF&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hesvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return hesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, b, x, rcond, ferr,
- berr, work );
-}
-
-//
-// Overloaded function for hesvx. Its overload differs for
-// * const MatrixAF&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-hesvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return hesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, b, x, rcond, ferr,
- berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for hesvx. Its overload differs for
-// * MatrixAF&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hesvx( const char fact, const MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return hesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, b, x, rcond, ferr,
- berr, work );
-}
-
-//
-// Overloaded function for hesvx. Its overload differs for
-// * MatrixAF&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-hesvx( const char fact, const MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return hesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, b, x, rcond, ferr,
- berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for hesvx. Its overload differs for
-// * const MatrixAF&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hesvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return hesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, b, x, rcond, ferr,
- berr, work );
-}
-
-//
-// Overloaded function for hesvx. Its overload differs for
-// * const MatrixAF&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-hesvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return hesvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, b, x, rcond, ferr,
- berr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -311,8 +311,6 @@
 
 //
 // Overloaded function for hpev. Its overload differs for
-// * MatrixAP&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename VectorW, typename MatrixZ,
@@ -327,8 +325,6 @@
 
 //
 // Overloaded function for hpev. Its overload differs for
-// * MatrixAP&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename VectorW, typename MatrixZ >
@@ -339,97 +335,6 @@
             MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for hpev. Its overload differs for
-// * const MatrixAP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpev( const char jobz, const MatrixAP& ap, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return hpev_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, work );
-}
-
-//
-// Overloaded function for hpev. Its overload differs for
-// * const MatrixAP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpev( const char jobz, const MatrixAP& ap, VectorW& w, MatrixZ& z ) {
- return hpev_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpev. Its overload differs for
-// * MatrixAP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpev( const char jobz, MatrixAP& ap, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hpev_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, work );
-}
-
-//
-// Overloaded function for hpev. Its overload differs for
-// * MatrixAP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpev( const char jobz, MatrixAP& ap, VectorW& w, const MatrixZ& z ) {
- return hpev_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpev. Its overload differs for
-// * const MatrixAP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpev( const char jobz, const MatrixAP& ap, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hpev_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, work );
-}
-
-//
-// Overloaded function for hpev. Its overload differs for
-// * const MatrixAP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpev( const char jobz, const MatrixAP& ap, VectorW& w,
- const MatrixZ& z ) {
- return hpev_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -406,8 +406,6 @@
 
 //
 // Overloaded function for hpevd. Its overload differs for
-// * MatrixAP&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename VectorW, typename MatrixZ,
@@ -422,8 +420,6 @@
 
 //
 // Overloaded function for hpevd. Its overload differs for
-// * MatrixAP&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename VectorW, typename MatrixZ >
@@ -434,97 +430,6 @@
             MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for hpevd. Its overload differs for
-// * const MatrixAP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpevd( const char jobz, const MatrixAP& ap, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return hpevd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, work );
-}
-
-//
-// Overloaded function for hpevd. Its overload differs for
-// * const MatrixAP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpevd( const char jobz, const MatrixAP& ap, VectorW& w, MatrixZ& z ) {
- return hpevd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpevd. Its overload differs for
-// * MatrixAP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpevd( const char jobz, MatrixAP& ap, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hpevd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, work );
-}
-
-//
-// Overloaded function for hpevd. Its overload differs for
-// * MatrixAP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpevd( const char jobz, MatrixAP& ap, VectorW& w, const MatrixZ& z ) {
- return hpevd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpevd. Its overload differs for
-// * const MatrixAP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpevd( const char jobz, const MatrixAP& ap, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hpevd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, work );
-}
-
-//
-// Overloaded function for hpevd. Its overload differs for
-// * const MatrixAP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpevd( const char jobz, const MatrixAP& ap, VectorW& w,
- const MatrixZ& z ) {
- return hpevd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -390,8 +390,6 @@
 
 //
 // Overloaded function for hpevx. Its overload differs for
-// * MatrixAP&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename VectorW, typename MatrixZ,
@@ -413,8 +411,6 @@
 
 //
 // Overloaded function for hpevx. Its overload differs for
-// * MatrixAP&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename VectorW, typename MatrixZ,
@@ -434,144 +430,6 @@
             abstol, m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for hpevx. Its overload differs for
-// * const MatrixAP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpevx( const char jobz, const char range, const MatrixAP& ap,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return hpevx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, range, ap, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hpevx. Its overload differs for
-// * const MatrixAP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hpevx( const char jobz, const char range, const MatrixAP& ap,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail ) {
- return hpevx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, range, ap, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpevx. Its overload differs for
-// * MatrixAP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpevx( const char jobz, const char range, MatrixAP& ap,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return hpevx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, range, ap, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hpevx. Its overload differs for
-// * MatrixAP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hpevx( const char jobz, const char range, MatrixAP& ap,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return hpevx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, range, ap, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpevx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpevx( const char jobz, const char range, const MatrixAP& ap,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return hpevx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, range, ap, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hpevx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hpevx( const char jobz, const char range, const MatrixAP& ap,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return hpevx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, range, ap, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -334,9 +334,6 @@
 
 //
 // Overloaded function for hpgv. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename MatrixBP, typename VectorW,
@@ -351,9 +348,6 @@
 
 //
 // Overloaded function for hpgv. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename MatrixBP, typename VectorW,
@@ -367,256 +361,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for hpgv. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, MatrixZ& z ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, MatrixZ& z, Workspace work ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, MatrixZ& z ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w, MatrixZ& z ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- MatrixBP& bp, VectorW& w, const MatrixZ& z, Workspace work ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- MatrixBP& bp, VectorW& w, const MatrixZ& z ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, const MatrixZ& z ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, const MatrixZ& z, Workspace work ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, const MatrixZ& z ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgv. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w,
- const MatrixZ& z ) {
- return hpgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -434,9 +434,6 @@
 
 //
 // Overloaded function for hpgvd. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename MatrixBP, typename VectorW,
@@ -451,9 +448,6 @@
 
 //
 // Overloaded function for hpgvd. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename MatrixBP, typename VectorW,
@@ -467,256 +461,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, MatrixZ& z ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, MatrixZ& z, Workspace work ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, MatrixZ& z ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w, MatrixZ& z ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- MatrixBP& bp, VectorW& w, const MatrixZ& z, Workspace work ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- MatrixBP& bp, VectorW& w, const MatrixZ& z ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, const MatrixZ& z ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, const MatrixZ& z, Workspace work ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, const MatrixZ& z ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for hpgvd. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-hpgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w,
- const MatrixZ& z ) {
- return hpgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -413,9 +413,6 @@
 
 //
 // Overloaded function for hpgvx. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename MatrixBP, typename VectorW,
@@ -438,9 +435,6 @@
 
 //
 // Overloaded function for hpgvx. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename MatrixBP, typename VectorW,
@@ -460,354 +454,6 @@
             il, iu, abstol, m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixAP& ap, const MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixAP& ap, const MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, const MatrixBP& bp,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, const MatrixBP& bp,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixAP& ap, MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixAP& ap, MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixAP& ap, const MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixAP& ap, const MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, const MatrixBP& bp,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for hpgvx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-hpgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, const MatrixBP& bp,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return hpgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -161,8 +161,6 @@
 
 //
 // Overloaded function for hpsv. Its overload differs for
-// * MatrixAP&
-// * MatrixB&
 //
 template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
 inline std::ptrdiff_t hpsv( MatrixAP& ap, VectorIPIV& ipiv, MatrixB& b ) {
@@ -170,42 +168,6 @@
             MatrixAP >::type >::invoke( ap, ipiv, b );
 }
 
-//
-// Overloaded function for hpsv. Its overload differs for
-// * const MatrixAP&
-// * MatrixB&
-//
-template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t hpsv( const MatrixAP& ap, VectorIPIV& ipiv,
- MatrixB& b ) {
- return hpsv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv, b );
-}
-
-//
-// Overloaded function for hpsv. Its overload differs for
-// * MatrixAP&
-// * const MatrixB&
-//
-template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t hpsv( MatrixAP& ap, VectorIPIV& ipiv,
- const MatrixB& b ) {
- return hpsv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv, b );
-}
-
-//
-// Overloaded function for hpsv. Its overload differs for
-// * const MatrixAP&
-// * const MatrixB&
-//
-template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t hpsv( const MatrixAP& ap, VectorIPIV& ipiv,
- const MatrixB& b ) {
- return hpsv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -414,8 +414,6 @@
 
 //
 // Overloaded function for hpsvx. Its overload differs for
-// * MatrixAFP&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
@@ -435,8 +433,6 @@
 
 //
 // Overloaded function for hpsvx. Its overload differs for
-// * MatrixAFP&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
@@ -453,129 +449,6 @@
             ferr, berr, optimal_workspace() );
 }
 
-//
-// Overloaded function for hpsvx. Its overload differs for
-// * const MatrixAFP&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpsvx( const char fact, const MatrixAP& ap, const MatrixAFP& afp,
- VectorIPIV& ipiv, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return hpsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, ipiv, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for hpsvx. Its overload differs for
-// * const MatrixAFP&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-hpsvx( const char fact, const MatrixAP& ap, const MatrixAFP& afp,
- VectorIPIV& ipiv, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return hpsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, ipiv, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpsvx. Its overload differs for
-// * MatrixAFP&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpsvx( const char fact, const MatrixAP& ap, MatrixAFP& afp,
- VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return hpsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, ipiv, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for hpsvx. Its overload differs for
-// * MatrixAFP&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-hpsvx( const char fact, const MatrixAP& ap, MatrixAFP& afp,
- VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return hpsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, ipiv, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for hpsvx. Its overload differs for
-// * const MatrixAFP&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-hpsvx( const char fact, const MatrixAP& ap, const MatrixAFP& afp,
- VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return hpsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, ipiv, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for hpsvx. Its overload differs for
-// * const MatrixAFP&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-hpsvx( const char fact, const MatrixAP& ap, const MatrixAFP& afp,
- VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return hpsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, ipiv, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/iter_gesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/iter_gesv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/iter_gesv.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -355,8 +355,6 @@
 
 //
 // Overloaded function for iter_gesv. Its overload differs for
-// * MatrixA&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorIPIV, typename MatrixB,
@@ -371,8 +369,6 @@
 
 //
 // Overloaded function for iter_gesv. Its overload differs for
-// * MatrixA&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorIPIV, typename MatrixB,
@@ -386,105 +382,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for iter_gesv. Its overload differs for
-// * const MatrixA&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB,
- typename MatrixX, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-iter_gesv( const MatrixA& a, VectorIPIV& ipiv, const MatrixB& b, MatrixX& x,
- fortran_int_t& iter, Workspace work ) {
- return iter_gesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, x, iter, work );
-}
-
-//
-// Overloaded function for iter_gesv. Its overload differs for
-// * const MatrixA&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB,
- typename MatrixX >
-inline typename boost::disable_if< detail::is_workspace< MatrixX >,
- std::ptrdiff_t >::type
-iter_gesv( const MatrixA& a, VectorIPIV& ipiv, const MatrixB& b, MatrixX& x,
- fortran_int_t& iter ) {
- return iter_gesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, x, iter,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for iter_gesv. Its overload differs for
-// * MatrixA&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB,
- typename MatrixX, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-iter_gesv( MatrixA& a, VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- fortran_int_t& iter, Workspace work ) {
- return iter_gesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, x, iter, work );
-}
-
-//
-// Overloaded function for iter_gesv. Its overload differs for
-// * MatrixA&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB,
- typename MatrixX >
-inline typename boost::disable_if< detail::is_workspace< MatrixX >,
- std::ptrdiff_t >::type
-iter_gesv( MatrixA& a, VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- fortran_int_t& iter ) {
- return iter_gesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, x, iter,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for iter_gesv. Its overload differs for
-// * const MatrixA&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB,
- typename MatrixX, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-iter_gesv( const MatrixA& a, VectorIPIV& ipiv, const MatrixB& b,
- const MatrixX& x, fortran_int_t& iter, Workspace work ) {
- return iter_gesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, x, iter, work );
-}
-
-//
-// Overloaded function for iter_gesv. Its overload differs for
-// * const MatrixA&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB,
- typename MatrixX >
-inline typename boost::disable_if< detail::is_workspace< MatrixX >,
- std::ptrdiff_t >::type
-iter_gesv( const MatrixA& a, VectorIPIV& ipiv, const MatrixB& b,
- const MatrixX& x, fortran_int_t& iter ) {
- return iter_gesv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, x, iter,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/iter_posv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/iter_posv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/iter_posv.hpp 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -350,8 +350,6 @@
 
 //
 // Overloaded function for iter_posv. Its overload differs for
-// * MatrixA&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename MatrixX,
@@ -366,8 +364,6 @@
 
 //
 // Overloaded function for iter_posv. Its overload differs for
-// * MatrixA&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename MatrixX >
@@ -379,99 +375,6 @@
             MatrixA >::type >::invoke( a, b, x, iter, optimal_workspace() );
 }
 
-//
-// Overloaded function for iter_posv. Its overload differs for
-// * const MatrixA&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixX,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-iter_posv( const MatrixA& a, const MatrixB& b, MatrixX& x,
- fortran_int_t& iter, Workspace work ) {
- return iter_posv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, x, iter, work );
-}
-
-//
-// Overloaded function for iter_posv. Its overload differs for
-// * const MatrixA&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixX >
-inline typename boost::disable_if< detail::is_workspace< MatrixX >,
- std::ptrdiff_t >::type
-iter_posv( const MatrixA& a, const MatrixB& b, MatrixX& x,
- fortran_int_t& iter ) {
- return iter_posv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, x, iter, optimal_workspace() );
-}
-
-//
-// Overloaded function for iter_posv. Its overload differs for
-// * MatrixA&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixX,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-iter_posv( MatrixA& a, const MatrixB& b, const MatrixX& x,
- fortran_int_t& iter, Workspace work ) {
- return iter_posv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, x, iter, work );
-}
-
-//
-// Overloaded function for iter_posv. Its overload differs for
-// * MatrixA&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixX >
-inline typename boost::disable_if< detail::is_workspace< MatrixX >,
- std::ptrdiff_t >::type
-iter_posv( MatrixA& a, const MatrixB& b, const MatrixX& x,
- fortran_int_t& iter ) {
- return iter_posv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, x, iter, optimal_workspace() );
-}
-
-//
-// Overloaded function for iter_posv. Its overload differs for
-// * const MatrixA&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename MatrixX,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-iter_posv( const MatrixA& a, const MatrixB& b, const MatrixX& x,
- fortran_int_t& iter, Workspace work ) {
- return iter_posv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, x, iter, work );
-}
-
-//
-// Overloaded function for iter_posv. Its overload differs for
-// * const MatrixA&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename MatrixX >
-inline typename boost::disable_if< detail::is_workspace< MatrixX >,
- std::ptrdiff_t >::type
-iter_posv( const MatrixA& a, const MatrixB& b, const MatrixX& x,
- fortran_int_t& iter ) {
- return iter_posv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b, x, iter, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -167,8 +167,6 @@
 
 //
 // Overloaded function for pbsv. Its overload differs for
-// * MatrixAB&
-// * MatrixB&
 //
 template< typename MatrixAB, typename MatrixB >
 inline std::ptrdiff_t pbsv( MatrixAB& ab, MatrixB& b ) {
@@ -176,39 +174,6 @@
             MatrixAB >::type >::invoke( ab, b );
 }
 
-//
-// Overloaded function for pbsv. Its overload differs for
-// * const MatrixAB&
-// * MatrixB&
-//
-template< typename MatrixAB, typename MatrixB >
-inline std::ptrdiff_t pbsv( const MatrixAB& ab, MatrixB& b ) {
- return pbsv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, b );
-}
-
-//
-// Overloaded function for pbsv. Its overload differs for
-// * MatrixAB&
-// * const MatrixB&
-//
-template< typename MatrixAB, typename MatrixB >
-inline std::ptrdiff_t pbsv( MatrixAB& ab, const MatrixB& b ) {
- return pbsv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, b );
-}
-
-//
-// Overloaded function for pbsv. Its overload differs for
-// * const MatrixAB&
-// * const MatrixB&
-//
-template< typename MatrixAB, typename MatrixB >
-inline std::ptrdiff_t pbsv( const MatrixAB& ab, const MatrixB& b ) {
- return pbsv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( ab, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -466,10 +466,6 @@
 
 //
 // Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixAFB, typename VectorS,
@@ -488,10 +484,6 @@
 
 //
 // Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixAFB, typename VectorS,
@@ -508,673 +500,6 @@
             ferr, berr, optimal_workspace() );
 }
 
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb, char& equed,
- VectorS& s, MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb, char& equed,
- VectorS& s, MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- char& equed, VectorS& s, MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- char& equed, VectorS& s, MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- char& equed, VectorS& s, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- char& equed, VectorS& s, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- char& equed, VectorS& s, MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- char& equed, VectorS& s, MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, MatrixAFB& afb, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, MatrixAB& ab, const MatrixAFB& afb, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- char& equed, VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for pbsvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixAFB&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixAFB, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-pbsvx( const char fact, const MatrixAB& ab, const MatrixAFB& afb,
- char& equed, VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return pbsvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( fact, ab, afb, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -231,8 +231,6 @@
 
 //
 // Overloaded function for posv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 //
 template< typename MatrixA, typename MatrixB >
 inline std::ptrdiff_t posv( MatrixA& a, MatrixB& b ) {
@@ -240,39 +238,6 @@
             MatrixA >::type >::invoke( a, b );
 }
 
-//
-// Overloaded function for posv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-//
-template< typename MatrixA, typename MatrixB >
-inline std::ptrdiff_t posv( const MatrixA& a, MatrixB& b ) {
- return posv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b );
-}
-
-//
-// Overloaded function for posv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-//
-template< typename MatrixA, typename MatrixB >
-inline std::ptrdiff_t posv( MatrixA& a, const MatrixB& b ) {
- return posv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b );
-}
-
-//
-// Overloaded function for posv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-//
-template< typename MatrixA, typename MatrixB >
-inline std::ptrdiff_t posv( const MatrixA& a, const MatrixB& b ) {
- return posv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -453,10 +453,6 @@
 
 //
 // Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixAF, typename VectorS,
@@ -475,10 +471,6 @@
 
 //
 // Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixAF, typename VectorS,
@@ -495,673 +487,6 @@
             ferr, berr, optimal_workspace() );
 }
 
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, const MatrixAF& af, char& equed,
- VectorS& s, MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, const MatrixAF& af, char& equed,
- VectorS& s, MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, const MatrixAF& af,
- char& equed, VectorS& s, MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, const MatrixAF& af,
- char& equed, VectorS& s, MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, const MatrixAF& af, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, const MatrixAF& af, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, const MatrixAF& af,
- char& equed, VectorS& s, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, const MatrixAF& af,
- char& equed, VectorS& s, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, const MatrixAF& af, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, const MatrixAF& af, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, const MatrixAF& af,
- char& equed, VectorS& s, MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, const MatrixAF& af,
- char& equed, VectorS& s, MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, MatrixAF& af, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, const MatrixAF& af, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, MatrixA& a, const MatrixAF& af, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, const MatrixAF& af,
- char& equed, VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for posvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixAF&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-posvx( const char fact, const MatrixA& a, const MatrixAF& af,
- char& equed, VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return posvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -157,8 +157,6 @@
 
 //
 // Overloaded function for ppsv. Its overload differs for
-// * MatrixAP&
-// * MatrixB&
 //
 template< typename MatrixAP, typename MatrixB >
 inline std::ptrdiff_t ppsv( MatrixAP& ap, MatrixB& b ) {
@@ -166,39 +164,6 @@
             MatrixAP >::type >::invoke( ap, b );
 }
 
-//
-// Overloaded function for ppsv. Its overload differs for
-// * const MatrixAP&
-// * MatrixB&
-//
-template< typename MatrixAP, typename MatrixB >
-inline std::ptrdiff_t ppsv( const MatrixAP& ap, MatrixB& b ) {
- return ppsv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, b );
-}
-
-//
-// Overloaded function for ppsv. Its overload differs for
-// * MatrixAP&
-// * const MatrixB&
-//
-template< typename MatrixAP, typename MatrixB >
-inline std::ptrdiff_t ppsv( MatrixAP& ap, const MatrixB& b ) {
- return ppsv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, b );
-}
-
-//
-// Overloaded function for ppsv. Its overload differs for
-// * const MatrixAP&
-// * const MatrixB&
-//
-template< typename MatrixAP, typename MatrixB >
-inline std::ptrdiff_t ppsv( const MatrixAP& ap, const MatrixB& b ) {
- return ppsv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -432,9 +432,6 @@
 
 //
 // Overloaded function for ppsvx. Its overload differs for
-// * MatrixAP&
-// * MatrixB&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename VectorAFP, typename VectorS,
@@ -453,9 +450,6 @@
 
 //
 // Overloaded function for ppsvx. Its overload differs for
-// * MatrixAP&
-// * MatrixB&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename VectorAFP, typename VectorS,
@@ -472,302 +466,6 @@
             ferr, berr, optimal_workspace() );
 }
 
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * const MatrixAP&
-// * MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, const MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * const MatrixAP&
-// * MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, const MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * MatrixAP&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * MatrixAP&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixB&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, const MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixB&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, const MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, const MatrixB& b, MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * MatrixAP&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * MatrixAP&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * const MatrixAP&
-// * MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, const MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * const MatrixAP&
-// * MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, const MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * MatrixAP&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * MatrixAP&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixB&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, const MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for ppsvx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixB&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorAFP, typename VectorS,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-ppsvx( const char fact, const MatrixAP& ap, VectorAFP& afp, char& equed,
- VectorS& s, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return ppsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, equed, s, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -201,7 +201,6 @@
 
 //
 // Overloaded function for ptsv. Its overload differs for
-// * MatrixB&
 //
 template< typename VectorD, typename VectorE, typename MatrixB >
 inline std::ptrdiff_t ptsv( VectorD& d, VectorE& e, MatrixB& b ) {
@@ -209,16 +208,6 @@
             VectorE >::type >::invoke( d, e, b );
 }
 
-//
-// Overloaded function for ptsv. Its overload differs for
-// * const MatrixB&
-//
-template< typename VectorD, typename VectorE, typename MatrixB >
-inline std::ptrdiff_t ptsv( VectorD& d, VectorE& e, const MatrixB& b ) {
- return ptsv_impl< typename bindings::value_type<
- VectorE >::type >::invoke( d, e, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -410,7 +410,6 @@
 
 //
 // Overloaded function for ptsvx. Its overload differs for
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename VectorDF,
@@ -429,7 +428,6 @@
 
 //
 // Overloaded function for ptsvx. Its overload differs for
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename VectorDF,
@@ -446,45 +444,6 @@
             berr, optimal_workspace() );
 }
 
-//
-// Overloaded function for ptsvx. Its overload differs for
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename VectorDF,
- typename VectorEF, typename MatrixB, typename MatrixX,
- typename VectorFERR, typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-ptsvx( const char fact, const VectorD& d, const VectorE& e, VectorDF& df,
- VectorEF& ef, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- VectorE >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return ptsvx_impl< typename bindings::value_type<
- VectorE >::type >::invoke( fact, d, e, df, ef, b, x, rcond, ferr,
- berr, work );
-}
-
-//
-// Overloaded function for ptsvx. Its overload differs for
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename VectorDF,
- typename VectorEF, typename MatrixB, typename MatrixX,
- typename VectorFERR, typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-ptsvx( const char fact, const VectorD& d, const VectorE& e, VectorDF& df,
- VectorEF& ef, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- VectorE >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return ptsvx_impl< typename bindings::value_type<
- VectorE >::type >::invoke( fact, d, e, df, ef, b, x, rcond, ferr,
- berr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -186,8 +186,6 @@
 
 //
 // Overloaded function for sbev. Its overload differs for
-// * MatrixAB&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename VectorW, typename MatrixZ,
@@ -202,8 +200,6 @@
 
 //
 // Overloaded function for sbev. Its overload differs for
-// * MatrixAB&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename VectorW, typename MatrixZ >
@@ -214,97 +210,6 @@
             MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for sbev. Its overload differs for
-// * const MatrixAB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbev( const char jobz, const MatrixAB& ab, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return sbev_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, work );
-}
-
-//
-// Overloaded function for sbev. Its overload differs for
-// * const MatrixAB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbev( const char jobz, const MatrixAB& ab, VectorW& w, MatrixZ& z ) {
- return sbev_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbev. Its overload differs for
-// * MatrixAB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbev( const char jobz, MatrixAB& ab, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return sbev_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, work );
-}
-
-//
-// Overloaded function for sbev. Its overload differs for
-// * MatrixAB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbev( const char jobz, MatrixAB& ab, VectorW& w, const MatrixZ& z ) {
- return sbev_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbev. Its overload differs for
-// * const MatrixAB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbev( const char jobz, const MatrixAB& ab, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return sbev_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, work );
-}
-
-//
-// Overloaded function for sbev. Its overload differs for
-// * const MatrixAB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbev( const char jobz, const MatrixAB& ab, VectorW& w,
- const MatrixZ& z ) {
- return sbev_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -227,8 +227,6 @@
 
 //
 // Overloaded function for sbevd. Its overload differs for
-// * MatrixAB&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename VectorW, typename MatrixZ,
@@ -243,8 +241,6 @@
 
 //
 // Overloaded function for sbevd. Its overload differs for
-// * MatrixAB&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename VectorW, typename MatrixZ >
@@ -255,97 +251,6 @@
             MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for sbevd. Its overload differs for
-// * const MatrixAB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbevd( const char jobz, const MatrixAB& ab, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return sbevd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, work );
-}
-
-//
-// Overloaded function for sbevd. Its overload differs for
-// * const MatrixAB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbevd( const char jobz, const MatrixAB& ab, VectorW& w, MatrixZ& z ) {
- return sbevd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbevd. Its overload differs for
-// * MatrixAB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbevd( const char jobz, MatrixAB& ab, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return sbevd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, work );
-}
-
-//
-// Overloaded function for sbevd. Its overload differs for
-// * MatrixAB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbevd( const char jobz, MatrixAB& ab, VectorW& w, const MatrixZ& z ) {
- return sbevd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbevd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbevd( const char jobz, const MatrixAB& ab, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return sbevd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, work );
-}
-
-//
-// Overloaded function for sbevd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbevd( const char jobz, const MatrixAB& ab, VectorW& w,
- const MatrixZ& z ) {
- return sbevd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, w, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -238,9 +238,6 @@
 
 //
 // Overloaded function for sbevx. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixQ, typename VectorW,
@@ -262,9 +259,6 @@
 
 //
 // Overloaded function for sbevx. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixQ, typename VectorW,
@@ -284,345 +278,6 @@
             abstol, m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for sbevx. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, const MatrixAB& ab, MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, const MatrixAB& ab, MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, MatrixAB& ab, const MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, MatrixAB& ab, const MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, MatrixAB& ab, MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * MatrixAB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, MatrixAB& ab, MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, const MatrixAB& ab, MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * const MatrixAB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, const MatrixAB& ab, MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, MatrixAB& ab, const MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * MatrixAB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, MatrixAB& ab, const MatrixQ& q,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbevx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixQ, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbevx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sbevx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, q, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -203,9 +203,6 @@
 
 //
 // Overloaded function for sbgv. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixBB, typename VectorW,
@@ -220,9 +217,6 @@
 
 //
 // Overloaded function for sbgv. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixBB, typename VectorW,
@@ -236,251 +230,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for sbgv. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- MatrixZ& z, Workspace work ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- MatrixZ& z ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- MatrixZ& z, Workspace work ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- MatrixZ& z ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, MatrixZ& z, Workspace work ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, MatrixZ& z ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- const MatrixZ& z ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, const MatrixZ& z, Workspace work ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgv. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgv( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, const MatrixZ& z ) {
- return sbgv_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -248,9 +248,6 @@
 
 //
 // Overloaded function for sbgvd. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixBB, typename VectorW,
@@ -265,9 +262,6 @@
 
 //
 // Overloaded function for sbgvd. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixBB, typename VectorW,
@@ -281,251 +275,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- MatrixZ& z, Workspace work ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- MatrixZ& z ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- MatrixZ& z, Workspace work ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- MatrixZ& z ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, MatrixZ& z, Workspace work ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, MatrixZ& z ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, const MatrixAB& ab, MatrixBB& bb, VectorW& w,
- const MatrixZ& z ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- const MatrixZ& z, Workspace work ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, MatrixAB& ab, const MatrixBB& bb, VectorW& w,
- const MatrixZ& z ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, const MatrixZ& z, Workspace work ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z, work );
-}
-
-//
-// Overloaded function for sbgvd. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-sbgvd( const char jobz, const MatrixAB& ab, const MatrixBB& bb,
- VectorW& w, const MatrixZ& z ) {
- return sbgvd_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, ab, bb, w, z,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -252,10 +252,6 @@
 
 //
 // Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
@@ -279,10 +275,6 @@
 
 //
 // Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
@@ -302,794 +294,6 @@
             iu, abstol, m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab, MatrixBB& bb,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab, MatrixBB& bb,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab, MatrixBB& bb,
- MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab, MatrixBB& bb,
- MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab, MatrixBB& bb,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab, MatrixBB& bb,
- const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sbgvx. Its overload differs for
-// * const MatrixAB&
-// * const MatrixBB&
-// * const MatrixQ&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAB, typename MatrixBB, typename MatrixQ,
- typename VectorW, typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sbgvx( const char jobz, const char range, const MatrixAB& ab,
- const MatrixBB& bb, const MatrixQ& q, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAB >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAB >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sbgvx_impl< typename bindings::value_type<
- MatrixAB >::type >::invoke( jobz, range, ab, bb, q, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -176,8 +176,6 @@
 
 //
 // Overloaded function for spev. Its overload differs for
-// * MatrixAP&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename VectorW, typename MatrixZ,
@@ -192,8 +190,6 @@
 
 //
 // Overloaded function for spev. Its overload differs for
-// * MatrixAP&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename VectorW, typename MatrixZ >
@@ -204,97 +200,6 @@
             MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for spev. Its overload differs for
-// * const MatrixAP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spev( const char jobz, const MatrixAP& ap, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return spev_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, work );
-}
-
-//
-// Overloaded function for spev. Its overload differs for
-// * const MatrixAP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spev( const char jobz, const MatrixAP& ap, VectorW& w, MatrixZ& z ) {
- return spev_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for spev. Its overload differs for
-// * MatrixAP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spev( const char jobz, MatrixAP& ap, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return spev_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, work );
-}
-
-//
-// Overloaded function for spev. Its overload differs for
-// * MatrixAP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spev( const char jobz, MatrixAP& ap, VectorW& w, const MatrixZ& z ) {
- return spev_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for spev. Its overload differs for
-// * const MatrixAP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spev( const char jobz, const MatrixAP& ap, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return spev_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, work );
-}
-
-//
-// Overloaded function for spev. Its overload differs for
-// * const MatrixAP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spev( const char jobz, const MatrixAP& ap, VectorW& w,
- const MatrixZ& z ) {
- return spev_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -216,8 +216,6 @@
 
 //
 // Overloaded function for spevd. Its overload differs for
-// * MatrixAP&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename VectorW, typename MatrixZ,
@@ -232,8 +230,6 @@
 
 //
 // Overloaded function for spevd. Its overload differs for
-// * MatrixAP&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename VectorW, typename MatrixZ >
@@ -244,97 +240,6 @@
             MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for spevd. Its overload differs for
-// * const MatrixAP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spevd( const char jobz, const MatrixAP& ap, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return spevd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, work );
-}
-
-//
-// Overloaded function for spevd. Its overload differs for
-// * const MatrixAP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spevd( const char jobz, const MatrixAP& ap, VectorW& w, MatrixZ& z ) {
- return spevd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for spevd. Its overload differs for
-// * MatrixAP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spevd( const char jobz, MatrixAP& ap, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return spevd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, work );
-}
-
-//
-// Overloaded function for spevd. Its overload differs for
-// * MatrixAP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spevd( const char jobz, MatrixAP& ap, VectorW& w, const MatrixZ& z ) {
- return spevd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
-}
-
-//
-// Overloaded function for spevd. Its overload differs for
-// * const MatrixAP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spevd( const char jobz, const MatrixAP& ap, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return spevd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, work );
-}
-
-//
-// Overloaded function for spevd. Its overload differs for
-// * const MatrixAP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spevd( const char jobz, const MatrixAP& ap, VectorW& w,
- const MatrixZ& z ) {
- return spevd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, ap, w, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -215,8 +215,6 @@
 
 //
 // Overloaded function for spevx. Its overload differs for
-// * MatrixAP&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename VectorW, typename MatrixZ,
@@ -238,8 +236,6 @@
 
 //
 // Overloaded function for spevx. Its overload differs for
-// * MatrixAP&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename VectorW, typename MatrixZ,
@@ -259,144 +255,6 @@
             abstol, m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for spevx. Its overload differs for
-// * const MatrixAP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spevx( const char jobz, const char range, const MatrixAP& ap,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return spevx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, range, ap, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for spevx. Its overload differs for
-// * const MatrixAP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-spevx( const char jobz, const char range, const MatrixAP& ap,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail ) {
- return spevx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, range, ap, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for spevx. Its overload differs for
-// * MatrixAP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spevx( const char jobz, const char range, MatrixAP& ap,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return spevx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, range, ap, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for spevx. Its overload differs for
-// * MatrixAP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-spevx( const char jobz, const char range, MatrixAP& ap,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return spevx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, range, ap, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for spevx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spevx( const char jobz, const char range, const MatrixAP& ap,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return spevx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, range, ap, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for spevx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename VectorW, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-spevx( const char jobz, const char range, const MatrixAP& ap,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return spevx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( jobz, range, ap, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -187,9 +187,6 @@
 
 //
 // Overloaded function for spgv. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename MatrixBP, typename VectorW,
@@ -204,9 +201,6 @@
 
 //
 // Overloaded function for spgv. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename MatrixBP, typename VectorW,
@@ -220,256 +214,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for spgv. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, MatrixZ& z ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, MatrixZ& z, Workspace work ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, MatrixZ& z ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w, MatrixZ& z ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- MatrixBP& bp, VectorW& w, const MatrixZ& z, Workspace work ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- MatrixBP& bp, VectorW& w, const MatrixZ& z ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, const MatrixZ& z ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, const MatrixZ& z, Workspace work ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, const MatrixZ& z ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgv. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgv( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w,
- const MatrixZ& z ) {
- return spgv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -232,9 +232,6 @@
 
 //
 // Overloaded function for spgvd. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename MatrixBP, typename VectorW,
@@ -249,9 +246,6 @@
 
 //
 // Overloaded function for spgvd. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename MatrixBP, typename VectorW,
@@ -265,256 +259,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for spgvd. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, MatrixZ& z ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, MatrixZ& z, Workspace work ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, MatrixZ& z ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w, MatrixZ& z,
- Workspace work ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w, MatrixZ& z ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- MatrixBP& bp, VectorW& w, const MatrixZ& z, Workspace work ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- MatrixBP& bp, VectorW& w, const MatrixZ& z ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, MatrixBP& bp, VectorW& w, const MatrixZ& z ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, const MatrixZ& z, Workspace work ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz, MatrixAP& ap,
- const MatrixBP& bp, VectorW& w, const MatrixZ& z ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w, const MatrixZ& z,
- Workspace work ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z, work );
-}
-
-//
-// Overloaded function for spgvd. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-spgvd( const fortran_int_t itype, const char jobz,
- const MatrixAP& ap, const MatrixBP& bp, VectorW& w,
- const MatrixZ& z ) {
- return spgvd_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, ap, bp, w, z,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -226,9 +226,6 @@
 
 //
 // Overloaded function for spgvx. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename MatrixBP, typename VectorW,
@@ -251,9 +248,6 @@
 
 //
 // Overloaded function for spgvx. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename MatrixBP, typename VectorW,
@@ -273,354 +267,6 @@
             il, iu, abstol, m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for spgvx. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixAP& ap, const MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixAP& ap, const MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, const MatrixBP& bp,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, const MatrixBP& bp,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixAP& ap, MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixAP& ap, MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * const MatrixAP&
-// * MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixAP& ap, const MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixAP& ap, const MatrixBP& bp, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, const MatrixBP& bp,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for spgvx. Its overload differs for
-// * const MatrixAP&
-// * const MatrixBP&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixBP, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-spgvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixAP& ap, const MatrixBP& bp,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixAP >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return spgvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( itype, jobz, range, ap, bp, vl, vu,
- il, iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -161,8 +161,6 @@
 
 //
 // Overloaded function for spsv. Its overload differs for
-// * MatrixAP&
-// * MatrixB&
 //
 template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
 inline std::ptrdiff_t spsv( MatrixAP& ap, VectorIPIV& ipiv, MatrixB& b ) {
@@ -170,42 +168,6 @@
             MatrixAP >::type >::invoke( ap, ipiv, b );
 }
 
-//
-// Overloaded function for spsv. Its overload differs for
-// * const MatrixAP&
-// * MatrixB&
-//
-template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t spsv( const MatrixAP& ap, VectorIPIV& ipiv,
- MatrixB& b ) {
- return spsv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv, b );
-}
-
-//
-// Overloaded function for spsv. Its overload differs for
-// * MatrixAP&
-// * const MatrixB&
-//
-template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t spsv( MatrixAP& ap, VectorIPIV& ipiv,
- const MatrixB& b ) {
- return spsv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv, b );
-}
-
-//
-// Overloaded function for spsv. Its overload differs for
-// * const MatrixAP&
-// * const MatrixB&
-//
-template< typename MatrixAP, typename VectorIPIV, typename MatrixB >
-inline std::ptrdiff_t spsv( const MatrixAP& ap, VectorIPIV& ipiv,
- const MatrixB& b ) {
- return spsv_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( ap, ipiv, b );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -414,8 +414,6 @@
 
 //
 // Overloaded function for spsvx. Its overload differs for
-// * MatrixAFP&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
@@ -435,8 +433,6 @@
 
 //
 // Overloaded function for spsvx. Its overload differs for
-// * MatrixAFP&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
@@ -453,129 +449,6 @@
             ferr, berr, optimal_workspace() );
 }
 
-//
-// Overloaded function for spsvx. Its overload differs for
-// * const MatrixAFP&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spsvx( const char fact, const MatrixAP& ap, const MatrixAFP& afp,
- VectorIPIV& ipiv, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return spsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, ipiv, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for spsvx. Its overload differs for
-// * const MatrixAFP&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-spsvx( const char fact, const MatrixAP& ap, const MatrixAFP& afp,
- VectorIPIV& ipiv, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return spsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, ipiv, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for spsvx. Its overload differs for
-// * MatrixAFP&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spsvx( const char fact, const MatrixAP& ap, MatrixAFP& afp,
- VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return spsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, ipiv, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for spsvx. Its overload differs for
-// * MatrixAFP&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-spsvx( const char fact, const MatrixAP& ap, MatrixAFP& afp,
- VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return spsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, ipiv, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for spsvx. Its overload differs for
-// * const MatrixAFP&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-spsvx( const char fact, const MatrixAP& ap, const MatrixAFP& afp,
- VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return spsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, ipiv, b, x, rcond,
- ferr, berr, work );
-}
-
-//
-// Overloaded function for spsvx. Its overload differs for
-// * const MatrixAFP&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixAP, typename MatrixAFP, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-spsvx( const char fact, const MatrixAP& ap, const MatrixAFP& afp,
- VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixAP >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return spsvx_impl< typename bindings::value_type<
- MatrixAP >::type >::invoke( fact, ap, afp, ipiv, b, x, rcond,
- ferr, berr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -167,7 +167,6 @@
 
 //
 // Overloaded function for stev. Its overload differs for
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename MatrixZ,
@@ -182,7 +181,6 @@
 
 //
 // Overloaded function for stev. Its overload differs for
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename MatrixZ >
@@ -194,35 +192,6 @@
             VectorD >::type >::invoke( jobz, n, d, e, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for stev. Its overload differs for
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-stev( const char jobz, const fortran_int_t n, VectorD& d,
- VectorE& e, const MatrixZ& z, Workspace work ) {
- return stev_impl< typename bindings::value_type<
- VectorD >::type >::invoke( jobz, n, d, e, z, work );
-}
-
-//
-// Overloaded function for stev. Its overload differs for
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-stev( const char jobz, const fortran_int_t n, VectorD& d,
- VectorE& e, const MatrixZ& z ) {
- return stev_impl< typename bindings::value_type<
- VectorD >::type >::invoke( jobz, n, d, e, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -208,7 +208,6 @@
 
 //
 // Overloaded function for stevd. Its overload differs for
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename MatrixZ,
@@ -223,7 +222,6 @@
 
 //
 // Overloaded function for stevd. Its overload differs for
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename MatrixZ >
@@ -235,35 +233,6 @@
             VectorD >::type >::invoke( jobz, n, d, e, z, optimal_workspace() );
 }
 
-//
-// Overloaded function for stevd. Its overload differs for
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename MatrixZ,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-stevd( const char jobz, const fortran_int_t n, VectorD& d,
- VectorE& e, const MatrixZ& z, Workspace work ) {
- return stevd_impl< typename bindings::value_type<
- VectorD >::type >::invoke( jobz, n, d, e, z, work );
-}
-
-//
-// Overloaded function for stevd. Its overload differs for
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename MatrixZ >
-inline typename boost::disable_if< detail::is_workspace< MatrixZ >,
- std::ptrdiff_t >::type
-stevd( const char jobz, const fortran_int_t n, VectorD& d,
- VectorE& e, const MatrixZ& z ) {
- return stevd_impl< typename bindings::value_type<
- VectorD >::type >::invoke( jobz, n, d, e, z, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -233,7 +233,6 @@
 
 //
 // Overloaded function for stevr. Its overload differs for
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename VectorW,
@@ -256,7 +255,6 @@
 
 //
 // Overloaded function for stevr. Its overload differs for
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename VectorW,
@@ -276,52 +274,6 @@
             abstol, m, w, z, isuppz, optimal_workspace() );
 }
 
-//
-// Overloaded function for stevr. Its overload differs for
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename VectorW,
- typename MatrixZ, typename VectorISUPPZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-stevr( const char jobz, const char range, const fortran_int_t n,
- VectorD& d, VectorE& e, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- VectorD >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorISUPPZ& isuppz, Workspace work ) {
- return stevr_impl< typename bindings::value_type<
- VectorD >::type >::invoke( jobz, range, n, d, e, vl, vu, il, iu,
- abstol, m, w, z, isuppz, work );
-}
-
-//
-// Overloaded function for stevr. Its overload differs for
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename VectorW,
- typename MatrixZ, typename VectorISUPPZ >
-inline typename boost::disable_if< detail::is_workspace< VectorISUPPZ >,
- std::ptrdiff_t >::type
-stevr( const char jobz, const char range, const fortran_int_t n,
- VectorD& d, VectorE& e, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- VectorD >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorISUPPZ& isuppz ) {
- return stevr_impl< typename bindings::value_type<
- VectorD >::type >::invoke( jobz, range, n, d, e, vl, vu, il, iu,
- abstol, m, w, z, isuppz, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -218,7 +218,6 @@
 
 //
 // Overloaded function for stevx. Its overload differs for
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename VectorD, typename VectorE, typename VectorW,
@@ -241,7 +240,6 @@
 
 //
 // Overloaded function for stevx. Its overload differs for
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename VectorD, typename VectorE, typename VectorW,
@@ -261,52 +259,6 @@
             abstol, m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for stevx. Its overload differs for
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename VectorD, typename VectorE, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-stevx( const char jobz, const char range, const fortran_int_t n,
- VectorD& d, VectorE& e, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- VectorD >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return stevx_impl< typename bindings::value_type<
- VectorD >::type >::invoke( jobz, range, n, d, e, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for stevx. Its overload differs for
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename VectorD, typename VectorE, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-stevx( const char jobz, const char range, const fortran_int_t n,
- VectorD& d, VectorE& e, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- VectorD >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< VectorD >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return stevx_impl< typename bindings::value_type<
- VectorD >::type >::invoke( jobz, range, n, d, e, vl, vu, il, iu,
- abstol, m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -180,7 +180,6 @@
 
 //
 // Overloaded function for syev. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorW, typename Workspace >
@@ -193,7 +192,6 @@
 
 //
 // Overloaded function for syev. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorW >
@@ -204,32 +202,6 @@
             MatrixA >::type >::invoke( jobz, a, w, optimal_workspace() );
 }
 
-//
-// Overloaded function for syev. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-syev( const char jobz, const MatrixA& a, VectorW& w, Workspace work ) {
- return syev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, w, work );
-}
-
-//
-// Overloaded function for syev. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-syev( const char jobz, const MatrixA& a, VectorW& w ) {
- return syev_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, w, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -213,7 +213,6 @@
 
 //
 // Overloaded function for syevd. Its overload differs for
-// * MatrixA&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorW, typename Workspace >
@@ -226,7 +225,6 @@
 
 //
 // Overloaded function for syevd. Its overload differs for
-// * MatrixA&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorW >
@@ -237,32 +235,6 @@
             MatrixA >::type >::invoke( jobz, a, w, optimal_workspace() );
 }
 
-//
-// Overloaded function for syevd. Its overload differs for
-// * const MatrixA&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-syevd( const char jobz, const MatrixA& a, VectorW& w, Workspace work ) {
- return syevd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, w, work );
-}
-
-//
-// Overloaded function for syevd. Its overload differs for
-// * const MatrixA&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-syevd( const char jobz, const MatrixA& a, VectorW& w ) {
- return syevd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, a, w, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -238,8 +238,6 @@
 
 //
 // Overloaded function for syevr. Its overload differs for
-// * MatrixA&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorW, typename MatrixZ,
@@ -261,8 +259,6 @@
 
 //
 // Overloaded function for syevr. Its overload differs for
-// * MatrixA&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorW, typename MatrixZ,
@@ -282,144 +278,6 @@
             m, w, z, isuppz, optimal_workspace() );
 }
 
-//
-// Overloaded function for syevr. Its overload differs for
-// * const MatrixA&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorISUPPZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-syevr( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorISUPPZ& isuppz, Workspace work ) {
- return syevr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, isuppz, work );
-}
-
-//
-// Overloaded function for syevr. Its overload differs for
-// * const MatrixA&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorISUPPZ >
-inline typename boost::disable_if< detail::is_workspace< VectorISUPPZ >,
- std::ptrdiff_t >::type
-syevr( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorISUPPZ& isuppz ) {
- return syevr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, isuppz, optimal_workspace() );
-}
-
-//
-// Overloaded function for syevr. Its overload differs for
-// * MatrixA&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorISUPPZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-syevr( const char jobz, const char range, MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorISUPPZ& isuppz, Workspace work ) {
- return syevr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, isuppz, work );
-}
-
-//
-// Overloaded function for syevr. Its overload differs for
-// * MatrixA&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorISUPPZ >
-inline typename boost::disable_if< detail::is_workspace< VectorISUPPZ >,
- std::ptrdiff_t >::type
-syevr( const char jobz, const char range, MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorISUPPZ& isuppz ) {
- return syevr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, isuppz, optimal_workspace() );
-}
-
-//
-// Overloaded function for syevr. Its overload differs for
-// * const MatrixA&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorISUPPZ, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-syevr( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorISUPPZ& isuppz, Workspace work ) {
- return syevr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, isuppz, work );
-}
-
-//
-// Overloaded function for syevr. Its overload differs for
-// * const MatrixA&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorISUPPZ >
-inline typename boost::disable_if< detail::is_workspace< VectorISUPPZ >,
- std::ptrdiff_t >::type
-syevr( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorISUPPZ& isuppz ) {
- return syevr_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, isuppz, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -239,8 +239,6 @@
 
 //
 // Overloaded function for syevx. Its overload differs for
-// * MatrixA&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorW, typename MatrixZ,
@@ -262,8 +260,6 @@
 
 //
 // Overloaded function for syevx. Its overload differs for
-// * MatrixA&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorW, typename MatrixZ,
@@ -283,144 +279,6 @@
             m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for syevx. Its overload differs for
-// * const MatrixA&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-syevx( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return syevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for syevx. Its overload differs for
-// * const MatrixA&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-syevx( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- MatrixZ& z, VectorIFAIL& ifail ) {
- return syevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for syevx. Its overload differs for
-// * MatrixA&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-syevx( const char jobz, const char range, MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return syevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for syevx. Its overload differs for
-// * MatrixA&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-syevx( const char jobz, const char range, MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return syevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for syevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-syevx( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return syevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for syevx. Its overload differs for
-// * const MatrixA&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorW, typename MatrixZ,
- typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-syevx( const char jobz, const char range, const MatrixA& a,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vl, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vu,
- const fortran_int_t il, const fortran_int_t iu,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
- const MatrixZ& z, VectorIFAIL& ifail ) {
- return syevx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( jobz, range, a, vl, vu, il, iu, abstol,
- m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -198,8 +198,6 @@
 
 //
 // Overloaded function for sygv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorW,
@@ -214,8 +212,6 @@
 
 //
 // Overloaded function for sygv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorW >
@@ -228,102 +224,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for sygv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygv( const fortran_int_t itype, const char jobz, const MatrixA& a,
- MatrixB& b, VectorW& w, Workspace work ) {
- return sygv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w, work );
-}
-
-//
-// Overloaded function for sygv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-sygv( const fortran_int_t itype, const char jobz, const MatrixA& a,
- MatrixB& b, VectorW& w ) {
- return sygv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sygv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygv( const fortran_int_t itype, const char jobz, MatrixA& a,
- const MatrixB& b, VectorW& w, Workspace work ) {
- return sygv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w, work );
-}
-
-//
-// Overloaded function for sygv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-sygv( const fortran_int_t itype, const char jobz, MatrixA& a,
- const MatrixB& b, VectorW& w ) {
- return sygv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sygv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygv( const fortran_int_t itype, const char jobz, const MatrixA& a,
- const MatrixB& b, VectorW& w, Workspace work ) {
- return sygv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w, work );
-}
-
-//
-// Overloaded function for sygv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-sygv( const fortran_int_t itype, const char jobz, const MatrixA& a,
- const MatrixB& b, VectorW& w ) {
- return sygv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -232,8 +232,6 @@
 
 //
 // Overloaded function for sygvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorW,
@@ -248,8 +246,6 @@
 
 //
 // Overloaded function for sygvd. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorW >
@@ -262,102 +258,6 @@
             optimal_workspace() );
 }
 
-//
-// Overloaded function for sygvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygvd( const fortran_int_t itype, const char jobz, const MatrixA& a,
- MatrixB& b, VectorW& w, Workspace work ) {
- return sygvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w, work );
-}
-
-//
-// Overloaded function for sygvd. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-sygvd( const fortran_int_t itype, const char jobz, const MatrixA& a,
- MatrixB& b, VectorW& w ) {
- return sygvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sygvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygvd( const fortran_int_t itype, const char jobz, MatrixA& a,
- const MatrixB& b, VectorW& w, Workspace work ) {
- return sygvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w, work );
-}
-
-//
-// Overloaded function for sygvd. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-sygvd( const fortran_int_t itype, const char jobz, MatrixA& a,
- const MatrixB& b, VectorW& w ) {
- return sygvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w,
- optimal_workspace() );
-}
-
-//
-// Overloaded function for sygvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygvd( const fortran_int_t itype, const char jobz, const MatrixA& a,
- const MatrixB& b, VectorW& w, Workspace work ) {
- return sygvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w, work );
-}
-
-//
-// Overloaded function for sygvd. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW >
-inline typename boost::disable_if< detail::is_workspace< VectorW >,
- std::ptrdiff_t >::type
-sygvd( const fortran_int_t itype, const char jobz, const MatrixA& a,
- const MatrixB& b, VectorW& w ) {
- return sygvd_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, a, b, w,
- optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -256,9 +256,6 @@
 
 //
 // Overloaded function for sygvx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixZ&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixB, typename VectorW,
@@ -281,9 +278,6 @@
 
 //
 // Overloaded function for sygvx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * MatrixZ&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixB, typename VectorW,
@@ -303,353 +297,6 @@
             iu, abstol, m, w, z, ifail, optimal_workspace() );
 }
 
-//
-// Overloaded function for sygvx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail,
- Workspace work ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * MatrixA&
-// * MatrixB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixZ&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail, Workspace work ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, work );
-}
-
-//
-// Overloaded function for sygvx. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * const MatrixZ&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixB, typename VectorW,
- typename MatrixZ, typename VectorIFAIL >
-inline typename boost::disable_if< detail::is_workspace< VectorIFAIL >,
- std::ptrdiff_t >::type
-sygvx( const fortran_int_t itype, const char jobz, const char range,
- const MatrixA& a, const MatrixB& b, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type vl,
- const typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type vu, const fortran_int_t il,
- const fortran_int_t iu, const typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type abstol,
- fortran_int_t& m, VectorW& w, const MatrixZ& z,
- VectorIFAIL& ifail ) {
- return sygvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( itype, jobz, range, a, b, vl, vu, il,
- iu, abstol, m, w, z, ifail, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -331,8 +331,6 @@
 
 //
 // Overloaded function for sysv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * User-defined workspace
 //
 template< typename MatrixA, typename VectorIPIV, typename MatrixB,
@@ -346,8 +344,6 @@
 
 //
 // Overloaded function for sysv. Its overload differs for
-// * MatrixA&
-// * MatrixB&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename VectorIPIV, typename MatrixB >
@@ -358,94 +354,6 @@
             MatrixA >::type >::invoke( a, ipiv, b, optimal_workspace() );
 }
 
-//
-// Overloaded function for sysv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sysv( const MatrixA& a, VectorIPIV& ipiv, MatrixB& b, Workspace work ) {
- return sysv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, work );
-}
-
-//
-// Overloaded function for sysv. Its overload differs for
-// * const MatrixA&
-// * MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB >
-inline typename boost::disable_if< detail::is_workspace< MatrixB >,
- std::ptrdiff_t >::type
-sysv( const MatrixA& a, VectorIPIV& ipiv, MatrixB& b ) {
- return sysv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, optimal_workspace() );
-}
-
-//
-// Overloaded function for sysv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sysv( MatrixA& a, VectorIPIV& ipiv, const MatrixB& b, Workspace work ) {
- return sysv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, work );
-}
-
-//
-// Overloaded function for sysv. Its overload differs for
-// * MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB >
-inline typename boost::disable_if< detail::is_workspace< MatrixB >,
- std::ptrdiff_t >::type
-sysv( MatrixA& a, VectorIPIV& ipiv, const MatrixB& b ) {
- return sysv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, optimal_workspace() );
-}
-
-//
-// Overloaded function for sysv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * User-defined workspace
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB,
- typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sysv( const MatrixA& a, VectorIPIV& ipiv, const MatrixB& b,
- Workspace work ) {
- return sysv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, work );
-}
-
-//
-// Overloaded function for sysv. Its overload differs for
-// * const MatrixA&
-// * const MatrixB&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename VectorIPIV, typename MatrixB >
-inline typename boost::disable_if< detail::is_workspace< MatrixB >,
- std::ptrdiff_t >::type
-sysv( const MatrixA& a, VectorIPIV& ipiv, const MatrixB& b ) {
- return sysv_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( a, ipiv, b, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

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 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -474,8 +474,6 @@
 
 //
 // Overloaded function for sysvx. Its overload differs for
-// * MatrixAF&
-// * MatrixX&
 // * User-defined workspace
 //
 template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
@@ -494,8 +492,6 @@
 
 //
 // Overloaded function for sysvx. Its overload differs for
-// * MatrixAF&
-// * MatrixX&
 // * Default workspace-type (optimal)
 //
 template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
@@ -512,128 +508,6 @@
             berr, optimal_workspace() );
 }
 
-//
-// Overloaded function for sysvx. Its overload differs for
-// * const MatrixAF&
-// * MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sysvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return sysvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, b, x, rcond, ferr,
- berr, work );
-}
-
-//
-// Overloaded function for sysvx. Its overload differs for
-// * const MatrixAF&
-// * MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-sysvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, const MatrixB& b, MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return sysvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, b, x, rcond, ferr,
- berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for sysvx. Its overload differs for
-// * MatrixAF&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sysvx( const char fact, const MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr, Workspace work ) {
- return sysvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, b, x, rcond, ferr,
- berr, work );
-}
-
-//
-// Overloaded function for sysvx. Its overload differs for
-// * MatrixAF&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-sysvx( const char fact, const MatrixA& a, MatrixAF& af, VectorIPIV& ipiv,
- const MatrixB& b, const MatrixX& x, typename remove_imaginary<
- typename bindings::value_type< MatrixA >::type >::type& rcond,
- VectorFERR& ferr, VectorBERR& berr ) {
- return sysvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, b, x, rcond, ferr,
- berr, optimal_workspace() );
-}
-
-//
-// Overloaded function for sysvx. Its overload differs for
-// * const MatrixAF&
-// * const MatrixX&
-// * User-defined workspace
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR, typename Workspace >
-inline typename boost::enable_if< detail::is_workspace< Workspace >,
- std::ptrdiff_t >::type
-sysvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr,
- Workspace work ) {
- return sysvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, b, x, rcond, ferr,
- berr, work );
-}
-
-//
-// Overloaded function for sysvx. Its overload differs for
-// * const MatrixAF&
-// * const MatrixX&
-// * Default workspace-type (optimal)
-//
-template< typename MatrixA, typename MatrixAF, typename VectorIPIV,
- typename MatrixB, typename MatrixX, typename VectorFERR,
- typename VectorBERR >
-inline typename boost::disable_if< detail::is_workspace< VectorBERR >,
- std::ptrdiff_t >::type
-sysvx( const char fact, const MatrixA& a, const MatrixAF& af,
- VectorIPIV& ipiv, const MatrixB& b, const MatrixX& x,
- typename remove_imaginary< typename bindings::value_type<
- MatrixA >::type >::type& rcond, VectorFERR& ferr, VectorBERR& berr ) {
- return sysvx_impl< typename bindings::value_type<
- MatrixA >::type >::invoke( fact, a, af, ipiv, b, x, rcond, ferr,
- berr, optimal_workspace() );
-}
-
 } // namespace lapack
 } // namespace bindings
 } // namespace numeric

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/asum.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/asum.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/asum.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `asum` available, please see below.
 ``
-asum( const VectorViewX& x );
+asum( const VectorX& x );
 ``
 
 
@@ -20,13 +20,13 @@
 
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of asum.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SASUM][cblas_sasum][cublasSasum] ]
 [ [`double`][DASUM][cblas_dasum][cublasDasum] ]
 [ [`complex<float>`][SCASUM][cblas_scasum][cublasScasum] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/axpy.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/axpy.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/axpy.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,11 +9,11 @@
 [heading Prototype]
 There are two prototypes of `axpy` available, please see below.
 ``
-axpy( const Scalar >, const VectorViewX& x, VectorViewY& y );
+axpy( const Scalar >, const VectorX& x, VectorY& y );
 ``
 
 ``
-axpy( const Scalar a, const VectorViewX& x, VectorViewY& y );
+axpy( const Scalar a, const VectorX& x, VectorY& y );
 ``
 
 
@@ -24,13 +24,13 @@
 
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of axpy.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SAXPY][cblas_saxpy][cublasSaxpy] ]
 [ [`double`][DAXPY][cblas_daxpy][cublasDaxpy] ]
 [ [`complex<float>`][CAXPY][cblas_caxpy][cublasCaxpy] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/copy.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/copy.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/copy.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `copy` available, please see below.
 ``
-copy( const VectorViewX& x, VectorViewY& y );
+copy( const VectorX& x, VectorY& y );
 ``
 
 
@@ -20,13 +20,13 @@
 
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of copy.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SCOPY][cblas_scopy][cublasScopy] ]
 [ [`double`][DCOPY][cblas_dcopy][cublasDcopy] ]
 [ [`complex<float>`][CCOPY][cblas_ccopy][cublasCcopy] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/dot.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/dot.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/dot.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `dot` available, please see below.
 ``
-dot( const VectorViewX& x, const VectorViewY& y );
+dot( const VectorX& x, const VectorY& y );
 ``
 
 
@@ -20,13 +20,13 @@
 
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of dot.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SDOT][cblas_sdot][cublasSdot] ]
 [ [`double`][DDOT][cblas_ddot][cublasDdot] ]
 [ [`complex<float>`][CDOTU][cblas_cdotu_sub][cublasCdotu] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/dotc.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/dotc.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/dotc.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `dotc` available, please see below.
 ``
-dotc( const VectorViewX& x, const VectorViewY& y );
+dotc( const VectorX& x, const VectorY& y );
 ``
 
 
@@ -20,13 +20,13 @@
 
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of dotc.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`complex<float>`][CDOTC][cblas_cdotc_sub][cublasCdotc] ]
 [ [`complex<double>`][ZDOTC][cblas_zdotc_sub][Unavailable] ]
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/iamax.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/iamax.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/iamax.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `iamax` available, please see below.
 ``
-iamax( const VectorViewX& x );
+iamax( const VectorX& x );
 ``
 
 
@@ -20,13 +20,13 @@
 
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of iamax.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][ISAMAX][cblas_isamax][cublasIsamax] ]
 [ [`double`][IDAMAX][cblas_idamax][cublasIdamax] ]
 [ [`complex<float>`][ICAMAX][cblas_icamax][cublasIcamax] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/nrm2.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/nrm2.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/nrm2.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `nrm2` available, please see below.
 ``
-nrm2( const VectorViewX& x );
+nrm2( const VectorX& x );
 ``
 
 
@@ -20,13 +20,13 @@
 
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of nrm2.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SNRM2][cblas_snrm2][cublasSnrm2] ]
 [ [`double`][DNRM2][cblas_dnrm2][cublasDnrm2] ]
 [ [`complex<float>`][SCNRM2][cblas_scnrm2][cublasScnrm2] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/prec_dot.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/prec_dot.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/prec_dot.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `prec_dot` available, please see below.
 ``
-prec_dot( const VectorViewX& x, const VectorViewY& y );
+prec_dot( const VectorX& x, const VectorY& y );
 ``
 
 
@@ -25,13 +25,13 @@
 defined in a similar way using INCY.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of prec_dot.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`double`][DSDOT][cblas_dsdot][Unavailable] ]
 
 ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/rot.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/rot.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/rot.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `rot` available, please see below.
 ``
-rot( VectorViewX& x, VectorViewY& y, const Scalar >, const Scalar > );
+rot( VectorX& x, VectorY& y, const Scalar >, const Scalar > );
 ``
 
 
@@ -22,13 +22,13 @@
 jack dongarra, linpack, 3/11/78.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of rot.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SROT][cblas_srot][cublasSrot] ]
 [ [`double`][DROT][cblas_drot][cublasDrot] ]
 [ [`complex<float>`][CSROT][Unavailable][cublasCsrot] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/rotm.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/rotm.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/rotm.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `rotm` available, please see below.
 ``
-rotm( VectorViewX& x, VectorViewY& y, VectorPARAM& param );
+rotm( VectorX& x, VectorY& y, VectorPARAM& param );
 ``
 
 
@@ -34,13 +34,13 @@
 SEE `rotm`G FOR A DESCRIPTION OF DATA STORAGE IN DPARAM.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of rotm.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SROTM][cblas_srotm][cublasSrotm] ]
 [ [`double`][DROTM][cblas_drotm][cublasDrotm] ]
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/scal.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/scal.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/scal.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,11 +9,11 @@
 [heading Prototype]
 There are two prototypes of `scal` available, please see below.
 ``
-scal( const Scalar >, VectorViewX& x );
+scal( const Scalar >, VectorX& x );
 ``
 
 ``
-scal( const ScalarA a, VectorViewX& x );
+scal( const ScalarA a, VectorX& x );
 ``
 
 
@@ -24,13 +24,13 @@
 
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of scal.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SSCAL][cblas_sscal][cublasSscal] ]
 [ [`double`][DSCAL][cblas_dscal][cublasDscal] ]
 [ [`combined float and complex<float>`][CSSCAL][cblas_csscal][cublasCsscal] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/swap.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/swap.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level1/swap.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `swap` available, please see below.
 ``
-swap( VectorViewX& x, VectorViewY& y );
+swap( VectorX& x, VectorY& y );
 ``
 
 
@@ -20,13 +20,13 @@
 
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of swap.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SSWAP][cblas_sswap][cublasSswap] ]
 [ [`double`][DSWAP][cblas_dswap][cublasDswap] ]
 [ [`complex<float>`][CSWAP][cblas_cswap][cublasCswap] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/gbmv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/gbmv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/gbmv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,13 +9,13 @@
 [heading Prototype]
 There are two prototypes of `gbmv` available, please see below.
 ``
-gbmv( const Scalar >, const MatrixA& a, const VectorViewX& x,
- const Scalar >, VectorViewY& y );
+gbmv( const Scalar >, const MatrixA& a, const VectorX& x,
+ const Scalar >, VectorY& y );
 ``
 
 ``
-gbmv( const Scalar alpha, const MatrixA& a, const VectorViewX& x,
- const Scalar beta, VectorViewY& y );
+gbmv( const Scalar alpha, const MatrixA& a, const VectorX& x,
+ const Scalar beta, VectorY& y );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/gemv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/gemv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/gemv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,13 +9,13 @@
 [heading Prototype]
 There are two prototypes of `gemv` available, please see below.
 ``
-gemv( const Scalar >, const MatrixA& a, const VectorViewX& x,
- const Scalar >, VectorViewY& y );
+gemv( const Scalar >, const MatrixA& a, const VectorX& x,
+ const Scalar >, VectorY& y );
 ``
 
 ``
-gemv( const Scalar alpha, const MatrixA& a, const VectorViewX& x,
- const Scalar beta, VectorViewY& y );
+gemv( const Scalar alpha, const MatrixA& a, const VectorX& x,
+ const Scalar beta, VectorY& y );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/ger.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/ger.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/ger.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,8 +9,7 @@
 [heading Prototype]
 There is one prototype of `ger` available, please see below.
 ``
-ger( const Scalar >, const VectorViewX& x, const VectorViewY& y,
- MatrixA& a );
+ger( const Scalar >, const VectorX& x, const VectorY& y, MatrixA& a );
 ``
 
 
@@ -26,13 +25,13 @@
 vector and A is an m by n matrix.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of ger.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SGER][cblas_sger][cublasSger] ]
 [ [`double`][DGER][cblas_dger][cublasDger] ]
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/gerc.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/gerc.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/gerc.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `gerc` available, please see below.
 ``
-gerc( const Scalar alpha, const VectorViewX& x, const VectorViewY& y,
+gerc( const Scalar alpha, const VectorX& x, const VectorY& y,
         MatrixA& a );
 ``
 
@@ -26,13 +26,13 @@
 vector and A is an m by n matrix.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of gerc.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`complex<float>`][CGERC][cblas_cgerc][cublasCgerc] ]
 [ [`complex<double>`][ZGERC][cblas_zgerc][Unavailable] ]
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/geru.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/geru.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/geru.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `geru` available, please see below.
 ``
-geru( const Scalar alpha, const VectorViewX& x, const VectorViewY& y,
+geru( const Scalar alpha, const VectorX& x, const VectorY& y,
         MatrixA& a );
 ``
 
@@ -26,13 +26,13 @@
 vector and A is an m by n matrix.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of geru.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`complex<float>`][CGERU][cblas_cgeru][cublasCgeru] ]
 [ [`complex<double>`][ZGERU][cblas_zgeru][Unavailable] ]
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hbmv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hbmv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hbmv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,13 +9,13 @@
 [heading Prototype]
 There are two prototypes of `hbmv` available, please see below.
 ``
-hbmv( const Scalar >, const MatrixA& a, const VectorViewX& x,
- const Scalar >, VectorViewY& y );
+hbmv( const Scalar >, const MatrixA& a, const VectorX& x,
+ const Scalar >, VectorY& y );
 ``
 
 ``
-hbmv( const Scalar alpha, const MatrixA& a, const VectorViewX& x,
- const Scalar beta, VectorViewY& y );
+hbmv( const Scalar alpha, const MatrixA& a, const VectorX& x,
+ const Scalar beta, VectorY& y );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hemv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hemv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hemv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,13 +9,13 @@
 [heading Prototype]
 There are two prototypes of `hemv` available, please see below.
 ``
-hemv( const Scalar >, const MatrixA& a, const VectorViewX& x,
- const Scalar >, VectorViewY& y );
+hemv( const Scalar >, const MatrixA& a, const VectorX& x,
+ const Scalar >, VectorY& y );
 ``
 
 ``
-hemv( const Scalar alpha, const MatrixA& a, const VectorViewX& x,
- const Scalar beta, VectorViewY& y );
+hemv( const Scalar alpha, const MatrixA& a, const VectorX& x,
+ const Scalar beta, VectorY& y );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/her.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/her.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/her.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `her` available, please see below.
 ``
-her( const Scalar >, const VectorViewX& x, MatrixA& a );
+her( const Scalar >, const VectorX& x, MatrixA& a );
 ``
 
 
@@ -25,13 +25,13 @@
 n by n hermitian matrix.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of her.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SSYR][cblas_ssyr][cublasSsyr] ]
 [ [`double`][DSYR][cblas_dsyr][cublasDsyr] ]
 [ [`complex<float>`][CHER][cblas_cher][cublasCher] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/her2.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/her2.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/her2.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,12 +9,11 @@
 [heading Prototype]
 There are two prototypes of `her2` available, please see below.
 ``
-her2( const Scalar >, const VectorViewX& x, const VectorViewY& y,
- MatrixA& a );
+her2( const Scalar >, const VectorX& x, const VectorY& y, MatrixA& a );
 ``
 
 ``
-her2( const Scalar alpha, const VectorViewX& x, const VectorViewY& y,
+her2( const Scalar alpha, const VectorX& x, const VectorY& y,
         MatrixA& a );
 ``
 
@@ -31,13 +30,13 @@
 by n hermitian matrix.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of her2.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SSYR2][cblas_ssyr2][cublasSsyr2] ]
 [ [`double`][DSYR2][cblas_dsyr2][Unavailable] ]
 [ [`complex<float>`][CHER2][cblas_cher2][cublasCher2] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hpmv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hpmv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hpmv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,13 +9,13 @@
 [heading Prototype]
 There are two prototypes of `hpmv` available, please see below.
 ``
-hpmv( const Scalar >, const MatrixAP& ap, const VectorViewX& x,
- const Scalar >, VectorViewY& y );
+hpmv( const Scalar >, const MatrixAP& ap, const VectorX& x,
+ const Scalar >, VectorY& y );
 ``
 
 ``
-hpmv( const Scalar alpha, const MatrixAP& ap, const VectorViewX& x,
- const Scalar beta, VectorViewY& y );
+hpmv( const Scalar alpha, const MatrixAP& ap, const VectorX& x,
+ const Scalar beta, VectorY& y );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hpr.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hpr.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hpr.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `hpr` available, please see below.
 ``
-hpr( const Scalar >, const VectorViewX& x, MatrixAP& ap );
+hpr( const Scalar >, const VectorX& x, MatrixAP& ap );
 ``
 
 
@@ -25,13 +25,13 @@
 n by n hermitian matrix, supplied in packed form.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of hpr.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SSPR][cblas_sspr][cublasSspr] ]
 [ [`double`][DSPR][cblas_dspr][Unavailable] ]
 [ [`complex<float>`][CHPR][cblas_chpr][cublasChpr] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hpr2.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hpr2.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/hpr2.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,12 +9,11 @@
 [heading Prototype]
 There are two prototypes of `hpr2` available, please see below.
 ``
-hpr2( const Scalar >, const VectorViewX& x, const VectorViewY& y,
- MatrixAP& ap );
+hpr2( const Scalar >, const VectorX& x, const VectorY& y, MatrixAP& ap );
 ``
 
 ``
-hpr2( const Scalar alpha, const VectorViewX& x, const VectorViewY& y,
+hpr2( const Scalar alpha, const VectorX& x, const VectorY& y,
         MatrixAP& ap );
 ``
 
@@ -31,13 +30,13 @@
 n by n hermitian matrix, supplied in packed form.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of hpr2.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SSPR2][cblas_sspr2][cublasSspr2] ]
 [ [`double`][DSPR2][cblas_dspr2][Unavailable] ]
 [ [`complex<float>`][CHPR2][cblas_chpr2][cublasChpr2] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/sbmv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/sbmv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/sbmv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,8 +9,8 @@
 [heading Prototype]
 There is one prototype of `sbmv` available, please see below.
 ``
-sbmv( const Scalar >, const MatrixA& a, const VectorViewX& x,
- const Scalar >, VectorViewY& y );
+sbmv( const Scalar >, const MatrixA& a, const VectorX& x,
+ const Scalar >, VectorY& y );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/spmv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/spmv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/spmv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,8 +9,8 @@
 [heading Prototype]
 There is one prototype of `spmv` available, please see below.
 ``
-spmv( const Scalar >, const MatrixAP& ap, const VectorViewX& x,
- const Scalar >, VectorViewY& y );
+spmv( const Scalar >, const MatrixAP& ap, const VectorX& x,
+ const Scalar >, VectorY& y );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/spr.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/spr.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/spr.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `spr` available, please see below.
 ``
-spr( const Scalar >, const VectorViewX& x, MatrixAP& ap );
+spr( const Scalar >, const VectorX& x, MatrixAP& ap );
 ``
 
 
@@ -25,13 +25,13 @@
 n by n symmetric matrix, supplied in packed form.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of spr.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SSPR][cblas_sspr][cublasSspr] ]
 [ [`double`][DSPR][cblas_dspr][Unavailable] ]
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/spr2.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/spr2.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/spr2.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,8 +9,7 @@
 [heading Prototype]
 There is one prototype of `spr2` available, please see below.
 ``
-spr2( const Scalar >, const VectorViewX& x, const VectorViewY& y,
- MatrixAP& ap );
+spr2( const Scalar >, const VectorX& x, const VectorY& y, MatrixAP& ap );
 ``
 
 
@@ -26,13 +25,13 @@
 n by n symmetric matrix, supplied in packed form.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of spr2.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SSPR2][cblas_sspr2][cublasSspr2] ]
 [ [`double`][DSPR2][cblas_dspr2][Unavailable] ]
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/symv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/symv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/symv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,8 +9,8 @@
 [heading Prototype]
 There is one prototype of `symv` available, please see below.
 ``
-symv( const Scalar >, const MatrixA& a, const VectorViewX& x,
- const Scalar >, VectorViewY& y );
+symv( const Scalar >, const MatrixA& a, const VectorX& x,
+ const Scalar >, VectorY& y );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/syr.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/syr.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/syr.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `syr` available, please see below.
 ``
-syr( const Scalar >, const VectorViewX& x, MatrixA& a );
+syr( const Scalar >, const VectorX& x, MatrixA& a );
 ``
 
 
@@ -25,13 +25,13 @@
 n by n symmetric matrix.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of syr.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SSYR][cblas_ssyr][cublasSsyr] ]
 [ [`double`][DSYR][cblas_dsyr][cublasDsyr] ]
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/syr2.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/syr2.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/syr2.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,8 +9,7 @@
 [heading Prototype]
 There is one prototype of `syr2` available, please see below.
 ``
-syr2( const Scalar >, const VectorViewX& x, const VectorViewY& y,
- MatrixA& a );
+syr2( const Scalar >, const VectorX& x, const VectorY& y, MatrixA& a );
 ``
 
 
@@ -26,13 +25,13 @@
 by n symmetric matrix.
 
 The selection of the BLAS routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 Table X below illustrates to which specific routine this dispatching will take place.
 
 [table Dispatching of syr2.
-[ [ Value type of VectorViewX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
+[ [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
 [ [`float`][SSYR2][cblas_ssyr2][cublasSsyr2] ]
 [ [`double`][DSYR2][cblas_dsyr2][Unavailable] ]
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tbmv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tbmv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tbmv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `tbmv` available, please see below.
 ``
-tbmv( const int_t k, const MatrixA& a, VectorViewX& x );
+tbmv( const int_t k, const MatrixA& a, VectorX& x );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tbsv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tbsv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tbsv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `tbsv` available, please see below.
 ``
-tbsv( const int_t k, const MatrixA& a, VectorViewX& x );
+tbsv( const int_t k, const MatrixA& a, VectorX& x );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tpmv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tpmv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tpmv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `tpmv` available, please see below.
 ``
-tpmv( const MatrixAP& ap, VectorViewX& x );
+tpmv( const MatrixAP& ap, VectorX& x );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tpsv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tpsv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/tpsv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `tpsv` available, please see below.
 ``
-tpsv( const MatrixAP& ap, VectorViewX& x );
+tpsv( const MatrixAP& ap, VectorX& x );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/trmv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/trmv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/trmv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `trmv` available, please see below.
 ``
-trmv( const MatrixA& a, VectorViewX& x );
+trmv( const MatrixA& a, VectorX& x );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/trsv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/trsv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/blas/level2/trsv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,7 +9,7 @@
 [heading Prototype]
 There is one prototype of `trsv` available, please see below.
 ``
-trsv( const MatrixA& a, VectorViewX& x );
+trsv( const MatrixA& a, VectorX& x );
 ``
 
 

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/larf.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/larf.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/larf.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,13 +9,11 @@
 [heading Prototype]
 There are two prototypes of `larf` available, please see below.
 ``
-larf( const Side side, const VectorViewV& v, const Scalar >,
- MatrixC& c );
+larf( const Side side, const VectorV& v, const Scalar >, MatrixC& c );
 ``
 
 ``
-larf( const Side side, const VectorViewV& v, const Scalar tau,
- MatrixC& c );
+larf( const Side side, const VectorV& v, const Scalar tau, MatrixC& c );
 ``
 
 
@@ -37,14 +35,14 @@
 tau.
 
 The selection of the LAPACK routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewV`.
+and is determined by the type of values contained in type `VectorV`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewV>::type`.
+ `typename value_type<VectorV>::type`.
 The dispatching table below illustrates to which specific routine
 the code path will be generated.
 
 [table Dispatching of larf
-[ [ Value type of VectorViewV ] [LAPACK routine] ]
+[ [ Value type of VectorV ] [LAPACK routine] ]
 [ [`float`][SLARF] ]
 [ [`double`][DLARF] ]
 [ [`complex<float>`][CLARF] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/larfg.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/larfg.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/larfg.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,11 +9,11 @@
 [heading Prototype]
 There are two prototypes of `larfg` available, please see below.
 ``
-larfg( const int_t n, Scalar >, VectorViewX& x, Scalar > );
+larfg( const int_t n, Scalar >, VectorX& x, Scalar > );
 ``
 
 ``
-larfg( const int_t n, Scalar& alpha, VectorViewX& x,
+larfg( const int_t n, Scalar& alpha, VectorX& x,
         Scalar& tau );
 ``
 
@@ -43,14 +43,14 @@
 Otherwise 1 <= real(tau) <= 2 and abs(tau-1) <= 1 .
 
 The selection of the LAPACK routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 The dispatching table below illustrates to which specific routine
 the code path will be generated.
 
 [table Dispatching of larfg
-[ [ Value type of VectorViewX ] [LAPACK routine] ]
+[ [ Value type of VectorX ] [LAPACK routine] ]
 [ [`float`][SLARFG] ]
 [ [`double`][DLARFG] ]
 [ [`complex<float>`][CLARFG] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/largv.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/largv.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/largv.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,8 +9,7 @@
 [heading Prototype]
 There is one prototype of `largv` available, please see below.
 ``
-largv( const int_t n, VectorViewX& x, VectorViewY& y,
- VectorViewC& c );
+largv( const int_t n, VectorX& x, VectorY& y, VectorC& c );
 ``
 
 
@@ -33,14 +32,14 @@
 If x(i)=0, then c(i)=0 and s(i) is chosen so that r(i) is real.
 
 The selection of the LAPACK routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewX`.
+and is determined by the type of values contained in type `VectorX`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewX>::type`.
+ `typename value_type<VectorX>::type`.
 The dispatching table below illustrates to which specific routine
 the code path will be generated.
 
 [table Dispatching of largv
-[ [ Value type of VectorViewX ] [LAPACK routine] ]
+[ [ Value type of VectorX ] [LAPACK routine] ]
 [ [`float`][SLARGV] ]
 [ [`double`][DLARGV] ]
 [ [`complex<float>`][CLARGV] ]

Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/larz.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/larz.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/auxiliary/larz.qbk 2010-08-03 19:11:09 EDT (Tue, 03 Aug 2010)
@@ -9,12 +9,12 @@
 [heading Prototype]
 There are two prototypes of `larz` available, please see below.
 ``
-larz( const Side side, const int_t l, const VectorViewV& v,
+larz( const Side side, const int_t l, const VectorV& v,
         const Scalar >, MatrixC& c );
 ``
 
 ``
-larz( const Side side, const int_t l, const VectorViewV& v,
+larz( const Side side, const int_t l, const VectorV& v,
         const Scalar tau, MatrixC& c );
 ``
 
@@ -39,14 +39,14 @@
 H is a product of k elementary reflectors as returned by ZTZRZF.
 
 The selection of the LAPACK routine is done during compile-time,
-and is determined by the type of values contained in type `VectorViewV`.
+and is determined by the type of values contained in type `VectorV`.
 The type of values is obtained through the `value_type` meta-function
- `typename value_type<VectorViewV>::type`.
+ `typename value_type<VectorV>::type`.
 The dispatching table below illustrates to which specific routine
 the code path will be generated.
 
 [table Dispatching of larz
-[ [ Value type of VectorViewV ] [LAPACK routine] ]
+[ [ Value type of VectorV ] [LAPACK routine] ]
 [ [`float`][SLARZ] ]
 [ [`double`][DLARZ] ]
 [ [`complex<float>`][CLARZ] ]


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