|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r64110 - in sandbox/numeric_bindings: boost/numeric/bindings/lapack boost/numeric/bindings/lapack/detail boost/numeric/bindings/lapack/driver boost/numeric/bindings/traits libs/numeric/bindings/doc/lapack/driver libs/numeric/bindings/tools
From: thomas.klimpel_at_[hidden]
Date: 2010-07-17 15:06:21
Author: klimpel
Date: 2010-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
New Revision: 64110
URL: http://svn.boost.org/trac/boost/changeset/64110
Log:
Further reduced required hand editing of lapack/computational.hpp to make include_test.cpp pass:
Changed definition of logical_t to bool (-> stemr.hpp and tgsen.hpp now pass).
Introduced external_t definition (= void= for external function arguments (-> gees.hpp. geesx.hpp, gges.hpp and ggesx.hpp still pass)
Text files modified:
sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational.hpp | 4
sandbox/numeric_bindings/boost/numeric/bindings/lapack/detail/lapack.h | 36 ++++----
sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp | 52 +++++++-------
sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp | 60 ++++++++--------
sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp | 148 ++++++++++++++++++++--------------------
sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp | 148 ++++++++++++++++++++--------------------
sandbox/numeric_bindings/boost/numeric/bindings/traits/type.h | 13 ++
sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/gees.qbk | 4
sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/geesx.qbk | 4
sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/gges.qbk | 4
sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/ggesx.qbk | 4
sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py | 19 ++++-
12 files changed, 258 insertions(+), 238 deletions(-)
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational.hpp 2010-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
@@ -150,7 +150,7 @@
#include <boost/numeric/bindings/lapack/computational/stedc.hpp>
#include <boost/numeric/bindings/lapack/computational/stegr.hpp>
#include <boost/numeric/bindings/lapack/computational/stein.hpp>
-//#include <boost/numeric/bindings/lapack/computational/stemr.hpp>
+#include <boost/numeric/bindings/lapack/computational/stemr.hpp>
#include <boost/numeric/bindings/lapack/computational/steqr.hpp>
#include <boost/numeric/bindings/lapack/computational/sterf.hpp>
#include <boost/numeric/bindings/lapack/computational/sytrd.hpp>
@@ -164,7 +164,7 @@
#include <boost/numeric/bindings/lapack/computational/hgeqz.hpp>
#include <boost/numeric/bindings/lapack/computational/tgevc.hpp>
//#include <boost/numeric/bindings/lapack/computational/tgexc.hpp>
-//#include <boost/numeric/bindings/lapack/computational/tgsen.hpp>
+#include <boost/numeric/bindings/lapack/computational/tgsen.hpp>
#include <boost/numeric/bindings/lapack/computational/tgsna.hpp>
#include <boost/numeric/bindings/lapack/computational/tgsyl.hpp>
#include <boost/numeric/bindings/lapack/computational/ggsvp.hpp>
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/detail/lapack.h
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/detail/lapack.h (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/detail/lapack.h 2010-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
@@ -2456,28 +2456,28 @@
// Value-type variants of gges
void LAPACK_SGGES( const char* jobvsl, const char* jobvsr, const char* sort,
- logical_t* selctg, const fortran_int_t* n, float* a,
+ external_t* selctg, const fortran_int_t* n, float* a,
const fortran_int_t* lda, float* b, const fortran_int_t* ldb,
fortran_int_t* sdim, float* alphar, float* alphai, float* beta,
float* vsl, const fortran_int_t* ldvsl, float* vsr,
const fortran_int_t* ldvsr, float* work, const fortran_int_t* lwork,
logical_t* bwork, fortran_int_t* info );
void LAPACK_DGGES( const char* jobvsl, const char* jobvsr, const char* sort,
- logical_t* selctg, const fortran_int_t* n, double* a,
+ external_t* selctg, const fortran_int_t* n, double* a,
const fortran_int_t* lda, double* b, const fortran_int_t* ldb,
fortran_int_t* sdim, double* alphar, double* alphai, double* beta,
double* vsl, const fortran_int_t* ldvsl, double* vsr,
const fortran_int_t* ldvsr, double* work, const fortran_int_t* lwork,
logical_t* bwork, fortran_int_t* info );
void LAPACK_CGGES( const char* jobvsl, const char* jobvsr, const char* sort,
- logical_t* selctg, const fortran_int_t* n, void* a,
+ external_t* selctg, const fortran_int_t* n, void* a,
const fortran_int_t* lda, void* b, const fortran_int_t* ldb,
fortran_int_t* sdim, void* alpha, void* beta, void* vsl,
const fortran_int_t* ldvsl, void* vsr, const fortran_int_t* ldvsr,
void* work, const fortran_int_t* lwork, float* rwork,
logical_t* bwork, fortran_int_t* info );
void LAPACK_ZGGES( const char* jobvsl, const char* jobvsr, const char* sort,
- logical_t* selctg, const fortran_int_t* n, void* a,
+ external_t* selctg, const fortran_int_t* n, void* a,
const fortran_int_t* lda, void* b, const fortran_int_t* ldb,
fortran_int_t* sdim, void* alpha, void* beta, void* vsl,
const fortran_int_t* ldvsl, void* vsr, const fortran_int_t* ldvsr,
@@ -2486,7 +2486,7 @@
// Value-type variants of ggesx
void LAPACK_SGGESX( const char* jobvsl, const char* jobvsr, const char* sort,
- logical_t* selctg, const char* sense, const fortran_int_t* n,
+ external_t* selctg, const char* sense, const fortran_int_t* n,
float* a, const fortran_int_t* lda, float* b,
const fortran_int_t* ldb, fortran_int_t* sdim, float* alphar,
float* alphai, float* beta, float* vsl, const fortran_int_t* ldvsl,
@@ -2494,7 +2494,7 @@
float* work, const fortran_int_t* lwork, fortran_int_t* iwork,
const fortran_int_t* liwork, logical_t* bwork, fortran_int_t* info );
void LAPACK_DGGESX( const char* jobvsl, const char* jobvsr, const char* sort,
- logical_t* selctg, const char* sense, const fortran_int_t* n,
+ external_t* selctg, const char* sense, const fortran_int_t* n,
double* a, const fortran_int_t* lda, double* b,
const fortran_int_t* ldb, fortran_int_t* sdim, double* alphar,
double* alphai, double* beta, double* vsl, const fortran_int_t* ldvsl,
@@ -2503,16 +2503,16 @@
fortran_int_t* iwork, const fortran_int_t* liwork, logical_t* bwork,
fortran_int_t* info );
void LAPACK_CGGESX( const char* jobvsl, const char* jobvsr, const char* sort,
- logical_t* selctg, const char* sense, const fortran_int_t* n, void* a,
- const fortran_int_t* lda, void* b, const fortran_int_t* ldb,
+ external_t* selctg, const char* sense, const fortran_int_t* n,
+ void* a, const fortran_int_t* lda, void* b, const fortran_int_t* ldb,
fortran_int_t* sdim, void* alpha, void* beta, void* vsl,
const fortran_int_t* ldvsl, void* vsr, const fortran_int_t* ldvsr,
float* rconde, float* rcondv, void* work, const fortran_int_t* lwork,
float* rwork, fortran_int_t* iwork, const fortran_int_t* liwork,
logical_t* bwork, fortran_int_t* info );
void LAPACK_ZGGESX( const char* jobvsl, const char* jobvsr, const char* sort,
- logical_t* selctg, const char* sense, const fortran_int_t* n, void* a,
- const fortran_int_t* lda, void* b, const fortran_int_t* ldb,
+ external_t* selctg, const char* sense, const fortran_int_t* n,
+ void* a, const fortran_int_t* lda, void* b, const fortran_int_t* ldb,
fortran_int_t* sdim, void* alpha, void* beta, void* vsl,
const fortran_int_t* ldvsl, void* vsr, const fortran_int_t* ldvsr,
double* rconde, double* rcondv, void* work,
@@ -3391,47 +3391,47 @@
fortran_int_t* info );
// Value-type variants of gees
-void LAPACK_SGEES( const char* jobvs, const char* sort, logical_t* select,
+void LAPACK_SGEES( const char* jobvs, const char* sort, external_t* select,
const fortran_int_t* n, float* a, const fortran_int_t* lda,
fortran_int_t* sdim, float* wr, float* wi, float* vs,
const fortran_int_t* ldvs, float* work, const fortran_int_t* lwork,
logical_t* bwork, fortran_int_t* info );
-void LAPACK_DGEES( const char* jobvs, const char* sort, logical_t* select,
+void LAPACK_DGEES( const char* jobvs, const char* sort, external_t* select,
const fortran_int_t* n, double* a, const fortran_int_t* lda,
fortran_int_t* sdim, double* wr, double* wi, double* vs,
const fortran_int_t* ldvs, double* work, const fortran_int_t* lwork,
logical_t* bwork, fortran_int_t* info );
-void LAPACK_CGEES( const char* jobvs, const char* sort, logical_t* select,
+void LAPACK_CGEES( const char* jobvs, const char* sort, external_t* select,
const fortran_int_t* n, void* a, const fortran_int_t* lda,
fortran_int_t* sdim, void* w, void* vs, const fortran_int_t* ldvs,
void* work, const fortran_int_t* lwork, float* rwork,
logical_t* bwork, fortran_int_t* info );
-void LAPACK_ZGEES( const char* jobvs, const char* sort, logical_t* select,
+void LAPACK_ZGEES( const char* jobvs, const char* sort, external_t* select,
const fortran_int_t* n, void* a, const fortran_int_t* lda,
fortran_int_t* sdim, void* w, void* vs, const fortran_int_t* ldvs,
void* work, const fortran_int_t* lwork, double* rwork,
logical_t* bwork, fortran_int_t* info );
// Value-type variants of geesx
-void LAPACK_SGEESX( const char* jobvs, const char* sort, logical_t* select,
+void LAPACK_SGEESX( const char* jobvs, const char* sort, external_t* select,
const char* sense, const fortran_int_t* n, float* a,
const fortran_int_t* lda, fortran_int_t* sdim, float* wr, float* wi,
float* vs, const fortran_int_t* ldvs, float* rconde, float* rcondv,
float* work, const fortran_int_t* lwork, fortran_int_t* iwork,
const fortran_int_t* liwork, logical_t* bwork, fortran_int_t* info );
-void LAPACK_DGEESX( const char* jobvs, const char* sort, logical_t* select,
+void LAPACK_DGEESX( const char* jobvs, const char* sort, external_t* select,
const char* sense, const fortran_int_t* n, double* a,
const fortran_int_t* lda, fortran_int_t* sdim, double* wr, double* wi,
double* vs, const fortran_int_t* ldvs, double* rconde, double* rcondv,
double* work, const fortran_int_t* lwork, fortran_int_t* iwork,
const fortran_int_t* liwork, logical_t* bwork, fortran_int_t* info );
-void LAPACK_CGEESX( const char* jobvs, const char* sort, logical_t* select,
+void LAPACK_CGEESX( const char* jobvs, const char* sort, external_t* select,
const char* sense, const fortran_int_t* n, void* a,
const fortran_int_t* lda, fortran_int_t* sdim, void* w, void* vs,
const fortran_int_t* ldvs, float* rconde, float* rcondv, void* work,
const fortran_int_t* lwork, float* rwork, logical_t* bwork,
fortran_int_t* info );
-void LAPACK_ZGEESX( const char* jobvs, const char* sort, logical_t* select,
+void LAPACK_ZGEESX( const char* jobvs, const char* sort, external_t* select,
const char* sense, const fortran_int_t* n, void* a,
const fortran_int_t* lda, fortran_int_t* sdim, void* w, void* vs,
const fortran_int_t* ldvs, double* rconde, double* rcondv, void* work,
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-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
@@ -55,7 +55,7 @@
// * float value-type.
//
inline std::ptrdiff_t gees( const char jobvs, const char sort,
- logical_t* select, const fortran_int_t n, float* a,
+ external_t* select, const fortran_int_t n, float* a,
const fortran_int_t lda, fortran_int_t& sdim, float* wr, float* wi,
float* vs, const fortran_int_t ldvs, float* work,
const fortran_int_t lwork, logical_t* bwork ) {
@@ -71,7 +71,7 @@
// * double value-type.
//
inline std::ptrdiff_t gees( const char jobvs, const char sort,
- logical_t* select, const fortran_int_t n, double* a,
+ external_t* select, const fortran_int_t n, double* a,
const fortran_int_t lda, fortran_int_t& sdim, double* wr, double* wi,
double* vs, const fortran_int_t ldvs, double* work,
const fortran_int_t lwork, logical_t* bwork ) {
@@ -87,7 +87,7 @@
// * complex<float> value-type.
//
inline std::ptrdiff_t gees( const char jobvs, const char sort,
- logical_t* select, const fortran_int_t n, std::complex<float>* a,
+ external_t* select, const fortran_int_t n, std::complex<float>* a,
const fortran_int_t lda, fortran_int_t& sdim, std::complex<float>* w,
std::complex<float>* vs, const fortran_int_t ldvs,
std::complex<float>* work, const fortran_int_t lwork, float* rwork,
@@ -104,7 +104,7 @@
// * complex<double> value-type.
//
inline std::ptrdiff_t gees( const char jobvs, const char sort,
- logical_t* select, const fortran_int_t n, std::complex<double>* a,
+ external_t* select, const fortran_int_t n, std::complex<double>* a,
const fortran_int_t lda, fortran_int_t& sdim, std::complex<double>* w,
std::complex<double>* vs, const fortran_int_t ldvs,
std::complex<double>* work, const fortran_int_t lwork, double* rwork,
@@ -141,7 +141,7 @@
template< typename MatrixA, typename VectorWR, typename VectorWI,
typename MatrixVS, typename WORK, typename BWORK >
static std::ptrdiff_t invoke( const char jobvs, const char sort,
- logical_t* select, MatrixA& a, fortran_int_t& sdim,
+ external_t* select, MatrixA& a, fortran_int_t& sdim,
VectorWR& wr, VectorWI& wi, MatrixVS& vs, detail::workspace2<
WORK, BWORK > work ) {
namespace bindings = ::boost::numeric::bindings;
@@ -197,7 +197,7 @@
template< typename MatrixA, typename VectorWR, typename VectorWI,
typename MatrixVS >
static std::ptrdiff_t invoke( const char jobvs, const char sort,
- logical_t* select, MatrixA& a, fortran_int_t& sdim,
+ external_t* select, MatrixA& a, fortran_int_t& sdim,
VectorWR& wr, VectorWI& wi, MatrixVS& vs, minimal_workspace ) {
namespace bindings = ::boost::numeric::bindings;
bindings::detail::array< real_type > tmp_work( min_size_work(
@@ -218,7 +218,7 @@
template< typename MatrixA, typename VectorWR, typename VectorWI,
typename MatrixVS >
static std::ptrdiff_t invoke( const char jobvs, const char sort,
- logical_t* select, MatrixA& a, fortran_int_t& sdim,
+ external_t* select, MatrixA& a, fortran_int_t& sdim,
VectorWR& wr, VectorWI& wi, MatrixVS& vs, optimal_workspace ) {
namespace bindings = ::boost::numeric::bindings;
real_type opt_size_work;
@@ -273,7 +273,7 @@
template< typename MatrixA, typename VectorW, typename MatrixVS,
typename WORK, typename RWORK, typename BWORK >
static std::ptrdiff_t invoke( const char jobvs, const char sort,
- logical_t* select, MatrixA& a, fortran_int_t& sdim,
+ external_t* select, MatrixA& a, fortran_int_t& sdim,
VectorW& w, MatrixVS& vs, detail::workspace3< WORK, RWORK,
BWORK > work ) {
namespace bindings = ::boost::numeric::bindings;
@@ -325,7 +325,7 @@
//
template< typename MatrixA, typename VectorW, typename MatrixVS >
static std::ptrdiff_t invoke( const char jobvs, const char sort,
- logical_t* select, MatrixA& a, fortran_int_t& sdim,
+ external_t* select, MatrixA& a, fortran_int_t& sdim,
VectorW& w, MatrixVS& vs, minimal_workspace ) {
namespace bindings = ::boost::numeric::bindings;
bindings::detail::array< value_type > tmp_work( min_size_work(
@@ -347,7 +347,7 @@
//
template< typename MatrixA, typename VectorW, typename MatrixVS >
static std::ptrdiff_t invoke( const char jobvs, const char sort,
- logical_t* select, MatrixA& a, fortran_int_t& sdim,
+ external_t* select, MatrixA& a, fortran_int_t& sdim,
VectorW& w, MatrixVS& vs, optimal_workspace ) {
namespace bindings = ::boost::numeric::bindings;
value_type opt_size_work;
@@ -416,7 +416,7 @@
typename MatrixVS, typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, logical_t* select, MatrixA& a,
+gees( const char jobvs, const char sort, external_t* select, MatrixA& a,
fortran_int_t& sdim, VectorWR& wr, VectorWI& wi, MatrixVS& vs,
Workspace work ) {
return gees_impl< typename bindings::value_type<
@@ -434,7 +434,7 @@
typename MatrixVS >
inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, logical_t* select, MatrixA& a,
+gees( const char jobvs, const char sort, external_t* select, 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,
@@ -451,7 +451,7 @@
typename MatrixVS, typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, logical_t* select,
+gees( const char jobvs, const char sort, external_t* select,
const MatrixA& a, fortran_int_t& sdim, VectorWR& wr, VectorWI& wi,
MatrixVS& vs, Workspace work ) {
return gees_impl< typename bindings::value_type<
@@ -469,7 +469,7 @@
typename MatrixVS >
inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, logical_t* select,
+gees( const char jobvs, const char sort, external_t* select,
const MatrixA& a, fortran_int_t& sdim, VectorWR& wr, VectorWI& wi,
MatrixVS& vs ) {
return gees_impl< typename bindings::value_type<
@@ -487,7 +487,7 @@
typename MatrixVS, typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, logical_t* select, MatrixA& a,
+gees( const char jobvs, const char sort, external_t* select, MatrixA& a,
fortran_int_t& sdim, VectorWR& wr, VectorWI& wi,
const MatrixVS& vs, Workspace work ) {
return gees_impl< typename bindings::value_type<
@@ -505,7 +505,7 @@
typename MatrixVS >
inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, logical_t* select, MatrixA& a,
+gees( const char jobvs, const char sort, external_t* select, MatrixA& a,
fortran_int_t& sdim, VectorWR& wr, VectorWI& wi,
const MatrixVS& vs ) {
return gees_impl< typename bindings::value_type<
@@ -523,7 +523,7 @@
typename MatrixVS, typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, logical_t* select,
+gees( const char jobvs, const char sort, external_t* select,
const MatrixA& a, fortran_int_t& sdim, VectorWR& wr, VectorWI& wi,
const MatrixVS& vs, Workspace work ) {
return gees_impl< typename bindings::value_type<
@@ -541,7 +541,7 @@
typename MatrixVS >
inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, logical_t* select,
+gees( const char jobvs, const char sort, external_t* select,
const MatrixA& a, fortran_int_t& sdim, VectorWR& wr, VectorWI& wi,
const MatrixVS& vs ) {
return gees_impl< typename bindings::value_type<
@@ -558,7 +558,7 @@
typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, logical_t* select, MatrixA& a,
+gees( const char jobvs, const char sort, external_t* select, 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,
@@ -574,7 +574,7 @@
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, logical_t* select, MatrixA& a,
+gees( const char jobvs, const char sort, external_t* select, 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,
@@ -591,7 +591,7 @@
typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, logical_t* select,
+gees( const char jobvs, const char sort, external_t* select,
const MatrixA& a, fortran_int_t& sdim, VectorW& w, MatrixVS& vs,
Workspace work ) {
return gees_impl< typename bindings::value_type<
@@ -608,7 +608,7 @@
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, logical_t* select,
+gees( const char jobvs, const char sort, external_t* 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,
@@ -625,7 +625,7 @@
typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, logical_t* select, MatrixA& a,
+gees( const char jobvs, const char sort, external_t* select, MatrixA& a,
fortran_int_t& sdim, VectorW& w, const MatrixVS& vs,
Workspace work ) {
return gees_impl< typename bindings::value_type<
@@ -642,7 +642,7 @@
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, logical_t* select, MatrixA& a,
+gees( const char jobvs, const char sort, external_t* 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,
@@ -659,7 +659,7 @@
typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-gees( const char jobvs, const char sort, logical_t* select,
+gees( const char jobvs, const char sort, external_t* select,
const MatrixA& a, fortran_int_t& sdim, VectorW& w,
const MatrixVS& vs, Workspace work ) {
return gees_impl< typename bindings::value_type<
@@ -676,7 +676,7 @@
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, logical_t* select,
+gees( const char jobvs, const char sort, external_t* select,
const MatrixA& a, fortran_int_t& sdim, VectorW& w,
const MatrixVS& vs ) {
return gees_impl< typename bindings::value_type<
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-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
@@ -55,7 +55,7 @@
// * float value-type.
//
inline std::ptrdiff_t geesx( const char jobvs, const char sort,
- logical_t* select, const char sense, const fortran_int_t n, float* a,
+ external_t* select, const char sense, const fortran_int_t n, float* a,
const fortran_int_t lda, fortran_int_t& sdim, float* wr, float* wi,
float* vs, const fortran_int_t ldvs, float& rconde, float& rcondv,
float* work, const fortran_int_t lwork, fortran_int_t* iwork,
@@ -73,11 +73,11 @@
// * double value-type.
//
inline std::ptrdiff_t geesx( const char jobvs, const char sort,
- logical_t* select, const char sense, const fortran_int_t n, double* a,
- const fortran_int_t lda, fortran_int_t& sdim, double* wr, double* wi,
- double* vs, const fortran_int_t ldvs, double& rconde, double& rcondv,
- double* work, const fortran_int_t lwork, fortran_int_t* iwork,
- const fortran_int_t liwork, logical_t* bwork ) {
+ external_t* select, const char sense, const fortran_int_t n,
+ double* a, const fortran_int_t lda, fortran_int_t& sdim, double* wr,
+ double* wi, double* vs, const fortran_int_t ldvs, double& rconde,
+ double& rcondv, double* work, const fortran_int_t lwork,
+ fortran_int_t* iwork, const fortran_int_t liwork, logical_t* bwork ) {
fortran_int_t info(0);
LAPACK_DGEESX( &jobvs, &sort, &select, &sense, &n, a, &lda, &sdim, wr, wi,
vs, &ldvs, &rconde, &rcondv, work, &lwork, iwork, &liwork, bwork,
@@ -91,7 +91,7 @@
// * complex<float> value-type.
//
inline std::ptrdiff_t geesx( const char jobvs, const char sort,
- logical_t* select, const char sense, const fortran_int_t n,
+ external_t* select, const char sense, const fortran_int_t n,
std::complex<float>* a, const fortran_int_t lda, fortran_int_t& sdim,
std::complex<float>* w, std::complex<float>* vs,
const fortran_int_t ldvs, float& rconde, float& rcondv,
@@ -109,7 +109,7 @@
// * complex<double> value-type.
//
inline std::ptrdiff_t geesx( const char jobvs, const char sort,
- logical_t* select, const char sense, const fortran_int_t n,
+ external_t* select, const char sense, const fortran_int_t n,
std::complex<double>* a, const fortran_int_t lda, fortran_int_t& sdim,
std::complex<double>* w, std::complex<double>* vs,
const fortran_int_t ldvs, double& rconde, double& rcondv,
@@ -147,7 +147,7 @@
template< typename MatrixA, typename VectorWR, typename VectorWI,
typename MatrixVS, typename WORK, typename IWORK, typename BWORK >
static std::ptrdiff_t invoke( const char jobvs, const char sort,
- logical_t* select, const char sense, MatrixA& a,
+ external_t* select, const char sense, MatrixA& a,
fortran_int_t& sdim, VectorWR& wr, VectorWI& wi, MatrixVS& vs,
real_type& rconde, real_type& rcondv, detail::workspace3< WORK,
IWORK, BWORK > work ) {
@@ -211,7 +211,7 @@
template< typename MatrixA, typename VectorWR, typename VectorWI,
typename MatrixVS >
static std::ptrdiff_t invoke( const char jobvs, const char sort,
- logical_t* select, const char sense, MatrixA& a,
+ external_t* select, const char sense, MatrixA& a,
fortran_int_t& sdim, VectorWR& wr, VectorWI& wi, MatrixVS& vs,
real_type& rconde, real_type& rcondv, minimal_workspace ) {
namespace bindings = ::boost::numeric::bindings;
@@ -235,7 +235,7 @@
template< typename MatrixA, typename VectorWR, typename VectorWI,
typename MatrixVS >
static std::ptrdiff_t invoke( const char jobvs, const char sort,
- logical_t* select, const char sense, MatrixA& a,
+ external_t* select, const char sense, MatrixA& a,
fortran_int_t& sdim, VectorWR& wr, VectorWI& wi, MatrixVS& vs,
real_type& rconde, real_type& rcondv, optimal_workspace ) {
namespace bindings = ::boost::numeric::bindings;
@@ -311,7 +311,7 @@
template< typename MatrixA, typename VectorW, typename MatrixVS,
typename WORK, typename RWORK, typename BWORK >
static std::ptrdiff_t invoke( const char jobvs, const char sort,
- logical_t* select, const char sense, MatrixA& a,
+ external_t* select, const char sense, MatrixA& a,
fortran_int_t& sdim, VectorW& w, MatrixVS& vs,
real_type& rconde, real_type& rcondv, detail::workspace3< WORK,
RWORK, BWORK > work ) {
@@ -366,7 +366,7 @@
//
template< typename MatrixA, typename VectorW, typename MatrixVS >
static std::ptrdiff_t invoke( const char jobvs, const char sort,
- logical_t* select, const char sense, MatrixA& a,
+ external_t* select, const char sense, MatrixA& a,
fortran_int_t& sdim, VectorW& w, MatrixVS& vs,
real_type& rconde, real_type& rcondv, minimal_workspace ) {
namespace bindings = ::boost::numeric::bindings;
@@ -389,7 +389,7 @@
//
template< typename MatrixA, typename VectorW, typename MatrixVS >
static std::ptrdiff_t invoke( const char jobvs, const char sort,
- logical_t* select, const char sense, MatrixA& a,
+ external_t* select, const char sense, MatrixA& a,
fortran_int_t& sdim, VectorW& w, MatrixVS& vs,
real_type& rconde, real_type& rcondv, optimal_workspace ) {
namespace bindings = ::boost::numeric::bindings;
@@ -463,7 +463,7 @@
typename MatrixVS, typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* select,
const char sense, MatrixA& a, fortran_int_t& sdim, VectorWR& wr,
VectorWI& wi, MatrixVS& vs, typename remove_imaginary<
typename bindings::value_type< MatrixA >::type >::type& rconde,
@@ -484,7 +484,7 @@
typename MatrixVS >
inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* select,
const char sense, MatrixA& a, fortran_int_t& sdim, VectorWR& wr,
VectorWI& wi, MatrixVS& vs, typename remove_imaginary<
typename bindings::value_type< MatrixA >::type >::type& rconde,
@@ -505,7 +505,7 @@
typename MatrixVS, typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* 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,
@@ -526,7 +526,7 @@
typename MatrixVS >
inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* 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,
@@ -547,7 +547,7 @@
typename MatrixVS, typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* 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,
@@ -568,7 +568,7 @@
typename MatrixVS >
inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* 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,
@@ -589,7 +589,7 @@
typename MatrixVS, typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* 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<
@@ -611,7 +611,7 @@
typename MatrixVS >
inline typename boost::disable_if< detail::is_workspace< MatrixVS >,
std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* 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<
@@ -631,7 +631,7 @@
typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* select,
const char sense, MatrixA& a, fortran_int_t& sdim, VectorW& w,
MatrixVS& vs, typename remove_imaginary<
typename bindings::value_type< MatrixA >::type >::type& rconde,
@@ -651,7 +651,7 @@
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, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* select,
const char sense, MatrixA& a, fortran_int_t& sdim, VectorW& w,
MatrixVS& vs, typename remove_imaginary<
typename bindings::value_type< MatrixA >::type >::type& rconde,
@@ -672,7 +672,7 @@
typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* 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,
@@ -692,7 +692,7 @@
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, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* 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,
@@ -713,7 +713,7 @@
typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* 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,
@@ -733,7 +733,7 @@
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, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* 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,
@@ -754,7 +754,7 @@
typename Workspace >
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* 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,
@@ -774,7 +774,7 @@
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, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* 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,
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-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
@@ -55,7 +55,7 @@
// * float value-type.
//
inline std::ptrdiff_t gges( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const fortran_int_t n, float* a,
+ const char sort, external_t* selctg, const fortran_int_t n, float* a,
const fortran_int_t lda, float* b, const fortran_int_t ldb,
fortran_int_t& sdim, float* alphar, float* alphai, float* beta,
float* vsl, const fortran_int_t ldvsl, float* vsr,
@@ -74,7 +74,7 @@
// * double value-type.
//
inline std::ptrdiff_t gges( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const fortran_int_t n, double* a,
+ const char sort, external_t* selctg, const fortran_int_t n, double* a,
const fortran_int_t lda, double* b, const fortran_int_t ldb,
fortran_int_t& sdim, double* alphar, double* alphai, double* beta,
double* vsl, const fortran_int_t ldvsl, double* vsr,
@@ -93,7 +93,7 @@
// * complex<float> value-type.
//
inline std::ptrdiff_t gges( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const fortran_int_t n,
+ const char sort, external_t* selctg, const fortran_int_t n,
std::complex<float>* a, const fortran_int_t lda,
std::complex<float>* b, const fortran_int_t ldb, fortran_int_t& sdim,
std::complex<float>* alpha, std::complex<float>* beta,
@@ -114,7 +114,7 @@
// * complex<double> value-type.
//
inline std::ptrdiff_t gges( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const fortran_int_t n,
+ const char sort, external_t* selctg, const fortran_int_t n,
std::complex<double>* a, const fortran_int_t lda,
std::complex<double>* b, const fortran_int_t ldb, fortran_int_t& sdim,
std::complex<double>* alpha, std::complex<double>* beta,
@@ -156,7 +156,7 @@
typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
typename MatrixVSR, typename WORK, typename BWORK >
static std::ptrdiff_t invoke( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, MatrixA& a, MatrixB& b,
+ const char sort, external_t* selctg, MatrixA& a, MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar,
VectorALPHAI& alphai, VectorBETA& beta, MatrixVSL& vsl,
MatrixVSR& vsr, detail::workspace2< WORK, BWORK > work ) {
@@ -242,7 +242,7 @@
typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
typename MatrixVSR >
static std::ptrdiff_t invoke( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, MatrixA& a, MatrixB& b,
+ const char sort, external_t* selctg, MatrixA& a, MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar,
VectorALPHAI& alphai, VectorBETA& beta, MatrixVSL& vsl,
MatrixVSR& vsr, minimal_workspace ) {
@@ -266,7 +266,7 @@
typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
typename MatrixVSR >
static std::ptrdiff_t invoke( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, MatrixA& a, MatrixB& b,
+ const char sort, external_t* selctg, MatrixA& a, MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar,
VectorALPHAI& alphai, VectorBETA& beta, MatrixVSL& vsl,
MatrixVSR& vsr, optimal_workspace ) {
@@ -332,7 +332,7 @@
typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
typename WORK, typename RWORK, typename BWORK >
static std::ptrdiff_t invoke( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, MatrixA& a, MatrixB& b,
+ const char sort, external_t* selctg, MatrixA& a, MatrixB& b,
fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
MatrixVSL& vsl, MatrixVSR& vsr, detail::workspace3< WORK, RWORK,
BWORK > work ) {
@@ -414,7 +414,7 @@
template< typename MatrixA, typename MatrixB, typename VectorALPHA,
typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
static std::ptrdiff_t invoke( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, MatrixA& a, MatrixB& b,
+ const char sort, external_t* selctg, MatrixA& a, MatrixB& b,
fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
MatrixVSL& vsl, MatrixVSR& vsr, minimal_workspace ) {
namespace bindings = ::boost::numeric::bindings;
@@ -438,7 +438,7 @@
template< typename MatrixA, typename MatrixB, typename VectorALPHA,
typename VectorBETA, typename MatrixVSL, typename MatrixVSR >
static std::ptrdiff_t invoke( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, MatrixA& a, MatrixB& b,
+ const char sort, external_t* selctg, MatrixA& a, MatrixB& b,
fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
MatrixVSL& vsl, MatrixVSR& vsr, optimal_workspace ) {
namespace bindings = ::boost::numeric::bindings;
@@ -515,7 +515,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* selctg, 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<
@@ -537,7 +537,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* selctg, 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<
@@ -559,7 +559,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -581,7 +581,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -603,7 +603,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -625,7 +625,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -647,7 +647,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -669,7 +669,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -691,7 +691,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* 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<
@@ -713,7 +713,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* 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<
@@ -735,7 +735,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* selctg, const MatrixA& a, MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
Workspace work ) {
@@ -758,7 +758,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -780,7 +780,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* selctg, MatrixA& a, const MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
Workspace work ) {
@@ -803,7 +803,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -825,7 +825,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* selctg, const MatrixA& a, const MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
VectorBETA& beta, const MatrixVSL& vsl, MatrixVSR& vsr,
Workspace work ) {
@@ -848,7 +848,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -870,7 +870,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* 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<
@@ -892,7 +892,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* 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<
@@ -914,7 +914,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* selctg, const MatrixA& a, MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
Workspace work ) {
@@ -937,7 +937,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -959,7 +959,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* selctg, MatrixA& a, const MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
Workspace work ) {
@@ -982,7 +982,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1004,7 +1004,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* selctg, const MatrixA& a, const MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
VectorBETA& beta, MatrixVSL& vsl, const MatrixVSR& vsr,
Workspace work ) {
@@ -1027,7 +1027,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1049,7 +1049,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* 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<
@@ -1071,7 +1071,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* 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<
@@ -1093,7 +1093,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* selctg, const MatrixA& a, MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
Workspace work ) {
@@ -1116,7 +1116,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -1138,7 +1138,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* selctg, MatrixA& a, const MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
VectorBETA& beta, const MatrixVSL& vsl, const MatrixVSR& vsr,
Workspace work ) {
@@ -1161,7 +1161,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1183,7 +1183,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -1206,7 +1206,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1227,7 +1227,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* 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<
@@ -1248,7 +1248,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
VectorALPHA& alpha, VectorBETA& beta, MatrixVSL& vsl,
MatrixVSR& vsr ) {
return gges_impl< typename bindings::value_type<
@@ -1270,7 +1270,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -1291,7 +1291,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -1313,7 +1313,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1334,7 +1334,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1356,7 +1356,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1377,7 +1377,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1399,7 +1399,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* 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<
@@ -1420,7 +1420,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* 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<
@@ -1442,7 +1442,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -1463,7 +1463,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -1485,7 +1485,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1506,7 +1506,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1528,7 +1528,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1549,7 +1549,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1571,7 +1571,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* selctg, 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<
@@ -1592,7 +1592,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* 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<
@@ -1614,7 +1614,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -1635,7 +1635,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -1657,7 +1657,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1678,7 +1678,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1700,7 +1700,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1721,7 +1721,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1743,7 +1743,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* 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<
@@ -1764,7 +1764,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, fortran_int_t& sdim,
+ external_t* 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<
@@ -1786,7 +1786,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -1807,7 +1807,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, MatrixB& b,
+ external_t* 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<
@@ -1829,7 +1829,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1850,7 +1850,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1872,7 +1872,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* 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<
@@ -1893,7 +1893,7 @@
inline typename boost::disable_if< detail::is_workspace< MatrixVSR >,
std::ptrdiff_t >::type
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const MatrixA& a, const MatrixB& b,
+ external_t* selctg, const 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<
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-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
@@ -55,7 +55,7 @@
// * float value-type.
//
inline std::ptrdiff_t ggesx( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const char sense,
+ const char sort, external_t* selctg, const char sense,
const fortran_int_t n, float* a, const fortran_int_t lda, float* b,
const fortran_int_t ldb, fortran_int_t& sdim, float* alphar,
float* alphai, float* beta, float* vsl, const fortran_int_t ldvsl,
@@ -75,7 +75,7 @@
// * double value-type.
//
inline std::ptrdiff_t ggesx( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const char sense,
+ const char sort, external_t* selctg, const char sense,
const fortran_int_t n, double* a, const fortran_int_t lda, double* b,
const fortran_int_t ldb, fortran_int_t& sdim, double* alphar,
double* alphai, double* beta, double* vsl, const fortran_int_t ldvsl,
@@ -95,7 +95,7 @@
// * complex<float> value-type.
//
inline std::ptrdiff_t ggesx( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const char sense,
+ const char sort, external_t* selctg, const char sense,
const fortran_int_t n, std::complex<float>* a,
const fortran_int_t lda, std::complex<float>* b,
const fortran_int_t ldb, fortran_int_t& sdim,
@@ -118,7 +118,7 @@
// * complex<double> value-type.
//
inline std::ptrdiff_t ggesx( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const char sense,
+ const char sort, external_t* selctg, const char sense,
const fortran_int_t n, std::complex<double>* a,
const fortran_int_t lda, std::complex<double>* b,
const fortran_int_t ldb, fortran_int_t& sdim,
@@ -163,7 +163,7 @@
typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV,
typename WORK, typename IWORK, typename BWORK >
static std::ptrdiff_t invoke( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const char sense, MatrixA& a,
+ const char sort, external_t* selctg, const char sense, MatrixA& a,
MatrixB& b, fortran_int_t& sdim, VectorALPHAR& alphar,
VectorALPHAI& alphai, VectorBETA& beta, MatrixVSL& vsl,
MatrixVSR& vsr, VectorRCONDE& rconde, VectorRCONDV& rcondv,
@@ -267,7 +267,7 @@
typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
static std::ptrdiff_t invoke( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const char sense, MatrixA& a,
+ const char sort, external_t* selctg, const char sense, MatrixA& a,
MatrixB& b, fortran_int_t& sdim, VectorALPHAR& alphar,
VectorALPHAI& alphai, VectorBETA& beta, MatrixVSL& vsl,
MatrixVSR& vsr, VectorRCONDE& rconde, VectorRCONDV& rcondv,
@@ -295,7 +295,7 @@
typename VectorALPHAI, typename VectorBETA, typename MatrixVSL,
typename MatrixVSR, typename VectorRCONDE, typename VectorRCONDV >
static std::ptrdiff_t invoke( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const char sense, MatrixA& a,
+ const char sort, external_t* selctg, const char sense, MatrixA& a,
MatrixB& b, fortran_int_t& sdim, VectorALPHAR& alphar,
VectorALPHAI& alphai, VectorBETA& beta, MatrixVSL& vsl,
MatrixVSR& vsr, VectorRCONDE& rconde, VectorRCONDV& rcondv,
@@ -383,7 +383,7 @@
typename VectorRCONDE, typename VectorRCONDV, typename WORK,
typename RWORK, typename IWORK, typename BWORK >
static std::ptrdiff_t invoke( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const char sense, MatrixA& a,
+ const char sort, external_t* selctg, const char sense, MatrixA& a,
MatrixB& b, fortran_int_t& sdim, VectorALPHA& alpha,
VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
VectorRCONDE& rconde, VectorRCONDV& rcondv, detail::workspace4<
@@ -480,7 +480,7 @@
typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
typename VectorRCONDE, typename VectorRCONDV >
static std::ptrdiff_t invoke( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const char sense, MatrixA& a,
+ const char sort, external_t* selctg, const char sense, MatrixA& a,
MatrixB& b, fortran_int_t& sdim, VectorALPHA& alpha,
VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
VectorRCONDE& rconde, VectorRCONDV& rcondv, minimal_workspace ) {
@@ -509,7 +509,7 @@
typename VectorBETA, typename MatrixVSL, typename MatrixVSR,
typename VectorRCONDE, typename VectorRCONDV >
static std::ptrdiff_t invoke( const char jobvsl, const char jobvsr,
- const char sort, logical_t* selctg, const char sense, MatrixA& a,
+ const char sort, external_t* selctg, const char sense, MatrixA& a,
MatrixB& b, fortran_int_t& sdim, VectorALPHA& alpha,
VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
VectorRCONDE& rconde, VectorRCONDV& rcondv, optimal_workspace ) {
@@ -610,7 +610,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* selctg, const char sense, MatrixA& a, MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
VectorRCONDE& rconde, VectorRCONDV& rcondv, Workspace work ) {
@@ -633,7 +633,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* selctg, const char sense, MatrixA& a, MatrixB& b,
fortran_int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
VectorRCONDE& rconde, VectorRCONDV& rcondv ) {
@@ -658,7 +658,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -681,7 +681,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -706,7 +706,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -729,7 +729,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -754,7 +754,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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,
@@ -778,7 +778,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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 ) {
@@ -803,7 +803,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -826,7 +826,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -851,7 +851,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -874,7 +874,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -899,7 +899,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -922,7 +922,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -947,7 +947,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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,
@@ -971,7 +971,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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 ) {
@@ -996,7 +996,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1019,7 +1019,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1044,7 +1044,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1067,7 +1067,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1092,7 +1092,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -1115,7 +1115,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -1140,7 +1140,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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,
@@ -1164,7 +1164,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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 ) {
@@ -1189,7 +1189,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1212,7 +1212,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1237,7 +1237,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1260,7 +1260,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1285,7 +1285,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -1308,7 +1308,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -1333,7 +1333,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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,
@@ -1357,7 +1357,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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 ) {
@@ -1380,7 +1380,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1403,7 +1403,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* selctg, const char sense, MatrixA& a, MatrixB& b,
fortran_int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
VectorRCONDV& rcondv ) {
@@ -1427,7 +1427,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1450,7 +1450,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1474,7 +1474,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -1497,7 +1497,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -1521,7 +1521,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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 ) {
@@ -1544,7 +1544,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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 ) {
@@ -1568,7 +1568,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1591,7 +1591,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1615,7 +1615,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1638,7 +1638,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1662,7 +1662,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -1685,7 +1685,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -1709,7 +1709,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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 ) {
@@ -1732,7 +1732,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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 ) {
@@ -1756,7 +1756,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1779,7 +1779,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1803,7 +1803,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1826,7 +1826,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1850,7 +1850,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -1873,7 +1873,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -1897,7 +1897,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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 ) {
@@ -1920,7 +1920,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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 ) {
@@ -1944,7 +1944,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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, Workspace work ) {
@@ -1967,7 +1967,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -1991,7 +1991,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -2014,7 +2014,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a, MatrixB& b,
+ external_t* 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 ) {
@@ -2038,7 +2038,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -2061,7 +2061,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, const MatrixB& b,
+ external_t* 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 ) {
@@ -2085,7 +2085,7 @@
inline typename boost::enable_if< detail::is_workspace< Workspace >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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 ) {
@@ -2108,7 +2108,7 @@
inline typename boost::disable_if< detail::is_workspace< VectorRCONDV >,
std::ptrdiff_t >::type
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, const MatrixA& a,
+ external_t* 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 ) {
Modified: sandbox/numeric_bindings/boost/numeric/bindings/traits/type.h
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/traits/type.h (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/traits/type.h 2010-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
@@ -42,9 +42,18 @@
#endif /* BOOST_NUMERIC_BINDINGS_USE_COMPLEX_STRUCT */
/*
- * Define a fortran LOGICAL as a void (for now).
+ * Define a fortran LOGICAL as a bool (for now).
*/
-typedef void logical_t ;
+typedef bool logical_t ;
+
+/*
+ * Define a fortran EXTERNAL as void, so that the argument type is void*
+ * and one can pass a function pointer. These functions return bool,
+ * but they don't all take the same type of arguments. So there is no
+ * function pointer definition that would work for all cases.
+ */
+
+typedef void external_t ;
#endif /* BOOST_NUMERIC_BINDINGS_TRAITS_TYPE_H */
Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/gees.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/gees.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/gees.qbk 2010-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
@@ -9,12 +9,12 @@
[heading Prototype]
There are two prototypes of `gees` available, please see below.
``
-gees( const char jobvs, const char sort, logical_t* select, MatrixA& a,
+gees( const char jobvs, const char sort, external_t* select, MatrixA& a,
int_t& sdim, VectorWR& wr, VectorWI& wi, MatrixVS& vs );
``
``
-gees( const char jobvs, const char sort, logical_t* select, MatrixA& a,
+gees( const char jobvs, const char sort, external_t* select, MatrixA& a,
int_t& sdim, VectorW& w, MatrixVS& vs );
``
Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/geesx.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/geesx.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/geesx.qbk 2010-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
@@ -9,13 +9,13 @@
[heading Prototype]
There are two prototypes of `geesx` available, please see below.
``
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* select,
const char sense, MatrixA& a, int_t& sdim, VectorWR& wr,
VectorWI& wi, MatrixVS& vs, Scalar >, Scalar > );
``
``
-geesx( const char jobvs, const char sort, logical_t* select,
+geesx( const char jobvs, const char sort, external_t* select,
const char sense, MatrixA& a, int_t& sdim, VectorW& w,
MatrixVS& vs, Scalar >, Scalar > );
``
Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/gges.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/gges.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/gges.qbk 2010-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
@@ -10,14 +10,14 @@
There are two prototypes of `gges` available, please see below.
``
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, int_t& sdim,
+ external_t* selctg, MatrixA& a, MatrixB& b, int_t& sdim,
VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta,
MatrixVSL& vsl, MatrixVSR& vsr );
``
``
gges( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, MatrixA& a, MatrixB& b, int_t& sdim,
+ external_t* selctg, MatrixA& a, MatrixB& b, int_t& sdim,
VectorALPHA& alpha, VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr );
``
Modified: sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/ggesx.qbk
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/ggesx.qbk (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/doc/lapack/driver/ggesx.qbk 2010-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
@@ -10,7 +10,7 @@
There are two prototypes of `ggesx` available, please see below.
``
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* selctg, const char sense, MatrixA& a, MatrixB& b,
int_t& sdim, VectorALPHAR& alphar, VectorALPHAI& alphai,
VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr,
VectorRCONDE& rconde, VectorRCONDV& rcondv );
@@ -18,7 +18,7 @@
``
ggesx( const char jobvsl, const char jobvsr, const char sort,
- logical_t* selctg, const char sense, MatrixA& a, MatrixB& b,
+ external_t* selctg, const char sense, MatrixA& a, MatrixB& b,
int_t& sdim, VectorALPHA& alpha, VectorBETA& beta,
MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
VectorRCONDV& rcondv );
Modified: sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py 2010-07-17 15:06:18 EDT (Sat, 17 Jul 2010)
@@ -17,24 +17,26 @@
library_integer_type = '$LIBRARY_INT_TYPE'
generic_integer_type = 'std::ptrdiff_t'
-complex_float_type = 'std::complex<float>'
+complex_float_type = 'std::complex<float>'
complex_double_type = 'std::complex<double>'
fortran_complex_float_ptr = 'void' # was fcomplex_t
fortran_complex_double_ptr = 'void' # was dcomplex_t
-global_type_map = {
+global_type_map = {
'CHARACTER': 'char',
'CHARACTER*1': 'char',
- 'LOGICAL': 'logical_t',
+ 'LOGICAL': 'logical_t',
+ 'EXTERNAL': 'external_t',
'INTEGER': library_integer_type,
- 'REAL': 'float',
+ 'REAL': 'float',
'DOUBLE PRECISION': 'double' }
global_type_variant_map = {
'CHARACTER': None,
'CHARACTER*1': None,
'LOGICAL': None,
+ 'EXTERNAL': None,
'INTEGER': None,
'REAL': 'real',
'DOUBLE PRECISION': 'real',
@@ -1042,6 +1044,15 @@
print "ERROR: Unable to find all argument declarations"
return None, None
+ # Look for an EXTERNAL statement
+ if code_line_nr < len(code) and 'EXTERNAL' in code[ code_line_nr ]:
+ for argument_name in re.findall( '[A-Z0-9_]+', code[ code_line_nr ] ):
+ if argument_name in subroutine_arguments:
+ argument_map[ argument_name ] = {}
+ argument_map[ argument_name ][ 'value_type' ] = 'EXTERNAL'
+ argument_map[ argument_name ][ 'value_type_variant' ] = global_type_variant_map[ 'EXTERNAL' ]
+ argument_map[ argument_name ][ 'type' ] = 'scalar'
+
# See if we are hard-forcing argument renaming aliases
# This is needed for BLAS. It has argument names that are tied to the
# value_type variant of the routine. E.g., daxpy has dx and dy, caxpy has
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