inline void sbgvx( char const jobz, char const range, char const uplo, integer_t const n, integer_t const ka, integer_t const kb, double* ab, integer_t const ldab, double* bb, integer_t const ldbb, double* q, integer_t const ldq, double const vl, double const vu, integer_t const il, integer_t const iu, double const abstol, integer_t& m, double* w, double* z, integer_t const ldz, double* work, integer_t* iwork, integer_t* ifail, integer_t& info ) { LAPACK_DSBGVX( &jobz, &range, &uplo, &n, &ka, &kb, ab, &ldab, bb, &ldbb, q, &ldq, &vl, &vu, &il, &iu, &abstol, &m, w, z, &ldz, work, iwork, ifail, &info ); }
inline std::ptrdiff_t sbgvx( const char jobz, const char range, const UpLo, const fortran_int_t n, const fortran_int_t ka, const fortran_int_t kb, double* ab, const fortran_int_t ldab, double* bb, const fortran_int_t ldbb, double* q, const fortran_int_t ldq, const double vl, const double vu, const fortran_int_t il, const fortran_int_t iu, const double abstol, fortran_int_t& m, double* w, double* z, const fortran_int_t ldz, double* work, fortran_int_t* iwork, fortran_int_t* ifail ) { fortran_int_t info(0); LAPACK_DSBGVX( &jobz, &range, &lapack_option< UpLo >::value, &n, &ka, &kb, ab, &ldab, bb, &ldbb, q, &ldq, &vl, &vu, &il, &iu, &abstol, &m, w, z, &ldz, work, iwork, ifail, &info ); return info; }