static std::ptrdiff_t invoke( const char uplo, const char compq, const fortran_int_t n, VectorD& d, VectorE& e, MatrixU& u, MatrixVT& vt, VectorQ& q, VectorIQ& iq, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; return invoke( uplo, compq, n, d, e, u, vt, q, iq, minimal_workspace() ); }
static std::ptrdiff_t invoke( const char norm, const MatrixA& a, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; typedef typename result_of::uplo_tag< MatrixA >::type uplo; typedef typename result_of::diag_tag< MatrixA >::type diag; return invoke( norm, a, minimal_workspace() ); }
static std::ptrdiff_t invoke( const fortran_int_t itype, const char jobz, MatrixAP& ap, MatrixBP& bp, VectorW& w, MatrixZ& z, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; typedef typename result_of::uplo_tag< MatrixAP >::type uplo; return invoke( itype, jobz, ap, bp, w, z, minimal_workspace() ); }
static void invoke( char const fact, MatrixA& a, MatrixAF& af, char& equed, VectorS& s, MatrixB& b, MatrixX& x, real_type& rcond, VectorFERR& ferr, VectorBERR& berr, integer_t& info, optimal_workspace work ) { invoke( fact, a, af, equed, s, b, x, rcond, ferr, berr, info, minimal_workspace() ); }
static std::ptrdiff_t invoke( const Side side, const char uplo, const VectorAP& ap, const VectorTAU& tau, MatrixC& c, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; typedef tag::column_major order; typedef typename result_of::trans_tag< VectorAP, order >::type trans; return invoke( side, uplo, ap, tau, c, minimal_workspace() ); }
static std::ptrdiff_t invoke( const char fact, MatrixAB& ab, MatrixAFB& afb, char& equed, VectorS& s, MatrixB& b, MatrixX& x, real_type& rcond, VectorFERR& ferr, VectorBERR& berr, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; typedef typename result_of::uplo_tag< MatrixAB >::type uplo; return invoke( fact, ab, afb, equed, s, b, x, rcond, ferr, berr, minimal_workspace() ); }
static void invoke( char const jobz, char const range, integer_t const n, integer_t const ka, integer_t const kb, MatrixAB& ab, MatrixBB& bb, MatrixQ& q, real_type const vl, real_type const vu, integer_t const il, integer_t const iu, real_type const abstol, integer_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail, integer_t& info, optimal_workspace work ) { invoke( jobz, range, n, ka, kb, ab, bb, q, vl, vu, il, iu, abstol, m, w, z, ifail, info, minimal_workspace() ); }
static void invoke( char const range, char const order, integer_t const n, real_type const vl, real_type const vu, integer_t const il, integer_t const iu, real_type const abstol, VectorD& d, VectorE& e, integer_t& m, integer_t& nsplit, VectorW& w, VectorIBLOCK& iblock, VectorISPLIT& isplit, integer_t& info, optimal_workspace work ) { invoke( range, order, n, vl, vu, il, iu, abstol, d, e, m, nsplit, w, iblock, isplit, info, minimal_workspace() ); }
static std::ptrdiff_t invoke( const Side side, const char eigsrc, const char initv, const VectorSELECT& select, const MatrixH& h, VectorW& w, MatrixVL& vl, MatrixVR& vr, const fortran_int_t mm, fortran_int_t& m, VectorIFAILL& ifaill, VectorIFAILR& ifailr, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; return invoke( side, eigsrc, initv, select, h, w, vl, vr, mm, m, ifaill, ifailr, minimal_workspace() ); }
static std::ptrdiff_t invoke( const char jobz, const char range, MatrixAP& ap, const real_type vl, const real_type vu, const fortran_int_t il, const fortran_int_t iu, const real_type abstol, fortran_int_t& m, VectorW& w, MatrixZ& z, VectorIFAIL& ifail, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; typedef typename result_of::uplo_tag< MatrixAP >::type uplo; return invoke( jobz, range, ap, vl, vu, il, iu, abstol, m, w, z, ifail, minimal_workspace() ); }
static std::ptrdiff_t invoke( const char jobu, const char jobv, const char jobq, const fortran_int_t k, const fortran_int_t l, MatrixA& a, MatrixB& b, const real_type tola, const real_type tolb, VectorALPHA& alpha, VectorBETA& beta, MatrixU& u, MatrixV& v, MatrixQ& q, fortran_int_t& ncycle, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; return invoke( jobu, jobv, jobq, k, l, a, b, tola, tolb, alpha, beta, u, v, q, ncycle, minimal_workspace() ); }
static std::ptrdiff_t invoke( const char range, const char order, const fortran_int_t n, const real_type vl, const real_type vu, const fortran_int_t il, const fortran_int_t iu, const real_type abstol, const VectorD& d, const VectorE& e, fortran_int_t& m, fortran_int_t& nsplit, VectorW& w, VectorIBLOCK& iblock, VectorISPLIT& isplit, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; return invoke( range, order, n, vl, vu, il, iu, abstol, d, e, m, nsplit, w, iblock, isplit, minimal_workspace() ); }
static void invoke( char const vect, integer_t const n, integer_t const kd, MatrixAB& ab, VectorD& d, VectorE& e, MatrixQ& q, integer_t& info, optimal_workspace work ) { invoke( vect, n, kd, ab, d, e, q, info, minimal_workspace() ); }
static std::ptrdiff_t invoke( const VectorD& d, const VectorE& e, const real_type anorm, real_type& rcond, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; return invoke( d, e, anorm, rcond, minimal_workspace() ); }
static std::ptrdiff_t invoke( const fortran_int_t n, VectorX& x, real_type& est, fortran_int_t& kase, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; return invoke( n, x, est, kase, minimal_workspace() ); }
static void invoke( char const job, integer_t const n, MatrixA& a, MatrixB& b, integer_t& ilo, integer_t& ihi, VectorLSCALE& lscale, VectorRSCALE& rscale, integer_t& info, optimal_workspace work ) { invoke( job, n, a, b, ilo, ihi, lscale, rscale, info, minimal_workspace() ); }
static void invoke( integer_t const n, MatrixAP& ap, MatrixAFP& afp, VectorIPIV& ipiv, MatrixB& b, MatrixX& x, VectorFERR& ferr, VectorBERR& berr, integer_t& info, optimal_workspace work ) { invoke( n, ap, afp, ipiv, b, x, ferr, berr, info, minimal_workspace() ); }
static void invoke( char const jobz, integer_t const n, integer_t const kd, MatrixAB& ab, VectorW& w, MatrixZ& z, integer_t& info, optimal_workspace work ) { invoke( jobz, n, kd, ab, w, z, info, minimal_workspace() ); }
static std::ptrdiff_t invoke( const char norm, const MatrixAB& ab, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; return invoke( norm, ab, minimal_workspace() ); }
static std::ptrdiff_t invoke( const MatrixAP& ap, const VectorIPIV& ipiv, const real_type anorm, real_type& rcond, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; typedef typename result_of::uplo_tag< MatrixAP >::type uplo; return invoke( ap, ipiv, anorm, rcond, minimal_workspace() ); }
static void invoke( char const uplo, VectorAP& ap, VectorTAU& tau, MatrixQ& q, integer_t& info, optimal_workspace work ) { invoke( uplo, ap, tau, q, info, minimal_workspace() ); }
static std::ptrdiff_t invoke( const char jobz, MatrixAB& ab, VectorW& w, MatrixZ& z, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; typedef typename result_of::uplo_tag< MatrixAB >::type uplo; return invoke( jobz, ab, w, z, minimal_workspace() ); }
static std::ptrdiff_t invoke( const char norm, const MatrixA& a, const real_type anorm, real_type& rcond, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; return invoke( norm, a, anorm, rcond, minimal_workspace() ); }
static std::ptrdiff_t invoke( const char compz, VectorD& d, VectorE& e, MatrixZ& z, optimal_workspace ) { namespace bindings = ::boost::numeric::bindings; return invoke( compz, d, e, z, minimal_workspace() ); }
static void invoke( integer_t const itype, char const jobz, integer_t const n, MatrixAP& ap, MatrixBP& bp, VectorW& w, MatrixZ& z, integer_t& info, optimal_workspace work ) { invoke( itype, jobz, n, ap, bp, w, z, info, minimal_workspace() ); }