Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50303 - in sandbox/boost/numeric/bindings: amos blas lapack traits traits/detail
From: thomas.klimpel_at_[hidden]
Date: 2008-12-17 11:23:11


Author: klimpel
Date: 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
New Revision: 50303
URL: http://svn.boost.org/trac/boost/changeset/50303

Log:
64-bit support, first version
Text files modified:
   sandbox/boost/numeric/bindings/amos/amos.h | 18
   sandbox/boost/numeric/bindings/amos/amos.hpp | 24
   sandbox/boost/numeric/bindings/amos/amos_overloads.hpp | 14
   sandbox/boost/numeric/bindings/blas/blas.h | 142 ++--
   sandbox/boost/numeric/bindings/blas/blas1.hpp | 42
   sandbox/boost/numeric/bindings/blas/blas1_overloads.hpp | 60
   sandbox/boost/numeric/bindings/blas/blas2.hpp | 30
   sandbox/boost/numeric/bindings/blas/blas2_overloads.hpp | 16
   sandbox/boost/numeric/bindings/blas/blas3.hpp | 32
   sandbox/boost/numeric/bindings/blas/blas3_overloads.hpp | 80 +-
   sandbox/boost/numeric/bindings/lapack/gbsv.hpp | 62
   sandbox/boost/numeric/bindings/lapack/gees.hpp | 52
   sandbox/boost/numeric/bindings/lapack/geev.hpp | 72 +-
   sandbox/boost/numeric/bindings/lapack/gels.hpp | 68 +-
   sandbox/boost/numeric/bindings/lapack/gelsd.hpp | 216 +++---
   sandbox/boost/numeric/bindings/lapack/gelss.hpp | 150 ++--
   sandbox/boost/numeric/bindings/lapack/geqrf.hpp | 44
   sandbox/boost/numeric/bindings/lapack/gesdd.hpp | 190 ++--
   sandbox/boost/numeric/bindings/lapack/gesv.hpp | 132 ++--
   sandbox/boost/numeric/bindings/lapack/gesvd.hpp | 136 ++--
   sandbox/boost/numeric/bindings/lapack/hbev.hpp | 76 +-
   sandbox/boost/numeric/bindings/lapack/hbevx.hpp | 122 +-
   sandbox/boost/numeric/bindings/lapack/heev.hpp | 32
   sandbox/boost/numeric/bindings/lapack/heevd.hpp | 80 +-
   sandbox/boost/numeric/bindings/lapack/heevx.hpp | 124 +-
   sandbox/boost/numeric/bindings/lapack/hegv.hpp | 80 +-
   sandbox/boost/numeric/bindings/lapack/hesv.hpp | 124 +-
   sandbox/boost/numeric/bindings/lapack/hpsv.hpp | 50
   sandbox/boost/numeric/bindings/lapack/hseqr.hpp | 56
   sandbox/boost/numeric/bindings/lapack/ilaenv.hpp | 6
   sandbox/boost/numeric/bindings/lapack/lapack.h | 1302 ++++++++++++++++++++--------------------
   sandbox/boost/numeric/bindings/lapack/orgqr.hpp | 46
   sandbox/boost/numeric/bindings/lapack/ormqr.hpp | 50
   sandbox/boost/numeric/bindings/lapack/posv.hpp | 76 +-
   sandbox/boost/numeric/bindings/lapack/ppsv.hpp | 76 +-
   sandbox/boost/numeric/bindings/lapack/ptsv.hpp | 56
   sandbox/boost/numeric/bindings/lapack/spsv.hpp | 100 +-
   sandbox/boost/numeric/bindings/lapack/steqr.hpp | 14
   sandbox/boost/numeric/bindings/lapack/syev.hpp | 32
   sandbox/boost/numeric/bindings/lapack/syevx.hpp | 2
   sandbox/boost/numeric/bindings/lapack/sygv.hpp | 2
   sandbox/boost/numeric/bindings/lapack/sysv.hpp | 188 ++--
   sandbox/boost/numeric/bindings/lapack/sytrd.hpp | 16
   sandbox/boost/numeric/bindings/lapack/trevc.hpp | 32
   sandbox/boost/numeric/bindings/lapack/trexc.hpp | 40
   sandbox/boost/numeric/bindings/traits/detail/utils.hpp | 14
   sandbox/boost/numeric/bindings/traits/fortran.h | 6
   sandbox/boost/numeric/bindings/traits/type.h | 12
   48 files changed, 2206 insertions(+), 2188 deletions(-)

Modified: sandbox/boost/numeric/bindings/amos/amos.h
==============================================================================
--- sandbox/boost/numeric/bindings/amos/amos.h (original)
+++ sandbox/boost/numeric/bindings/amos/amos.h 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -14,17 +14,17 @@
 
 extern "C"
 {
- void AMOS_DBESI(const double* z, const double* fnu, const int* kode, const int* n, double* cy, int* nz ) ;
- void AMOS_CBESI(const fcomplex_t* z, const float* fnu, const int* kode, const int* n, fcomplex_t* cy, int* nz, int* ierr) ;
- void AMOS_ZBESI(const double* zr, const double* zi, const double* fnu, const int* kode, const int* n, double* cyr, double* cyi, int* nz, int* ierr) ;
+ void AMOS_DBESI(const double* z, const double* fnu, const integer_t* kode, const integer_t* n, double* cy, integer_t* nz ) ;
+ void AMOS_CBESI(const fcomplex_t* z, const float* fnu, const integer_t* kode, const integer_t* n, fcomplex_t* cy, integer_t* nz, integer_t* ierr) ;
+ void AMOS_ZBESI(const double* zr, const double* zi, const double* fnu, const integer_t* kode, const integer_t* n, double* cyr, double* cyi, integer_t* nz, integer_t* ierr) ;
 
- void AMOS_DBESJ(const double * z, const double* fnu, const int* n, double* cy, int* nz ) ;
- void AMOS_CBESJ(const fcomplex_t* z, const float* fnu, const int* kode, const int* n, fcomplex_t* cy, int* nz, int* ierr) ;
- void AMOS_ZBESJ(const double* zr, const double* zi, const double* fnu, const int* kode, const int* n, double* cyr, double* cyi, int* nz, int* ierr) ;
+ void AMOS_DBESJ(const double * z, const double* fnu, const integer_t* n, double* cy, integer_t* nz ) ;
+ void AMOS_CBESJ(const fcomplex_t* z, const float* fnu, const integer_t* kode, const integer_t* n, fcomplex_t* cy, integer_t* nz, integer_t* ierr) ;
+ void AMOS_ZBESJ(const double* zr, const double* zi, const double* fnu, const integer_t* kode, const integer_t* n, double* cyr, double* cyi, integer_t* nz, integer_t* ierr) ;
 
- void AMOS_DBESY(const double * z, const double* fnu, const int* n, double* cy ) ;
- void AMOS_CBESY(const fcomplex_t* z, const float* fnu, const int* kode, const int* n, fcomplex_t* cy, int* nz, fcomplex_t *cwrk, int* ierr) ;
- void AMOS_ZBESY(const double* zr, const double* zi, const double* fnu, const int* kode, const int* n, double* cyr, double* cyi, int* nz, double *cwrkr, double *cwrki, int* ierr) ;
+ void AMOS_DBESY(const double * z, const double* fnu, const integer_t* n, double* cy ) ;
+ void AMOS_CBESY(const fcomplex_t* z, const float* fnu, const integer_t* kode, const integer_t* n, fcomplex_t* cy, integer_t* nz, fcomplex_t *cwrk, integer_t* ierr) ;
+ void AMOS_ZBESY(const double* zr, const double* zi, const double* fnu, const integer_t* kode, const integer_t* n, double* cyr, double* cyi, integer_t* nz, double *cwrkr, double *cwrki, integer_t* ierr) ;
 }
 
 #endif // BOOST_NUMERIC_BINDINGS_AMOS_AMOS_HPP

Modified: sandbox/boost/numeric/bindings/amos/amos.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/amos/amos.hpp (original)
+++ sandbox/boost/numeric/bindings/amos/amos.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -20,9 +20,9 @@
   template < typename vector_type, typename value_type >
   int besi(const value_type& z, // std::complex< float > or std::complex< double >
            const typename traits::type_traits< value_type >::real_type fnu, // float or double
- int kode,
+ integer_t kode,
            vector_type& cy,
- int& nz)
+ integer_t& nz)
   {
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
     BOOST_STATIC_ASSERT( ( boost::is_same< value_type, typename traits::vector_traits<vector_type>::value_type >::value ) ) ;
@@ -30,10 +30,10 @@
     BOOST_STATIC_ASSERT( ( boost::is_same< value_type, typename vector_type::value_type >::value ) ) ;
 #endif
 
- int n = traits::vector_size( cy ) ;
+ integer_t n = traits::vector_size( cy ) ;
     value_type * cy_ptr = traits::vector_storage( cy ) ;
 
- int error = 0 ;
+ integer_t error = 0 ;
     detail::besi( z, fnu, kode, n, cy_ptr, nz, error ) ;
     return error ;
   }
@@ -41,9 +41,9 @@
   template < typename vector_type, typename value_type >
   int besj(const value_type& z,
            const typename traits::type_traits< value_type >::real_type fnu,
- int kode,
+ integer_t kode,
            vector_type& cy,
- int& nz)
+ integer_t& nz)
   {
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
     BOOST_STATIC_ASSERT( ( boost::is_same< value_type, typename traits::vector_traits<vector_type>::value_type >::value ) ) ;
@@ -51,10 +51,10 @@
     BOOST_STATIC_ASSERT( ( boost::is_same< value_type, typename vector_type::value_type >::value ) ) ;
 #endif
 
- int n = traits::vector_size( cy ) ;
+ integer_t n = traits::vector_size( cy ) ;
     value_type * cy_ptr = traits::vector_storage( cy ) ;
 
- int error = 0 ;
+ integer_t error = 0 ;
     detail::besj( z, fnu, kode, n, cy_ptr, nz, error ) ;
     return error ;
   }
@@ -62,9 +62,9 @@
   template < typename vector_type, typename value_type >
   int besy(const value_type& z,
            const typename traits::type_traits< value_type >::real_type fnu,
- int kode,
+ integer_t kode,
            vector_type& cy,
- int& nz)
+ integer_t& nz)
   {
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
     BOOST_STATIC_ASSERT( ( boost::is_same< value_type, typename traits::vector_traits<vector_type>::value_type >::value ) ) ;
@@ -72,10 +72,10 @@
     BOOST_STATIC_ASSERT( ( boost::is_same< value_type, typename vector_type::value_type >::value ) ) ;
 #endif
 
- int n = traits::vector_size( cy ) ;
+ integer_t n = traits::vector_size( cy ) ;
     value_type * cy_ptr = traits::vector_storage( cy ) ;
 
- int error = 0 ;
+ integer_t error = 0 ;
     value_type * cwrk = new value_type[n];
     detail::besy( z, fnu, kode, n, cy_ptr, nz, cwrk, error ) ;
     delete[] cwrk ;

Modified: sandbox/boost/numeric/bindings/amos/amos_overloads.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/amos/amos_overloads.hpp (original)
+++ sandbox/boost/numeric/bindings/amos/amos_overloads.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -22,29 +22,29 @@
   //
 
   //inline
- //void besi(const fcomplex * z, const fcomplex * fnu, const int * kode, const int * n, fcomplex* cy, int * nz, int * error) ;
+ //void besi(const fcomplex * z, const fcomplex * fnu, const integer_t * kode, const integer_t * n, fcomplex* cy, integer_t * nz, integer_t * error) ;
 
   inline
- void besi(const double& z, const double& fnu, const int& kode, const int& n, double* cy, int& nz, int& error)
+ void besi(const double& z, const double& fnu, const integer_t& kode, const integer_t& n, double* cy, integer_t& nz, integer_t& error)
   { AMOS_DBESI( &z, &fnu, &kode, &n, cy, &nz ) ; }
 
   inline
- void besi(const complex_f& z, const float& fnu, const int& kode, const int& n, complex_f* cy, int & nz, int & error)
+ void besi(const complex_f& z, const float& fnu, const integer_t& kode, const integer_t& n, complex_f* cy, integer_t & nz, integer_t & error)
   { AMOS_CBESI( complex_ptr( &z ), &fnu, &kode, &n, complex_ptr( cy ), &nz, &error ) ; }
 
   // inline
- // void besi(const complex_d* z, const double* fnu, const int * kode, const int * n, complex_d* cy, int * nz, int * error) ;
+ // void besi(const complex_d* z, const double* fnu, const integer_t * kode, const integer_t * n, complex_d* cy, integer_t * nz, integer_t * error) ;
   
   //
   // BESJ
   //
   
   inline
- void besj(const double& z, const double& fnu, const int& kode, const int& n, double* cy, int& nz, int& error)
+ void besj(const double& z, const double& fnu, const integer_t& kode, const integer_t& n, double* cy, integer_t& nz, integer_t& error)
   { AMOS_DBESJ( &z, &fnu, &n, cy, &nz ) ; }
 
   inline
- void besj(const complex_f& z, const float& fnu, const int& kode, const int& n, complex_f* cy, int & nz, int & error)
+ void besj(const complex_f& z, const float& fnu, const integer_t& kode, const integer_t& n, complex_f* cy, integer_t & nz, integer_t & error)
   { AMOS_CBESJ( complex_ptr( &z ), &fnu, &kode, &n, complex_ptr( cy ), &nz, &error ) ; }
 
   
@@ -54,7 +54,7 @@
   //
   
   inline
- void besy(const double& z, const double& fnu, const int& kode, const int& n, double* cy, int& nz, double* wrk, int& error)
+ void besy(const double& z, const double& fnu, const integer_t& kode, const integer_t& n, double* cy, integer_t& nz, double* wrk, integer_t& error)
   { AMOS_DBESY( &z, &fnu, &n, cy ) ; }
 
 }}}}}

Modified: sandbox/boost/numeric/bindings/blas/blas.h
==============================================================================
--- sandbox/boost/numeric/bindings/blas/blas.h (original)
+++ sandbox/boost/numeric/bindings/blas/blas.h 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -22,124 +22,124 @@
   //
   // Level 1
   //
- void BLAS_SSCAL(const int *n, const float* alpha, float* x, const int* incx);
- void BLAS_DSCAL(const int *n, const double* alpha, double* x, const int* incx);
- void BLAS_CSCAL(const int *n, const fcomplex_t* alpha, fcomplex_t* x, const int* incx);
- void BLAS_ZSCAL(const int *n, const dcomplex_t* alpha, dcomplex_t* x, const int* incx);
+ void BLAS_SSCAL(const integer_t *n, const float* alpha, float* x, const integer_t* incx);
+ void BLAS_DSCAL(const integer_t *n, const double* alpha, double* x, const integer_t* incx);
+ void BLAS_CSCAL(const integer_t *n, const fcomplex_t* alpha, fcomplex_t* x, const integer_t* incx);
+ void BLAS_ZSCAL(const integer_t *n, const dcomplex_t* alpha, dcomplex_t* x, const integer_t* incx);
 
- void BLAS_SAXPY(const int *n, const float* alpha, const float* x, const int* incx, float* y, const int* incy);
- void BLAS_DAXPY(const int *n, const double* alpha, const double* x, const int* incx, double* y, const int* incy);
- void BLAS_CAXPY(const int *n, const fcomplex_t* alpha, const fcomplex_t* x, const int* incx, fcomplex_t* y, const int* incy);
- void BLAS_ZAXPY(const int *n, const dcomplex_t* alpha, const dcomplex_t* x, const int* incx, dcomplex_t* y, const int* incy);
+ void BLAS_SAXPY(const integer_t *n, const float* alpha, const float* x, const integer_t* incx, float* y, const integer_t* incy);
+ void BLAS_DAXPY(const integer_t *n, const double* alpha, const double* x, const integer_t* incx, double* y, const integer_t* incy);
+ void BLAS_CAXPY(const integer_t *n, const fcomplex_t* alpha, const fcomplex_t* x, const integer_t* incx, fcomplex_t* y, const integer_t* incy);
+ void BLAS_ZAXPY(const integer_t *n, const dcomplex_t* alpha, const dcomplex_t* x, const integer_t* incx, dcomplex_t* y, const integer_t* incy);
 
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- float BLAS_SDOT (const int *n, const float *x, const int *incx, const float *y, const int *incy);
+ float BLAS_SDOT (const integer_t *n, const float *x, const integer_t *incx, const float *y, const integer_t *incy);
 #else
- double BLAS_SDOT (const int *n, const float *x, const int *incx, const float *y, const int *incy);
+ double BLAS_SDOT (const integer_t *n, const float *x, const integer_t *incx, const float *y, const integer_t *incy);
 #endif
- double BLAS_DDOT (const int *n, const double *x, const int *incx, const double *y, const int *incy);
+ double BLAS_DDOT (const integer_t *n, const double *x, const integer_t *incx, const double *y, const integer_t *incy);
 
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- fcomplex_t BLAS_CDOTU(const int *n, const fcomplex_t *x, const int *incx, const fcomplex_t *y, const int *incy);
+ fcomplex_t BLAS_CDOTU(const integer_t *n, const fcomplex_t *x, const integer_t *incx, const fcomplex_t *y, const integer_t *incy);
 #else
- void BLAS_CDOTU(fcomplex_t* ret, const int *n, const fcomplex_t *x, const int *incx, const fcomplex_t *y, const int *incy);
+ void BLAS_CDOTU(fcomplex_t* ret, const integer_t *n, const fcomplex_t *x, const integer_t *incx, const fcomplex_t *y, const integer_t *incy);
 #endif
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- dcomplex_t BLAS_ZDOTU(const int *n, const dcomplex_t *x, const int *incx, const dcomplex_t *y, const int *incy);
+ dcomplex_t BLAS_ZDOTU(const integer_t *n, const dcomplex_t *x, const integer_t *incx, const dcomplex_t *y, const integer_t *incy);
 #else
- void BLAS_ZDOTU(dcomplex_t* ret, const int *n, const dcomplex_t *x, const int *incx, const dcomplex_t *y, const int *incy);
+ void BLAS_ZDOTU(dcomplex_t* ret, const integer_t *n, const dcomplex_t *x, const integer_t *incx, const dcomplex_t *y, const integer_t *incy);
 #endif
 
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- fcomplex_t BLAS_CDOTC(const int *n, const fcomplex_t *x, const int *incx, const fcomplex_t *y, const int *incy);
+ fcomplex_t BLAS_CDOTC(const integer_t *n, const fcomplex_t *x, const integer_t *incx, const fcomplex_t *y, const integer_t *incy);
 #else
- void BLAS_CDOTC(fcomplex_t* ret, const int *n, const fcomplex_t *x, const int *incx, const fcomplex_t *y, const int *incy);
+ void BLAS_CDOTC(fcomplex_t* ret, const integer_t *n, const fcomplex_t *x, const integer_t *incx, const fcomplex_t *y, const integer_t *incy);
 #endif
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- dcomplex_t BLAS_ZDOTC(const int *n, const dcomplex_t *x, const int *incx, const dcomplex_t *y, const int *incy);
+ dcomplex_t BLAS_ZDOTC(const integer_t *n, const dcomplex_t *x, const integer_t *incx, const dcomplex_t *y, const integer_t *incy);
 #else
- void BLAS_ZDOTC(dcomplex_t* ret, const int *n, const dcomplex_t *x, const int *incx, const dcomplex_t *y, const int *incy);
+ void BLAS_ZDOTC(dcomplex_t* ret, const integer_t *n, const dcomplex_t *x, const integer_t *incx, const dcomplex_t *y, const integer_t *incy);
 #endif
 
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- float BLAS_SNRM2(const int *n, const float *x, const int *incx);
+ float BLAS_SNRM2(const integer_t *n, const float *x, const integer_t *incx);
 #else
- double BLAS_SNRM2(const int *n, const float *x, const int *incx);
+ double BLAS_SNRM2(const integer_t *n, const float *x, const integer_t *incx);
 #endif
- double BLAS_DNRM2(const int *n, const double *x, const int *incx);
+ double BLAS_DNRM2(const integer_t *n, const double *x, const integer_t *incx);
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- float BLAS_SCNRM2(const int *n, const fcomplex_t *x, const int *incx);
+ float BLAS_SCNRM2(const integer_t *n, const fcomplex_t *x, const integer_t *incx);
 #else
- double BLAS_SCNRM2(const int *n, const fcomplex_t *x, const int *incx);
+ double BLAS_SCNRM2(const integer_t *n, const fcomplex_t *x, const integer_t *incx);
 #endif
- double BLAS_DZNRM2(const int *n, const dcomplex_t *x, const int *incx);
+ double BLAS_DZNRM2(const integer_t *n, const dcomplex_t *x, const integer_t *incx);
 
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- float BLAS_SASUM(const int *n, const float *x, const int *incx);
+ float BLAS_SASUM(const integer_t *n, const float *x, const integer_t *incx);
 #else
- double BLAS_SASUM(const int *n, const float *x, const int *incx);
+ double BLAS_SASUM(const integer_t *n, const float *x, const integer_t *incx);
 #endif
- double BLAS_DASUM(const int *n, const double *x, const int *incx);
+ double BLAS_DASUM(const integer_t *n, const double *x, const integer_t *incx);
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- float BLAS_SCASUM(const int *n, const fcomplex_t *x, const int *incx);
+ float BLAS_SCASUM(const integer_t *n, const fcomplex_t *x, const integer_t *incx);
 #else
- double BLAS_SCASUM(const int *n, const fcomplex_t *x, const int *incx);
+ double BLAS_SCASUM(const integer_t *n, const fcomplex_t *x, const integer_t *incx);
 #endif
- double BLAS_DZASUM(const int *n, const dcomplex_t *x, const int *incx);
+ double BLAS_DZASUM(const integer_t *n, const dcomplex_t *x, const integer_t *incx);
 
- void BLAS_SCOPY( const int *n, const float *x, const int *incx, float *y, const int *incy);
- void BLAS_DCOPY( const int *n, const double *x, const int *incx, double *y, const int *incy);
- void BLAS_CCOPY( const int *n, const fcomplex_t *x, const int *incx, fcomplex_t *y, const int *incy);
- void BLAS_ZCOPY( const int *n, const dcomplex_t *x, const int *incx, dcomplex_t *y, const int *incy);
+ void BLAS_SCOPY( const integer_t *n, const float *x, const integer_t *incx, float *y, const integer_t *incy);
+ void BLAS_DCOPY( const integer_t *n, const double *x, const integer_t *incx, double *y, const integer_t *incy);
+ void BLAS_CCOPY( const integer_t *n, const fcomplex_t *x, const integer_t *incx, fcomplex_t *y, const integer_t *incy);
+ void BLAS_ZCOPY( const integer_t *n, const dcomplex_t *x, const integer_t *incx, dcomplex_t *y, const integer_t *incy);
 
 
   //
   // Level 2
   //
- void BLAS_SGEMV(const char *trans, const int *m, const int *n, const float *alpha, const float *a, const int *lda, const float *x, const int *incx, const float *beta, float *y, const int *incy) ;
- void BLAS_DGEMV(const char *trans, const int *m, const int *n, const double *alpha, const double *a, const int *lda, const double *x, const int *incx, const double *beta, double *y, const int *incy) ;
- void BLAS_CGEMV(const char *trans, const int *m, const int *n, const fcomplex_t *alpha, const fcomplex_t *a, const int *lda, const fcomplex_t *x, const int *incx, const fcomplex_t *beta, fcomplex_t *y, const int *incy) ;
- void BLAS_ZGEMV(const char *trans, const int *m, const int *n, const dcomplex_t *alpha, const dcomplex_t *a, const int *lda, const dcomplex_t *x, const int *incx, const dcomplex_t *beta, dcomplex_t *y, const int *incy) ;
+ void BLAS_SGEMV(const char *trans, const integer_t *m, const integer_t *n, const float *alpha, const float *a, const integer_t *lda, const float *x, const integer_t *incx, const float *beta, float *y, const integer_t *incy) ;
+ void BLAS_DGEMV(const char *trans, const integer_t *m, const integer_t *n, const double *alpha, const double *a, const integer_t *lda, const double *x, const integer_t *incx, const double *beta, double *y, const integer_t *incy) ;
+ void BLAS_CGEMV(const char *trans, const integer_t *m, const integer_t *n, const fcomplex_t *alpha, const fcomplex_t *a, const integer_t *lda, const fcomplex_t *x, const integer_t *incx, const fcomplex_t *beta, fcomplex_t *y, const integer_t *incy) ;
+ void BLAS_ZGEMV(const char *trans, const integer_t *m, const integer_t *n, const dcomplex_t *alpha, const dcomplex_t *a, const integer_t *lda, const dcomplex_t *x, const integer_t *incx, const dcomplex_t *beta, dcomplex_t *y, const integer_t *incy) ;
 
- void BLAS_SGER (const int *m, const int *n, const float * alpha, const float * x, const int *incx, const float * y, const int *incy, float *a, const int *lda);
- void BLAS_DGER (const int *m, const int *n, const double *alpha, const double *x, const int *incx, const double *y, const int *incy, double *a, const int *lda);
+ void BLAS_SGER (const integer_t *m, const integer_t *n, const float * alpha, const float * x, const integer_t *incx, const float * y, const integer_t *incy, float *a, const integer_t *lda);
+ void BLAS_DGER (const integer_t *m, const integer_t *n, const double *alpha, const double *x, const integer_t *incx, const double *y, const integer_t *incy, double *a, const integer_t *lda);
 
- void BLAS_CGERU(const int *m, const int *n, const fcomplex_t *alpha, const fcomplex_t *x, const int *incx, const fcomplex_t *y, const int *incy, fcomplex_t *a, const int *lda);
- void BLAS_ZGERU(const int *m, const int *n, const dcomplex_t *alpha, const dcomplex_t *x, const int *incx, const dcomplex_t *y, const int *incy, dcomplex_t *a, const int *lda);
+ void BLAS_CGERU(const integer_t *m, const integer_t *n, const fcomplex_t *alpha, const fcomplex_t *x, const integer_t *incx, const fcomplex_t *y, const integer_t *incy, fcomplex_t *a, const integer_t *lda);
+ void BLAS_ZGERU(const integer_t *m, const integer_t *n, const dcomplex_t *alpha, const dcomplex_t *x, const integer_t *incx, const dcomplex_t *y, const integer_t *incy, dcomplex_t *a, const integer_t *lda);
 
- void BLAS_CGERC(const int *m, const int *n, const fcomplex_t *alpha, const fcomplex_t *x, const int *incx, const fcomplex_t *y, const int *incy, fcomplex_t *a, const int *lda);
- void BLAS_ZGERC(const int *m, const int *n, const dcomplex_t *alpha, const dcomplex_t *x, const int *incx, const dcomplex_t *y, const int *incy, dcomplex_t *a, const int *lda);
+ void BLAS_CGERC(const integer_t *m, const integer_t *n, const fcomplex_t *alpha, const fcomplex_t *x, const integer_t *incx, const fcomplex_t *y, const integer_t *incy, fcomplex_t *a, const integer_t *lda);
+ void BLAS_ZGERC(const integer_t *m, const integer_t *n, const dcomplex_t *alpha, const dcomplex_t *x, const integer_t *incx, const dcomplex_t *y, const integer_t *incy, dcomplex_t *a, const integer_t *lda);
 
 
   //
   // Level 3
   //
- void BLAS_SGEMM(const char *transa, const char *transb, const int *m, const int *n, const int *k, const float *alpha, const float *a, const int *lda, const float *b, const int *ldb, const float *beta, float *c, const int *ldc);
- void BLAS_DGEMM(const char *transa, const char *transb, const int *m, const int *n, const int *k, const double *alpha, const double *a, const int *lda, const double *b, const int *ldb, const double *beta, double *c, const int *ldc);
- void BLAS_CGEMM(const char *transa, const char *transb, const int *m, const int *n, const int *k, const fcomplex_t *alpha, const fcomplex_t *a, const int *lda, const fcomplex_t *b, const int *ldb, const fcomplex_t *beta, fcomplex_t *c, const int *ldc);
- void BLAS_ZGEMM(const char *transa, const char *transb, const int *m, const int *n, const int *k, const dcomplex_t *alpha, const dcomplex_t *a, const int *lda, const dcomplex_t *b, const int *ldb, const dcomplex_t *beta, dcomplex_t *c, const int *ldc);
-
- void BLAS_SSYRK ( const char* uplo, const char* trans, const int* n, const int* k, const float* alpha,
- const float* a, const int* lda, const float* beta, float* c, const int* ldc );
- void BLAS_DSYRK ( const char* uplo, const char* trans, const int* n, const int* k, const double* alpha,
- const double* a, const int* lda, const double* beta, double* c, const int* ldc );
- void BLAS_CSYRK ( const char* uplo, const char* trans, const int* n, const int* k, const fcomplex_t* alpha,
- const fcomplex_t* a, const int* lda, const fcomplex_t* beta, fcomplex_t* c, const int* ldc );
- void BLAS_ZSYRK ( const char* uplo, const char* trans, const int* n, const int* k, const dcomplex_t* alpha,
- const dcomplex_t* a, const int* lda, const dcomplex_t* beta, dcomplex_t* c, const int* ldc );
- void BLAS_CHERK ( const char* uplo, const char* trans, const int* n, const int* k, const float* alpha,
- const fcomplex_t* a, const int* lda, const float* beta, fcomplex_t* c, const int* ldc );
- void BLAS_ZHERK ( const char* uplo, const char* trans, const int* n, const int* k, const double* alpha,
- const dcomplex_t* a, const int* lda, const double* beta, dcomplex_t* c, const int* ldc );
-
- void BLAS_STRSM( const char* side, const char* uplo, const char* transa, const char* diag, const int* m,
- const int* n, float const* alpha, float const* a, int const* lda, float* b, int const* ldb );
- void BLAS_DTRSM( const char* side, const char* uplo, const char* transa, const char* diag, const int* m,
- const int* n, double const* alpha, double const* a, int const* lda, double* b, int const* ldb );
- void BLAS_CTRSM( const char* side, const char* uplo, const char* transa, const char* diag, const int* m,
- const int* n, fcomplex_t const* alpha, fcomplex_t const* a, int const* lda, fcomplex_t* b, int const* ldb );
- void BLAS_ZTRSM( const char* side, const char* uplo, const char* transa, const char* diag, const int* m,
- const int* n, dcomplex_t const* alpha, dcomplex_t const* a, int const* lda, dcomplex_t* b, int const* ldb );
+ void BLAS_SGEMM(const char *transa, const char *transb, const integer_t *m, const integer_t *n, const integer_t *k, const float *alpha, const float *a, const integer_t *lda, const float *b, const integer_t *ldb, const float *beta, float *c, const integer_t *ldc);
+ void BLAS_DGEMM(const char *transa, const char *transb, const integer_t *m, const integer_t *n, const integer_t *k, const double *alpha, const double *a, const integer_t *lda, const double *b, const integer_t *ldb, const double *beta, double *c, const integer_t *ldc);
+ void BLAS_CGEMM(const char *transa, const char *transb, const integer_t *m, const integer_t *n, const integer_t *k, const fcomplex_t *alpha, const fcomplex_t *a, const integer_t *lda, const fcomplex_t *b, const integer_t *ldb, const fcomplex_t *beta, fcomplex_t *c, const integer_t *ldc);
+ void BLAS_ZGEMM(const char *transa, const char *transb, const integer_t *m, const integer_t *n, const integer_t *k, const dcomplex_t *alpha, const dcomplex_t *a, const integer_t *lda, const dcomplex_t *b, const integer_t *ldb, const dcomplex_t *beta, dcomplex_t *c, const integer_t *ldc);
+
+ void BLAS_SSYRK ( const char* uplo, const char* trans, const integer_t* n, const integer_t* k, const float* alpha,
+ const float* a, const integer_t* lda, const float* beta, float* c, const integer_t* ldc );
+ void BLAS_DSYRK ( const char* uplo, const char* trans, const integer_t* n, const integer_t* k, const double* alpha,
+ const double* a, const integer_t* lda, const double* beta, double* c, const integer_t* ldc );
+ void BLAS_CSYRK ( const char* uplo, const char* trans, const integer_t* n, const integer_t* k, const fcomplex_t* alpha,
+ const fcomplex_t* a, const integer_t* lda, const fcomplex_t* beta, fcomplex_t* c, const integer_t* ldc );
+ void BLAS_ZSYRK ( const char* uplo, const char* trans, const integer_t* n, const integer_t* k, const dcomplex_t* alpha,
+ const dcomplex_t* a, const integer_t* lda, const dcomplex_t* beta, dcomplex_t* c, const integer_t* ldc );
+ void BLAS_CHERK ( const char* uplo, const char* trans, const integer_t* n, const integer_t* k, const float* alpha,
+ const fcomplex_t* a, const integer_t* lda, const float* beta, fcomplex_t* c, const integer_t* ldc );
+ void BLAS_ZHERK ( const char* uplo, const char* trans, const integer_t* n, const integer_t* k, const double* alpha,
+ const dcomplex_t* a, const integer_t* lda, const double* beta, dcomplex_t* c, const integer_t* ldc );
+
+ void BLAS_STRSM( const char* side, const char* uplo, const char* transa, const char* diag, const integer_t* m,
+ const integer_t* n, float const* alpha, float const* a, integer_t const* lda, float* b, integer_t const* ldb );
+ void BLAS_DTRSM( const char* side, const char* uplo, const char* transa, const char* diag, const integer_t* m,
+ const integer_t* n, double const* alpha, double const* a, integer_t const* lda, double* b, integer_t const* ldb );
+ void BLAS_CTRSM( const char* side, const char* uplo, const char* transa, const char* diag, const integer_t* m,
+ const integer_t* n, fcomplex_t const* alpha, fcomplex_t const* a, integer_t const* lda, fcomplex_t* b, integer_t const* ldb );
+ void BLAS_ZTRSM( const char* side, const char* uplo, const char* transa, const char* diag, const integer_t* m,
+ const integer_t* n, dcomplex_t const* alpha, dcomplex_t const* a, integer_t const* lda, dcomplex_t* b, integer_t const* ldb );
 
 }
 

Modified: sandbox/boost/numeric/bindings/blas/blas1.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/blas/blas1.hpp (original)
+++ sandbox/boost/numeric/bindings/blas/blas1.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -27,10 +27,10 @@
     BOOST_STATIC_ASSERT( ( boost::is_same< typename vector_x_type::value_type, typename vector_y_type::value_type >::value ) ) ;
 #endif
 
- const int n = traits::vector_size( x ) ;
+ const integer_t n = traits::vector_size( x ) ;
     assert( n==traits::vector_size( y ) ) ;
- const int stride_x = traits::vector_stride( x ) ;
- const int stride_y = traits::vector_stride( y ) ;
+ const integer_t stride_x = traits::vector_stride( x ) ;
+ const integer_t stride_y = traits::vector_stride( y ) ;
     typename traits::vector_traits<vector_x_type>::value_type const *x_ptr = traits::vector_storage( x ) ;
     typename traits::vector_traits<vector_y_type>::value_type *y_ptr = traits::vector_storage( y ) ;
 
@@ -48,8 +48,8 @@
     BOOST_STATIC_ASSERT( ( boost::is_same< value_type, typename vector_type::value_type >::value ) ) ;
 #endif
 
- const int n = traits::vector_size( x ) ;
- const int stride = traits::vector_stride( x ) ;
+ const integer_t n = traits::vector_size( x ) ;
+ const integer_t stride = traits::vector_stride( x ) ;
     value_type *x_ptr = traits::vector_storage( x ) ;
 
     detail::scal( n, alpha, x_ptr, stride ) ;
@@ -69,9 +69,9 @@
 #endif
     assert( traits::vector_size( x ) == traits::vector_size( y ) ) ;
 
- const int n = traits::vector_size( x ) ;
- const int stride_x = traits::vector_stride( x ) ;
- const int stride_y = traits::vector_stride( y ) ;
+ const integer_t n = traits::vector_size( x ) ;
+ const integer_t stride_x = traits::vector_stride( x ) ;
+ const integer_t stride_y = traits::vector_stride( y ) ;
     const value_type *x_ptr = traits::vector_storage( x ) ;
     value_type *y_ptr = traits::vector_storage( y ) ;
 
@@ -104,9 +104,9 @@
 #endif
     value_type ;
 
- const int n = traits::vector_size( x ) ;
- const int stride_x = traits::vector_stride( x ) ;
- const int stride_y = traits::vector_stride( y ) ;
+ const integer_t n = traits::vector_size( x ) ;
+ const integer_t stride_x = traits::vector_stride( x ) ;
+ const integer_t stride_y = traits::vector_stride( y ) ;
 
     const value_type *x_ptr = traits::vector_storage( x ) ;
     const value_type *y_ptr = traits::vector_storage( y ) ;
@@ -138,9 +138,9 @@
 #endif
     value_type ;
 
- const int n = traits::vector_size( x ) ;
- const int stride_x = traits::vector_stride( x ) ;
- const int stride_y = traits::vector_stride( y ) ;
+ const integer_t n = traits::vector_size( x ) ;
+ const integer_t stride_x = traits::vector_stride( x ) ;
+ const integer_t stride_y = traits::vector_stride( y ) ;
     const value_type *x_ptr = traits::vector_storage( x ) ;
     const value_type *y_ptr = traits::vector_storage( y ) ;
 
@@ -173,9 +173,9 @@
 #endif
     value_type ;
 
- const int n = traits::vector_size( x ) ;
- const int stride_x = traits::vector_stride( x ) ;
- const int stride_y = traits::vector_stride( y ) ;
+ const integer_t n = traits::vector_size( x ) ;
+ const integer_t stride_x = traits::vector_stride( x ) ;
+ const integer_t stride_y = traits::vector_stride( y ) ;
     const value_type *x_ptr = traits::vector_storage( x ) ;
     const value_type *y_ptr = traits::vector_storage( y ) ;
 
@@ -199,8 +199,8 @@
 #else
     typedef vector_type::value_type value_type ;
 #endif
- const int n = traits::vector_size( x ) ;
- const int stride_x = traits::vector_stride( x ) ;
+ const integer_t n = traits::vector_size( x ) ;
+ const integer_t stride_x = traits::vector_stride( x ) ;
     const value_type *x_ptr = traits::vector_storage( x ) ;
 
     return detail::nrm2( n, x_ptr, stride_x ) ;
@@ -224,8 +224,8 @@
     typedef vector_type::value_type value_type ;
 #endif
 
- const int n = traits::vector_size( x ) ;
- const int stride_x = traits::vector_stride( x ) ;
+ const integer_t n = traits::vector_size( x ) ;
+ const integer_t stride_x = traits::vector_stride( x ) ;
     const value_type *x_ptr = traits::vector_storage( x ) ;
 
     return detail::asum( n, x_ptr, stride_x ) ;

Modified: sandbox/boost/numeric/bindings/blas/blas1_overloads.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/blas/blas1_overloads.hpp (original)
+++ sandbox/boost/numeric/bindings/blas/blas1_overloads.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -18,62 +18,62 @@
   using namespace boost::numeric::bindings::traits ;
 
   // x *= alpha
- inline void scal(const int& n, const float& alpha, float* x, const int& incx) { BLAS_SSCAL( &n, &alpha, x , &incx ) ; }
- inline void scal(const int& n, const double& alpha, double* x, const int& incx) { BLAS_DSCAL( &n, &alpha, x , &incx ) ; }
- inline void scal(const int& n, const complex_f& alpha, complex_f* x, const int& incx) { BLAS_CSCAL( &n, complex_ptr( &alpha ), complex_ptr( x ), &incx ) ; }
- inline void scal(const int& n, const complex_d& alpha, complex_d* x, const int& incx) { BLAS_ZSCAL( &n, complex_ptr( &alpha ), complex_ptr( x ), &incx ) ; }
+ inline void scal(const integer_t& n, const float& alpha, float* x, const integer_t& incx) { BLAS_SSCAL( &n, &alpha, x , &incx ) ; }
+ inline void scal(const integer_t& n, const double& alpha, double* x, const integer_t& incx) { BLAS_DSCAL( &n, &alpha, x , &incx ) ; }
+ inline void scal(const integer_t& n, const complex_f& alpha, complex_f* x, const integer_t& incx) { BLAS_CSCAL( &n, complex_ptr( &alpha ), complex_ptr( x ), &incx ) ; }
+ inline void scal(const integer_t& n, const complex_d& alpha, complex_d* x, const integer_t& incx) { BLAS_ZSCAL( &n, complex_ptr( &alpha ), complex_ptr( x ), &incx ) ; }
 
   // y += alpha * x
- inline void axpy(const int& n, const float & alpha, const float * x, const int& incx, float * y, const int& incy) { BLAS_SAXPY( &n, &alpha , x , &incx, y , &incy ) ; }
- inline void axpy(const int& n, const double & alpha, const double * x, const int& incx, double * y, const int& incy) { BLAS_DAXPY( &n, &alpha , x , &incx, y , &incy ) ; }
- inline void axpy(const int& n, const complex_f& alpha, const complex_f* x, const int& incx, complex_f* y, const int& incy) { BLAS_CAXPY( &n, complex_ptr( &alpha ), complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ; }
- inline void axpy(const int& n, const complex_d& alpha, const complex_d* x, const int& incx, complex_d* y, const int& incy) { BLAS_ZAXPY( &n, complex_ptr( &alpha ), complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ; }
+ inline void axpy(const integer_t& n, const float & alpha, const float * x, const integer_t& incx, float * y, const integer_t& incy) { BLAS_SAXPY( &n, &alpha , x , &incx, y , &incy ) ; }
+ inline void axpy(const integer_t& n, const double & alpha, const double * x, const integer_t& incx, double * y, const integer_t& incy) { BLAS_DAXPY( &n, &alpha , x , &incx, y , &incy ) ; }
+ inline void axpy(const integer_t& n, const complex_f& alpha, const complex_f* x, const integer_t& incx, complex_f* y, const integer_t& incy) { BLAS_CAXPY( &n, complex_ptr( &alpha ), complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ; }
+ inline void axpy(const integer_t& n, const complex_d& alpha, const complex_d* x, const integer_t& incx, complex_d* y, const integer_t& incy) { BLAS_ZAXPY( &n, complex_ptr( &alpha ), complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ; }
 
   // x^T . y
- inline float dot(const int& n, const float * x, const int& incx, const float * y, const int& incy) { return BLAS_SDOT( &n, x, &incx, y, &incy ) ; }
- inline double dot(const int& n, const double* x, const int& incx, const double* y, const int& incy) { return BLAS_DDOT( &n, x, &incx, y, &incy ) ; }
+ inline float dot(const integer_t& n, const float * x, const integer_t& incx, const float * y, const integer_t& incy) { return BLAS_SDOT( &n, x, &incx, y, &incy ) ; }
+ inline double dot(const integer_t& n, const double* x, const integer_t& incx, const double* y, const integer_t& incy) { return BLAS_DDOT( &n, x, &incx, y, &incy ) ; }
 
   // x^T . y
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- inline void dotu(complex_f& ret, const int& n, const complex_f* x, const int& incx, const complex_f* y, const int& incy) { ret = complex_ret( BLAS_CDOTU( &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ) ; }
+ inline void dotu(complex_f& ret, const integer_t& n, const complex_f* x, const integer_t& incx, const complex_f* y, const integer_t& incy) { ret = complex_ret( BLAS_CDOTU( &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ) ; }
 #else
- inline void dotu(complex_f& ret, const int& n, const complex_f* x, const int& incx, const complex_f* y, const int& incy) { BLAS_CDOTU( complex_ptr( &ret ), &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ; }
+ inline void dotu(complex_f& ret, const integer_t& n, const complex_f* x, const integer_t& incx, const complex_f* y, const integer_t& incy) { BLAS_CDOTU( complex_ptr( &ret ), &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ; }
 #endif
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- inline void dotu(complex_d& ret, const int& n, const complex_d* x, const int& incx, const complex_d* y, const int& incy) { ret = complex_ret( BLAS_ZDOTU( &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ) ; }
+ inline void dotu(complex_d& ret, const integer_t& n, const complex_d* x, const integer_t& incx, const complex_d* y, const integer_t& incy) { ret = complex_ret( BLAS_ZDOTU( &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ) ; }
 #else
- inline void dotu(complex_d& ret, const int& n, const complex_d* x, const int& incx, const complex_d* y, const int& incy) { BLAS_ZDOTU( complex_ptr( &ret ), &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ; }
+ inline void dotu(complex_d& ret, const integer_t& n, const complex_d* x, const integer_t& incx, const complex_d* y, const integer_t& incy) { BLAS_ZDOTU( complex_ptr( &ret ), &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ; }
 #endif
 
   // x^H . y
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- inline void dotc(complex_f& ret, const int& n, const complex_f* x, const int& incx, const complex_f* y, const int& incy) { ret = complex_ret( BLAS_CDOTC( &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ) ; }
+ inline void dotc(complex_f& ret, const integer_t& n, const complex_f* x, const integer_t& incx, const complex_f* y, const integer_t& incy) { ret = complex_ret( BLAS_CDOTC( &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ) ; }
 #else
- inline void dotc(complex_f& ret, const int& n, const complex_f* x, const int& incx, const complex_f* y, const int& incy) { BLAS_CDOTC( complex_ptr( &ret ), &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ; }
+ inline void dotc(complex_f& ret, const integer_t& n, const complex_f* x, const integer_t& incx, const complex_f* y, const integer_t& incy) { BLAS_CDOTC( complex_ptr( &ret ), &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ; }
 #endif
 #ifndef BIND_FORTRAN_F2C_RETURN_CONVENTIONS
- inline void dotc(complex_d& ret, const int& n, const complex_d* x, const int& incx, const complex_d* y, const int& incy) { ret = complex_ret( BLAS_ZDOTC( &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ) ; }
+ inline void dotc(complex_d& ret, const integer_t& n, const complex_d* x, const integer_t& incx, const complex_d* y, const integer_t& incy) { ret = complex_ret( BLAS_ZDOTC( &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ) ; }
 #else
- inline void dotc(complex_d& ret, const int& n, const complex_d* x, const int& incx, const complex_d* y, const int& incy) { BLAS_ZDOTC( complex_ptr( &ret ), &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ; }
+ inline void dotc(complex_d& ret, const integer_t& n, const complex_d* x, const integer_t& incx, const complex_d* y, const integer_t& incy) { BLAS_ZDOTC( complex_ptr( &ret ), &n, complex_ptr( x ), &incx, complex_ptr( y ), &incy ) ; }
 #endif
 
   // euclidean norm
- inline float nrm2(const int& n, const float* x, const int& incx) { return BLAS_SNRM2( &n, x, &incx ) ; }
- inline double nrm2(const int& n, const double* x, const int& incx) { return BLAS_DNRM2( &n, x, &incx ) ; }
- inline float nrm2(const int& n, const complex_f* x, const int& incx) { return BLAS_SCNRM2( &n, complex_ptr(x), &incx ) ; }
- inline double nrm2(const int& n, const complex_d* x, const int& incx) { return BLAS_DZNRM2( &n, complex_ptr(x), &incx ) ; }
+ inline float nrm2(const integer_t& n, const float* x, const integer_t& incx) { return BLAS_SNRM2( &n, x, &incx ) ; }
+ inline double nrm2(const integer_t& n, const double* x, const integer_t& incx) { return BLAS_DNRM2( &n, x, &incx ) ; }
+ inline float nrm2(const integer_t& n, const complex_f* x, const integer_t& incx) { return BLAS_SCNRM2( &n, complex_ptr(x), &incx ) ; }
+ inline double nrm2(const integer_t& n, const complex_d* x, const integer_t& incx) { return BLAS_DZNRM2( &n, complex_ptr(x), &incx ) ; }
 
   // 1-norm
- inline float asum(const int& n, const float* x, const int& incx) { return BLAS_SASUM( &n, x, &incx ) ; }
- inline double asum(const int& n, const double* x, const int& incx) { return BLAS_DASUM( &n, x, &incx ) ; }
- inline float asum(const int& n, const complex_f* x, const int& incx) { return BLAS_SCASUM( &n, complex_ptr(x), &incx ) ; }
- inline double asum(const int& n, const complex_d* x, const int& incx) { return BLAS_DZASUM( &n, complex_ptr(x), &incx ) ; }
+ inline float asum(const integer_t& n, const float* x, const integer_t& incx) { return BLAS_SASUM( &n, x, &incx ) ; }
+ inline double asum(const integer_t& n, const double* x, const integer_t& incx) { return BLAS_DASUM( &n, x, &incx ) ; }
+ inline float asum(const integer_t& n, const complex_f* x, const integer_t& incx) { return BLAS_SCASUM( &n, complex_ptr(x), &incx ) ; }
+ inline double asum(const integer_t& n, const complex_d* x, const integer_t& incx) { return BLAS_DZASUM( &n, complex_ptr(x), &incx ) ; }
 
   // copy
- inline void copy(const int& n, const float* x, const int& incx, float* y, const int& incy) { BLAS_SCOPY( &n, x, &incx, y, &incy ) ; }
- inline void copy(const int& n, const double* x, const int& incx, double* y, const int& incy) { BLAS_DCOPY( &n, x, &incx, y, &incy ) ; }
- inline void copy(const int& n, const complex_f* x, const int& incx, complex_f* y, const int& incy) { BLAS_CCOPY( &n, complex_ptr(x), &incx, complex_ptr(y), &incy ) ; }
- inline void copy(const int& n, const complex_d* x, const int& incx, complex_d* y, const int& incy) { BLAS_ZCOPY( &n, complex_ptr(x), &incx, complex_ptr(y), &incy ) ; }
+ inline void copy(const integer_t& n, const float* x, const integer_t& incx, float* y, const integer_t& incy) { BLAS_SCOPY( &n, x, &incx, y, &incy ) ; }
+ inline void copy(const integer_t& n, const double* x, const integer_t& incx, double* y, const integer_t& incy) { BLAS_DCOPY( &n, x, &incx, y, &incy ) ; }
+ inline void copy(const integer_t& n, const complex_f* x, const integer_t& incx, complex_f* y, const integer_t& incy) { BLAS_CCOPY( &n, complex_ptr(x), &incx, complex_ptr(y), &incy ) ; }
+ inline void copy(const integer_t& n, const complex_d* x, const integer_t& incx, complex_d* y, const integer_t& incy) { BLAS_ZCOPY( &n, complex_ptr(x), &incx, complex_ptr(y), &incy ) ; }
 }}}}}
 
 #endif // BOOST_NUMERIC_BINDINGS_BLAS_BLAS1_OVERLOADS_HPP

Modified: sandbox/boost/numeric/bindings/blas/blas2.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/blas/blas2.hpp (original)
+++ sandbox/boost/numeric/bindings/blas/blas2.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -37,13 +37,13 @@
>::value ) ) ;
     */
 
- const int m = traits::matrix_size1( a ) ;
- const int n = traits::matrix_size2( a ) ;
+ const integer_t m = traits::matrix_size1( a ) ;
+ const integer_t n = traits::matrix_size2( a ) ;
     assert ( traits::vector_size( x ) >= (TRANS == traits::NO_TRANSPOSE ? n : m) ) ;
     assert ( traits::vector_size( y ) >= (TRANS == traits::NO_TRANSPOSE ? m : n) ) ;
- const int lda = traits::leading_dimension( a ) ;
- const int stride_x = traits::vector_stride( x ) ;
- const int stride_y = traits::vector_stride( y ) ;
+ const integer_t lda = traits::leading_dimension( a ) ;
+ const integer_t stride_x = traits::vector_stride( x ) ;
+ const integer_t stride_y = traits::vector_stride( y ) ;
 
     const value_type *a_ptr = traits::matrix_storage( a ) ;
     const value_type *x_ptr = traits::vector_storage( x ) ;
@@ -68,13 +68,13 @@
>::value ) ) ;
     */
 
- const int m = traits::matrix_size1( a ) ;
- const int n = traits::matrix_size2( a ) ;
+ const integer_t m = traits::matrix_size1( a ) ;
+ const integer_t n = traits::matrix_size2( a ) ;
     assert ( traits::vector_size( x ) <= m ) ;
     assert ( traits::vector_size( y ) <= n ) ;
- const int lda = traits::leading_dimension( a ) ;
- const int stride_x = traits::vector_stride( x ) ;
- const int stride_y = traits::vector_stride( y ) ;
+ const integer_t lda = traits::leading_dimension( a ) ;
+ const integer_t stride_x = traits::vector_stride( x ) ;
+ const integer_t stride_y = traits::vector_stride( y ) ;
 
     const value_type *x_ptr = traits::vector_storage( x ) ;
     const value_type *y_ptr = traits::vector_storage( y ) ;
@@ -99,13 +99,13 @@
 
 
 // BOOST_STATIC_ASSERT( ( boost::is_same< x.value_type(), FEMTown::Complex() >::value ) ) ;
- const int m = traits::matrix_size1( a ) ;
- const int n = traits::matrix_size2( a ) ;
+ const integer_t m = traits::matrix_size1( a ) ;
+ const integer_t n = traits::matrix_size2( a ) ;
     assert ( traits::vector_size( x ) <= m ) ;
     assert ( traits::vector_size( y ) <= n ) ;
- const int lda = traits::leading_dimension( a ) ;
- const int stride_x = traits::vector_stride( x ) ;
- const int stride_y = traits::vector_stride( y ) ;
+ const integer_t lda = traits::leading_dimension( a ) ;
+ const integer_t stride_x = traits::vector_stride( x ) ;
+ const integer_t stride_y = traits::vector_stride( y ) ;
 
     const value_type *x_ptr = traits::vector_storage( x ) ;
     const value_type *y_ptr = traits::vector_storage( y ) ;

Modified: sandbox/boost/numeric/bindings/blas/blas2_overloads.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/blas/blas2_overloads.hpp (original)
+++ sandbox/boost/numeric/bindings/blas/blas2_overloads.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -17,23 +17,23 @@
   using namespace boost::numeric::bindings::traits ;
 
   inline
- void gemv( char TRANS, const int& m, const int& n, const float & alpha, const float * a_ptr, const int& lda, const float * x_ptr, const int& incx, const float & beta, float * y_ptr, const int& incy ) { BLAS_SGEMV( &TRANS, &m, &n, ( &alpha ), ( a_ptr ), &lda, ( x_ptr ), &incx, ( &beta ), ( y_ptr ), &incy ) ; }
+ void gemv( char TRANS, const integer_t& m, const integer_t& n, const float & alpha, const float * a_ptr, const integer_t& lda, const float * x_ptr, const integer_t& incx, const float & beta, float * y_ptr, const integer_t& incy ) { BLAS_SGEMV( &TRANS, &m, &n, ( &alpha ), ( a_ptr ), &lda, ( x_ptr ), &incx, ( &beta ), ( y_ptr ), &incy ) ; }
   inline
- void gemv( char TRANS, const int& m, const int& n, const double & alpha, const double * a_ptr, const int& lda, const double * x_ptr, const int& incx, const double & beta, double * y_ptr, const int& incy ) { BLAS_DGEMV( &TRANS, &m, &n, ( &alpha ), ( a_ptr ), &lda, ( x_ptr ), &incx, ( &beta ), ( y_ptr ), &incy ) ; }
+ void gemv( char TRANS, const integer_t& m, const integer_t& n, const double & alpha, const double * a_ptr, const integer_t& lda, const double * x_ptr, const integer_t& incx, const double & beta, double * y_ptr, const integer_t& incy ) { BLAS_DGEMV( &TRANS, &m, &n, ( &alpha ), ( a_ptr ), &lda, ( x_ptr ), &incx, ( &beta ), ( y_ptr ), &incy ) ; }
   inline
- void gemv( char TRANS, const int& m, const int& n, const complex_f& alpha, const complex_f* a_ptr, const int& lda, const complex_f* x_ptr, const int& incx, const complex_f& beta, complex_f* y_ptr, const int& incy ) { BLAS_CGEMV( &TRANS, &m, &n, complex_ptr( &alpha ), complex_ptr( a_ptr ), &lda, complex_ptr( x_ptr ), &incx, complex_ptr( &beta ), complex_ptr( y_ptr ), &incy ) ; }
+ void gemv( char TRANS, const integer_t& m, const integer_t& n, const complex_f& alpha, const complex_f* a_ptr, const integer_t& lda, const complex_f* x_ptr, const integer_t& incx, const complex_f& beta, complex_f* y_ptr, const integer_t& incy ) { BLAS_CGEMV( &TRANS, &m, &n, complex_ptr( &alpha ), complex_ptr( a_ptr ), &lda, complex_ptr( x_ptr ), &incx, complex_ptr( &beta ), complex_ptr( y_ptr ), &incy ) ; }
   inline
- void gemv( char TRANS, const int& m, const int& n, const complex_d& alpha, const complex_d* a_ptr, const int& lda, const complex_d* x_ptr, const int& incx, const complex_d& beta, complex_d* y_ptr, const int& incy ) { BLAS_ZGEMV( &TRANS, &m, &n, complex_ptr( &alpha ), complex_ptr( a_ptr ), &lda, complex_ptr( x_ptr ), &incx, complex_ptr( &beta ), complex_ptr( y_ptr ), &incy ) ; }
+ void gemv( char TRANS, const integer_t& m, const integer_t& n, const complex_d& alpha, const complex_d* a_ptr, const integer_t& lda, const complex_d* x_ptr, const integer_t& incx, const complex_d& beta, complex_d* y_ptr, const integer_t& incy ) { BLAS_ZGEMV( &TRANS, &m, &n, complex_ptr( &alpha ), complex_ptr( a_ptr ), &lda, complex_ptr( x_ptr ), &incx, complex_ptr( &beta ), complex_ptr( y_ptr ), &incy ) ; }
 
   inline
- void ger( const int& m, const int& n, const float & alpha, const float * x_ptr, const int& incx, const float * y_ptr, const int& incy, float * a_ptr, const int& lda ) { BLAS_SGER( &m, &n, &alpha, x_ptr, &incx, y_ptr, &incy, a_ptr, &lda ) ; }
+ void ger( const integer_t& m, const integer_t& n, const float & alpha, const float * x_ptr, const integer_t& incx, const float * y_ptr, const integer_t& incy, float * a_ptr, const integer_t& lda ) { BLAS_SGER( &m, &n, &alpha, x_ptr, &incx, y_ptr, &incy, a_ptr, &lda ) ; }
   inline
- void ger( const int& m, const int& n, const double & alpha, const double * x_ptr, const int& incx, const double * y_ptr, const int& incy, double * a_ptr, const int& lda ) { BLAS_DGER( &m, &n, &alpha, x_ptr, &incx, y_ptr, &incy, a_ptr, &lda ) ; }
+ void ger( const integer_t& m, const integer_t& n, const double & alpha, const double * x_ptr, const integer_t& incx, const double * y_ptr, const integer_t& incy, double * a_ptr, const integer_t& lda ) { BLAS_DGER( &m, &n, &alpha, x_ptr, &incx, y_ptr, &incy, a_ptr, &lda ) ; }
 /*
   inline
- void geru( const int& m, const int& n, const complex_f & alpha, const complex_f * x_ptr, const int& incx, complex_f * y_ptr, const int& incy, complex_f * a_ptr, const int& lda ) { BLAS_CGERU( &m, &n, complex_ptr( &alpha ), complex_ptr( x_ptr ), &incx, complex_ptr( y_ptr ), &incy, complex_ptr( a_ptr ), &lda ) ; }
+ void geru( const integer_t& m, const integer_t& n, const complex_f & alpha, const complex_f * x_ptr, const integer_t& incx, complex_f * y_ptr, const integer_t& incy, complex_f * a_ptr, const integer_t& lda ) { BLAS_CGERU( &m, &n, complex_ptr( &alpha ), complex_ptr( x_ptr ), &incx, complex_ptr( y_ptr ), &incy, complex_ptr( a_ptr ), &lda ) ; }
   inline
- void geru( const int& m, const int& n, const complex_d & alpha, const complex_d * x_ptr, const int& incx, complex_d * y_ptr, const int& incy, complex_d * a_ptr, const int& lda ) { BLAS_ZGERU( &m, &n, complex_ptr( &alpha ), complex_ptr( x_ptr ), &incx, complex_ptr( y_ptr ), &incy, complex_ptr( a_ptr ), &lda ) ; }
+ void geru( const integer_t& m, const integer_t& n, const complex_d & alpha, const complex_d * x_ptr, const integer_t& incx, complex_d * y_ptr, const integer_t& incy, complex_d * a_ptr, const integer_t& lda ) { BLAS_ZGERU( &m, &n, complex_ptr( &alpha ), complex_ptr( x_ptr ), &incx, complex_ptr( y_ptr ), &incy, complex_ptr( a_ptr ), &lda ) ; }
 */
 }}}}}
 

Modified: sandbox/boost/numeric/bindings/blas/blas3.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/blas/blas3.hpp (original)
+++ sandbox/boost/numeric/bindings/blas/blas3.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -27,15 +27,15 @@
             matrix_type_c &c
             )
   {
- const int m = TRANSA == traits::NO_TRANSPOSE ? traits::matrix_size1( a ) : traits::matrix_size2( a ) ;
- const int n = TRANSB == traits::NO_TRANSPOSE ? traits::matrix_size2( b ) : traits::matrix_size1( b );
- const int k = TRANSA == traits::NO_TRANSPOSE ? traits::matrix_size2( a ) : traits::matrix_size1( a ) ;
+ const integer_t m = TRANSA == traits::NO_TRANSPOSE ? traits::matrix_size1( a ) : traits::matrix_size2( a ) ;
+ const integer_t n = TRANSB == traits::NO_TRANSPOSE ? traits::matrix_size2( b ) : traits::matrix_size1( b );
+ const integer_t k = TRANSA == traits::NO_TRANSPOSE ? traits::matrix_size2( a ) : traits::matrix_size1( a ) ;
     assert( k == ( TRANSB == traits::NO_TRANSPOSE ? traits::matrix_size1( b ) : traits::matrix_size2( b ) ) ) ;
     assert( m == traits::matrix_size1( c ) );
     assert( n == traits::matrix_size2( c ) );
- const int lda = traits::leading_dimension( a );
- const int ldb = traits::leading_dimension( b );
- const int ldc = traits::leading_dimension( c );
+ const integer_t lda = traits::leading_dimension( a );
+ const integer_t ldb = traits::leading_dimension( b );
+ const integer_t ldc = traits::leading_dimension( c );
 
     const value_type *a_ptr = traits::matrix_storage( a ) ;
     const value_type *b_ptr = traits::matrix_storage( b ) ;
@@ -75,12 +75,12 @@
   template < typename value_type, typename matrix_type_a, typename matrix_type_c >
   void syrk( char uplo, char trans, const value_type& alpha, const matrix_type_a& a,
              const value_type& beta, matrix_type_c& c) {
- const int n = traits::matrix_size1( c );
+ const integer_t n = traits::matrix_size1( c );
      assert( n == traits::matrix_size2( c ) );
- const int k = trans == traits::NO_TRANSPOSE ? traits::matrix_size2( a ) : traits::matrix_size1( a ) ;
+ const integer_t k = trans == traits::NO_TRANSPOSE ? traits::matrix_size2( a ) : traits::matrix_size1( a ) ;
      assert( n == traits::NO_TRANSPOSE ? traits::matrix_size1( a ) : traits::matrix_size2( a ) );
- const int lda = traits::leading_dimension( a );
- const int ldc = traits::leading_dimension( c );
+ const integer_t lda = traits::leading_dimension( a );
+ const integer_t ldc = traits::leading_dimension( c );
 
      const value_type *a_ptr = traits::matrix_storage( a ) ;
      value_type *c_ptr = traits::matrix_storage( c ) ;
@@ -96,12 +96,12 @@
              const real_type& beta, matrix_type_c& c) {
      typedef typename matrix_type_c::value_type value_type ;
 
- const int n = traits::matrix_size1( c );
+ const integer_t n = traits::matrix_size1( c );
      assert( n == traits::matrix_size2( c ) );
- const int k = trans == traits::NO_TRANSPOSE ? traits::matrix_size2( a ) : traits::matrix_size1( a ) ;
+ const integer_t k = trans == traits::NO_TRANSPOSE ? traits::matrix_size2( a ) : traits::matrix_size1( a ) ;
      assert( n == traits::NO_TRANSPOSE ? traits::matrix_size1( a ) : traits::matrix_size2( a ) );
- const int lda = traits::leading_dimension( a );
- const int ldc = traits::leading_dimension( c );
+ const integer_t lda = traits::leading_dimension( a );
+ const integer_t ldc = traits::leading_dimension( c );
 
      const value_type *a_ptr = traits::matrix_storage( a ) ;
      value_type *c_ptr = traits::matrix_storage( c ) ;
@@ -114,8 +114,8 @@
   // op( A ) = A, A^T, A^H
   template < class T, class A, class B >
   void trsm( char side, char uplo, char transa, char diag, T const& alpha, A const& a, B& b ) {
- const int m = traits::matrix_size1( b ) ;
- const int n = traits::matrix_size2( b ) ;
+ const integer_t m = traits::matrix_size1( b ) ;
+ const integer_t n = traits::matrix_size2( b ) ;
      assert( ( side=='L' && m==traits::matrix_size2( a ) && m==traits::matrix_size1( a ) ) ||
              ( side=='R' && n==traits::matrix_size2( a ) && n==traits::matrix_size1( a ) ) ) ;
      assert( side=='R' || side=='L' ) ;

Modified: sandbox/boost/numeric/bindings/blas/blas3_overloads.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/blas/blas3_overloads.hpp (original)
+++ sandbox/boost/numeric/bindings/blas/blas3_overloads.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -17,47 +17,47 @@
   using namespace boost::numeric::bindings::traits ;
 
   inline
- void gemm( char TRANSA, char TRANSB, const int& m, const int& n, const int& k, const float & alpha, const float * a_ptr, const int& lda, const float * b_ptr, const int& ldb, const float & beta, float * c_ptr, const int& ldc ) { BLAS_SGEMM( &TRANSA, &TRANSB, &m, &n, &k, ( &alpha ), ( a_ptr ), &lda, ( b_ptr ), &ldb, ( &beta ), ( c_ptr ), &ldc ) ; }
+ void gemm( char TRANSA, char TRANSB, const integer_t& m, const integer_t& n, const integer_t& k, const float & alpha, const float * a_ptr, const integer_t& lda, const float * b_ptr, const integer_t& ldb, const float & beta, float * c_ptr, const integer_t& ldc ) { BLAS_SGEMM( &TRANSA, &TRANSB, &m, &n, &k, ( &alpha ), ( a_ptr ), &lda, ( b_ptr ), &ldb, ( &beta ), ( c_ptr ), &ldc ) ; }
   inline
- void gemm( char TRANSA, char TRANSB, const int& m, const int& n, const int& k, const double & alpha, const double * a_ptr, const int& lda, const double * b_ptr, const int& ldb, const double & beta, double * c_ptr, const int& ldc ) { BLAS_DGEMM( &TRANSA, &TRANSB, &m, &n, &k, ( &alpha ), ( a_ptr ), &lda, ( b_ptr ), &ldb, ( &beta ), ( c_ptr ), &ldc ) ; }
+ void gemm( char TRANSA, char TRANSB, const integer_t& m, const integer_t& n, const integer_t& k, const double & alpha, const double * a_ptr, const integer_t& lda, const double * b_ptr, const integer_t& ldb, const double & beta, double * c_ptr, const integer_t& ldc ) { BLAS_DGEMM( &TRANSA, &TRANSB, &m, &n, &k, ( &alpha ), ( a_ptr ), &lda, ( b_ptr ), &ldb, ( &beta ), ( c_ptr ), &ldc ) ; }
   inline
- void gemm( char TRANSA, char TRANSB, const int& m, const int& n, const int& k, const complex_f& alpha, const complex_f* a_ptr, const int& lda, const complex_f* b_ptr, const int& ldb, const complex_f& beta, complex_f* c_ptr, const int& ldc ) { BLAS_CGEMM( &TRANSA, &TRANSB, &m, &n, &k, complex_ptr( &alpha ), complex_ptr( a_ptr ), &lda, complex_ptr( b_ptr ), &ldb, complex_ptr( &beta ), complex_ptr( c_ptr ), &ldc ) ; }
+ void gemm( char TRANSA, char TRANSB, const integer_t& m, const integer_t& n, const integer_t& k, const complex_f& alpha, const complex_f* a_ptr, const integer_t& lda, const complex_f* b_ptr, const integer_t& ldb, const complex_f& beta, complex_f* c_ptr, const integer_t& ldc ) { BLAS_CGEMM( &TRANSA, &TRANSB, &m, &n, &k, complex_ptr( &alpha ), complex_ptr( a_ptr ), &lda, complex_ptr( b_ptr ), &ldb, complex_ptr( &beta ), complex_ptr( c_ptr ), &ldc ) ; }
   inline
- void gemm( char TRANSA, char TRANSB, const int& m, const int& n, const int& k, const complex_d& alpha, const complex_d* a_ptr, const int& lda, const complex_d* b_ptr, const int& ldb, const complex_d& beta, complex_d* c_ptr, const int& ldc ) { BLAS_ZGEMM( &TRANSA, &TRANSB, &m, &n, &k, complex_ptr( &alpha ), complex_ptr( a_ptr ), &lda, complex_ptr( b_ptr ), &ldb, complex_ptr( &beta ), complex_ptr( c_ptr ), &ldc ) ; }
+ void gemm( char TRANSA, char TRANSB, const integer_t& m, const integer_t& n, const integer_t& k, const complex_d& alpha, const complex_d* a_ptr, const integer_t& lda, const complex_d* b_ptr, const integer_t& ldb, const complex_d& beta, complex_d* c_ptr, const integer_t& ldc ) { BLAS_ZGEMM( &TRANSA, &TRANSB, &m, &n, &k, complex_ptr( &alpha ), complex_ptr( a_ptr ), &lda, complex_ptr( b_ptr ), &ldb, complex_ptr( &beta ), complex_ptr( c_ptr ), &ldc ) ; }
 
 
   //
   // SYRK
   //
   inline
- void syrk( char uplo, char trans, const int& n, const int& k, const float& alpha,
- const float* a_ptr, const int lda, const float& beta, float* c_ptr,
- const int& ldc)
+ void syrk( char uplo, char trans, const integer_t& n, const integer_t& k, const float& alpha,
+ const float* a_ptr, const integer_t lda, const float& beta, float* c_ptr,
+ const integer_t& ldc)
   {
      BLAS_SSYRK( &uplo, &trans, &n, &k, &alpha, a_ptr, &lda, &beta, c_ptr, &ldc);
   }
 
   inline
- void syrk( char uplo, char trans, const int& n, const int& k, const double& alpha,
- const double* a_ptr, const int lda, const double& beta, double* c_ptr,
- const int& ldc)
+ void syrk( char uplo, char trans, const integer_t& n, const integer_t& k, const double& alpha,
+ const double* a_ptr, const integer_t lda, const double& beta, double* c_ptr,
+ const integer_t& ldc)
   {
      BLAS_DSYRK( &uplo, &trans, &n, &k, &alpha, a_ptr, &lda, &beta, c_ptr, &ldc);
   }
 
   inline
- void syrk( char uplo, char trans, const int& n, const int& k, const complex_f& alpha,
- const complex_f* a_ptr, const int lda, const complex_f& beta, complex_f* c_ptr,
- const int& ldc)
+ void syrk( char uplo, char trans, const integer_t& n, const integer_t& k, const complex_f& alpha,
+ const complex_f* a_ptr, const integer_t lda, const complex_f& beta, complex_f* c_ptr,
+ const integer_t& ldc)
   {
      BLAS_CSYRK( &uplo, &trans, &n, &k, complex_ptr( &alpha ), complex_ptr( a_ptr ),
                  &lda, complex_ptr( &beta ), complex_ptr( c_ptr ), &ldc);
   }
 
   inline
- void syrk( char uplo, char trans, const int& n, const int& k, const complex_d& alpha,
- const complex_d* a_ptr, const int lda, const complex_d& beta, complex_d* c_ptr,
- const int& ldc)
+ void syrk( char uplo, char trans, const integer_t& n, const integer_t& k, const complex_d& alpha,
+ const complex_d* a_ptr, const integer_t lda, const complex_d& beta, complex_d* c_ptr,
+ const integer_t& ldc)
   {
      BLAS_ZSYRK( &uplo, &trans, &n, &k, complex_ptr( &alpha ), complex_ptr( a_ptr ),
                  &lda, complex_ptr( &beta ), complex_ptr( c_ptr ), &ldc);
@@ -67,35 +67,35 @@
   // HERK
   //
   inline
- void herk( char uplo, char trans, const int& n, const int& k, const float& alpha,
- const float* a_ptr, const int lda, const float& beta, float* c_ptr,
- const int& ldc)
+ void herk( char uplo, char trans, const integer_t& n, const integer_t& k, const float& alpha,
+ const float* a_ptr, const integer_t lda, const float& beta, float* c_ptr,
+ const integer_t& ldc)
   {
      BLAS_SSYRK( &uplo, &trans, &n, &k, &alpha, a_ptr, &lda, &beta, c_ptr, &ldc);
   }
 
   inline
- void herk( char uplo, char trans, const int& n, const int& k, const double& alpha,
- const double* a_ptr, const int lda, const double& beta, double* c_ptr,
- const int& ldc)
+ void herk( char uplo, char trans, const integer_t& n, const integer_t& k, const double& alpha,
+ const double* a_ptr, const integer_t lda, const double& beta, double* c_ptr,
+ const integer_t& ldc)
   {
      BLAS_DSYRK( &uplo, &trans, &n, &k, &alpha, a_ptr, &lda, &beta, c_ptr, &ldc);
   }
 
 
   inline
- void herk( char uplo, char trans, const int& n, const int& k, const float& alpha,
- const complex_f* a_ptr, const int lda, const float& beta, complex_f* c_ptr,
- const int& ldc)
+ void herk( char uplo, char trans, const integer_t& n, const integer_t& k, const float& alpha,
+ const complex_f* a_ptr, const integer_t lda, const float& beta, complex_f* c_ptr,
+ const integer_t& ldc)
   {
      BLAS_CHERK( &uplo, &trans, &n, &k, &alpha, complex_ptr( a_ptr ),
                  &lda, &beta, complex_ptr( c_ptr ), &ldc);
   }
 
   inline
- void herk( char uplo, char trans, const int& n, const int& k, const double& alpha,
- const complex_d* a_ptr, const int lda, const double& beta, complex_d* c_ptr,
- const int& ldc)
+ void herk( char uplo, char trans, const integer_t& n, const integer_t& k, const double& alpha,
+ const complex_d* a_ptr, const integer_t lda, const double& beta, complex_d* c_ptr,
+ const integer_t& ldc)
   {
      BLAS_ZHERK( &uplo, &trans, &n, &k, &alpha, complex_ptr( a_ptr ),
                  &lda, &beta, complex_ptr( c_ptr ), &ldc);
@@ -105,33 +105,33 @@
   // trsm
   //
   inline
- void trsm( char side, char uplo, char transa, char diag, int m, int n,
- float const& alpha, float const* a_ptr, int lda,
- float* b_ptr, int ldb )
+ void trsm( char side, char uplo, char transa, char diag, integer_t m, integer_t n,
+ float const& alpha, float const* a_ptr, integer_t lda,
+ float* b_ptr, integer_t ldb )
   {
      BLAS_STRSM( &side, &uplo, &transa, &diag, &m, &n, &alpha, a_ptr, &lda, b_ptr, &ldb ) ;
   }
 
   inline
- void trsm( char side, char uplo, char transa, char diag, int m, int n,
- double const& alpha, double const* a_ptr, int lda,
- double* b_ptr, int ldb )
+ void trsm( char side, char uplo, char transa, char diag, integer_t m, integer_t n,
+ double const& alpha, double const* a_ptr, integer_t lda,
+ double* b_ptr, integer_t ldb )
   {
      BLAS_DTRSM( &side, &uplo, &transa, &diag, &m, &n, &alpha, a_ptr, &lda, b_ptr, &ldb ) ;
   }
 
   inline
- void trsm( char side, char uplo, char transa, char diag, int m, int n,
- complex_f const& alpha, complex_f const* a_ptr, int lda,
- complex_f* b_ptr, int ldb )
+ void trsm( char side, char uplo, char transa, char diag, integer_t m, integer_t n,
+ complex_f const& alpha, complex_f const* a_ptr, integer_t lda,
+ complex_f* b_ptr, integer_t ldb )
   {
      BLAS_CTRSM( &side, &uplo, &transa, &diag, &m, &n, complex_ptr( &alpha ), complex_ptr( a_ptr ), &lda, complex_ptr( b_ptr ), &ldb ) ;
   }
 
   inline
- void trsm( char side, char uplo, char transa, char diag, int m, int n,
- complex_d const& alpha, complex_d const* a_ptr, int lda,
- complex_d* b_ptr, int ldb )
+ void trsm( char side, char uplo, char transa, char diag, integer_t m, integer_t n,
+ complex_d const& alpha, complex_d const* a_ptr, integer_t lda,
+ complex_d* b_ptr, integer_t ldb )
   {
      BLAS_ZTRSM( &side, &uplo, &transa, &diag, &m, &n, complex_ptr( &alpha ), complex_ptr( a_ptr ), &lda, complex_ptr( b_ptr ), &ldb ) ;
   }

Modified: sandbox/boost/numeric/bindings/lapack/gbsv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gbsv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gbsv.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -27,26 +27,26 @@
 
     namespace detail {
       inline
- void gbtrf (int const n, int const m, int const kl, int const ku,
- float* ab, int const ldab, int* ipiv, int* info)
+ void gbtrf (integer_t const n, integer_t const m, integer_t const kl, integer_t const ku,
+ float* ab, integer_t const ldab, integer_t* ipiv, integer_t* info)
       {
         LAPACK_SGBTRF (&n, &m, &kl, &ku, ab, &ldab, ipiv, info);
       }
       inline
- void gbtrf (int const n, int const m, int const kl, int const ku,
- double* ab, int const ldab, int* ipiv, int* info)
+ void gbtrf (integer_t const n, integer_t const m, integer_t const kl, integer_t const ku,
+ double* ab, integer_t const ldab, integer_t* ipiv, integer_t* info)
       {
         LAPACK_DGBTRF (&n, &m, &kl, &ku, ab, &ldab, ipiv, info);
       }
       inline
- void gbtrf (int const n, int const m, int const kl, int const ku,
- traits::complex_f* ab, int const ldab, int* ipiv, int* info)
+ void gbtrf (integer_t const n, integer_t const m, integer_t const kl, integer_t const ku,
+ traits::complex_f* ab, integer_t const ldab, integer_t* ipiv, integer_t* info)
       {
         LAPACK_CGBTRF (&n, &m, &kl, &ku, traits::complex_ptr(ab), &ldab, ipiv, info);
       }
       inline
- void gbtrf (int const n, int const m, int const kl, int const ku,
- traits::complex_d* ab, int const ldab, int* ipiv, int* info)
+ void gbtrf (integer_t const n, integer_t const m, integer_t const kl, integer_t const ku,
+ traits::complex_d* ab, integer_t const ldab, integer_t* ipiv, integer_t* info)
       {
         LAPACK_ZGBTRF (&n, &m, &kl, &ku, traits::complex_ptr(ab), &ldab, ipiv, info);
       }
@@ -66,19 +66,19 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
- int const m = traits::matrix_size2 (a);
+ integer_t const n = traits::matrix_size1 (a);
+ integer_t const m = traits::matrix_size2 (a);
       assert (traits::vector_size (ipiv) == (m < n ? m : n));
 
       // if the matrix has kl lower and ku upper diagonals, then we should have
       // allocated kl lower and kl+ku upper diagonals
- int const kl = traits::matrix_lower_bandwidth (a);
- int const ku = traits::matrix_upper_bandwidth (a) - kl;
- int const ld = traits::leading_dimension (a);
+ integer_t const kl = traits::matrix_lower_bandwidth (a);
+ integer_t const ku = traits::matrix_upper_bandwidth (a) - kl;
+ integer_t const ld = traits::leading_dimension (a);
 
       assert(ku >= 0);
 
- int info;
+ integer_t info;
       detail::gbtrf (n, m, kl, ku,
                      traits::matrix_storage (a),
                      ld,
@@ -90,30 +90,30 @@
 
     namespace detail {
       inline
- void gbtrs (char const trans, int const n, int const kl, int const ku, int const m,
- float const* ab, int const ldab, int const* ipiv,
- float* b, int const ldb, int* info)
+ void gbtrs (char const trans, integer_t const n, integer_t const kl, integer_t const ku, integer_t const m,
+ float const* ab, integer_t const ldab, integer_t const* ipiv,
+ float* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_SGBTRS (&trans, &n, &kl, &ku, &m, ab, &ldab, ipiv, b, &ldb, info);
       }
       inline
- void gbtrs (char const trans, int const n, int const kl, int const ku, int const m,
- double const* ab, int const ldab, int const* ipiv,
- double* b, int const ldb, int* info)
+ void gbtrs (char const trans, integer_t const n, integer_t const kl, integer_t const ku, integer_t const m,
+ double const* ab, integer_t const ldab, integer_t const* ipiv,
+ double* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_DGBTRS (&trans, &n, &kl, &ku, &m, ab, &ldab, ipiv, b, &ldb, info);
       }
       inline
- void gbtrs (char const trans, int const n, int const kl, int const ku, int const m,
- traits::complex_f const* ab, int const ldab, int const* ipiv,
- traits::complex_f* b, int const ldb, int* info)
+ void gbtrs (char const trans, integer_t const n, integer_t const kl, integer_t const ku, integer_t const m,
+ traits::complex_f const* ab, integer_t const ldab, integer_t const* ipiv,
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CGBTRS (&trans, &n, &kl, &ku, &m, traits::complex_ptr(ab), &ldab, ipiv, traits::complex_ptr(b), &ldb, info);
       }
       inline
- void gbtrs (char const trans, int const n, int const kl, int const ku, int const m,
- traits::complex_d const* ab, int const ldab, int const* ipiv,
- traits::complex_d* b, int const ldb, int* info)
+ void gbtrs (char const trans, integer_t const n, integer_t const kl, integer_t const ku, integer_t const m,
+ traits::complex_d const* ab, integer_t const ldab, integer_t const* ipiv,
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZGBTRS (&trans, &n, &kl, &ku, &m, traits::complex_ptr(ab), &ldab, ipiv, traits::complex_ptr(b), &ldb, info);
       }
@@ -132,20 +132,20 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
       assert (n == traits::matrix_size1 (b));
       assert (n == traits::vector_size (ipiv));
 
       // if the matrix has kl lower and ku upper diagonals, then we should have
       // allocated kl lower and kl+ku upper diagonals
- int const kl = traits::matrix_lower_bandwidth (a);
- int const ku = traits::matrix_upper_bandwidth (a) - kl;
- int const ld = traits::leading_dimension (a);
+ integer_t const kl = traits::matrix_lower_bandwidth (a);
+ integer_t const ku = traits::matrix_upper_bandwidth (a) - kl;
+ integer_t const ld = traits::leading_dimension (a);
 
       assert(ku >= 0);
 
- int info;
+ integer_t info;
       detail::gbtrs (trans, n, kl, ku, traits::matrix_size2 (b),
 #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
                      traits::matrix_storage (a),

Modified: sandbox/boost/numeric/bindings/lapack/gees.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gees.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gees.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -60,10 +60,10 @@
 
     namespace detail {
       inline
- void gees (char const jobvs, char const sort, logical_t* select, int const n,
- float* a, int const lda, int& sdim, traits::complex_f* w,
- float* vs, int const ldvs, float* work, int const lwork,
- bool* bwork, int& info)
+ void gees (char const jobvs, char const sort, logical_t* select, integer_t const n,
+ float* a, integer_t const lda, integer_t& sdim, traits::complex_f* w,
+ float* vs, integer_t const ldvs, float* work, integer_t const lwork,
+ bool* bwork, integer_t& info)
       {
         traits::detail::array<float> wr(n);
         traits::detail::array<float> wi(n);
@@ -78,10 +78,10 @@
 
 
       inline
- void gees (char const jobvs, char const sort, logical_t* select, int const n,
- double* a, int const lda, int& sdim, traits::complex_d* w,
- double* vs, int const ldvs, double* work, int const lwork,
- bool* bwork, int& info)
+ void gees (char const jobvs, char const sort, logical_t* select, integer_t const n,
+ double* a, integer_t const lda, integer_t& sdim, traits::complex_d* w,
+ double* vs, integer_t const ldvs, double* work, integer_t const lwork,
+ bool* bwork, integer_t& info)
       {
         traits::detail::array<double> wr(n);
         traits::detail::array<double> wi(n);
@@ -96,11 +96,11 @@
 
 
       inline
- void gees (char const jobvs, char const sort, logical_t* select, int const n,
- traits::complex_f* a, int const lda, int& sdim, traits::complex_f* w,
- traits::complex_f* vs, int const ldvs,
- traits::complex_f* work, int lwork, float* rwork, bool* bwork,
- int& info)
+ void gees (char const jobvs, char const sort, logical_t* select, integer_t const n,
+ traits::complex_f* a, integer_t const lda, integer_t& sdim, traits::complex_f* w,
+ traits::complex_f* vs, integer_t const ldvs,
+ traits::complex_f* work, integer_t lwork, float* rwork, bool* bwork,
+ integer_t& info)
       {
         LAPACK_CGEES (&jobvs, &sort, select, &n, traits::complex_ptr(a), &lda, &sdim,
                       traits::complex_ptr(w), traits::complex_ptr (vs), &ldvs,
@@ -109,11 +109,11 @@
 
 
       inline
- void gees (char const jobvs, char const sort, logical_t* select, int const n,
- traits::complex_d* a, int const lda, int& sdim, traits::complex_d* w,
- traits::complex_d* vs, int const ldvs,
- traits::complex_d* work, int lwork, double* rwork, bool* bwork,
- int& info)
+ void gees (char const jobvs, char const sort, logical_t* select, integer_t const n,
+ traits::complex_d* a, integer_t const lda, integer_t& sdim, traits::complex_d* w,
+ traits::complex_d* vs, integer_t const ldvs,
+ traits::complex_d* work, integer_t lwork, double* rwork, bool* bwork,
+ integer_t& info)
       {
         LAPACK_ZGEES (&jobvs, &sort, select, &n, traits::complex_ptr(a), &lda, &sdim,
                       traits::complex_ptr(w), traits::complex_ptr(vs), &ldvs,
@@ -141,7 +141,7 @@
 
          typedef typename MatrA::value_type value_type ;
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
          assert (n == traits::matrix_size2 (a));
          assert (n == traits::matrix_size1 (vs));
          assert (n == traits::matrix_size2 (vs));
@@ -151,7 +151,7 @@
          logical_t* select=0;
          bool* bwork=0;
 
- int info, sdim;
+ integer_t info, sdim;
          detail::gees (jobvs, 'N', select, n,
                        traits::matrix_storage (a),
                        traits::leading_dimension (a),
@@ -185,7 +185,7 @@
 
          typedef typename MatrA::value_type value_type ;
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
          assert (n == traits::matrix_size2 (a));
          assert (n == traits::matrix_size1 (vs));
          assert (n == traits::matrix_size2 (vs));
@@ -196,7 +196,7 @@
          logical_t* select=0;
          bool* bwork=0;
 
- int info, sdim;
+ integer_t info, sdim;
          detail::gees (jobvs, 'N', select, n,
                        traits::matrix_storage (a),
                        traits::leading_dimension (a),
@@ -225,7 +225,7 @@
              typedef typename MatrA::value_type value_type ;
              typedef typename traits::type_traits< value_type >::real_type real_type ;
 
- int n = traits::matrix_size1( a );
+ integer_t n = traits::matrix_size1( a );
 
              traits::detail::array<value_type> work( 2*n );
              traits::detail::array<real_type> rwork( n );
@@ -238,7 +238,7 @@
              typedef typename MatrA::value_type value_type ;
              typedef typename traits::type_traits< value_type >::real_type real_type ;
 
- int n = traits::matrix_size1( a );
+ integer_t n = traits::matrix_size1( a );
 
              traits::detail::array<value_type> work( 2*n );
              traits::detail::array<real_type> rwork( n );
@@ -261,7 +261,7 @@
              typedef typename MatrA::value_type value_type ;
              typedef typename traits::type_traits< value_type >::real_type real_type ;
 
- int n = traits::matrix_size1( a );
+ integer_t n = traits::matrix_size1( a );
 
              traits::detail::array<value_type> work( 3*n );
 
@@ -273,7 +273,7 @@
              typedef typename MatrA::value_type value_type ;
              typedef typename traits::type_traits< value_type >::real_type real_type ;
 
- int n = traits::matrix_size1( a );
+ integer_t n = traits::matrix_size1( a );
 
              traits::detail::array<value_type> work( 3*n );
 

Modified: sandbox/boost/numeric/bindings/lapack/geev.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/geev.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/geev.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -72,32 +72,32 @@
     namespace detail {
 
       inline
- int geev_backend(const char* jobvl, const char* jobvr, const int* n, float* a,
- const int* lda, float* wr, float* wi, float* vl, const int* ldvl,
- float* vr, const int* ldvr, float* work, const int* lwork)
+ int geev_backend(const char* jobvl, const char* jobvr, const integer_t* n, float* a,
+ const integer_t* lda, float* wr, float* wi, float* vl, const integer_t* ldvl,
+ float* vr, const integer_t* ldvr, float* work, const integer_t* lwork)
       {
- int info;
+ integer_t info;
         LAPACK_SGEEV(jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, &info);
         return info;
       }
 
       inline
- int geev_backend(const char* jobvl, const char* jobvr, const int* n, double* a,
- const int* lda, double* wr, double* wi, double* vl, const int* ldvl,
- double* vr, const int* ldvr, double* work, const int* lwork)
+ int geev_backend(const char* jobvl, const char* jobvr, const integer_t* n, double* a,
+ const integer_t* lda, double* wr, double* wi, double* vl, const integer_t* ldvl,
+ double* vr, const integer_t* ldvr, double* work, const integer_t* lwork)
       {
- int info;
+ integer_t info;
         LAPACK_DGEEV(jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr, ldvr, work, lwork, &info);
         return info;
       }
 
       inline
- int geev_backend(const char* jobvl, const char* jobvr, const int* n, traits::complex_f* a,
- const int* lda, traits::complex_f* w, traits::complex_f* vl, const int* ldvl,
- traits::complex_f* vr, const int* ldvr, traits::complex_f* work, const int* lwork,
+ int geev_backend(const char* jobvl, const char* jobvr, const integer_t* n, traits::complex_f* a,
+ const integer_t* lda, traits::complex_f* w, traits::complex_f* vl, const integer_t* ldvl,
+ traits::complex_f* vr, const integer_t* ldvr, traits::complex_f* work, const integer_t* lwork,
                float* rwork)
       {
- int info;
+ integer_t info;
         LAPACK_CGEEV(jobvl, jobvr, n,
                      traits::complex_ptr(a), lda,
                      traits::complex_ptr(w),
@@ -109,12 +109,12 @@
       }
 
       inline
- int geev_backend(const char* jobvl, const char* jobvr, const int* n, traits::complex_d* a,
- const int* lda, traits::complex_d* w, traits::complex_d* vl, const int* ldvl,
- traits::complex_d* vr, const int* ldvr, traits::complex_d* work, const int* lwork,
+ int geev_backend(const char* jobvl, const char* jobvr, const integer_t* n, traits::complex_d* a,
+ const integer_t* lda, traits::complex_d* w, traits::complex_d* vl, const integer_t* ldvl,
+ traits::complex_d* vr, const integer_t* ldvr, traits::complex_d* work, const integer_t* lwork,
                double* rwork)
       {
- int info;
+ integer_t info;
         LAPACK_ZGEEV(jobvl, jobvr, n,
                      traits::complex_ptr(a), lda,
                      traits::complex_ptr(w),
@@ -138,7 +138,7 @@
       int geev(real_case, const char jobvl, const char jobvr, A& a, W& w,
                V* vl, V *vr)
       {
- int const n = traits::matrix_size1(a);
+ integer_t const n = traits::matrix_size1(a);
         typedef typename A::value_type value_type;
         traits::detail::array<value_type> wr(n);
         traits::detail::array<value_type> wi(n);
@@ -146,13 +146,13 @@
         traits::detail::array<value_type> vl2(vl ? 0 : n);
         traits::detail::array<value_type> vr2(vr ? 0 : n);
         value_type* vl_real = vl ? traits::matrix_storage(*vl) : vl2.storage();
- const int ldvl = vl ? traits::matrix_size2(*vl) : 1;
+ const integer_t ldvl = vl ? traits::matrix_size2(*vl) : 1;
         value_type* vr_real = vr ? traits::matrix_storage(*vr) : vr2.storage();
- const int ldvr = vr ? traits::matrix_size2(*vr) : 1;
+ const integer_t ldvr = vr ? traits::matrix_size2(*vr) : 1;
 
 
         // workspace query
- int lwork = -1;
+ integer_t lwork = -1;
         value_type work_temp;
         int result = geev_backend(&jobvl, &jobvr, &n,
                                   traits::matrix_storage(a), &n,
@@ -162,7 +162,7 @@
         if (result != 0)
           return result;
 
- lwork = (int) work_temp;
+ lwork = traits::detail::to_int(work_temp);
         traits::detail::array<value_type> work(lwork);
         result = geev_backend(&jobvl, &jobvr, &n,
                               traits::matrix_storage(a), &n,
@@ -182,18 +182,18 @@
       int geev(mixed_case, const char jobvl, const char jobvr, A& a, W& w,
                V* vl, V *vr)
       {
- int const n = traits::matrix_size1(a);
+ integer_t const n = traits::matrix_size1(a);
         typedef typename A::value_type value_type;
         traits::detail::array<value_type> wr(n);
         traits::detail::array<value_type> wi(n);
 
         traits::detail::array<value_type> vl2(vl ? n*n : n);
         traits::detail::array<value_type> vr2(vr ? n*n : n);
- const int ldvl2 = vl ? n : 1;
- const int ldvr2 = vr ? n : 1;
+ const integer_t ldvl2 = vl ? n : 1;
+ const integer_t ldvr2 = vr ? n : 1;
 
         // workspace query
- int lwork = -1;
+ integer_t lwork = -1;
         value_type work_temp;
         int result = geev_backend(&jobvl, &jobvr, &n,
                                   traits::matrix_storage(a), &n,
@@ -203,7 +203,7 @@
         if (result != 0)
           return result;
 
- lwork = (int) work_temp;
+ lwork = traits::detail::to_int(work_temp);
         traits::detail::array<value_type> work(lwork);
         result = geev_backend(&jobvl, &jobvr, &n,
                               traits::matrix_storage(a), &n,
@@ -214,7 +214,7 @@
         typedef typename V::value_type vec_value_type;
         vec_value_type* vl_stor = NULL;
         vec_value_type* vr_stor = NULL;
- int ldvl = 0, ldvr = 0;
+ integer_t ldvl = 0, ldvr = 0;
         if (vl)
         {
           vl_stor = traits::matrix_storage(*vl);
@@ -227,7 +227,7 @@
         }
 
         typedef std::complex<value_type> cmplx_t;
- for (int i = 0; i < n; i++)
+ for (std::ptrdiff_t i = 0; i < n; i++)
         {
           traits::vector_storage(w)[i] = cmplx_t(wr[i], wi[i]);
           if (wi[i] != 0)
@@ -237,7 +237,7 @@
             assert(wi[i+1] == -wi[i]);
 
             traits::vector_storage(w)[i+1] = cmplx_t(wr[i+1], wi[i+1]);
- for (int j = 0; j < n; j++)
+ for (std::ptrdiff_t j = 0; j < n; j++)
             {
               if (vl)
               {
@@ -255,7 +255,7 @@
           }
           else
           {
- for (int j = 0; j < n; j++)
+ for (std::ptrdiff_t j = 0; j < n; j++)
             {
               if (vl)
                 vl_stor[i*ldvl+j] = vl2[i*n+j];
@@ -275,18 +275,18 @@
         typedef typename A::value_type value_type;
         typedef typename traits::type_traits<value_type>::real_type real_type;
 
- int const n = traits::matrix_size1(a);
+ integer_t const n = traits::matrix_size1(a);
         traits::detail::array<real_type> rwork(2*n);
 
         traits::detail::array<value_type> vl2(vl ? 0 : n);
         traits::detail::array<value_type> vr2(vr ? 0 : n);
         value_type* vl_real = vl ? traits::matrix_storage(*vl) : vl2.storage();
- const int ldvl = vl ? traits::matrix_size2(*vl) : 1;
+ const integer_t ldvl = vl ? traits::matrix_size2(*vl) : 1;
         value_type* vr_real = vr ? traits::matrix_storage(*vr) : vr2.storage();
- const int ldvr = vr ? traits::matrix_size2(*vr) : 1;
+ const integer_t ldvr = vr ? traits::matrix_size2(*vr) : 1;
 
         // workspace query
- int lwork = -1;
+ integer_t lwork = -1;
         value_type work_temp;
         int result = geev_backend(&jobvl, &jobvr, &n,
                                   traits::matrix_storage(a), &n,
@@ -296,7 +296,7 @@
         if (result != 0)
           return result;
 
- lwork = (int) std::real(work_temp);
+ lwork = traits::detail::to_int(work_temp);
         traits::detail::array<value_type> work(lwork);
         result = geev_backend(&jobvl, &jobvr, &n,
                               traits::matrix_storage(a), &n,
@@ -324,7 +324,7 @@
 #endif
 
 #ifndef NDEBUG
- int const n = traits::matrix_size1(a);
+ std::ptrdiff_t const n = traits::matrix_size1(a);
 #endif
 
       assert(traits::matrix_size2(a)==n);

Modified: sandbox/boost/numeric/bindings/lapack/gels.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gels.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gels.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -69,26 +69,26 @@
 
         namespace detail {
 
- inline void gels(char const trans, const int m, const int n,
- const int nrhs, float *a, const int lda,
- float *b, const int ldb, float *work,
- const int lwork, int *info)
+ inline void gels(char const trans, const integer_t m, const integer_t n,
+ const integer_t nrhs, float *a, const integer_t lda,
+ float *b, const integer_t ldb, float *work,
+ const integer_t lwork, integer_t *info)
             {
                 LAPACK_SGELS(&trans, &m, &n, &nrhs, a, &lda, b, &ldb, work, &lwork, info);
             }
 
- inline void gels(char const trans, const int m, const int n,
- const int nrhs, double *a, const int lda,
- double *b, const int ldb, double *work,
- const int lwork, int *info)
+ inline void gels(char const trans, const integer_t m, const integer_t n,
+ const integer_t nrhs, double *a, const integer_t lda,
+ double *b, const integer_t ldb, double *work,
+ const integer_t lwork, integer_t *info)
             {
                 LAPACK_DGELS(&trans, &m, &n, &nrhs, a, &lda, b, &ldb, work, &lwork, info);
             }
 
- inline void gels(char const trans, const int m, const int n,
- const int nrhs, traits::complex_f *a, const int lda,
- traits::complex_f *b, const int ldb, traits::complex_f *work,
- const int lwork, int *info)
+ inline void gels(char const trans, const integer_t m, const integer_t n,
+ const integer_t nrhs, traits::complex_f *a, const integer_t lda,
+ traits::complex_f *b, const integer_t ldb, traits::complex_f *work,
+ const integer_t lwork, integer_t *info)
             {
                 LAPACK_CGELS(&trans, &m, &n, &nrhs,
                              traits::complex_ptr(a), &lda,
@@ -96,10 +96,10 @@
                              traits::complex_ptr(work), &lwork, info);
             }
 
- inline void gels(char const trans, const int m, const int n,
- const int nrhs, traits::complex_d *a, const int lda,
- traits::complex_d *b, const int ldb, traits::complex_d *work,
- const int lwork, int *info)
+ inline void gels(char const trans, const integer_t m, const integer_t n,
+ const integer_t nrhs, traits::complex_d *a, const integer_t lda,
+ traits::complex_d *b, const integer_t ldb, traits::complex_d *work,
+ const integer_t lwork, integer_t *info)
             {
                 LAPACK_ZGELS(&trans, &m, &n, &nrhs,
                              traits::complex_ptr(a), &lda,
@@ -111,10 +111,12 @@
             template <typename MatrA, typename VecB, typename Work>
             int gels(const char trans, MatrA& A, VecB& b, Work& work)
             {
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
- const int mrhs = traits::matrix_size1(b);
- const int nrhs = traits::matrix_size2(b);
+#ifndef NDEBUG
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
+ const std::ptrdiff_t mrhs = traits::matrix_size1(b);
+ const std::ptrdiff_t nrhs = traits::matrix_size2(b);
+#endif
 
                 // sanity checks
                 assert(trans == 'N' || trans == 'T' || trans == 'C');
@@ -123,7 +125,7 @@
                 assert(traits::leading_dimension(A) >= 1 && traits::leading_dimension(b) >= 1);
                 assert(mrhs == std::max(m, n));
 
- int info;
+ integer_t info;
                 detail::gels(trans,
                              traits::matrix_size1(A),
                              traits::matrix_size2(A),
@@ -141,10 +143,10 @@
 
             // query for recommended workspace
             template <typename MatrA, typename VecB>
- int gels_optimal_work(const char trans, MatrA& A, VecB& b)
+ integer_t gels_optimal_work(const char trans, MatrA& A, VecB& b)
             {
                 typename MatrA::value_type work;
- int info;
+ integer_t info;
                 detail::gels(trans,
                     traits::matrix_size1(A),
                     traits::matrix_size2(A),
@@ -159,7 +161,7 @@
 
                 assert(info == 0);
 
- int lwork = traits::detail::to_int(work);
+ integer_t lwork = traits::detail::to_int(work);
 
                 return lwork;
             }
@@ -170,7 +172,7 @@
         int gels(const char trans, MatrA& A, VecB& b, optimal_workspace)
         {
             // query optimal workspace size
- int work_size = detail::gels_optimal_work(trans, A, b);
+ integer_t work_size = detail::gels_optimal_work(trans, A, b);
             traits::detail::array<typename MatrA::value_type> work(work_size);
 
             return detail::gels(trans, A, b, work);
@@ -179,15 +181,15 @@
         template <typename MatrA, typename VecB>
         int gels(const char trans, MatrA& A, VecB& b, minimal_workspace)
         {
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
- const int r = traits::matrix_size2(b);
-
- const int minmn = std::min(m, n); //m < n ? m : n;
- const int maxmn = std::max(m, n); // m > n ? m : n;
- const int maxdim = std::max(maxmn, r); // maxmn > r ? maxmn : r;
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
+ const std::ptrdiff_t r = traits::matrix_size2(b);
+
+ const std::ptrdiff_t minmn = std::min(m, n); //m < n ? m : n;
+ const std::ptrdiff_t maxmn = std::max(m, n); // m > n ? m : n;
+ const std::ptrdiff_t maxdim = std::max(maxmn, r); // maxmn > r ? maxmn : r;
 
- traits::detail::array<typename MatrA::value_type> work(minmn + std::max(1, maxdim));
+ traits::detail::array<typename MatrA::value_type> work(minmn + std::max<std::ptrdiff_t>(1, maxdim));
 
             return detail::gels(trans, A, b, work);
         }

Modified: sandbox/boost/numeric/bindings/lapack/gelsd.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gelsd.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gelsd.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -32,29 +32,29 @@
 
         namespace detail {
 
- inline void gelsd(const int m, const int n, const int nrhs,
- float *a, const int lda, float *b, const int ldb,
- float *s, const float rcond, int *rank, float *work,
- const int lwork, int *iwork, int *info)
+ inline void gelsd(const integer_t m, const integer_t n, const integer_t nrhs,
+ float *a, const integer_t lda, float *b, const integer_t ldb,
+ float *s, const float rcond, integer_t *rank, float *work,
+ const integer_t lwork, integer_t *iwork, integer_t *info)
             {
                 LAPACK_SGELSD(&m, &n, &nrhs, a, &lda, b, &ldb, s,
                               &rcond, rank, work, &lwork, iwork, info);
             }
 
- inline void gelsd(const int m, const int n, const int nrhs,
- double *a, const int lda, double *b, const int ldb,
- double *s, const double rcond, int *rank, double *work,
- const int lwork, int *iwork, int *info)
+ inline void gelsd(const integer_t m, const integer_t n, const integer_t nrhs,
+ double *a, const integer_t lda, double *b, const integer_t ldb,
+ double *s, const double rcond, integer_t *rank, double *work,
+ const integer_t lwork, integer_t *iwork, integer_t *info)
             {
                 LAPACK_DGELSD(&m, &n, &nrhs, a, &lda, b, &ldb, s,
                               &rcond, rank, work, &lwork, iwork, info);
             }
 
- inline void gelsd(const int m, const int n, const int nrhs,
- traits::complex_f *a, const int lda, traits::complex_f *b,
- const int ldb, float *s, const float rcond, int *rank,
- traits::complex_f *work, const int lwork, float *rwork,
- int *iwork, int *info)
+ inline void gelsd(const integer_t m, const integer_t n, const integer_t nrhs,
+ traits::complex_f *a, const integer_t lda, traits::complex_f *b,
+ const integer_t ldb, float *s, const float rcond, integer_t *rank,
+ traits::complex_f *work, const integer_t lwork, float *rwork,
+ integer_t *iwork, integer_t *info)
             {
                 LAPACK_CGELSD(&m, &n, &nrhs, traits::complex_ptr(a),
                               &lda, traits::complex_ptr(b), &ldb, s,
@@ -62,11 +62,11 @@
                               &lwork, rwork, iwork, info);
             }
 
- inline void gelsd(const int m, const int n, const int nrhs,
- traits::complex_d *a, const int lda, traits::complex_d *b,
- const int ldb, double *s, const double rcond, int *rank,
- traits::complex_d *work, const int lwork, double *rwork,
- int *iwork, int *info)
+ inline void gelsd(const integer_t m, const integer_t n, const integer_t nrhs,
+ traits::complex_d *a, const integer_t lda, traits::complex_d *b,
+ const integer_t ldb, double *s, const double rcond, integer_t *rank,
+ traits::complex_d *work, const integer_t lwork, double *rwork,
+ integer_t *iwork, integer_t *info)
             {
                 LAPACK_ZGELSD(&m, &n, &nrhs, traits::complex_ptr(a),
                               &lda, traits::complex_ptr(b), &ldb, s,
@@ -81,29 +81,29 @@
                 typedef typename MatrA::value_type val_t;
                 typedef typename traits::type_traits<val_t>::real_type real_t;
 
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
- const int nrhs = traits::matrix_size2(B);
- const int maxmn = std::max(m, n);
- const int minmn = std::min(m, n);
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
+ const std::ptrdiff_t nrhs = traits::matrix_size2(B);
+ const std::ptrdiff_t maxmn = std::max(m, n);
+ const std::ptrdiff_t minmn = std::min(m, n);
 
                 // sanity checks
                 assert(m >= 0 && n >= 0);
                 assert(nrhs >= 0);
- assert(traits::leading_dimension(A) >= std::max(1, m));
- assert(traits::leading_dimension(B) >= std::max(1, maxmn));
+ assert(traits::leading_dimension(A) >= std::max<std::ptrdiff_t>(1, m));
+ assert(traits::leading_dimension(B) >= std::max<std::ptrdiff_t>(1, maxmn));
                 assert(traits::vector_size(work) >= 1);
- assert(traits::vector_size(s) >= std::max(1, minmn));
+ assert(traits::vector_size(s) >= std::max<std::ptrdiff_t>(1, minmn));
 
- int info;
+ integer_t info;
                 const real_t rcond = -1; // use machine precision
- int rank;
+ integer_t rank;
 
                 // query for maximum size of subproblems
- const int smlsiz = ilaenv(9, "GELSD", "");
- const int nlvl = static_cast<int>(((std::log(static_cast<float>(minmn))/std::log(2.f))/ (smlsiz+1)) + 1);
+ const integer_t smlsiz = ilaenv(9, "GELSD", "");
+ const integer_t nlvl = static_cast<integer_t>(((std::log(static_cast<float>(minmn))/std::log(2.f))/ (smlsiz+1)) + 1);
 
- traits::detail::array<int> iwork(3*minmn*nlvl + 11*minmn);
+ traits::detail::array<integer_t> iwork(3*minmn*nlvl + 11*minmn);
 
                 detail::gelsd(traits::matrix_size1(A),
                               traits::matrix_size2(A),
@@ -131,29 +131,29 @@
                 typedef typename MatrA::value_type val_t;
                 typedef typename traits::type_traits<val_t>::real_type real_t;
 
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
- const int nrhs = traits::matrix_size2(B);
- const int maxmn = std::max(m, n);
- const int minmn = std::min(m, n);
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
+ const std::ptrdiff_t nrhs = traits::matrix_size2(B);
+ const std::ptrdiff_t maxmn = std::max(m, n);
+ const std::ptrdiff_t minmn = std::min(m, n);
 
                 // sanity checks
                 assert(m >= 0 && n >= 0);
                 assert(nrhs >= 0);
- assert(traits::leading_dimension(A) >= std::max(1, m));
- assert(traits::leading_dimension(B) >= std::max(1, maxmn));
+ assert(traits::leading_dimension(A) >= std::max<std::ptrdiff_t>(1, m));
+ assert(traits::leading_dimension(B) >= std::max<std::ptrdiff_t>(1, maxmn));
                 assert(traits::vector_size(work) >= 1);
- assert(traits::vector_size(s) >= std::max(1, minmn));
+ assert(traits::vector_size(s) >= std::max<std::ptrdiff_t>(1, minmn));
 
- int info;
+ integer_t info;
                 const real_t rcond = -1; // use machine precision
- int rank;
+ integer_t rank;
 
                 // query for maximum size of subproblems
- const int smlsiz = ilaenv(9, "GELSD", "");
- const int nlvl = static_cast<int>(((std::log(static_cast<float>(minmn))/std::log(2.f))/ (smlsiz+1)) + 1);
+ const integer_t smlsiz = ilaenv(9, "GELSD", "");
+ const integer_t nlvl = static_cast<integer_t>(((std::log(static_cast<float>(minmn))/std::log(2.f))/ (smlsiz+1)) + 1);
 
- traits::detail::array<int> iwork(3*minmn*nlvl + 11*minmn);
+ traits::detail::array<integer_t> iwork(3*minmn*nlvl + 11*minmn);
 
                 detail::gelsd(traits::matrix_size1(A),
                     traits::matrix_size2(A),
@@ -186,19 +186,19 @@
                 {
                     typedef typename MatrA::value_type val_t;
 
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
- const int nrhs = traits::matrix_size2(B);
-
- const int minmn = std::min(m, n); // minmn = m < n ? m : n
- //const int maxmn = std::max(m, n); // maxmn = m > n ? m : n
- //const int maxmnr = std::max(maxmn, nrhs); // maxmnr = maxmn > nrhs ? maxmn : nrhs
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
+ const std::ptrdiff_t nrhs = traits::matrix_size2(B);
+
+ const std::ptrdiff_t minmn = std::min(m, n); // minmn = m < n ? m : n
+ //const std::ptrdiff_t maxmn = std::max(m, n); // maxmn = m > n ? m : n
+ //const std::ptrdiff_t maxmnr = std::max(maxmn, nrhs); // maxmnr = maxmn > nrhs ? maxmn : nrhs
 
                     // query for maximum size of subproblems
- const int smlsiz = ilaenv(9, "GELSD", "");
- const int nlvl = static_cast<int>(((std::log(static_cast<float>(minmn))/std::log(2.f))/ (smlsiz+1)) + 1);
+ const integer_t smlsiz = ilaenv(9, "GELSD", "");
+ const integer_t nlvl = static_cast<integer_t>(((std::log(static_cast<float>(minmn))/std::log(2.f))/ (smlsiz+1)) + 1);
 
- const int lwork = 12*minmn + 2*minmn*smlsiz + 8*minmn*nlvl +
+ const integer_t lwork = 12*minmn + 2*minmn*smlsiz + 8*minmn*nlvl +
                                       minmn*nrhs + (smlsiz+1)*(smlsiz+1);
 
                     traits::detail::array<val_t> work(lwork);
@@ -212,20 +212,20 @@
                     typedef typename MatrA::value_type val_t;
                     typedef typename traits::type_traits<val_t>::real_type real_t;
 
- //const int m = traits::matrix_size1(A);
- //const int n = traits::matrix_size2(A);
- //const int nrhs = traits::matrix_size2(B);
-
- //const int minmn = std::min(m, n); // minmn = m < n ? m : n
- //const int maxmn = std::max(m, n); // maxmn = m > n ? m : n
- //const int maxmnr = std::max(maxmn, nrhs); // maxmnr = maxmn > nrhs ? maxmn : nrhs
+ //const std::ptrdiff_t m = traits::matrix_size1(A);
+ //const std::ptrdiff_t n = traits::matrix_size2(A);
+ //const std::ptrdiff_t nrhs = traits::matrix_size2(B);
+
+ //const std::ptrdiff_t minmn = std::min(m, n); // minmn = m < n ? m : n
+ //const std::ptrdiff_t maxmn = std::max(m, n); // maxmn = m > n ? m : n
+ //const std::ptrdiff_t maxmnr = std::max(maxmn, nrhs); // maxmnr = maxmn > nrhs ? maxmn : nrhs
 
                     val_t temp_work;
- int temp_iwork;
+ integer_t temp_iwork;
 
                     const real_t rcond = -1;
- int rank;
- int info;
+ integer_t rank;
+ integer_t info;
 
                     // query for optimal workspace size
                     detail::gelsd(traits::matrix_size1(A),
@@ -245,7 +245,7 @@
 
                     assert(info == 0);
 
- const int lwork = traits::detail::to_int(temp_work);
+ const integer_t lwork = traits::detail::to_int(temp_work);
 
                     traits::detail::array<val_t> work(lwork);
 
@@ -255,13 +255,13 @@
                 template <typename MatrA, typename MatrB, typename VecS, typename Work>
                 int operator() (MatrA& A, MatrB& B, VecS& s, detail::workspace1<Work> workspace) const
                 {
- //const int m = traits::matrix_size1(A);
- //const int n = traits::matrix_size2(A);
- //const int nrhs = traits::matrix_size2(B);
-
- //const int minmn = std::min(m, n); // minmn = m < n ? m : n
- //const int maxmn = std::max(m, n); // maxmn = m > n ? m : n
- //const int maxmnr = std::max(maxmn, nrhs); // maxmnr = maxmn > nrhs ? maxmn : nrhs
+ //const std::ptrdiff_t m = traits::matrix_size1(A);
+ //const std::ptrdiff_t n = traits::matrix_size2(A);
+ //const std::ptrdiff_t nrhs = traits::matrix_size2(B);
+
+ //const std::ptrdiff_t minmn = std::min(m, n); // minmn = m < n ? m : n
+ //const std::ptrdiff_t maxmn = std::max(m, n); // maxmn = m > n ? m : n
+ //const std::ptrdiff_t maxmnr = std::max(maxmn, nrhs); // maxmnr = maxmn > nrhs ? maxmn : nrhs
 
                     return gelsd(A, B, s, workspace.w_);
                 }
@@ -277,24 +277,24 @@
                     typedef typename MatrA::value_type val_t;
                     typedef typename traits::type_traits<val_t>::real_type real_t;
 
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
- const int nrhs = traits::matrix_size2(B);
-
- const int minmn = std::min(m, n); // minmn = m < n ? m : n
- //const int maxmn = std::max(m, n); // maxmn = m > n ? m : n
- //const int maxmnr = std::max(maxmn, nrhs); // maxmnr = maxmn > nrhs ? maxmn : nrhs
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
+ const std::ptrdiff_t nrhs = traits::matrix_size2(B);
+
+ const std::ptrdiff_t minmn = std::min(m, n); // minmn = m < n ? m : n
+ //const std::ptrdiff_t maxmn = std::max(m, n); // maxmn = m > n ? m : n
+ //const std::ptrdiff_t maxmnr = std::max(maxmn, nrhs); // maxmnr = maxmn > nrhs ? maxmn : nrhs
 
                     // query for maximum size of subproblems
- const int smlsiz = ilaenv(9, "GELSD", "");
- const int nlvl = static_cast<int>(((std::log(static_cast<float>(minmn))/std::log(2.f))/ (smlsiz+1)) + 1);
+ const integer_t smlsiz = ilaenv(9, "GELSD", "");
+ const integer_t nlvl = static_cast<integer_t>(((std::log(static_cast<float>(minmn))/std::log(2.f))/ (smlsiz+1)) + 1);
 
                     traits::detail::array<val_t> work(2*minmn + minmn*nrhs);
 
- const int rwork_size = 10*minmn + 2*minmn*smlsiz + 8*minmn*nlvl +
+ const std::ptrdiff_t rwork_size = 10*minmn + 2*minmn*smlsiz + 8*minmn*nlvl +
                                            3*smlsiz*nrhs + (smlsiz+1)*(smlsiz+1);
 
- traits::detail::array<real_t> rwork(std::max(1, rwork_size));
+ traits::detail::array<real_t> rwork(std::max<std::ptrdiff_t>(1, rwork_size));
 
                     return gelsd(A, B, s, work, rwork);
                 }
@@ -305,21 +305,21 @@
                     typedef typename MatrA::value_type val_t;
                     typedef typename traits::type_traits<val_t>::real_type real_t;
 
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
- const int nrhs = traits::matrix_size2(B);
-
- const int minmn = std::min(m, n); // minmn = m < n ? m : n
- //const int maxmn = std::max(m, n); // maxmn = m > n ? m : n
- //const int maxmnr = std::max(maxmn, nrhs); // maxmnr = maxmn > nrhs ? maxmn : nrhs
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
+ const std::ptrdiff_t nrhs = traits::matrix_size2(B);
+
+ const std::ptrdiff_t minmn = std::min(m, n); // minmn = m < n ? m : n
+ //const std::ptrdiff_t maxmn = std::max(m, n); // maxmn = m > n ? m : n
+ //const std::ptrdiff_t maxmnr = std::max(maxmn, nrhs); // maxmnr = maxmn > nrhs ? maxmn : nrhs
 
                     val_t temp_work;
                     real_t temp_rwork;
- int temp_iwork;
+ integer_t temp_iwork;
 
                     const real_t rcond = -1;
- int rank;
- int info;
+ integer_t rank;
+ integer_t info;
 
                     // query for optimal workspace size
                     detail::gelsd(traits::matrix_size1(A),
@@ -340,18 +340,18 @@
 
                     assert(info == 0);
 
- const int lwork = traits::detail::to_int(temp_work);
+ const integer_t lwork = traits::detail::to_int(temp_work);
 
                     traits::detail::array<val_t> work(lwork);
 
                     // query for maximum size of subproblems
- const int smlsiz = ilaenv(9, "GELSD", "");
- const int nlvl = static_cast<int>(((std::log(static_cast<float>(minmn))/std::log(2.f))/ (smlsiz+1)) + 1);
+ const integer_t smlsiz = ilaenv(9, "GELSD", "");
+ const integer_t nlvl = static_cast<integer_t>(((std::log(static_cast<float>(minmn))/std::log(2.f))/ (smlsiz+1)) + 1);
 
- const int rwork_size = 10*minmn + 2*minmn*smlsiz + 8*minmn*nlvl +
+ const std::ptrdiff_t rwork_size = 10*minmn + 2*minmn*smlsiz + 8*minmn*nlvl +
                                             3*smlsiz*nrhs + (smlsiz+1)*(smlsiz+1);
 
- traits::detail::array<real_t> rwork(std::max(1, rwork_size));
+ traits::detail::array<real_t> rwork(std::max<std::ptrdiff_t>(1, rwork_size));
 
                     return gelsd(A, B, s, work, rwork);
                 }
@@ -359,13 +359,13 @@
                 template <typename MatrA, typename MatrB, typename VecS, typename Work, typename RWork>
                 int operator() (MatrA& A, MatrB& B, VecS& s, detail::workspace2<Work, RWork> workspace) const
                 {
- //const int m = traits::matrix_size1(A);
- //const int n = traits::matrix_size2(A);
- //const int nrhs = traits::matrix_size2(B);
-
- //const int minmn = std::min(m, n); // minmn = m < n ? m : n
- //const int maxmn = std::max(m, n); // maxmn = m > n ? m : n
- //const int maxmnr = std::max(maxmn, nrhs); // maxmnr = maxmn > nrhs ? maxmn : nrhs
+ //const std::ptrdiff_t m = traits::matrix_size1(A);
+ //const std::ptrdiff_t n = traits::matrix_size2(A);
+ //const std::ptrdiff_t nrhs = traits::matrix_size2(B);
+
+ //const std::ptrdiff_t minmn = std::min(m, n); // minmn = m < n ? m : n
+ //const std::ptrdiff_t maxmn = std::max(m, n); // maxmn = m > n ? m : n
+ //const std::ptrdiff_t maxmnr = std::max(maxmn, nrhs); // maxmnr = maxmn > nrhs ? maxmn : nrhs
 
                     return gelsd(A, B, s, workspace.w_, workspace.wr_);
                 }
@@ -400,10 +400,10 @@
             typedef typename MatrA::value_type val_t;
             typedef typename traits::type_traits<val_t>::real_type real_t;
 
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
 
- const int s_size = std::max(1, std::min(m,n));
+ const std::ptrdiff_t s_size = std::max<std::ptrdiff_t>(1, std::min(m,n));
             traits::detail::array<real_t> s(s_size);
 
             return detail::Gelsd<n_workspace_args<val_t>::value>() (A, B, s, workspace);

Modified: sandbox/boost/numeric/bindings/lapack/gelss.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gelss.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gelss.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -31,26 +31,26 @@
 
         namespace detail {
 
- inline void gelss(const int m, const int n, const int nrhs,
- float *a, const int lda, float *b, const int ldb,
- float *s, const float rcond, int *rank, float *work,
- const int lwork, int *info)
+ inline void gelss(const integer_t m, const integer_t n, const integer_t nrhs,
+ float *a, const integer_t lda, float *b, const integer_t ldb,
+ float *s, const float rcond, integer_t *rank, float *work,
+ const integer_t lwork, integer_t *info)
             {
                 LAPACK_SGELSS(&m, &n, &nrhs, a, &lda, b, &ldb, s, &rcond, rank, work, &lwork, info);
             }
 
- inline void gelss(const int m, const int n, const int nrhs,
- double *a, const int lda, double *b, const int ldb,
- double *s, const double rcond, int *rank, double *work,
- const int lwork, int *info)
+ inline void gelss(const integer_t m, const integer_t n, const integer_t nrhs,
+ double *a, const integer_t lda, double *b, const integer_t ldb,
+ double *s, const double rcond, integer_t *rank, double *work,
+ const integer_t lwork, integer_t *info)
             {
                 LAPACK_DGELSS(&m, &n, &nrhs, a, &lda, b, &ldb, s, &rcond, rank, work, &lwork, info);
             }
 
- inline void gelss(const int m, const int n, const int nrhs,
- traits::complex_f *a, const int lda, traits::complex_f *b,
- const int ldb, float *s, const float rcond, int *rank,
- traits::complex_f *work, const int lwork, float *rwork, int *info)
+ inline void gelss(const integer_t m, const integer_t n, const integer_t nrhs,
+ traits::complex_f *a, const integer_t lda, traits::complex_f *b,
+ const integer_t ldb, float *s, const float rcond, integer_t *rank,
+ traits::complex_f *work, const integer_t lwork, float *rwork, integer_t *info)
             {
                 LAPACK_CGELSS(&m, &n, &nrhs, traits::complex_ptr(a),
                               &lda, traits::complex_ptr(b), &ldb, s,
@@ -58,10 +58,10 @@
                               &lwork, rwork, info);
             }
 
- inline void gelss(const int m, const int n, const int nrhs,
- traits::complex_d *a, const int lda, traits::complex_d *b,
- const int ldb, double *s, const double rcond, int *rank,
- traits::complex_d *work, const int lwork, double *rwork, int *info)
+ inline void gelss(const integer_t m, const integer_t n, const integer_t nrhs,
+ traits::complex_d *a, const integer_t lda, traits::complex_d *b,
+ const integer_t ldb, double *s, const double rcond, integer_t *rank,
+ traits::complex_d *work, const integer_t lwork, double *rwork, integer_t *info)
             {
                 LAPACK_ZGELSS(&m, &n, &nrhs, traits::complex_ptr(a),
                               &lda, traits::complex_ptr(b), &ldb, s,
@@ -76,23 +76,23 @@
                 typedef typename MatrA::value_type val_t;
                 typedef typename traits::type_traits<val_t>::real_type real_t;
 
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
- const int nrhs = traits::matrix_size2(B);
- const int maxmn = std::max(m, n);
- const int minmn = std::min(m, n);
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
+ const std::ptrdiff_t nrhs = traits::matrix_size2(B);
+ const std::ptrdiff_t maxmn = std::max(m, n);
+ const std::ptrdiff_t minmn = std::min(m, n);
 
                 // sanity checks
                 assert(m >= 0 && n >= 0);
                 assert(nrhs >= 0);
- assert(traits::leading_dimension(A) >= std::max(1, m));
- assert(traits::leading_dimension(B) >= std::max(1, maxmn));
+ assert(traits::leading_dimension(A) >= std::max<std::ptrdiff_t>(1, m));
+ assert(traits::leading_dimension(B) >= std::max<std::ptrdiff_t>(1, maxmn));
                 assert(traits::vector_size(work) >= 1);
- assert(traits::vector_size(s) >= std::max(1, minmn));
+ assert(traits::vector_size(s) >= std::max<std::ptrdiff_t>(1, minmn));
 
- int info;
+ integer_t info;
                 const real_t rcond = -1; // use machine precision
- int rank;
+ integer_t rank;
 
                 detail::gelss(traits::matrix_size1(A),
                               traits::matrix_size2(A),
@@ -118,23 +118,23 @@
                 typedef typename MatrA::value_type val_t;
                 typedef typename traits::type_traits<val_t>::real_type real_t;
 
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
- const int nrhs = traits::matrix_size2(B);
- const int maxmn = std::max(m, n);
- const int minmn = std::min(m, n);
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
+ const std::ptrdiff_t nrhs = traits::matrix_size2(B);
+ const std::ptrdiff_t maxmn = std::max(m, n);
+ const std::ptrdiff_t minmn = std::min(m, n);
 
                 // sanity checks
                 assert(m >= 0 && n >= 0);
                 assert(nrhs >= 0);
- assert(traits::leading_dimension(A) >= std::max(1, m));
- assert(traits::leading_dimension(B) >= std::max(1, maxmn));
+ assert(traits::leading_dimension(A) >= std::max<std::ptrdiff_t>(1, m));
+ assert(traits::leading_dimension(B) >= std::max<std::ptrdiff_t>(1, maxmn));
                 assert(traits::vector_size(work) >= 1);
- assert(traits::vector_size(s) >= std::max(1, minmn));
+ assert(traits::vector_size(s) >= std::max<std::ptrdiff_t>(1, minmn));
 
- int info;
+ integer_t info;
                 const real_t rcond = -1; // use machine precision
- int rank;
+ integer_t rank;
 
                 detail::gelss(traits::matrix_size1(A),
                               traits::matrix_size2(A),
@@ -167,13 +167,13 @@
                 {
                     typedef typename MatrA::value_type val_t;
 
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
- const int rhs = traits::matrix_size2(B);
-
- const int minmn = std::min(m, n); // minmn = m < n ? m : n
- const int maxmn = std::max(m, n); // maxmn = m > n ? m : n
- const int maxmnr = std::max(maxmn, rhs); // maxmnr = maxmn > rhs ? maxmn : rhs
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
+ const std::ptrdiff_t rhs = traits::matrix_size2(B);
+
+ const std::ptrdiff_t minmn = std::min(m, n); // minmn = m < n ? m : n
+ const std::ptrdiff_t maxmn = std::max(m, n); // maxmn = m > n ? m : n
+ const std::ptrdiff_t maxmnr = std::max(maxmn, rhs); // maxmnr = maxmn > rhs ? maxmn : rhs
 
                     traits::detail::array<val_t> work(3*minmn + std::max(2*minmn, maxmnr));
 
@@ -186,19 +186,19 @@
                     typedef typename MatrA::value_type val_t;
                     typedef typename traits::type_traits<val_t>::real_type real_t;
 
- //const int m = traits::matrix_size1(A);
- //const int n = traits::matrix_size2(A);
- //const int rhs = traits::matrix_size2(B);
-
- //const int minmn = std::min(m, n); // minmn = m < n ? m : n
- //const int maxmn = std::max(m, n); // maxmn = m > n ? m : n
- //const int maxmnr = std::max(maxmn, rhs); // maxmnr = maxmn > rhs ? maxmn : rhs
+ //const std::ptrdiff_t m = traits::matrix_size1(A);
+ //const std::ptrdiff_t n = traits::matrix_size2(A);
+ //const std::ptrdiff_t rhs = traits::matrix_size2(B);
+
+ //const std::ptrdiff_t minmn = std::min(m, n); // minmn = m < n ? m : n
+ //const std::ptrdiff_t maxmn = std::max(m, n); // maxmn = m > n ? m : n
+ //const std::ptrdiff_t maxmnr = std::max(maxmn, rhs); // maxmnr = maxmn > rhs ? maxmn : rhs
 
                     val_t temp_work;
 
                     const real_t rcond = -1;
- int rank;
- int info;
+ integer_t rank;
+ integer_t info;
 
                     // query for optimal workspace size
                     detail::gelss(traits::matrix_size1(A),
@@ -217,7 +217,7 @@
 
                     assert(info == 0);
 
- const int lwork = traits::detail::to_int(temp_work);
+ const integer_t lwork = traits::detail::to_int(temp_work);
 
                     traits::detail::array<val_t> work(lwork);
 
@@ -241,16 +241,16 @@
                     typedef typename MatrA::value_type val_t;
                     typedef typename traits::type_traits<val_t>::real_type real_t;
 
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
- const int rhs = traits::matrix_size2(B);
-
- const int minmn = std::min(m, n); // minmn = m < n ? m : n
- const int maxmn = std::max(m, n); // maxmn = m > n ? m : n
- const int maxmnr = std::max(maxmn, rhs); // maxmnr = maxmn > rhs ? maxmn : rhs
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
+ const std::ptrdiff_t rhs = traits::matrix_size2(B);
+
+ const std::ptrdiff_t minmn = std::min(m, n); // minmn = m < n ? m : n
+ const std::ptrdiff_t maxmn = std::max(m, n); // maxmn = m > n ? m : n
+ const std::ptrdiff_t maxmnr = std::max(maxmn, rhs); // maxmnr = maxmn > rhs ? maxmn : rhs
 
                     traits::detail::array<val_t> work(2*minmn + maxmnr);
- traits::detail::array<real_t> rwork(std::max(1, (5*minmn)));
+ traits::detail::array<real_t> rwork(std::max<std::ptrdiff_t>(1, (5*minmn)));
 
                     return gelss(A, B, s, work, rwork);
                 }
@@ -261,20 +261,20 @@
                     typedef typename MatrA::value_type val_t;
                     typedef typename traits::type_traits<val_t>::real_type real_t;
 
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
- //const int rhs = traits::matrix_size2(B);
-
- const int minmn = std::min(m, n); // minmn = m < n ? m : n
- //const int maxmn = std::max(m, n); // maxmn = m > n ? m : n
- //const int maxmnr = std::max(maxmn, rhs); // maxmnr = maxmn > rhs ? maxmn : rhs
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
+ //const std::ptrdiff_t rhs = traits::matrix_size2(B);
+
+ const std::ptrdiff_t minmn = std::min(m, n); // minmn = m < n ? m : n
+ //const std::ptrdiff_t maxmn = std::max(m, n); // maxmn = m > n ? m : n
+ //const std::ptrdiff_t maxmnr = std::max(maxmn, rhs); // maxmnr = maxmn > rhs ? maxmn : rhs
 
                     val_t temp_work;
                     real_t temp_rwork;
 
                     const real_t rcond = -1;
- int rank;
- int info;
+ integer_t rank;
+ integer_t info;
 
                     // query for optimal workspace size
                     detail::gelss(traits::matrix_size1(A),
@@ -294,10 +294,10 @@
 
                     assert(info == 0);
 
- const int lwork = traits::detail::to_int(temp_work);
+ const integer_t lwork = traits::detail::to_int(temp_work);
 
                     traits::detail::array<val_t> work(lwork);
- traits::detail::array<real_t> rwork(std::max(1, (5*minmn)));
+ traits::detail::array<real_t> rwork(std::max<std::ptrdiff_t>(1, (5*minmn)));
 
                     return gelss(A, B, s, work, rwork);
                 }
@@ -338,10 +338,10 @@
             typedef typename MatrA::value_type val_t;
             typedef typename traits::type_traits<val_t>::real_type real_t;
 
- const int m = traits::matrix_size1(A);
- const int n = traits::matrix_size2(A);
+ const std::ptrdiff_t m = traits::matrix_size1(A);
+ const std::ptrdiff_t n = traits::matrix_size2(A);
 
- const int s_size = std::max(1, std::min(m,n));
+ const std::ptrdiff_t s_size = std::max<std::ptrdiff_t>(1, std::min(m,n));
             traits::detail::array<real_t> s(s_size);
 
             return detail::Gelss<n_workspace_args<val_t>::value>() (A, B, s, workspace);

Modified: sandbox/boost/numeric/bindings/lapack/geqrf.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/geqrf.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/geqrf.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -53,26 +53,26 @@
     namespace detail {
 
       inline
- void geqrf (int const m, int const n,
- float* a, int const lda,
- float* tau, float* work, int const lwork, int& info)
+ void geqrf (integer_t const m, integer_t const n,
+ float* a, integer_t const lda,
+ float* tau, float* work, integer_t const lwork, integer_t& info)
       {
         LAPACK_SGEQRF (&m, &n, a, &lda, tau, work, &lwork, &info);
       }
 
       inline
- void geqrf (int const m, int const n,
- double* a, int const lda,
- double* tau, double* work, int const lwork, int& info)
+ void geqrf (integer_t const m, integer_t const n,
+ double* a, integer_t const lda,
+ double* tau, double* work, integer_t const lwork, integer_t& info)
       {
         LAPACK_DGEQRF (&m, &n, a, &lda, tau, work, &lwork, &info);
       }
 
       inline
- void geqrf (int const m, int const n,
- traits::complex_f* a, int const lda,
+ void geqrf (integer_t const m, integer_t const n,
+ traits::complex_f* a, integer_t const lda,
                   traits::complex_f* tau, traits::complex_f* work,
- int const lwork, int& info)
+ integer_t const lwork, integer_t& info)
       {
         LAPACK_CGEQRF (&m, &n,
                       traits::complex_ptr (a), &lda,
@@ -82,10 +82,10 @@
 
 
       inline
- void geqrf (int const m, int const n,
- traits::complex_d* a, int const lda,
+ void geqrf (integer_t const m, integer_t const n,
+ traits::complex_d* a, integer_t const lda,
                   traits::complex_d* tau, traits::complex_d* work,
- int const lwork, int& info)
+ integer_t const lwork, integer_t& info)
       {
         LAPACK_ZGEQRF (&m, &n,
                       traits::complex_ptr (a), &lda,
@@ -105,12 +105,12 @@
>::value));
 #endif
 
- int const m = traits::matrix_size1 (a);
- int const n = traits::matrix_size2 (a);
- assert (std::min<int>(m,n) <= traits::vector_size (tau));
+ integer_t const m = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size2 (a);
+ assert (std::min<integer_t>(m,n) <= traits::vector_size (tau));
       assert (n <= traits::vector_size (work));
 
- int info;
+ integer_t info;
       detail::geqrf (m, n,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),
@@ -127,8 +127,8 @@
     template <typename A, typename Tau>
     int geqrf (A& a, Tau& tau, optimal_workspace ) {
        typedef typename A::value_type value_type ;
- const int n = traits::matrix_size2 (a);
- traits::detail::array<value_type> work(std::max<int>(1, n*32));
+ const std::ptrdiff_t n = traits::matrix_size2 (a);
+ traits::detail::array<value_type> work(std::max<std::ptrdiff_t>(1, n*32));
        return geqrf( a, tau, work );
     }
 
@@ -138,8 +138,8 @@
     template <typename A, typename Tau>
     int geqrf (A& a, Tau& tau, minimal_workspace ) {
        typedef typename A::value_type value_type ;
- const int n = traits::matrix_size2 (a);
- traits::detail::array<value_type> work(std::max<int>(1, n));
+ const std::ptrdiff_t n = traits::matrix_size2 (a);
+ traits::detail::array<value_type> work(std::max<std::ptrdiff_t>(1, n));
        return geqrf( a, tau, work );
     }
 
@@ -151,8 +151,8 @@
     template <typename A, typename Tau, typename Work>
     int geqrf (A& a, Tau& tau, detail::workspace1<Work> workspace ) {
        typedef typename A::value_type value_type ;
- const int n = traits::matrix_size2 (a);
- traits::detail::array<value_type> work(std::max<int>(1, n));
+ const std::ptrdiff_t n = traits::matrix_size2 (a);
+ traits::detail::array<value_type> work(std::max<std::ptrdiff_t>(1, n));
        return geqrf( a, tau, workspace.w_ );
     }
 

Modified: sandbox/boost/numeric/bindings/lapack/gesdd.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gesdd.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gesdd.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -58,36 +58,36 @@
     namespace detail {
 
       inline
- void gesdd (char const jobz, int const m, int const n,
- float* a, int const lda,
- float* s, float* u, int const ldu,
- float* vt, int const ldvt,
- float* work, int const lwork, float* /* dummy */,
- int* iwork, int* info)
+ void gesdd (char const jobz, integer_t const m, integer_t const n,
+ float* a, integer_t const lda,
+ float* s, float* u, integer_t const ldu,
+ float* vt, integer_t const ldvt,
+ float* work, integer_t const lwork, float* /* dummy */,
+ integer_t* iwork, integer_t* info)
       {
         LAPACK_SGESDD (&jobz, &m, &n, a, &lda, s,
                        u, &ldu, vt, &ldvt, work, &lwork, iwork, info);
       }
 
       inline
- void gesdd (char const jobz, int const m, int const n,
- double* a, int const lda,
- double* s, double* u, int const ldu,
- double* vt, int const ldvt,
- double* work, int const lwork, double* /* dummy */,
- int* iwork, int* info)
+ void gesdd (char const jobz, integer_t const m, integer_t const n,
+ double* a, integer_t const lda,
+ double* s, double* u, integer_t const ldu,
+ double* vt, integer_t const ldvt,
+ double* work, integer_t const lwork, double* /* dummy */,
+ integer_t* iwork, integer_t* info)
       {
         LAPACK_DGESDD (&jobz, &m, &n, a, &lda, s,
                        u, &ldu, vt, &ldvt, work, &lwork, iwork, info);
       }
 
       inline
- void gesdd (char const jobz, int const m, int const n,
- traits::complex_f* a, int const lda,
- float* s, traits::complex_f* u, int const ldu,
- traits::complex_f* vt, int const ldvt,
- traits::complex_f* work, int const lwork,
- float* rwork, int* iwork, int* info)
+ void gesdd (char const jobz, integer_t const m, integer_t const n,
+ traits::complex_f* a, integer_t const lda,
+ float* s, traits::complex_f* u, integer_t const ldu,
+ traits::complex_f* vt, integer_t const ldvt,
+ traits::complex_f* work, integer_t const lwork,
+ float* rwork, integer_t* iwork, integer_t* info)
       {
         LAPACK_CGESDD (&jobz, &m, &n,
                        traits::complex_ptr (a), &lda, s,
@@ -98,12 +98,12 @@
       }
 
       inline
- void gesdd (char const jobz, int const m, int const n,
- traits::complex_d* a, int const lda,
- double* s, traits::complex_d* u, int const ldu,
- traits::complex_d* vt, int const ldvt,
- traits::complex_d* work, int const lwork,
- double* rwork, int* iwork, int* info)
+ void gesdd (char const jobz, integer_t const m, integer_t const n,
+ traits::complex_d* a, integer_t const lda,
+ double* s, traits::complex_d* u, integer_t const ldu,
+ traits::complex_d* vt, integer_t const ldvt,
+ traits::complex_d* work, integer_t const lwork,
+ double* rwork, integer_t* iwork, integer_t* info)
       {
         LAPACK_ZGESDD (&jobz, &m, &n,
                        traits::complex_ptr (a), &lda, s,
@@ -115,65 +115,65 @@
 
 
       inline
- int gesdd_min_work (float, char jobz, int m, int n) {
- int minmn = m < n ? m : n;
- int maxmn = m < n ? n : m;
- int m3 = 3 * minmn;
- int m4 = 4 * minmn;
- int minw;
+ integer_t gesdd_min_work (float, char jobz, integer_t m, integer_t n) {
+ integer_t minmn = m < n ? m : n;
+ integer_t maxmn = m < n ? n : m;
+ integer_t m3 = 3 * minmn;
+ integer_t m4 = 4 * minmn;
+ integer_t minw;
         if (jobz == 'N') {
           // leading comments:
           // LWORK >= 3*min(M,N) + max(max(M,N), 6*min(M,N))
           // code:
           // LWORK >= 3*min(M,N) + max(max(M,N), 7*min(M,N))
- int m7 = 7 * minmn;
+ integer_t m7 = 7 * minmn;
           minw = maxmn < m7 ? m7 : maxmn;
           minw += m3;
         }
         if (jobz == 'O') {
           // LWORK >= 3*min(M,N)*min(M,N)
           // + max(max(M,N), 5*min(M,N)*min(M,N)+4*min(M,N))
- int m5 = 5 * minmn * minmn + m4;
+ integer_t m5 = 5 * minmn * minmn + m4;
           minw = maxmn < m5 ? m5 : maxmn;
           minw += m3 * minmn;
         }
         if (jobz == 'S' || jobz == 'A') {
           // LWORK >= 3*min(M,N)*min(M,N)
           // + max(max(M,N), 4*min(M,N)*min(M,N)+4*min(M,N)).
- int m44 = m4 * minmn + m4;
+ integer_t m44 = m4 * minmn + m4;
           minw = maxmn < m44 ? m44 : maxmn;
           minw += m3 * minmn;
         }
         return minw;
       }
       inline
- int gesdd_min_work (double, char jobz, int m, int n) {
- int minmn = m < n ? m : n;
- int maxmn = m < n ? n : m;
- int m3 = 3 * minmn;
- int m4 = 4 * minmn;
- int minw;
+ integer_t gesdd_min_work (double, char jobz, integer_t m, integer_t n) {
+ integer_t minmn = m < n ? m : n;
+ integer_t maxmn = m < n ? n : m;
+ integer_t m3 = 3 * minmn;
+ integer_t m4 = 4 * minmn;
+ integer_t minw;
         assert(jobz == 'N' || jobz == 'O' || jobz == 'S' || jobz == 'A');
         if (jobz == 'N') {
           // leading comments:
           // LWORK >= 3*min(M,N) + max(max(M,N), 6*min(M,N))
           // code:
           // LWORK >= 3*min(M,N) + max(max(M,N), 7*min(M,N))
- int m7 = 7 * minmn;
+ integer_t m7 = 7 * minmn;
           minw = maxmn < m7 ? m7 : maxmn;
           minw += m3;
         }
         else if (jobz == 'O') {
           // LWORK >= 3*min(M,N)*min(M,N)
           // + max(max(M,N), 5*min(M,N)*min(M,N)+4*min(M,N))
- int m5 = 5 * minmn * minmn + m4;
+ integer_t m5 = 5 * minmn * minmn + m4;
           minw = maxmn < m5 ? m5 : maxmn;
           minw += m3 * minmn;
         }
         else if (jobz == 'S' || jobz == 'A') {
           // LWORK >= 3*min(M,N)*min(M,N)
           // + max(max(M,N), 4*min(M,N)*min(M,N)+4*min(M,N)).
- int m44 = m4 * minmn + m4;
+ integer_t m44 = m4 * minmn + m4;
           minw = maxmn < m44 ? m44 : maxmn;
           minw += m3 * minmn;
         }
@@ -184,11 +184,11 @@
         return minw;
       }
       inline
- int gesdd_min_work (traits::complex_f, char jobz, int m, int n) {
- int minmn = m < n ? m : n;
- int maxmn = m < n ? n : m;
- int m2 = 2 * minmn;
- int minw = m2 + maxmn;
+ integer_t gesdd_min_work (traits::complex_f, char jobz, integer_t m, integer_t n) {
+ integer_t minmn = m < n ? m : n;
+ integer_t maxmn = m < n ? n : m;
+ integer_t m2 = 2 * minmn;
+ integer_t minw = m2 + maxmn;
         if (jobz == 'N')
           // LWORK >= 2*min(M,N)+max(M,N)
           ;
@@ -201,11 +201,11 @@
         return minw;
       }
       inline
- int gesdd_min_work (traits::complex_d, char jobz, int m, int n) {
- int minmn = m < n ? m : n;
- int maxmn = m < n ? n : m;
- int m2 = 2 * minmn;
- int minw = m2 + maxmn;
+ integer_t gesdd_min_work (traits::complex_d, char jobz, integer_t m, integer_t n) {
+ integer_t minmn = m < n ? m : n;
+ integer_t maxmn = m < n ? n : m;
+ integer_t m2 = 2 * minmn;
+ integer_t minw = m2 + maxmn;
         if (jobz == 'N')
           // LWORK >= 2*min(M,N)+max(M,N)
           ;
@@ -219,13 +219,13 @@
       }
 
       inline
- int gesdd_rwork (float, char, int, int) { return 1; }
+ integer_t gesdd_rwork (float, char, integer_t, integer_t) { return 1; }
       inline
- int gesdd_rwork (double, char, int, int) { return 1; }
+ integer_t gesdd_rwork (double, char, integer_t, integer_t) { return 1; }
       inline
- int gesdd_rwork (traits::complex_f, char jobz, int m, int n) {
- int minmn = m < n ? m : n;
- int minw;
+ integer_t gesdd_rwork (traits::complex_f, char jobz, integer_t m, integer_t n) {
+ integer_t minmn = m < n ? m : n;
+ integer_t minw;
         if (jobz == 'N')
           // LWORK >= 7*min(M,N)
           minw = 7 * minmn;
@@ -235,9 +235,9 @@
         return minw;
       }
       inline
- int gesdd_rwork (traits::complex_d, char jobz, int m, int n) {
- int minmn = m < n ? m : n;
- int minw;
+ integer_t gesdd_rwork (traits::complex_d, char jobz, integer_t m, integer_t n) {
+ integer_t minmn = m < n ? m : n;
+ integer_t minw;
         if (jobz == 'N')
           // LWORK >= 7*min(M,N)
           minw = 7 * minmn;
@@ -248,8 +248,8 @@
       }
 
       inline
- int gesdd_iwork (int m, int n) {
- int minmn = m < n ? m : n;
+ integer_t gesdd_iwork (integer_t m, integer_t n) {
+ integer_t minmn = m < n ? m : n;
         return 8 * minmn;
       }
 
@@ -257,7 +257,7 @@
 
 
     template <typename MatrA>
- int gesdd_work (char const q, char const jobz, MatrA const& a)
+ integer_t gesdd_work (char const q, char const jobz, MatrA const& a)
     {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -274,9 +274,9 @@
 #endif
       assert (jobz == 'N' || jobz == 'O' || jobz == 'A' || jobz == 'S');
 
- int const m = traits::matrix_size1 (a);
- int const n = traits::matrix_size2 (a);
- int lw = -13;
+ integer_t const m = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size2 (a);
+ integer_t lw = -13;
 
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
       typedef typename traits::matrix_traits<MatrA>::value_type val_t;
@@ -292,7 +292,7 @@
       if (q == 'O') {
         // traits::detail::array<val_t> w (1);
         val_t w;
- int info;
+ integer_t info;
         detail::gesdd (jobz, m, n,
                        traits::matrix_storage (a2),
                        traits::leading_dimension (a2),
@@ -315,8 +315,8 @@
          * if m == 3, n == 4 and jobz == 'N' (real A),
          * gesdd() returns optimal size == 1 while minimum size == 27
          */
- // int lwo = traits::detail::to_int (w);
- // int lwmin = detail::gesdd_min_work (val_t(), jobz, m, n);
+ // integer_t lwo = traits::detail::to_int (w);
+ // integer_t lwmin = detail::gesdd_min_work (val_t(), jobz, m, n);
         // lw = lwo < lwmin ? lwmin : lwo;
       }
 #endif
@@ -326,7 +326,7 @@
 
 
     template <typename MatrA>
- int gesdd_rwork (char jobz, MatrA const& a) {
+ integer_t gesdd_rwork (char jobz, MatrA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -350,7 +350,7 @@
 
 
     template <typename MatrA>
- int gesdd_iwork (MatrA const& a) {
+ integer_t gesdd_iwork (MatrA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -394,9 +394,9 @@
>::value));
 #endif
 
- int const m = traits::matrix_size1 (a);
- int const n = traits::matrix_size2 (a);
- int const minmn = m < n ? m : n;
+ integer_t const m = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size2 (a);
+ integer_t const minmn = m < n ? m : n;
 
       assert (minmn == traits::vector_size (s));
       assert ((jobz == 'N')
@@ -433,7 +433,7 @@
>= detail::gesdd_min_work (val_t(), jobz, m, n));
       assert (traits::vector_size (iw) >= detail::gesdd_iwork (m, n));
 
- int info;
+ integer_t info;
       detail::gesdd (jobz, m, n,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),
@@ -472,9 +472,9 @@
>::value));
 #endif
 
- int const m = traits::matrix_size1 (a);
- int const n = traits::matrix_size2 (a);
- int const minmn = m < n ? m : n;
+ integer_t const m = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size2 (a);
+ integer_t const minmn = m < n ? m : n;
 
       assert (minmn == traits::vector_size (s));
       assert ((jobz == 'N')
@@ -513,7 +513,7 @@
>= detail::gesdd_rwork (val_t(), jobz, m, n));
       assert (traits::vector_size (iw) >= detail::gesdd_iwork (m, n));
 
- int info;
+ integer_t info;
       detail::gesdd (jobz, m, n,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),
@@ -551,10 +551,10 @@
>::value));
 #endif
 
- int const m = traits::matrix_size1 (a);
- int const n = traits::matrix_size2 (a);
+ integer_t const m = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size2 (a);
 #ifndef NDEBUG
- int const minmn = m < n ? m : n;
+ integer_t const minmn = m < n ? m : n;
 #endif // NDEBUG
 
       assert (minmn == traits::vector_size (s));
@@ -597,19 +597,19 @@
 #endif
       typedef typename traits::type_traits<val_t>::real_type real_t;
 
- int const lw = gesdd_work (opt, jobz, a);
+ integer_t const lw = gesdd_work (opt, jobz, a);
       traits::detail::array<val_t> w (lw);
       if (!w.valid()) return -101;
 
- int const lrw = gesdd_rwork (jobz, a);
+ integer_t const lrw = gesdd_rwork (jobz, a);
       traits::detail::array<real_t> rw (lrw);
       if (!rw.valid()) return -102;
 
- int const liw = gesdd_iwork (a);
- traits::detail::array<int> iw (liw);
+ integer_t const liw = gesdd_iwork (a);
+ traits::detail::array<integer_t> iw (liw);
       if (!iw.valid()) return -103;
 
- int info;
+ integer_t info;
       detail::gesdd (jobz, m, n,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),
@@ -651,9 +651,9 @@
>::value));
 #endif
 
- int const m = traits::matrix_size1 (a);
- int const n = traits::matrix_size2 (a);
- int const minmn = m < n ? m : n;
+ integer_t const m = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size2 (a);
+ integer_t const minmn = m < n ? m : n;
 
       assert (minmn == traits::vector_size (s));
 
@@ -664,19 +664,19 @@
 #endif
       typedef typename traits::type_traits<val_t>::real_type real_t;
 
- int const lw = gesdd_work ('O', 'N', a);
+ integer_t const lw = gesdd_work ('O', 'N', a);
       traits::detail::array<val_t> w (lw);
       if (!w.valid()) return -101;
 
- int const lrw = gesdd_rwork ('N', a);
+ integer_t const lrw = gesdd_rwork ('N', a);
       traits::detail::array<real_t> rw (lrw);
       if (!rw.valid()) return -102;
 
- int const liw = gesdd_iwork (a);
- traits::detail::array<int> iw (liw);
+ integer_t const liw = gesdd_iwork (a);
+ traits::detail::array<integer_t> iw (liw);
       if (!iw.valid()) return -103;
 
- int info;
+ integer_t info;
       detail::gesdd ('N', m, n,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),

Modified: sandbox/boost/numeric/bindings/lapack/gesv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gesv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gesv.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -55,25 +55,25 @@
     namespace detail {
 
       inline
- void gesv (int const n, int const nrhs,
- float* a, int const lda, int* ipiv,
- float* b, int const ldb, int* info)
+ void gesv (integer_t const n, integer_t const nrhs,
+ float* a, integer_t const lda, integer_t* ipiv,
+ float* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_SGESV (&n, &nrhs, a, &lda, ipiv, b, &ldb, info);
       }
 
       inline
- void gesv (int const n, int const nrhs,
- double* a, int const lda, int* ipiv,
- double* b, int const ldb, int* info)
+ void gesv (integer_t const n, integer_t const nrhs,
+ double* a, integer_t const lda, integer_t* ipiv,
+ double* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_DGESV (&n, &nrhs, a, &lda, ipiv, b, &ldb, info);
       }
 
       inline
- void gesv (int const n, int const nrhs,
- traits::complex_f* a, int const lda, int* ipiv,
- traits::complex_f* b, int const ldb, int* info)
+ void gesv (integer_t const n, integer_t const nrhs,
+ traits::complex_f* a, integer_t const lda, integer_t* ipiv,
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CGESV (&n, &nrhs,
                       traits::complex_ptr (a), &lda, ipiv,
@@ -81,9 +81,9 @@
       }
 
       inline
- void gesv (int const n, int const nrhs,
- traits::complex_d* a, int const lda, int* ipiv,
- traits::complex_d* b, int const ldb, int* info)
+ void gesv (integer_t const n, integer_t const nrhs,
+ traits::complex_d* a, integer_t const lda, integer_t* ipiv,
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZGESV (&n, &nrhs,
                       traits::complex_ptr (a), &lda, ipiv,
@@ -106,12 +106,12 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
       assert (n == traits::matrix_size1 (b));
       assert (n == traits::vector_size (ipiv));
 
- int info;
+ integer_t info;
       detail::gesv (n, traits::matrix_size2 (b),
                     traits::matrix_storage (a),
                     traits::leading_dimension (a),
@@ -131,8 +131,8 @@
       // if (info < 0), the -info argument had an illegal value
       // -- we will use -101 if allocation fails
       // if (info > 0), U(i-1,i-1) is exactly zero
- int info = -101;
- traits::detail::array<int> ipiv (traits::matrix_size1 (a));
+ integer_t info = -101;
+ traits::detail::array<integer_t> ipiv (traits::matrix_size1 (a));
       if (ipiv.valid())
         info = gesv (a, ipiv, b);
       return info;
@@ -151,31 +151,31 @@
     namespace detail {
 
       inline
- void getrf (int const n, int const m,
- float* a, int const lda, int* ipiv, int* info)
+ void getrf (integer_t const n, integer_t const m,
+ float* a, integer_t const lda, integer_t* ipiv, integer_t* info)
       {
         LAPACK_SGETRF (&n, &m, a, &lda, ipiv, info);
       }
 
       inline
- void getrf (int const n, int const m,
- double* a, int const lda, int* ipiv, int* info)
+ void getrf (integer_t const n, integer_t const m,
+ double* a, integer_t const lda, integer_t* ipiv, integer_t* info)
       {
         LAPACK_DGETRF (&n, &m, a, &lda, ipiv, info);
       }
 
       inline
- void getrf (int const n, int const m,
- traits::complex_f* a, int const
- lda, int* ipiv, int* info)
+ void getrf (integer_t const n, integer_t const m,
+ traits::complex_f* a, integer_t const
+ lda, integer_t* ipiv, integer_t* info)
       {
         LAPACK_CGETRF (&n, &m, traits::complex_ptr (a), &lda, ipiv, info);
       }
 
       inline
- void getrf (int const n, int const m,
- traits::complex_d* a, int const lda,
- int* ipiv, int* info)
+ void getrf (integer_t const n, integer_t const m,
+ traits::complex_d* a, integer_t const lda,
+ integer_t* ipiv, integer_t* info)
       {
         LAPACK_ZGETRF (&n, &m, traits::complex_ptr (a), &lda, ipiv, info);
       }
@@ -192,11 +192,11 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
- int const m = traits::matrix_size2 (a);
+ integer_t const n = traits::matrix_size1 (a);
+ integer_t const m = traits::matrix_size2 (a);
       assert (traits::vector_size (ipiv) == (m < n ? m : n));
 
- int info;
+ integer_t info;
       detail::getrf (n, m,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),
@@ -215,26 +215,26 @@
     namespace detail {
 
       inline
- void getrs (char const trans, int const n, int const nrhs,
- float const* a, int const lda, int const* ipiv,
- float* b, int const ldb, int* info)
+ void getrs (char const trans, integer_t const n, integer_t const nrhs,
+ float const* a, integer_t const lda, integer_t const* ipiv,
+ float* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_SGETRS (&trans, &n, &nrhs, a, &lda, ipiv, b, &ldb, info);
       }
 
       inline
- void getrs (char const trans, int const n, int const nrhs,
- double const* a, int const lda, int const* ipiv,
- double* b, int const ldb, int* info)
+ void getrs (char const trans, integer_t const n, integer_t const nrhs,
+ double const* a, integer_t const lda, integer_t const* ipiv,
+ double* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_DGETRS (&trans, &n, &nrhs, a, &lda, ipiv, b, &ldb, info);
       }
 
       inline
- void getrs (char const trans, int const n, int const nrhs,
- traits::complex_f const* a, int const lda,
- int const* ipiv,
- traits::complex_f* b, int const ldb, int* info)
+ void getrs (char const trans, integer_t const n, integer_t const nrhs,
+ traits::complex_f const* a, integer_t const lda,
+ integer_t const* ipiv,
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CGETRS (&trans, &n, &nrhs,
                        traits::complex_ptr (a), &lda, ipiv,
@@ -242,10 +242,10 @@
       }
 
       inline
- void getrs (char const trans, int const n, int const nrhs,
- traits::complex_d const* a, int const lda,
- int const* ipiv,
- traits::complex_d* b, int const ldb, int* info)
+ void getrs (char const trans, integer_t const n, integer_t const nrhs,
+ traits::complex_d const* a, integer_t const lda,
+ integer_t const* ipiv,
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZGETRS (&trans, &n, &nrhs,
                        traits::complex_ptr (a), &lda, ipiv,
@@ -270,12 +270,12 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
       assert (n == traits::matrix_size1 (b));
       assert (n == traits::vector_size (ipiv));
 
- int info;
+ integer_t info;
       detail::getrs (trans, n, traits::matrix_size2 (b),
 #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
                      traits::matrix_storage (a),
@@ -309,32 +309,32 @@
     namespace detail {
 
       inline
- void getri (int const n, float* a, int const lda, int const* ipiv,
- float* work, int const lwork, int* info)
+ void getri (integer_t const n, float* a, integer_t const lda, integer_t const* ipiv,
+ float* work, integer_t const lwork, integer_t* info)
       {
         LAPACK_SGETRI (&n, a, &lda, ipiv, work, &lwork, info);
       }
 
       inline
- void getri (int const n, double* a, int const lda, int const* ipiv,
- double* work, int const lwork, int* info)
+ void getri (integer_t const n, double* a, integer_t const lda, integer_t const* ipiv,
+ double* work, integer_t const lwork, integer_t* info)
       {
         LAPACK_DGETRI (&n, a, &lda, ipiv, work, &lwork, info);
       }
 
       inline
- void getri (int const n, traits::complex_f* a, int const lda,
- int const* ipiv, traits::complex_f* work, int const lwork,
- int* info)
+ void getri (integer_t const n, traits::complex_f* a, integer_t const lda,
+ integer_t const* ipiv, traits::complex_f* work, integer_t const lwork,
+ integer_t* info)
       {
         LAPACK_CGETRI (&n, traits::complex_ptr (a), &lda, ipiv,
             traits::complex_ptr (work), &lwork, info);
       }
 
       inline
- void getri (int const n, traits::complex_d* a, int const lda,
- int const* ipiv, traits::complex_d* work, int const lwork,
- int* info)
+ void getri (integer_t const n, traits::complex_d* a, integer_t const lda,
+ integer_t const* ipiv, traits::complex_d* work, integer_t const lwork,
+ integer_t* info)
       {
         LAPACK_ZGETRI (&n, traits::complex_ptr (a), &lda, ipiv,
             traits::complex_ptr (work), &lwork, info);
@@ -352,14 +352,14 @@
>::value));
         #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n > 0);
         assert (n <= traits::leading_dimension (a));
         assert (n == traits::matrix_size2 (a));
         assert (n == traits::vector_size (ipiv));
         assert (n <= traits::vector_size (work)); //Minimal workspace size
 
- int info;
+ integer_t info;
         //double* dummy = traits::matrix_storage (a);
         detail::getri (n, traits::matrix_storage (a),
             traits::leading_dimension (a),
@@ -376,25 +376,25 @@
 
 
       inline
- int getri_block(float)
+ integer_t getri_block(float)
       {
         return lapack::ilaenv(1, "sgetri", "");
       }
 
       inline
- int getri_block(double)
+ integer_t getri_block(double)
       {
         return lapack::ilaenv(1, "dgetri", "");
       }
 
       inline
- int getri_block(traits::complex_f)
+ integer_t getri_block(traits::complex_f)
       {
         return lapack::ilaenv(1, "cgetri", "");
       }
 
       inline
- int getri_block(traits::complex_d)
+ integer_t getri_block(traits::complex_d)
       {
         return lapack::ilaenv(1, "zgetri", "");
       }
@@ -407,8 +407,8 @@
     {
       typedef typename MatrA::value_type value_type;
 
- int n = traits::matrix_size1(a);
- traits::detail::array<value_type> work(std::max<int>(1,n));
+ std::ptrdiff_t n = traits::matrix_size1(a);
+ traits::detail::array<value_type> work(std::max<std::ptrdiff_t>(1,n));
 
       return detail::getri(a, ipiv, work);
 
@@ -421,9 +421,9 @@
     {
       typedef typename MatrA::value_type value_type;
 
- int n = traits::matrix_size1(a);
- int nb = detail::getri_block(value_type());
- traits::detail::array<value_type> work(std::max<int>(1,n*nb));
+ std::ptrdiff_t n = traits::matrix_size1(a);
+ std::ptrdiff_t nb = detail::getri_block(value_type());
+ traits::detail::array<value_type> work(std::max<std::ptrdiff_t>(1,n*nb));
 
       return detail::getri(a, ipiv, work);
     }

Modified: sandbox/boost/numeric/bindings/lapack/gesvd.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gesvd.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gesvd.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -58,11 +58,11 @@
 
       inline
       void gesvd (char const jobu, char const jobvt,
- int const m, int const n, float* a, int const lda,
- float* s, float* u, int const ldu,
- float* vt, int const ldvt,
- float* work, int const lwork, float* /* dummy */,
- int* info)
+ integer_t const m, integer_t const n, float* a, integer_t const lda,
+ float* s, float* u, integer_t const ldu,
+ float* vt, integer_t const ldvt,
+ float* work, integer_t const lwork, float* /* dummy */,
+ integer_t* info)
       {
         LAPACK_SGESVD (&jobu, &jobvt, &m, &n, a, &lda,
                        s, u, &ldu, vt, &ldvt, work, &lwork, info);
@@ -70,11 +70,11 @@
 
       inline
       void gesvd (char const jobu, char const jobvt,
- int const m, int const n, double* a, int const lda,
- double* s, double* u, int const ldu,
- double* vt, int const ldvt,
- double* work, int const lwork, double* /* dummy */,
- int* info)
+ integer_t const m, integer_t const n, double* a, integer_t const lda,
+ double* s, double* u, integer_t const ldu,
+ double* vt, integer_t const ldvt,
+ double* work, integer_t const lwork, double* /* dummy */,
+ integer_t* info)
       {
         LAPACK_DGESVD (&jobu, &jobvt, &m, &n, a, &lda,
                        s, u, &ldu, vt, &ldvt, work, &lwork, info);
@@ -82,12 +82,12 @@
 
       inline
       void gesvd (char const jobu, char const jobvt,
- int const m, int const n,
- traits::complex_f* a, int const lda,
- float* s, traits::complex_f* u, int const ldu,
- traits::complex_f* vt, int const ldvt,
- traits::complex_f* work, int const lwork,
- float* rwork, int* info)
+ integer_t const m, integer_t const n,
+ traits::complex_f* a, integer_t const lda,
+ float* s, traits::complex_f* u, integer_t const ldu,
+ traits::complex_f* vt, integer_t const ldvt,
+ traits::complex_f* work, integer_t const lwork,
+ float* rwork, integer_t* info)
       {
         LAPACK_CGESVD (&jobu, &jobvt, &m, &n,
                        traits::complex_ptr (a), &lda, s,
@@ -98,12 +98,12 @@
 
       inline
       void gesvd (char const jobu, char const jobvt,
- int const m, int const n,
- traits::complex_d* a, int const lda,
- double* s, traits::complex_d* u, int const ldu,
- traits::complex_d* vt, int const ldvt,
- traits::complex_d* work, int const lwork,
- double* rwork, int* info)
+ integer_t const m, integer_t const n,
+ traits::complex_d* a, integer_t const lda,
+ double* s, traits::complex_d* u, integer_t const ldu,
+ traits::complex_d* vt, integer_t const ldvt,
+ traits::complex_d* work, integer_t const lwork,
+ double* rwork, integer_t* info)
       {
         LAPACK_ZGESVD (&jobu, &jobvt, &m, &n,
                        traits::complex_ptr (a), &lda, s,
@@ -113,44 +113,44 @@
       }
 
       inline
- int gesvd_min_work (float, int m, int n) {
- int minmn = m < n ? m : n;
- int maxmn = m < n ? n : m;
- int m3x = 3 * minmn + maxmn;
- int m5 = 5 * minmn;
+ integer_t gesvd_min_work (float, integer_t m, integer_t n) {
+ integer_t minmn = m < n ? m : n;
+ integer_t maxmn = m < n ? n : m;
+ integer_t m3x = 3 * minmn + maxmn;
+ integer_t m5 = 5 * minmn;
         return m3x < m5 ? m5 : m3x;
       }
       inline
- int gesvd_min_work (double, int m, int n) {
- int minmn = m < n ? m : n;
- int maxmn = m < n ? n : m;
- int m3x = 3 * minmn + maxmn;
- int m5 = 5 * minmn;
+ integer_t gesvd_min_work (double, integer_t m, integer_t n) {
+ integer_t minmn = m < n ? m : n;
+ integer_t maxmn = m < n ? n : m;
+ integer_t m3x = 3 * minmn + maxmn;
+ integer_t m5 = 5 * minmn;
         return m3x < m5 ? m5 : m3x;
       }
       inline
- int gesvd_min_work (traits::complex_f, int m, int n) {
- int minmn = m < n ? m : n;
- int maxmn = m < n ? n : m;
+ integer_t gesvd_min_work (traits::complex_f, integer_t m, integer_t n) {
+ integer_t minmn = m < n ? m : n;
+ integer_t maxmn = m < n ? n : m;
         return 2 * minmn + maxmn;
       }
       inline
- int gesvd_min_work (traits::complex_d, int m, int n) {
- int minmn = m < n ? m : n;
- int maxmn = m < n ? n : m;
+ integer_t gesvd_min_work (traits::complex_d, integer_t m, integer_t n) {
+ integer_t minmn = m < n ? m : n;
+ integer_t maxmn = m < n ? n : m;
         return 2 * minmn + maxmn;
       }
 
       inline
- int gesvd_rwork (float, int, int) { return 1; }
+ integer_t gesvd_rwork (float, integer_t, integer_t) { return 1; }
       inline
- int gesvd_rwork (double, int, int) { return 1; }
+ integer_t gesvd_rwork (double, integer_t, integer_t) { return 1; }
       inline
- int gesvd_rwork (traits::complex_f, int m, int n) {
+ integer_t gesvd_rwork (traits::complex_f, integer_t m, integer_t n) {
         return 5 * (m < n ? m : n);
       }
       inline
- int gesvd_rwork (traits::complex_d, int m, int n) {
+ integer_t gesvd_rwork (traits::complex_d, integer_t m, integer_t n) {
         return 5 * (m < n ? m : n);
       }
 
@@ -158,7 +158,7 @@
 
 
     template <typename MatrA>
- int gesvd_work (char const q,
+ integer_t gesvd_work (char const q,
                     char const jobu, char const jobvt, MatrA const& a)
     {
 
@@ -178,9 +178,9 @@
       assert (jobvt == 'N' || jobvt == 'O' || jobvt == 'A' || jobvt == 'S');
       assert (!(jobu == 'O' && jobvt == 'O'));
 
- int const m = traits::matrix_size1 (a);
- int const n = traits::matrix_size2 (a);
- int lw = -13;
+ integer_t const m = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size2 (a);
+ integer_t lw = -13;
 
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
       typedef typename traits::matrix_traits<MatrA>::value_type val_t;
@@ -196,7 +196,7 @@
       if (q == 'O') {
         // traits::detail::array<val_t> w (0);
         val_t w;
- int info;
+ integer_t info;
         detail::gesvd (jobu, jobvt, m, n,
                        traits::matrix_storage (a2),
                        traits::leading_dimension (a2),
@@ -219,7 +219,7 @@
 
 
     template <typename MatrA>
- int gesvd_rwork (MatrA const& a) {
+ integer_t gesvd_rwork (MatrA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -270,10 +270,10 @@
>::value));
 #endif
 
- int const m = traits::matrix_size1 (a);
- int const n = traits::matrix_size2 (a);
+ integer_t const m = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size2 (a);
 #ifndef NDEBUG /* this variable is only used in assertions below */
- int const minmn = m < n ? m : n;
+ integer_t const minmn = m < n ? m : n;
 #endif
 
       assert (minmn == traits::vector_size (s));
@@ -298,7 +298,7 @@
 #endif
       assert (traits::vector_size(w) >= detail::gesvd_min_work(val_t(),m,n));
 
- int info;
+ integer_t info;
       detail::gesvd (jobu, jobvt, m, n,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),
@@ -336,10 +336,10 @@
>::value));
 #endif
 
- int const m = traits::matrix_size1 (a);
- int const n = traits::matrix_size2 (a);
+ integer_t const m = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size2 (a);
 #ifndef NDEBUG /* this variable is only used in assertions below */
- int const minmn = m < n ? m : n;
+ integer_t const minmn = m < n ? m : n;
 #endif
 
       assert (minmn == traits::vector_size (s));
@@ -365,7 +365,7 @@
       assert (traits::vector_size(w) >= detail::gesvd_min_work(val_t(),m,n));
       assert (traits::vector_size(rw) >= detail::gesvd_rwork(val_t(),m,n));
 
- int info;
+ integer_t info;
       detail::gesvd (jobu, jobvt, m, n,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),
@@ -402,10 +402,10 @@
>::value));
 #endif
 
- int const m = traits::matrix_size1 (a);
- int const n = traits::matrix_size2 (a);
+ integer_t const m = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size2 (a);
 #ifndef NDEBUG /* this variable is only used in assertions below */
- int const minmn = m < n ? m : n;
+ integer_t const minmn = m < n ? m : n;
 #endif
 
       assert (minmn == traits::vector_size (s));
@@ -437,15 +437,15 @@
 #endif
       typedef typename traits::type_traits<val_t>::real_type real_t;
 
- int const lw = gesvd_work (opt, jobu, jobvt, a);
+ integer_t const lw = gesvd_work (opt, jobu, jobvt, a);
       traits::detail::array<val_t> w (lw);
       if (!w.valid()) return -101;
 
- int const lrw = gesvd_rwork (a);
+ integer_t const lrw = gesvd_rwork (a);
       traits::detail::array<real_t> rw (lrw);
       if (!rw.valid()) return -102;
 
- int info;
+ integer_t info;
       detail::gesvd (jobu, jobvt, m, n,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),
@@ -488,10 +488,10 @@
>::value));
 #endif
 
- int const m = traits::matrix_size1 (a);
- int const n = traits::matrix_size2 (a);
+ integer_t const m = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size2 (a);
 #ifndef NDEBUG /* this variable is only used in assertions below */
- int const minmn = m < n ? m : n;
+ integer_t const minmn = m < n ? m : n;
 #endif
 
       assert (minmn == traits::vector_size (s));
@@ -503,15 +503,15 @@
 #endif
       typedef typename traits::type_traits<val_t>::real_type real_t;
 
- int const lw = gesvd_work ('O', 'N', 'N', a);
+ integer_t const lw = gesvd_work ('O', 'N', 'N', a);
       traits::detail::array<val_t> w (lw);
       if (!w.valid()) return -101;
 
- int const lrw = gesvd_rwork (a);
+ integer_t const lrw = gesvd_rwork (a);
       traits::detail::array<real_t> rw (lrw);
       if (!rw.valid()) return -102;
 
- int info;
+ integer_t info;
       detail::gesvd ('N', 'N', m, n,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),

Modified: sandbox/boost/numeric/bindings/lapack/hbev.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/hbev.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/hbev.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -74,30 +74,28 @@
 
     namespace detail {
       inline
- void hbev (char const jobz, char const uplo, int const n, int const kd,
- float* ab, int const ldab, float* w, float* z, int const ldz,
- float* work, int& info)
+ void hbev (char const jobz, char const uplo, integer_t const n, integer_t const kd,
+ float* ab, integer_t const ldab, float* w, float* z, integer_t const ldz,
+ float* work, integer_t& info)
       {
- //for (int i=0; i<n*kd; ++i) std::cout << *(ab+i) << " " ;
- //std::cout << "\n" ;
         LAPACK_SSBEV (&jobz, &uplo, &n, &kd, ab, &ldab, w, z, &ldz,
                       work, &info);
       }
 
       inline
- void hbev (char const jobz, char const uplo, int const n, int const kd,
- double* ab, int const ldab, double* w, double* z, int const ldz,
- double* work, int& info)
+ void hbev (char const jobz, char const uplo, integer_t const n, integer_t const kd,
+ double* ab, integer_t const ldab, double* w, double* z, integer_t const ldz,
+ double* work, integer_t& info)
       {
         LAPACK_DSBEV (&jobz, &uplo, &n, &kd, ab, &ldab, w, z, &ldz,
                       work, &info);
       }
 
       inline
- void hbev (char const jobz, char const uplo, int const n, int const kd,
- traits::complex_f* ab, int const ldab, float* w,
- traits::complex_f* z, int const ldz,
- traits::complex_f* work, float* rwork, int& info)
+ void hbev (char const jobz, char const uplo, integer_t const n, integer_t const kd,
+ traits::complex_f* ab, integer_t const ldab, float* w,
+ traits::complex_f* z, integer_t const ldz,
+ traits::complex_f* work, float* rwork, integer_t& info)
       {
         LAPACK_CHBEV (&jobz, &uplo, &n, &kd, traits::complex_ptr(ab), &ldab,
                       w, traits::complex_ptr(z), &ldz,
@@ -105,10 +103,10 @@
       }
 
       inline
- void hbev (char const jobz, char const uplo, int const n, int const kd,
- traits::complex_d* ab, int const ldab, double* w,
- traits::complex_d* z, int const ldz,
- traits::complex_d* work, double* rwork, int& info)
+ void hbev (char const jobz, char const uplo, integer_t const n, integer_t const kd,
+ traits::complex_d* ab, integer_t const ldab, double* w,
+ traits::complex_d* z, integer_t const ldz,
+ traits::complex_d* work, double* rwork, integer_t& info)
       {
         LAPACK_ZHBEV (&jobz, &uplo, &n, &kd, traits::complex_ptr(ab), &ldab,
                       w, traits::complex_ptr(z), &ldz,
@@ -126,9 +124,9 @@
        template <>
        struct Hbev< 1 > {
           template <typename T, typename R>
- void operator() (char const jobz, char const uplo, int const n,
- int const kd, T* ab, int const ldab, R* w, T* z,
- int const ldz, minimal_workspace , int& info ) const {
+ void operator() (char const jobz, char const uplo, integer_t const n,
+ integer_t const kd, T* ab, integer_t const ldab, R* w, T* z,
+ integer_t const ldz, minimal_workspace , integer_t& info ) const {
              traits::detail::array<T> work( 3*n-2 );
              hbev( jobz, uplo, n, kd, ab, ldab, w, z, ldz,
                    traits::vector_storage( work ),
@@ -136,9 +134,9 @@
           }
 
           template <typename T, typename R>
- void operator() (char const jobz, char const uplo, int const n,
- int const kd, T* ab, int const ldab, R* w, T* z,
- int const ldz, optimal_workspace , int& info ) const {
+ void operator() (char const jobz, char const uplo, integer_t const n,
+ integer_t const kd, T* ab, integer_t const ldab, R* w, T* z,
+ integer_t const ldz, optimal_workspace , integer_t& info ) const {
              traits::detail::array<T> work( 3*n-2 );
 
              hbev( jobz, uplo, n, kd, ab, ldab, w, z, ldz,
@@ -147,10 +145,10 @@
           }
 
           template <typename T, typename R, typename W>
- void operator() (char const jobz, char const uplo, int const n,
- int const kd, T* ab, int const ldab, R* w, T* z,
- int const ldz, detail::workspace1<W> work,
- int& info ) const {
+ void operator() (char const jobz, char const uplo, integer_t const n,
+ integer_t const kd, T* ab, integer_t const ldab, R* w, T* z,
+ integer_t const ldz, detail::workspace1<W> work,
+ integer_t& info ) const {
              assert( traits::vector_size( work.w_ ) >= 3*n-2 );
 
              hbev( jobz, uplo, n, kd, ab, ldab, w, z, ldz,
@@ -164,9 +162,9 @@
        template <>
        struct Hbev< 2 > {
           template <typename T, typename R>
- void operator() (char const jobz, char const uplo, int const n,
- int const kd, T* ab, int const ldab, R* w, T* z,
- int const ldz, minimal_workspace , int& info ) const {
+ void operator() (char const jobz, char const uplo, integer_t const n,
+ integer_t const kd, T* ab, integer_t const ldab, R* w, T* z,
+ integer_t const ldz, minimal_workspace , integer_t& info ) const {
              traits::detail::array<T> work( n );
              traits::detail::array<R> rwork( 3*n-2 );
 
@@ -177,9 +175,9 @@
           }
 
           template <typename T, typename R>
- void operator() (char const jobz, char const uplo, int const n,
- int const kd, T* ab, int const ldab, R* w, T* z,
- int const ldz, optimal_workspace , int& info ) const {
+ void operator() (char const jobz, char const uplo, integer_t const n,
+ integer_t const kd, T* ab, integer_t const ldab, R* w, T* z,
+ integer_t const ldz, optimal_workspace , integer_t& info ) const {
              traits::detail::array<T> work( n );
              traits::detail::array<R> rwork( 3*n-2 );
 
@@ -190,10 +188,10 @@
           }
 
           template <typename T, typename R, typename W, typename RW>
- void operator() (char const jobz, char const uplo, int const n,
- int const kd, T* ab, int const ldab, R* w, T* z,
- int const ldz, detail::workspace2<W,RW> work,
- int& info ) const {
+ void operator() (char const jobz, char const uplo, integer_t const n,
+ integer_t const kd, T* ab, integer_t const ldab, R* w, T* z,
+ integer_t const ldz, detail::workspace2<W,RW> work,
+ integer_t& info ) const {
              assert( traits::vector_size( work.wr_ ) >= 3*n-2 );
              assert( traits::vector_size( work.w_ ) >= n );
 
@@ -231,12 +229,12 @@
 
          typedef typename AB::value_type value_type ;
 
- int const n = traits::matrix_size2 (ab);
+ integer_t const n = traits::matrix_size2 (ab);
          assert (n == traits::matrix_size1 (z));
          assert (n == traits::vector_size (w));
          assert ( jobz=='N' || jobz=='V' );
 
- int info ;
+ integer_t info ;
          detail::Hbev< n_workspace_args<value_type>::value >() (jobz,
                        traits::matrix_uplo_tag( ab ), n,
                        traits::matrix_upper_bandwidth(ab),
@@ -268,7 +266,7 @@
            typename traits::matrix_traits<Z>::matrix_structure,
            traits::general_t
>::value));
- int const n = traits::matrix_size2 (ab);
+ std::ptrdiff_t const n = traits::matrix_size2 (ab);
           assert (n == traits::matrix_size1 (z));
           assert (n == traits::matrix_size2 (z));
           return detail::hbev( 'V', ab, w, z, work );

Modified: sandbox/boost/numeric/bindings/lapack/hbevx.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/hbevx.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/hbevx.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -65,12 +65,12 @@
     namespace detail {
       inline
       void hbevx (
- char const jobz, char const range, char const uplo, int const n, int const kd,
- float* ab, int const ldab, float* q, int const ldq,
- float const vl, float const vu, int const il, int const iu,
- float const abstol, int& m,
- float* w, float* z, int const ldz,
- float* work, int* iwork, int* ifail, int& info)
+ char const jobz, char const range, char const uplo, integer_t const n, integer_t const kd,
+ float* ab, integer_t const ldab, float* q, integer_t const ldq,
+ float const vl, float const vu, integer_t const il, integer_t const iu,
+ float const abstol, integer_t& m,
+ float* w, float* z, integer_t const ldz,
+ float* work, integer_t* iwork, integer_t* ifail, integer_t& info)
       {
         LAPACK_SSBEVX (
           &jobz, &range, &uplo, &n, &kd, ab, &ldab, q, &ldq,
@@ -81,12 +81,12 @@
 
       inline
       void hbevx (
- char const jobz, char const range, char const uplo, int const n, int const kd,
- double* ab, int const ldab, double* q, int const ldq,
- double const vl, double const vu, int const il, int const iu,
- double const abstol, int& m,
- double* w, double* z, int const ldz,
- double* work, int* iwork, int* ifail, int& info)
+ char const jobz, char const range, char const uplo, integer_t const n, integer_t const kd,
+ double* ab, integer_t const ldab, double* q, integer_t const ldq,
+ double const vl, double const vu, integer_t const il, integer_t const iu,
+ double const abstol, integer_t& m,
+ double* w, double* z, integer_t const ldz,
+ double* work, integer_t* iwork, integer_t* ifail, integer_t& info)
       {
         LAPACK_DSBEVX (
           &jobz, &range, &uplo, &n, &kd, ab, &ldab, q, &ldq,
@@ -97,12 +97,12 @@
 
       inline
       void hbevx (
- char const jobz, char const range, char const uplo, int const n, int const kd,
- traits::complex_f* ab, int const ldab, traits::complex_f* q, int const ldq,
- float const vl, float const vu, int const il, int const iu,
- float const abstol, int& m,
- float* w, traits::complex_f* z, int const ldz,
- traits::complex_f* work, float* rwork, int* iwork, int* ifail, int& info)
+ char const jobz, char const range, char const uplo, integer_t const n, integer_t const kd,
+ traits::complex_f* ab, integer_t const ldab, traits::complex_f* q, integer_t const ldq,
+ float const vl, float const vu, integer_t const il, integer_t const iu,
+ float const abstol, integer_t& m,
+ float* w, traits::complex_f* z, integer_t const ldz,
+ traits::complex_f* work, float* rwork, integer_t* iwork, integer_t* ifail, integer_t& info)
       {
         LAPACK_CHBEVX (
           &jobz, &range, &uplo, &n, &kd, traits::complex_ptr(ab), &ldab,
@@ -114,12 +114,12 @@
 
       inline
       void hbevx (
- char const jobz, char const range, char const uplo, int const n, int const kd,
- traits::complex_d* ab, int const ldab, traits::complex_d* q, int const ldq,
- double const vl, double const vu, int const il, int const iu,
- double const abstol, int& m,
- double* w, traits::complex_d* z, int const ldz,
- traits::complex_d* work, double* rwork, int* iwork, int* ifail, int& info)
+ char const jobz, char const range, char const uplo, integer_t const n, integer_t const kd,
+ traits::complex_d* ab, integer_t const ldab, traits::complex_d* q, integer_t const ldq,
+ double const vl, double const vu, integer_t const il, integer_t const iu,
+ double const abstol, integer_t& m,
+ double* w, traits::complex_d* z, integer_t const ldz,
+ traits::complex_d* work, double* rwork, integer_t* iwork, integer_t* ifail, integer_t& info)
       {
         LAPACK_ZHBEVX (
           &jobz, &range, &uplo, &n, &kd, traits::complex_ptr(ab), &ldab,
@@ -140,14 +140,14 @@
       template <>
       struct Hbevx< 1 > {
         template <typename T, typename R>
- void operator() (char const jobz, char const range, char const uplo, int const n,
- int const kd, T* ab, int const ldab, T* q, int const ldq,
- R vl, R vu, int const il, int const iu, R abstol, int& m,
- R* w, T* z, int const ldz,
- minimal_workspace, int* ifail, int& info ) const {
+ void operator() (char const jobz, char const range, char const uplo, integer_t const n,
+ integer_t const kd, T* ab, integer_t const ldab, T* q, integer_t const ldq,
+ R vl, R vu, integer_t const il, integer_t const iu, R abstol, integer_t& m,
+ R* w, T* z, integer_t const ldz,
+ minimal_workspace, integer_t* ifail, integer_t& info ) const {
 
           traits::detail::array<T> work( 7*n );
- traits::detail::array<int> iwork( 5*n );
+ traits::detail::array<integer_t> iwork( 5*n );
           hbevx( jobz, range, uplo, n, kd, ab, ldab, q, ldq,
             vl, vu, il, iu, abstol, m,
             w, z, ldz,
@@ -157,14 +157,14 @@
         }
 
         template <typename T, typename R>
- void operator() (char const jobz, char const range, char const uplo, int const n,
- int const kd, T* ab, int const ldab, T* q, int const ldq,
- R vl, R vu, int const il, int const iu, R abstol, int& m,
- R* w, T* z, int const ldz,
- optimal_workspace, int* ifail, int& info ) const {
+ void operator() (char const jobz, char const range, char const uplo, integer_t const n,
+ integer_t const kd, T* ab, integer_t const ldab, T* q, integer_t const ldq,
+ R vl, R vu, integer_t const il, integer_t const iu, R abstol, integer_t& m,
+ R* w, T* z, integer_t const ldz,
+ optimal_workspace, integer_t* ifail, integer_t& info ) const {
 
           traits::detail::array<T> work( 7*n );
- traits::detail::array<int> iwork( 5*n );
+ traits::detail::array<integer_t> iwork( 5*n );
           hbevx( jobz, range, uplo, n, kd, ab, ldab, q, ldq,
             vl, vu, il, iu, abstol, m,
             w, z, ldz,
@@ -174,12 +174,12 @@
         }
 
         template <typename T, typename R, typename W, typename WI>
- void operator() (char const jobz, char const range, char const uplo, int const n,
- int const kd, T* ab, int const ldab, T* q, int const ldq,
- R vl, R vu, int const il, int const iu, R abstol, int& m,
- R* w, T* z, int const ldz,
+ void operator() (char const jobz, char const range, char const uplo, integer_t const n,
+ integer_t const kd, T* ab, integer_t const ldab, T* q, integer_t const ldq,
+ R vl, R vu, integer_t const il, integer_t const iu, R abstol, integer_t& m,
+ R* w, T* z, integer_t const ldz,
           std::pair<detail::workspace1<W>, detail::workspace1<WI> > work,
- int* ifail, int& info ) const {
+ integer_t* ifail, integer_t& info ) const {
 
           assert( traits::vector_size( work.first.w_ ) >= 7*n );
           assert( traits::vector_size( work.second.w_ ) >= 5*n );
@@ -197,15 +197,15 @@
       template <>
       struct Hbevx< 2 > {
         template <typename T, typename R>
- void operator() (char const jobz, char const range, char const uplo, int const n,
- int const kd, T* ab, int const ldab, T* q, int const ldq,
- R vl, R vu, int const il, int const iu, R abstol, int& m,
- R* w, T* z, int const ldz,
- minimal_workspace, int* ifail, int& info ) const {
+ void operator() (char const jobz, char const range, char const uplo, integer_t const n,
+ integer_t const kd, T* ab, integer_t const ldab, T* q, integer_t const ldq,
+ R vl, R vu, integer_t const il, integer_t const iu, R abstol, integer_t& m,
+ R* w, T* z, integer_t const ldz,
+ minimal_workspace, integer_t* ifail, integer_t& info ) const {
 
           traits::detail::array<T> work( n );
           traits::detail::array<R> rwork( 7*n );
- traits::detail::array<int> iwork( 5*n );
+ traits::detail::array<integer_t> iwork( 5*n );
           hbevx( jobz, range, uplo, n, kd, ab, ldab, q, ldq,
             vl, vu, il, iu, abstol, m,
             w, z, ldz,
@@ -216,15 +216,15 @@
         }
 
         template <typename T, typename R>
- void operator() (char const jobz, char const range, char const uplo, int const n,
- int const kd, T* ab, int const ldab, T* q, int const ldq,
- R vl, R vu, int const il, int const iu, R abstol, int& m,
- R* w, T* z, int const ldz,
- optimal_workspace, int* ifail, int& info ) const {
+ void operator() (char const jobz, char const range, char const uplo, integer_t const n,
+ integer_t const kd, T* ab, integer_t const ldab, T* q, integer_t const ldq,
+ R vl, R vu, integer_t const il, integer_t const iu, R abstol, integer_t& m,
+ R* w, T* z, integer_t const ldz,
+ optimal_workspace, integer_t* ifail, integer_t& info ) const {
 
           traits::detail::array<T> work( n );
           traits::detail::array<R> rwork( 7*n );
- traits::detail::array<int> iwork( 5*n );
+ traits::detail::array<integer_t> iwork( 5*n );
           hbevx( jobz, range, uplo, n, kd, ab, ldab, q, ldq,
             vl, vu, il, iu, abstol, m,
             w, z, ldz,
@@ -235,12 +235,12 @@
         }
 
         template <typename T, typename R, typename W, typename RW, typename WI>
- void operator() (char const jobz, char const range, char const uplo, int const n,
- int const kd, T* ab, int const ldab, T* q, int const ldq,
- R vl, R vu, int const il, int const iu, R abstol, int& m,
- R* w, T* z, int const ldz,
+ void operator() (char const jobz, char const range, char const uplo, integer_t const n,
+ integer_t const kd, T* ab, integer_t const ldab, T* q, integer_t const ldq,
+ R vl, R vu, integer_t const il, integer_t const iu, R abstol, integer_t& m,
+ R* w, T* z, integer_t const ldz,
           std::pair<detail::workspace2<W,RW>, detail::workspace1<WI> > work,
- int* ifail, int& info ) const {
+ integer_t* ifail, integer_t& info ) const {
 
           assert( traits::vector_size( work.first.w_ ) >= n );
           assert( traits::vector_size( work.first.wr_ ) >= 7*n );
@@ -257,7 +257,7 @@
     } // namespace detail
 
     template <typename AB, typename Q, typename R, typename Z, typename W, typename IFail, typename Work>
- int hbevx( char const jobz, char const range, AB& ab, Q& q, R vl, R vu, int il, int iu, R abstol, int& m,
+ int hbevx( char const jobz, char const range, AB& ab, Q& q, R vl, R vu, integer_t il, integer_t iu, R abstol, integer_t& m,
       W& w, Z& z, IFail& ifail, Work work ) {
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -268,13 +268,13 @@
 
       typedef typename AB::value_type value_type ;
 
- int const n = traits::matrix_size2 (ab);
+ integer_t const n = traits::matrix_size2 (ab);
       assert (n == traits::matrix_size1 (z));
       assert (n == traits::vector_size (w));
       assert (n == traits::vector_size (ifail));
       assert ( jobz=='N' || jobz=='V' );
 
- int info ;
+ integer_t info ;
       detail::Hbevx< n_workspace_args<value_type>::value >() (jobz, range,
         traits::matrix_uplo_tag( ab ), n,
         traits::matrix_upper_bandwidth(ab),

Modified: sandbox/boost/numeric/bindings/lapack/heev.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/heev.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/heev.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -56,10 +56,10 @@
     namespace detail {
 
       inline
- void heev (char const jobz, char const uplo, int const n,
- traits::complex_f* a, int const lda,
- float* w, traits::complex_f* work, int const lwork,
- float* rwork, int& info)
+ void heev (char const jobz, char const uplo, integer_t const n,
+ traits::complex_f* a, integer_t const lda,
+ float* w, traits::complex_f* work, integer_t const lwork,
+ float* rwork, integer_t& info)
       {
         LAPACK_CHEEV (&jobz, &uplo, &n,
                       traits::complex_ptr(a), &lda, w,
@@ -68,10 +68,10 @@
       }
 
       inline
- void heev (char const jobz, char const uplo, int const n,
- traits::complex_d* a, int const lda,
- double* w, traits::complex_d* work, int const lwork,
- double* rwork, int& info)
+ void heev (char const jobz, char const uplo, integer_t const n,
+ traits::complex_d* a, integer_t const lda,
+ double* w, traits::complex_d* work, integer_t const lwork,
+ double* rwork, integer_t& info)
       {
         LAPACK_ZHEEV (&jobz, &uplo, &n,
                       traits::complex_ptr(a), &lda, w,
@@ -90,7 +90,7 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (traits::matrix_size2 (a)==n);
         assert (traits::vector_size (w)==n);
         assert (2*n-1 <= traits::vector_size (work));
@@ -98,7 +98,7 @@
         assert ( uplo=='U' || uplo=='L' );
         assert ( jobz=='N' || jobz=='V' );
 
- int info;
+ integer_t info;
         detail::heev (jobz, uplo, n,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),
@@ -118,10 +118,10 @@
        typedef typename A::value_type value_type ;
        typedef typename traits::type_traits<value_type>::real_type real_type ;
 
- int const n = traits::matrix_size1 (a);
+ std::ptrdiff_t const n = traits::matrix_size1 (a);
 
- traits::detail::array<value_type> work( std::max(1,2*n-1) );
- traits::detail::array<real_type> rwork( std::max(3*n-1,1) );
+ traits::detail::array<value_type> work( std::max<std::ptrdiff_t>(1,2*n-1) );
+ traits::detail::array<real_type> rwork( std::max<std::ptrdiff_t>(1,3*n-1) );
 
        return detail::heev( jobz, uplo, a, w, work, rwork );
     }
@@ -133,10 +133,10 @@
        typedef typename A::value_type value_type ;
        typedef typename traits::type_traits<value_type>::real_type real_type ;
 
- int const n = traits::matrix_size1 (a);
+ std::ptrdiff_t const n = traits::matrix_size1 (a);
 
- traits::detail::array<value_type> work( std::max(1,33*n) );
- traits::detail::array<real_type> rwork( std::max(3*n-1,1) );
+ traits::detail::array<value_type> work( std::max<std::ptrdiff_t>(1,33*n) );
+ traits::detail::array<real_type> rwork( std::max<std::ptrdiff_t>(1,3*n-1) );
 
        return detail::heev( jobz, uplo, a, w, work, rwork );
     }

Modified: sandbox/boost/numeric/bindings/lapack/heevd.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/heevd.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/heevd.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -62,10 +62,10 @@
     namespace detail {
 
       inline void heevd (
- char const jobz, char const uplo, int const n,
- float* a, int const lda,
- float* w, float* work, int const lwork,
- int* iwork, int const liwork, int& info)
+ char const jobz, char const uplo, integer_t const n,
+ float* a, integer_t const lda,
+ float* w, float* work, integer_t const lwork,
+ integer_t* iwork, integer_t const liwork, integer_t& info)
       {
         LAPACK_SSYEVD (
           &jobz, &uplo, &n,
@@ -75,10 +75,10 @@
       }
 
       inline void heevd (
- char const jobz, char const uplo, int const n,
- double* a, int const lda,
- double* w, double* work, int const lwork,
- int* iwork, int const liwork, int& info)
+ char const jobz, char const uplo, integer_t const n,
+ double* a, integer_t const lda,
+ double* w, double* work, integer_t const lwork,
+ integer_t* iwork, integer_t const liwork, integer_t& info)
       {
         LAPACK_DSYEVD (
           &jobz, &uplo, &n,
@@ -88,10 +88,10 @@
       }
 
       inline void heevd (
- char const jobz, char const uplo, int const n,
- traits::complex_f* a, int const lda,
- float* w, traits::complex_f* work, int const lwork,
- float* rwork, int const lrwork, int* iwork, int const liwork, int& info)
+ char const jobz, char const uplo, integer_t const n,
+ traits::complex_f* a, integer_t const lda,
+ float* w, traits::complex_f* work, integer_t const lwork,
+ float* rwork, integer_t const lrwork, integer_t* iwork, integer_t const liwork, integer_t& info)
       {
         LAPACK_CHEEVD (
           &jobz, &uplo, &n,
@@ -102,10 +102,10 @@
       }
 
       inline void heevd (
- char const jobz, char const uplo, int const n,
- traits::complex_d* a, int const lda,
- double* w, traits::complex_d* work, int const lwork,
- double* rwork, int const lrwork, int* iwork, int const liwork, int& info)
+ char const jobz, char const uplo, integer_t const n,
+ traits::complex_d* a, integer_t const lda,
+ double* w, traits::complex_d* work, integer_t const lwork,
+ double* rwork, integer_t const lrwork, integer_t* iwork, integer_t const liwork, integer_t& info)
       {
         LAPACK_ZHEEVD (
           &jobz, &uplo, &n,
@@ -127,12 +127,12 @@
         // Function that allocates temporary arrays
         template <typename T, typename R>
         void operator() (
- char const jobz, char const uplo, int const n,
- T* a, int const lda,
- R* w, minimal_workspace, int& info) {
+ char const jobz, char const uplo, integer_t const n,
+ T* a, integer_t const lda,
+ R* w, minimal_workspace, integer_t& info) {
 
           traits::detail::array<T> work( jobz=='N' ? 1+2*n : 1+6*n+2*n*n );
- traits::detail::array<int> iwork( jobz=='N' ? 1 : 3+5*n );
+ traits::detail::array<integer_t> iwork( jobz=='N' ? 1 : 3+5*n );
 
           heevd( jobz, uplo, n, a, lda, w,
             traits::vector_storage (work), traits::vector_size (work),
@@ -142,11 +142,11 @@
         // Function that allocates temporary arrays
         template <typename T, typename R>
         void operator() (
- char const jobz, char const uplo, int const n,
- T* a, int const lda,
- R* w, optimal_workspace, int& info) {
+ char const jobz, char const uplo, integer_t const n,
+ T* a, integer_t const lda,
+ R* w, optimal_workspace, integer_t& info) {
 
- traits::detail::array<int> iwork( jobz=='N' ? 1 : 3+5*n );
+ traits::detail::array<integer_t> iwork( jobz=='N' ? 1 : 3+5*n );
 
           T workspace_query;
           heevd( jobz, uplo, n, a, lda, w,
@@ -164,9 +164,9 @@
         // Function that uses given workarrays
         template <typename T, typename R, typename W, typename WI>
         void operator() (
- char const jobz, char const uplo, int const n,
- T* a, int const lda,
- R* w, std::pair<detail::workspace1<W>, detail::workspace1<WI> > work, int& info) {
+ char const jobz, char const uplo, integer_t const n,
+ T* a, integer_t const lda,
+ R* w, std::pair<detail::workspace1<W>, detail::workspace1<WI> > work, integer_t& info) {
 
           assert (traits::vector_size (work.first.w_) >= jobz=='N' ? 1+2*n : 1+6*n+2*n*n);
           assert (traits::vector_size (work.second.w_) >= jobz=='N' ? 1 : 3+5*n);
@@ -184,13 +184,13 @@
         // Function that allocates temporary arrays
         template <typename T, typename R>
         void operator() (
- char const jobz, char const uplo, int const n,
- T* a, int const lda,
- R* w, minimal_workspace, int& info) {
+ char const jobz, char const uplo, integer_t const n,
+ T* a, integer_t const lda,
+ R* w, minimal_workspace, integer_t& info) {
 
           traits::detail::array<T> work( jobz=='N' ? 1+n : 2*n+n*n );
           traits::detail::array<R> rwork( jobz=='N' ? n : 1+5*n+2*n*n );
- traits::detail::array<int> iwork( jobz=='N' ? 1 : 3+5*n );
+ traits::detail::array<integer_t> iwork( jobz=='N' ? 1 : 3+5*n );
 
           heevd( jobz, uplo, n, a, lda, w,
             traits::vector_storage (work), traits::vector_size (work),
@@ -201,12 +201,12 @@
         // Function that allocates temporary arrays
         template <typename T, typename R>
         void operator() (
- char const jobz, char const uplo, int const n,
- T* a, int const lda,
- R* w, optimal_workspace, int& info) {
+ char const jobz, char const uplo, integer_t const n,
+ T* a, integer_t const lda,
+ R* w, optimal_workspace, integer_t& info) {
 
           traits::detail::array<R> rwork( jobz=='N' ? n : 1+5*n+2*n*n );
- traits::detail::array<int> iwork( jobz=='N' ? 1 : 3+5*n );
+ traits::detail::array<integer_t> iwork( jobz=='N' ? 1 : 3+5*n );
 
           T workspace_query;
           heevd( jobz, uplo, n, a, lda, w,
@@ -226,9 +226,9 @@
         // Function that uses given workarrays
         template <typename T, typename R, typename WC, typename WR, typename WI>
         void operator() (
- char const jobz, char const uplo, int const n,
- T* a, int const lda,
- R* w, std::pair<detail::workspace2<WC,WR>, detail::workspace1<WI> > work, int& info) {
+ char const jobz, char const uplo, integer_t const n,
+ T* a, integer_t const lda,
+ R* w, std::pair<detail::workspace2<WC,WR>, detail::workspace1<WI> > work, integer_t& info) {
 
           assert (traits::vector_size (work.first.w_) >= jobz=='N' ? 1+n : 2*n+n*n);
           assert (traits::vector_size (work.first.wr_) >= jobz=='N' ? n : 1+5*n+2*n*n);
@@ -255,13 +255,13 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (traits::matrix_size2 (a) == n);
       assert (traits::vector_size (w) == n);
       assert ( uplo=='U' || uplo=='L' );
       assert ( jobz=='N' || jobz=='V' );
 
- int info;
+ integer_t info;
       detail::Heevd< n_workspace_args<typename A::value_type>::value >() (
         jobz, uplo, n,
         traits::matrix_storage (a),

Modified: sandbox/boost/numeric/bindings/lapack/heevx.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/heevx.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/heevx.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -53,7 +53,7 @@
      * On return of heevx, A is overwritten, z contains selected eigenvectors from Q
      * and w contains selected eigenvalues from the main diagonal of D.
      *
- * int heevx (char jobz, char range, char uplo, A& a, T vl, T vu, int il, int iu, T abstol, int& m,
+ * int heevx (char jobz, char range, char uplo, A& a, T vl, T vu, integer_t il, integer_t iu, T abstol, integer_t& m,
      * W& w, Z& z, IFail& ifail, Work work) {
      * jobz : 'V' : compute eigenvectors
      * 'N' : do not compute eigenvectors
@@ -67,12 +67,12 @@
     namespace detail {
 
       inline void heevx (
- char const jobz, char const range, char const uplo, int const n,
- float* a, int const lda,
- float const vl, float const vu, int const il, int const iu,
- float const abstol, int& m,
- float* w, float* z, int const ldz, float* work, int const lwork,
- int* iwork, int* ifail, int& info)
+ char const jobz, char const range, char const uplo, integer_t const n,
+ float* a, integer_t const lda,
+ float const vl, float const vu, integer_t const il, integer_t const iu,
+ float const abstol, integer_t& m,
+ float* w, float* z, integer_t const ldz, float* work, integer_t const lwork,
+ integer_t* iwork, integer_t* ifail, integer_t& info)
       {
         LAPACK_SSYEVX (
           &jobz, &range, &uplo, &n,
@@ -84,12 +84,12 @@
       }
 
       inline void heevx (
- char const jobz, char const range, char const uplo, int const n,
- double* a, int const lda,
- double const vl, double const vu, int const il, int const iu,
- double const abstol, int& m,
- double* w, double* z, int const ldz, double* work, int const lwork,
- int* iwork, int* ifail, int& info)
+ char const jobz, char const range, char const uplo, integer_t const n,
+ double* a, integer_t const lda,
+ double const vl, double const vu, integer_t const il, integer_t const iu,
+ double const abstol, integer_t& m,
+ double* w, double* z, integer_t const ldz, double* work, integer_t const lwork,
+ integer_t* iwork, integer_t* ifail, integer_t& info)
       {
         LAPACK_DSYEVX (
           &jobz, &range, &uplo, &n,
@@ -101,12 +101,12 @@
       }
 
       inline void heevx (
- char const jobz, char const range, char const uplo, int const n,
- traits::complex_f* a, int const lda,
- float const vl, float const vu, int const il, int const iu,
- float const abstol, int& m,
- float* w, traits::complex_f* z, int const ldz, traits::complex_f* work, int const lwork,
- float* rwork, int* iwork, int* ifail, int& info)
+ char const jobz, char const range, char const uplo, integer_t const n,
+ traits::complex_f* a, integer_t const lda,
+ float const vl, float const vu, integer_t const il, integer_t const iu,
+ float const abstol, integer_t& m,
+ float* w, traits::complex_f* z, integer_t const ldz, traits::complex_f* work, integer_t const lwork,
+ float* rwork, integer_t* iwork, integer_t* ifail, integer_t& info)
       {
         LAPACK_CHEEVX (
           &jobz, &range, &uplo, &n,
@@ -118,12 +118,12 @@
       }
 
       inline void heevx (
- char const jobz, char const range, char const uplo, int const n,
- traits::complex_d* a, int const lda,
- double const vl, double const vu, int const il, int const iu,
- double const abstol, int& m,
- double* w, traits::complex_d* z, int const ldz, traits::complex_d* work, int const lwork,
- double* rwork, int* iwork, int* ifail, int& info)
+ char const jobz, char const range, char const uplo, integer_t const n,
+ traits::complex_d* a, integer_t const lda,
+ double const vl, double const vu, integer_t const il, integer_t const iu,
+ double const abstol, integer_t& m,
+ double* w, traits::complex_d* z, integer_t const ldz, traits::complex_d* work, integer_t const lwork,
+ double* rwork, integer_t* iwork, integer_t* ifail, integer_t& info)
       {
         LAPACK_ZHEEVX (
           &jobz, &range, &uplo, &n,
@@ -146,14 +146,14 @@
         // Function that allocates temporary arrays
         template <typename T, typename R>
         void operator() (
- char const jobz, char const range, char const uplo, int const n,
- T* a, int const lda,
- R vl, R vu, int const il, int const iu,
- R abstol, int& m,
- R* w, T* z, int const ldz, minimal_workspace, int* ifail, int& info) {
+ char const jobz, char const range, char const uplo, integer_t const n,
+ T* a, integer_t const lda,
+ R vl, R vu, integer_t const il, integer_t const iu,
+ R abstol, integer_t& m,
+ R* w, T* z, integer_t const ldz, minimal_workspace, integer_t* ifail, integer_t& info) {
 
           traits::detail::array<T> work( 8*n );
- traits::detail::array<int> iwork( 5*n );
+ traits::detail::array<integer_t> iwork( 5*n );
 
           heevx( jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz,
             traits::vector_storage (work), traits::vector_size (work),
@@ -163,13 +163,13 @@
         // Function that allocates temporary arrays
         template <typename T, typename R>
         void operator() (
- char const jobz, char const range, char const uplo, int const n,
- T* a, int const lda,
- R vl, R vu, int const il, int const iu,
- R abstol, int& m,
- R* w, T* z, int const ldz, optimal_workspace, int* ifail, int& info) {
+ char const jobz, char const range, char const uplo, integer_t const n,
+ T* a, integer_t const lda,
+ R vl, R vu, integer_t const il, integer_t const iu,
+ R abstol, integer_t& m,
+ R* w, T* z, integer_t const ldz, optimal_workspace, integer_t* ifail, integer_t& info) {
 
- traits::detail::array<int> iwork( 5*n );
+ traits::detail::array<integer_t> iwork( 5*n );
 
           T workspace_query;
           heevx( jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz,
@@ -187,11 +187,11 @@
         // Function that uses given workarrays
         template <typename T, typename R, typename W, typename WI>
         void operator() (
- char const jobz, char const range, char const uplo, int const n,
- T* a, int const lda,
- R vl, R vu, int const il, int const iu,
- R abstol, int& m,
- R* w, T* z, int const ldz, std::pair<detail::workspace1<W>, detail::workspace1<WI> > work, int* ifail, int& info) {
+ char const jobz, char const range, char const uplo, integer_t const n,
+ T* a, integer_t const lda,
+ R vl, R vu, integer_t const il, integer_t const iu,
+ R abstol, integer_t& m,
+ R* w, T* z, integer_t const ldz, std::pair<detail::workspace1<W>, detail::workspace1<WI> > work, integer_t* ifail, integer_t& info) {
 
           assert (traits::vector_size (work.first.w_) >= 8*n);
           assert (traits::vector_size (work.second.w_) >= 5*n);
@@ -209,15 +209,15 @@
         // Function that allocates temporary arrays
         template <typename T, typename R>
         void operator() (
- char const jobz, char const range, char const uplo, int const n,
- T* a, int const lda,
- R vl, R vu, int const il, int const iu,
- R abstol, int& m,
- R* w, T* z, int const ldz, minimal_workspace, int* ifail, int& info) {
+ char const jobz, char const range, char const uplo, integer_t const n,
+ T* a, integer_t const lda,
+ R vl, R vu, integer_t const il, integer_t const iu,
+ R abstol, integer_t& m,
+ R* w, T* z, integer_t const ldz, minimal_workspace, integer_t* ifail, integer_t& info) {
 
           traits::detail::array<T> work( 2*n );
           traits::detail::array<R> rwork( 7*n );
- traits::detail::array<int> iwork( 5*n );
+ traits::detail::array<integer_t> iwork( 5*n );
 
           heevx( jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz,
             traits::vector_storage (work), traits::vector_size (work),
@@ -228,14 +228,14 @@
         // Function that allocates temporary arrays
         template <typename T, typename R>
         void operator() (
- char const jobz, char const range, char const uplo, int const n,
- T* a, int const lda,
- R vl, R vu, int const il, int const iu,
- R abstol, int& m,
- R* w, T* z, int const ldz, optimal_workspace, int* ifail, int& info) {
+ char const jobz, char const range, char const uplo, integer_t const n,
+ T* a, integer_t const lda,
+ R vl, R vu, integer_t const il, integer_t const iu,
+ R abstol, integer_t& m,
+ R* w, T* z, integer_t const ldz, optimal_workspace, integer_t* ifail, integer_t& info) {
 
           traits::detail::array<R> rwork( 7*n );
- traits::detail::array<int> iwork( 5*n );
+ traits::detail::array<integer_t> iwork( 5*n );
 
           T workspace_query;
           heevx( jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz,
@@ -255,11 +255,11 @@
         // Function that uses given workarrays
         template <typename T, typename R, typename WC, typename WR, typename WI>
         void operator() (
- char const jobz, char const range, char const uplo, int const n,
- T* a, int const lda,
- R vl, R vu, int const il, int const iu,
- R abstol, int& m,
- R* w, T* z, int const ldz, std::pair<detail::workspace2<WC,WR>, detail::workspace1<WI> > work, int* ifail, int& info) {
+ char const jobz, char const range, char const uplo, integer_t const n,
+ T* a, integer_t const lda,
+ R vl, R vu, integer_t const il, integer_t const iu,
+ R abstol, integer_t& m,
+ R* w, T* z, integer_t const ldz, std::pair<detail::workspace2<WC,WR>, detail::workspace1<WI> > work, integer_t* ifail, integer_t& info) {
 
           assert (traits::vector_size (work.first.w_) >= 2*n);
           assert (traits::vector_size (work.first.wr_) >= 7*n);
@@ -276,7 +276,7 @@
 
     template <typename A, typename T, typename W, typename Z, typename IFail, typename Work>
     int heevx (
- char jobz, char range, A& a, T vl, T vu, int il, int iu, T abstol, int& m,
+ char jobz, char range, A& a, T vl, T vu, integer_t il, integer_t iu, T abstol, integer_t& m,
       W& w, Z& z, IFail& ifail, Work work = optimal_workspace() ) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -291,7 +291,7 @@
>::value && boost::is_same<value_type, real_type>::value)));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (traits::matrix_size2 (a) == n);
       assert (traits::vector_size (w) == n);
       assert (traits::vector_size (ifail) == n);
@@ -300,7 +300,7 @@
       assert ( uplo=='U' || uplo=='L' );
       assert ( jobz=='N' || jobz=='V' );
 
- int info;
+ integer_t info;
       detail::Heevx< n_workspace_args<typename A::value_type>::value >() (
         jobz, range, uplo, n,
         traits::matrix_storage (a),

Modified: sandbox/boost/numeric/bindings/lapack/hegv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/hegv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/hegv.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -121,34 +121,34 @@
     namespace detail {
 
       inline
- void hegv (int const itype, char const jobz, char const uplo, int const n,
- float *a, int const lda, float *b, int const ldb,
- float *w, float *work, int const lwork, int& info)
+ void hegv (integer_t const itype, char const jobz, char const uplo, integer_t const n,
+ float *a, integer_t const lda, float *b, integer_t const ldb,
+ float *w, float *work, integer_t const lwork, integer_t& info)
       {
         LAPACK_SSYGV (&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, &info);
       }
 
       inline
- void hegv (int const itype, char const jobz, char const uplo, int const n,
- double *a, int const lda, double *b, int const ldb,
- double *w, double *work, int const lwork, int& info)
+ void hegv (integer_t const itype, char const jobz, char const uplo, integer_t const n,
+ double *a, integer_t const lda, double *b, integer_t const ldb,
+ double *w, double *work, integer_t const lwork, integer_t& info)
       {
         LAPACK_DSYGV (&itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork, &info);
       }
 
       inline
- void hegv (int const itype, char const jobz, char const uplo, int const n,
- traits::complex_f *a, int const lda, traits::complex_f *b, int const ldb,
- float *w, traits::complex_f *work, int const lwork, float *rwork, int& info)
+ void hegv (integer_t const itype, char const jobz, char const uplo, integer_t const n,
+ traits::complex_f *a, integer_t const lda, traits::complex_f *b, integer_t const ldb,
+ float *w, traits::complex_f *work, integer_t const lwork, float *rwork, integer_t& info)
       {
         LAPACK_CHEGV (&itype, &jobz, &uplo, &n, traits::complex_ptr(a), &lda,
           traits::complex_ptr(b), &ldb, w, traits::complex_ptr(work), &lwork, rwork, &info);
       }
 
       inline
- void hegv (int const itype, char const jobz, char const uplo, int const n,
- traits::complex_d *a, int const lda, traits::complex_d *b, int const ldb,
- double *w, traits::complex_d *work, int const lwork, double *rwork, int& info)
+ void hegv (integer_t const itype, char const jobz, char const uplo, integer_t const n,
+ traits::complex_d *a, integer_t const lda, traits::complex_d *b, integer_t const ldb,
+ double *w, traits::complex_d *work, integer_t const lwork, double *rwork, integer_t& info)
       {
         LAPACK_ZHEGV (&itype, &jobz, &uplo, &n, traits::complex_ptr(a), &lda,
           traits::complex_ptr(b), &ldb, w, traits::complex_ptr(work), &lwork, rwork, &info);
@@ -166,11 +166,11 @@
         // Function that allocates work arrays
         template <typename T, typename R>
         void operator() (
- int const itype, char const jobz, char const uplo, int const n,
- T *a, int const lda, T *b, int const ldb,
- R *w, optimal_workspace, int& info ) {
+ integer_t const itype, char const jobz, char const uplo, integer_t const n,
+ T *a, integer_t const lda, T *b, integer_t const ldb,
+ R *w, optimal_workspace, integer_t& info ) {
 
- traits::detail::array<T> work( std::max<int>(1,34*n) );
+ traits::detail::array<T> work( std::max<integer_t>(1,34*n) );
 
            detail::hegv(itype, jobz, uplo, n, a, lda, b, ldb, w,
              traits::vector_storage (work), traits::vector_size (work), info);
@@ -178,11 +178,11 @@
         // Function that allocates work arrays
         template <typename T, typename R>
         void operator() (
- int const itype, char const jobz, char const uplo, int const n,
- T *a, int const lda, T *b, int const ldb,
- R *w, minimal_workspace, int& info ) {
+ integer_t const itype, char const jobz, char const uplo, integer_t const n,
+ T *a, integer_t const lda, T *b, integer_t const ldb,
+ R *w, minimal_workspace, integer_t& info ) {
 
- traits::detail::array<T> work( std::max<int>(1,3*n-1) );
+ traits::detail::array<T> work( std::max<integer_t>(1,3*n-1) );
 
            detail::hegv(itype, jobz, uplo, n, a, lda, b, ldb, w,
              traits::vector_storage (work), traits::vector_size (work), info);
@@ -190,9 +190,9 @@
         // Function that uses given workarrays
         template <typename T, typename R, typename W>
         void operator() (
- int const itype, char const jobz, char const uplo, int const n,
- T *a, int const lda, T *b, int const ldb,
- R *w, detail::workspace1<W> work, int& info ) {
+ integer_t const itype, char const jobz, char const uplo, integer_t const n,
+ T *a, integer_t const lda, T *b, integer_t const ldb,
+ R *w, detail::workspace1<W> work, integer_t& info ) {
 
            assert (traits::vector_size (work.w_) >= 3*n-1);
 
@@ -207,12 +207,12 @@
         // Function that allocates work arrays
         template <typename T, typename R>
         void operator() (
- int const itype, char const jobz, char const uplo, int const n,
- T *a, int const lda, T *b, int const ldb,
- R *w, optimal_workspace, int& info ) {
+ integer_t const itype, char const jobz, char const uplo, integer_t const n,
+ T *a, integer_t const lda, T *b, integer_t const ldb,
+ R *w, optimal_workspace, integer_t& info ) {
 
- traits::detail::array<T> work( std::max<int>(1,34*n) );
- traits::detail::array<R> rwork( std::max<int>(1,3*n-2) );
+ traits::detail::array<T> work( std::max<integer_t>(1,34*n) );
+ traits::detail::array<R> rwork( std::max<integer_t>(1,3*n-2) );
 
            detail::hegv(itype, jobz, uplo, n, a, lda, b, ldb, w,
              traits::vector_storage (work), traits::vector_size (work),
@@ -221,12 +221,12 @@
         // Function that allocates work arrays
         template <typename T, typename R>
         void operator() (
- int const itype, char const jobz, char const uplo, int const n,
- T *a, int const lda, T *b, int const ldb,
- R *w, minimal_workspace, int& info ) {
+ integer_t const itype, char const jobz, char const uplo, integer_t const n,
+ T *a, integer_t const lda, T *b, integer_t const ldb,
+ R *w, minimal_workspace, integer_t& info ) {
 
- traits::detail::array<T> work( std::max<int>(1,2*n-1) );
- traits::detail::array<R> rwork( std::max<int>(1,3*n-2) );
+ traits::detail::array<T> work( std::max<integer_t>(1,2*n-1) );
+ traits::detail::array<R> rwork( std::max<integer_t>(1,3*n-2) );
 
            detail::hegv(itype, jobz, uplo, n, a, lda, b, ldb, w,
              traits::vector_storage (work), traits::vector_size (work),
@@ -235,9 +235,9 @@
         // Function that uses given workarrays
         template <typename T, typename R, typename WC, typename WR>
         void operator() (
- int const itype, char const jobz, char const uplo, int const n,
- T *a, int const lda, T *b, int const ldb,
- R *w, detail::workspace2<WC,WR> work, int& info ) {
+ integer_t const itype, char const jobz, char const uplo, integer_t const n,
+ T *a, integer_t const lda, T *b, integer_t const ldb,
+ R *w, detail::workspace2<WC,WR> work, integer_t& info ) {
 
            assert (traits::vector_size (work.w_) >= 2*n-1);
            assert (traits::vector_size (work.wr_) >= 3*n-2);
@@ -249,7 +249,7 @@
       }; } // namespace detail
 
     template <typename A, typename B, typename W, typename Work>
- int hegv (int itype, char jobz, char uplo, A& a, B& b, W& w, Work work = optimal_workspace()) {
+ int hegv (integer_t itype, char jobz, char uplo, A& a, B& b, W& w, Work work = optimal_workspace()) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -258,13 +258,13 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert ( n>0 );
       assert (traits::matrix_size2 (a)==n);
       assert (traits::leading_dimension (a)>=n);
       assert (traits::vector_size (w)==n);
 
- int const nb = traits::matrix_size1 (b);
+ integer_t const nb = traits::matrix_size1 (b);
       assert ( nb>0 );
       assert (traits::matrix_size2 (b)==nb);
       assert (traits::leading_dimension (b)>=nb);
@@ -276,7 +276,7 @@
       assert( itype==1 || itype==2 || itype==3);
 
 
- int info;
+ integer_t info;
       detail::Hegv< n_workspace_args<typename A::value_type>::value >() (
                    itype, jobz, uplo, n,
                    traits::matrix_storage (a),

Modified: sandbox/boost/numeric/bindings/lapack/hesv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/hesv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/hesv.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -42,15 +42,15 @@
     namespace detail {
 
       inline
- int hetrf_block (traits::complex_f,
- int const ispec, char const ul, int const n)
+ integer_t hetrf_block (traits::complex_f,
+ integer_t const ispec, char const ul, integer_t const n)
       {
         char ul2[2] = "x"; ul2[0] = ul;
         return ilaenv (ispec, "CHETRF", ul2, n);
       }
       inline
- int hetrf_block (traits::complex_d,
- int const ispec, char const ul, int const n)
+ integer_t hetrf_block (traits::complex_d,
+ integer_t const ispec, char const ul, integer_t const n)
       {
         char ul2[2] = "x"; ul2[0] = ul;
         return ilaenv (ispec, "ZHETRF", ul2, n);
@@ -60,7 +60,7 @@
 
 
     template <typename HermA>
- int hetrf_block (char const q, char const ul, HermA const& a) {
+ integer_t hetrf_block (char const q, char const ul, HermA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -71,7 +71,7 @@
       assert (q == 'O' || q == 'M');
       assert (ul == 'U' || ul == 'L');
 
- int n = traits::matrix_size1 (a);
+ integer_t n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
 
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
@@ -79,12 +79,12 @@
 #else
       typedef typename HermA::value_type val_t;
 #endif
- int ispec = (q == 'O' ? 1 : 2);
+ integer_t ispec = (q == 'O' ? 1 : 2);
       return detail::hetrf_block (val_t(), ispec, ul, n);
     }
 
     template <typename HermA>
- int hetrf_block (char const q, HermA const& a) {
+ integer_t hetrf_block (char const q, HermA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -95,7 +95,7 @@
       assert (q == 'O' || q == 'M');
 
       char ul = traits::matrix_uplo_tag (a);
- int n = traits::matrix_size1 (a);
+ integer_t n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
 
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
@@ -103,12 +103,12 @@
 #else
       typedef typename HermA::value_type val_t;
 #endif
- int ispec = (q == 'O' ? 1 : 2);
+ integer_t ispec = (q == 'O' ? 1 : 2);
       return detail::hetrf_block (val_t(), ispec, ul, n);
     }
 
     template <typename HermA>
- int hetrf_work (char const q, char const ul, HermA const& a) {
+ integer_t hetrf_work (char const q, char const ul, HermA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -119,7 +119,7 @@
       assert (q == 'O' || q == 'M');
       assert (ul == 'U' || ul == 'L');
 
- int n = traits::matrix_size1 (a);
+ integer_t n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
 
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
@@ -127,7 +127,7 @@
 #else
       typedef typename HermA::value_type val_t;
 #endif
- int lw = -13;
+ integer_t lw = -13;
       if (q == 'M')
         lw = 1;
       if (q == 'O')
@@ -136,7 +136,7 @@
     }
 
     template <typename HermA>
- int hetrf_work (char const q, HermA const& a) {
+ integer_t hetrf_work (char const q, HermA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -147,7 +147,7 @@
       assert (q == 'O' || q == 'M');
 
       char ul = traits::matrix_uplo_tag (a);
- int n = traits::matrix_size1 (a);
+ integer_t n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
 
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
@@ -155,7 +155,7 @@
 #else
       typedef typename HermA::value_type val_t;
 #endif
- int lw = -13;
+ integer_t lw = -13;
       if (q == 'M')
         lw = 1;
       if (q == 'O')
@@ -166,13 +166,13 @@
 
     template <typename HermA>
     inline
- int hesv_work (char const q, char const ul, HermA const& a) {
+ integer_t hesv_work (char const q, char const ul, HermA const& a) {
       return hetrf_work (q, ul, a);
     }
 
     template <typename HermA>
     inline
- int hesv_work (char const q, HermA const& a) { return hetrf_work (q, a); }
+ integer_t hesv_work (char const q, HermA const& a) { return hetrf_work (q, a); }
 
 
     /*
@@ -192,10 +192,10 @@
     namespace detail {
 
       inline
- void hesv (char const uplo, int const n, int const nrhs,
- traits::complex_f* a, int const lda, int* ipiv,
- traits::complex_f* b, int const ldb,
- traits::complex_f* w, int const lw, int* info)
+ void hesv (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_f* a, integer_t const lda, integer_t* ipiv,
+ traits::complex_f* b, integer_t const ldb,
+ traits::complex_f* w, integer_t const lw, integer_t* info)
       {
         LAPACK_CHESV (&uplo, &n, &nrhs,
                       traits::complex_ptr (a), &lda, ipiv,
@@ -204,10 +204,10 @@
       }
 
       inline
- void hesv (char const uplo, int const n, int const nrhs,
- traits::complex_d* a, int const lda, int* ipiv,
- traits::complex_d* b, int const ldb,
- traits::complex_d* w, int const lw, int* info)
+ void hesv (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_d* a, integer_t const lda, integer_t* ipiv,
+ traits::complex_d* b, integer_t const ldb,
+ traits::complex_d* w, integer_t const lw, integer_t* info)
       {
         LAPACK_ZHESV (&uplo, &n, &nrhs,
                       traits::complex_ptr (a), &lda, ipiv,
@@ -218,12 +218,12 @@
       template <typename HermA, typename MatrB, typename IVec, typename Work>
       int hesv (char const ul, HermA& a, IVec& i, MatrB& b, Work& w) {
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
         assert (n == traits::matrix_size1 (b));
         assert (n == traits::vector_size (i));
 
- int info;
+ integer_t info;
         hesv (ul, n, traits::matrix_size2 (b),
               traits::matrix_storage (a),
               traits::leading_dimension (a),
@@ -254,7 +254,7 @@
>::value));
 #endif
 
- int const lw = traits::vector_size (w);
+ integer_t const lw = traits::vector_size (w);
       assert (lw >= 1);
       return detail::hesv (ul, a, i, b, w);
     }
@@ -273,7 +273,7 @@
>::value));
 #endif
 
- int const lw = traits::vector_size (w);
+ integer_t const lw = traits::vector_size (w);
       assert (lw >= 1);
       char uplo = traits::matrix_uplo_tag (a);
       return detail::hesv (uplo, a, i, b, w);
@@ -296,13 +296,13 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
- int info = -101;
- traits::detail::array<int> i (n);
+ integer_t const n = traits::matrix_size1 (a);
+ integer_t info = -101;
+ traits::detail::array<integer_t> i (n);
 
       if (i.valid()) {
         info = -102;
- int lw = hetrf_work ('O', ul, a);
+ integer_t lw = hetrf_work ('O', ul, a);
         assert (lw >= 1); // paranoia ?
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
         typedef typename traits::matrix_traits<HermA>::value_type val_t;
@@ -331,14 +331,14 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       char uplo = traits::matrix_uplo_tag (a);
- int info = -101;
- traits::detail::array<int> i (n);
+ integer_t info = -101;
+ traits::detail::array<integer_t> i (n);
 
       if (i.valid()) {
         info = -102;
- int lw = hetrf_work ('O', a);
+ integer_t lw = hetrf_work ('O', a);
         assert (lw >= 1); // paranoia ?
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
         typedef typename traits::matrix_traits<HermA>::value_type val_t;
@@ -367,9 +367,9 @@
     namespace detail {
 
       inline
- void hetrf (char const uplo, int const n,
- traits::complex_f* a, int const lda, int* ipiv,
- traits::complex_f* w, int const lw, int* info)
+ void hetrf (char const uplo, integer_t const n,
+ traits::complex_f* a, integer_t const lda, integer_t* ipiv,
+ traits::complex_f* w, integer_t const lw, integer_t* info)
       {
         LAPACK_CHETRF (&uplo, &n,
                        traits::complex_ptr (a), &lda, ipiv,
@@ -377,9 +377,9 @@
       }
 
       inline
- void hetrf (char const uplo, int const n,
- traits::complex_d* a, int const lda, int* ipiv,
- traits::complex_d* w, int const lw, int* info)
+ void hetrf (char const uplo, integer_t const n,
+ traits::complex_d* a, integer_t const lda, integer_t* ipiv,
+ traits::complex_d* w, integer_t const lw, integer_t* info)
       {
         LAPACK_ZHETRF (&uplo, &n,
                        traits::complex_ptr (a), &lda, ipiv,
@@ -389,11 +389,11 @@
       template <typename HermA, typename IVec, typename Work>
       int hetrf (char const ul, HermA& a, IVec& i, Work& w) {
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
         assert (n == traits::vector_size (i));
 
- int info;
+ integer_t info;
         hetrf (ul, n, traits::matrix_storage (a),
                traits::leading_dimension (a),
                traits::vector_storage (i),
@@ -417,7 +417,7 @@
>::value));
 #endif
 
- int const lw = traits::vector_size (w);
+ std::ptrdiff_t const lw = traits::vector_size (w);
       assert (lw >= 1);
       return detail::hetrf (ul, a, i, w);
     }
@@ -432,7 +432,7 @@
>::value));
 #endif
 
- int const lw = traits::vector_size (w);
+ std::ptrdiff_t const lw = traits::vector_size (w);
       assert (lw >= 1);
       char uplo = traits::matrix_uplo_tag (a);
       return detail::hetrf (uplo, a, i, w);
@@ -451,8 +451,8 @@
>::value));
 #endif
 
- int info = -101;
- int lw = hetrf_work ('O', ul, a);
+ integer_t info = -101;
+ integer_t lw = hetrf_work ('O', ul, a);
       assert (lw >= 1); // paranoia ?
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
       typedef typename traits::matrix_traits<HermA>::value_type val_t;
@@ -477,8 +477,8 @@
 #endif
 
       char uplo = traits::matrix_uplo_tag (a);
- int info = -101;
- int lw = hetrf_work ('O', a);
+ integer_t info = -101;
+ integer_t lw = hetrf_work ('O', a);
       assert (lw >= 1); // paranoia ?
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
       typedef typename traits::matrix_traits<HermA>::value_type val_t;
@@ -502,10 +502,10 @@
     namespace detail {
 
       inline
- void hetrs (char const uplo, int const n, int const nrhs,
- traits::complex_f const* a, int const lda,
- int const* ipiv,
- traits::complex_f* b, int const ldb, int* info)
+ void hetrs (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_f const* a, integer_t const lda,
+ integer_t const* ipiv,
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CHETRS (&uplo, &n, &nrhs,
                        traits::complex_ptr (a), &lda, ipiv,
@@ -513,10 +513,10 @@
       }
 
       inline
- void hetrs (char const uplo, int const n, int const nrhs,
- traits::complex_d const* a, int const lda,
- int const* ipiv,
- traits::complex_d* b, int const ldb, int* info)
+ void hetrs (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_d const* a, integer_t const lda,
+ integer_t const* ipiv,
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZHETRS (&uplo, &n, &nrhs,
                        traits::complex_ptr (a), &lda, ipiv,
@@ -526,12 +526,12 @@
       template <typename HermA, typename MatrB, typename IVec>
       int hetrs (char const ul, HermA const& a, IVec const& i, MatrB& b) {
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
         assert (n == traits::matrix_size1 (b));
         assert (n == traits::vector_size (i));
 
- int info;
+ integer_t info;
         hetrs (ul, n, traits::matrix_size2 (b),
 #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
                traits::matrix_storage (a),

Modified: sandbox/boost/numeric/bindings/lapack/hpsv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/hpsv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/hpsv.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -54,9 +54,9 @@
     namespace detail {
 
       inline
- void hpsv (char const uplo, int const n, int const nrhs,
- traits::complex_f* ap, int* ipiv,
- traits::complex_f* b, int const ldb, int* info)
+ void hpsv (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_f* ap, integer_t* ipiv,
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CHPSV (&uplo, &n, &nrhs,
                       traits::complex_ptr (ap), ipiv,
@@ -64,9 +64,9 @@
       }
 
       inline
- void hpsv (char const uplo, int const n, int const nrhs,
- traits::complex_d* ap, int* ipiv,
- traits::complex_d* b, int const ldb, int* info)
+ void hpsv (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_d* ap, integer_t* ipiv,
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZHPSV (&uplo, &n, &nrhs,
                       traits::complex_ptr (ap), ipiv,
@@ -87,12 +87,12 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
         assert (n == traits::matrix_size1 (b));
 
         char uplo = traits::matrix_uplo_tag (a);
- int info;
+ integer_t info;
         hpsv (uplo, n, traits::matrix_size2 (b),
               traits::matrix_storage (a),
               traits::vector_storage (i),
@@ -115,8 +115,8 @@
     int hpsv (HermA& a, MatrB& b) {
       // with 'internal' pivot vector
 
- int info = -101;
- traits::detail::array<int> i (traits::matrix_size1 (a));
+ integer_t info = -101;
+ traits::detail::array<integer_t> i (traits::matrix_size1 (a));
 
       if (i.valid())
         info = detail::hpsv (a, i, b);
@@ -137,22 +137,22 @@
     namespace detail {
 
       inline
- void hptrf (char const uplo, int const n,
- traits::complex_f* ap, int* ipiv, int* info)
+ void hptrf (char const uplo, integer_t const n,
+ traits::complex_f* ap, integer_t* ipiv, integer_t* info)
       {
         LAPACK_CHPTRF (&uplo, &n, traits::complex_ptr (ap), ipiv, info);
       }
 
       inline
- void hptrf (char const uplo, int const n,
- traits::complex_d* ap, int* ipiv, int* info)
+ void hptrf (char const uplo, integer_t const n,
+ traits::complex_d* ap, integer_t* ipiv, integer_t* info)
       {
         LAPACK_ZHPTRF (&uplo, &n, traits::complex_ptr (ap), ipiv, info);
       }
 
       template <typename HermA, typename IVec, typename Work>
       inline
- int hptrf (char const ul, HermA& a, IVec& i, Work& w, int const lw) {
+ int hptrf (char const ul, HermA& a, IVec& i, Work& w, integer_t const lw) {
 
       }
 
@@ -168,12 +168,12 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
       assert (n == traits::vector_size (i));
 
       char uplo = traits::matrix_uplo_tag (a);
- int info;
+ integer_t info;
       detail::hptrf (uplo, n, traits::matrix_storage (a),
                      traits::vector_storage (i), &info);
       return info;
@@ -190,9 +190,9 @@
     namespace detail {
 
       inline
- void hptrs (char const uplo, int const n, int const nrhs,
- traits::complex_f const* ap, int const* ipiv,
- traits::complex_f* b, int const ldb, int* info)
+ void hptrs (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_f const* ap, integer_t const* ipiv,
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CHPTRS (&uplo, &n, &nrhs,
                        traits::complex_ptr (ap), ipiv,
@@ -200,9 +200,9 @@
       }
 
       inline
- void hptrs (char const uplo, int const n, int const nrhs,
- traits::complex_d const* ap, int const* ipiv,
- traits::complex_d* b, int const ldb, int* info)
+ void hptrs (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_d const* ap, integer_t const* ipiv,
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZHPTRS (&uplo, &n, &nrhs,
                        traits::complex_ptr (ap), ipiv,
@@ -225,13 +225,13 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
       assert (n == traits::matrix_size1 (b));
       assert (n == traits::vector_size (i));
 
       char uplo = traits::matrix_uplo_tag (a);
- int info;
+ integer_t info;
       detail::hptrs (uplo, n, traits::matrix_size2 (b),
 #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
                      traits::matrix_storage (a),

Modified: sandbox/boost/numeric/bindings/lapack/hseqr.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/hseqr.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/hseqr.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -94,11 +94,11 @@
     namespace detail {
         // float
         inline
- int hseqr_backend(const char* job, const char* compz, const int* n,
- const int ilo, const int ihi, float* H, const int ldH,
- float* wr, float* wi, float* Z, const int ldz, float* work,
- const int* lwork){
- int info;
+ int hseqr_backend(const char* job, const char* compz, const integer_t* n,
+ const integer_t ilo, const integer_t ihi, float* H, const integer_t ldH,
+ float* wr, float* wi, float* Z, const integer_t ldz, float* work,
+ const integer_t* lwork){
+ integer_t info;
             LAPACK_SHSEQR(job, compz, n, &ilo, &ihi, H, &ldH, wr, wi,
                     Z, &ldz, work, lwork, &info);
             return info;
@@ -106,11 +106,11 @@
 
         // double
         inline
- int hseqr_backend(const char* job, const char* compz, const int* n,
- const int ilo, const int ihi, double* H, const int ldH,
- double* wr, double* wi, double* Z, const int ldz, double* work,
- const int* lwork){
- int info;
+ int hseqr_backend(const char* job, const char* compz, const integer_t* n,
+ const integer_t ilo, const integer_t ihi, double* H, const integer_t ldH,
+ double* wr, double* wi, double* Z, const integer_t ldz, double* work,
+ const integer_t* lwork){
+ integer_t info;
             LAPACK_DHSEQR(job, compz, n, &ilo, &ihi, H, &ldH, wr, wi,
                     Z, &ldz, work, lwork, &info);
             return info;
@@ -118,11 +118,11 @@
 
         // complex_f
         inline
- int hseqr_backend(const char* job, const char* compz, int* n,
- const int ilo, const int ihi, traits::complex_f* H, const int ldH,
- traits::complex_f* w, traits::complex_f* Z, int ldz,
- traits::complex_f* work, const int* lwork){
- int info;
+ int hseqr_backend(const char* job, const char* compz, integer_t* n,
+ const integer_t ilo, const integer_t ihi, traits::complex_f* H, const integer_t ldH,
+ traits::complex_f* w, traits::complex_f* Z, integer_t ldz,
+ traits::complex_f* work, const integer_t* lwork){
+ integer_t info;
             LAPACK_CHSEQR(job, compz, n, &ilo, &ihi,
                     traits::complex_ptr(H), &ldH,
                     traits::complex_ptr(w),
@@ -133,11 +133,11 @@
 
         // complex_d
         inline
- int hseqr_backend(const char* job, const char* compz, int* n,
- const int ilo, const int ihi, traits::complex_d* H, const int ldH,
- traits::complex_d* w, traits::complex_d* Z, int ldz,
- traits::complex_d* work, const int* lwork){
- int info;
+ int hseqr_backend(const char* job, const char* compz, integer_t* n,
+ const integer_t ilo, const integer_t ihi, traits::complex_d* H, const integer_t ldH,
+ traits::complex_d* w, traits::complex_d* Z, integer_t ldz,
+ traits::complex_d* work, const integer_t* lwork){
+ integer_t info;
             LAPACK_ZHSEQR(job, compz, n, &ilo, &ihi,
                     traits::complex_ptr(H), &ldH,
                     traits::complex_ptr(w),
@@ -154,13 +154,13 @@
             template < typename A, typename W, typename V>
             int operator() ( const char job, const char compz, A& H, W& w, V& Z ){
 
- int n = traits::matrix_size1(H);
+ integer_t n = traits::matrix_size1(H);
                 typedef typename A::value_type value_type;
                 traits::detail::array<value_type> wr(n);
                 traits::detail::array<value_type> wi(n);
 
                 // workspace query
- int lwork = -1;
+ integer_t lwork = -1;
                 value_type work_temp;
                 int result = detail::hseqr_backend(&job, &compz, &n, 1, n,
                                             traits::matrix_storage(H),
@@ -172,7 +172,7 @@
 
                 if( result !=0 ) return result;
 
- lwork = (int) work_temp;
+ lwork = traits::detail::to_int(work_temp);
                 traits::detail::array<value_type> work(lwork);
                 result = detail::hseqr_backend(&job, &compz, &n, 1, n,
                                             traits::matrix_storage(H),
@@ -194,11 +194,11 @@
             template < typename A, typename W, typename V>
             int operator() ( const char job, const char compz, A& H, W& w, V& Z ){
 
- int n = traits::matrix_size1(H);
+ integer_t n = traits::matrix_size1(H);
                 typedef typename A::value_type value_type;
 
                 // workspace query
- int lwork = -1;
+ integer_t lwork = -1;
                 value_type work_temp;
                 int result = detail::hseqr_backend(&job, &compz, &n, 1, n,
                         traits::matrix_storage(H),
@@ -209,7 +209,7 @@
 
                 if( result !=0 ) return result;
 
- lwork = (int) std::real(work_temp);
+ lwork = traits::detail::to_int(work_temp);
                 traits::detail::array<value_type> work(lwork);
                 result = detail::hseqr_backend(&job, &compz, &n, 1, n,
                         traits::matrix_storage(H),
@@ -249,7 +249,7 @@
 #endif
 
 #ifndef NDEBUG
- int const n = traits::matrix_size1(H);
+ std::ptrdiff_t const n = traits::matrix_size1(H);
 #endif
 
         typedef typename A::value_type value_type;
@@ -274,7 +274,7 @@
 #endif
 
 #ifndef NDEBUG
- int const n = traits::matrix_size1(H);
+ std::ptrdiff_t const n = traits::matrix_size1(H);
 #endif
 
         typedef typename A::value_type value_type;

Modified: sandbox/boost/numeric/bindings/lapack/ilaenv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/ilaenv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/ilaenv.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -26,9 +26,9 @@
    */
   
   inline
- int ilaenv (int const ispec, const char* name, const char* opts,
- int const n1 = -1, int const n2 = -1,
- int const n3 = -1, int const n4 = -1)
+ integer_t ilaenv (integer_t const ispec, const char* name, const char* opts,
+ integer_t const n1 = -1, integer_t const n2 = -1,
+ integer_t const n3 = -1, integer_t const n4 = -1)
   {
     return ::LAPACK_ILAENV (&ispec, name, opts, &n1, &n2, &n3, &n4,
                           std::strlen (name), std::strlen (opts));

Modified: sandbox/boost/numeric/bindings/lapack/lapack.h
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/lapack.h (original)
+++ sandbox/boost/numeric/bindings/lapack/lapack.h 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -29,583 +29,583 @@
 
   /* general */
 
- void LAPACK_SGESV (int const* n, int const* nrhs,
- float* a, int const* lda, int* ipiv,
- float* b, int const* ldb, int* info);
- void LAPACK_DGESV (int const* n, int const* nrhs,
- double* a, int const* lda, int* ipiv,
- double* b, int const* ldb, int* info);
- void LAPACK_CGESV (int const* n, int const* nrhs,
- fcomplex_t* a, int const* lda, int* ipiv,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZGESV (int const* n, int const* nrhs,
- dcomplex_t* a, int const* lda, int* ipiv,
- dcomplex_t* b, int const* ldb, int* info);
-
- void LAPACK_SGETRF (int const* n, int const* nrhs,
- float* a, int const* lda, int* ipiv, int* info);
- void LAPACK_DGETRF (int const* n, int const* nrhs,
- double* a, int const* lda, int* ipiv, int* info);
- void LAPACK_CGETRF (int const* n, int const* nrhs,
- fcomplex_t* a, int const* lda,
- int* ipiv, int* info);
- void LAPACK_ZGETRF (int const* n, int const* nrhs,
- dcomplex_t* a, int const* lda,
- int* ipiv, int* info);
-
- void LAPACK_SGETRS (char const* trans, int const* n, int const* nrhs,
- float const* a, int const* lda, int const* ipiv,
- float* b, int const* ldb, int* info);
- void LAPACK_DGETRS (char const* trans, int const* n, int const* nrhs,
- double const* a, int const* lda, int const* ipiv,
- double* b, int const* ldb, int* info);
- void LAPACK_CGETRS (char const* trans, int const* n, int const* nrhs,
- fcomplex_t const* a, int const* lda, int const* ipiv,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZGETRS (char const* trans, int const* n, int const* nrhs,
- dcomplex_t const* a, int const* lda, int const* ipiv,
- dcomplex_t* b, int const* ldb, int* info);
-
- void LAPACK_SGETRI (int const* n, float* a, int const* lda, int const* ipiv,
- float* work, int const* lwork, int* info);
- void LAPACK_DGETRI (int const* n, double* a, int const* lda, int const* ipiv,
- double* work, int const* lwork, int* info);
- void LAPACK_CGETRI (int const* n, fcomplex_t* a, int const* lda, int const* ipiv,
- fcomplex_t* work, int const* lwork, int* info);
- void LAPACK_ZGETRI (int const* n, dcomplex_t* a, int const* lda, int const* ipiv,
- dcomplex_t* work, int const* lwork, int* info);
+ void LAPACK_SGESV (integer_t const* n, integer_t const* nrhs,
+ float* a, integer_t const* lda, integer_t* ipiv,
+ float* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_DGESV (integer_t const* n, integer_t const* nrhs,
+ double* a, integer_t const* lda, integer_t* ipiv,
+ double* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_CGESV (integer_t const* n, integer_t const* nrhs,
+ fcomplex_t* a, integer_t const* lda, integer_t* ipiv,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZGESV (integer_t const* n, integer_t const* nrhs,
+ dcomplex_t* a, integer_t const* lda, integer_t* ipiv,
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
+
+ void LAPACK_SGETRF (integer_t const* n, integer_t const* nrhs,
+ float* a, integer_t const* lda, integer_t* ipiv, integer_t* info);
+ void LAPACK_DGETRF (integer_t const* n, integer_t const* nrhs,
+ double* a, integer_t const* lda, integer_t* ipiv, integer_t* info);
+ void LAPACK_CGETRF (integer_t const* n, integer_t const* nrhs,
+ fcomplex_t* a, integer_t const* lda,
+ integer_t* ipiv, integer_t* info);
+ void LAPACK_ZGETRF (integer_t const* n, integer_t const* nrhs,
+ dcomplex_t* a, integer_t const* lda,
+ integer_t* ipiv, integer_t* info);
+
+ void LAPACK_SGETRS (char const* trans, integer_t const* n, integer_t const* nrhs,
+ float const* a, integer_t const* lda, integer_t const* ipiv,
+ float* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_DGETRS (char const* trans, integer_t const* n, integer_t const* nrhs,
+ double const* a, integer_t const* lda, integer_t const* ipiv,
+ double* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_CGETRS (char const* trans, integer_t const* n, integer_t const* nrhs,
+ fcomplex_t const* a, integer_t const* lda, integer_t const* ipiv,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZGETRS (char const* trans, integer_t const* n, integer_t const* nrhs,
+ dcomplex_t const* a, integer_t const* lda, integer_t const* ipiv,
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
+
+ void LAPACK_SGETRI (integer_t const* n, float* a, integer_t const* lda, integer_t const* ipiv,
+ float* work, integer_t const* lwork, integer_t* info);
+ void LAPACK_DGETRI (integer_t const* n, double* a, integer_t const* lda, integer_t const* ipiv,
+ double* work, integer_t const* lwork, integer_t* info);
+ void LAPACK_CGETRI (integer_t const* n, fcomplex_t* a, integer_t const* lda, integer_t const* ipiv,
+ fcomplex_t* work, integer_t const* lwork, integer_t* info);
+ void LAPACK_ZGETRI (integer_t const* n, dcomplex_t* a, integer_t const* lda, integer_t const* ipiv,
+ dcomplex_t* work, integer_t const* lwork, integer_t* info);
 
   /* symmetric/Hermitian positive definite */
 
- void LAPACK_SPOSV (char const* uplo, int const* n, int const* nrhs,
- float* a, int const* lda,
- float* b, int const* ldb, int* info);
- void LAPACK_DPOSV (char const* uplo, int const* n, int const* nrhs,
- double* a, int const* lda,
- double* b, int const* ldb, int* info);
- void LAPACK_CPOSV (char const* uplo, int const* n, int const* nrhs,
- fcomplex_t* a, int const* lda,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZPOSV (char const* uplo, int const* n, int const* nrhs,
- dcomplex_t* a, int const* lda,
- dcomplex_t* b, int const* ldb, int* info);
-
- void LAPACK_SPOTRF (char const* uplo, int const* n,
- float* a, int const* lda, int* info);
- void LAPACK_DPOTRF (char const* uplo, int const* n,
- double* a, int const* lda, int* info);
- void LAPACK_CPOTRF (char const* uplo, int const* n,
- fcomplex_t* a, int const* lda, int* info);
- void LAPACK_ZPOTRF (char const* uplo, int const* n,
- dcomplex_t* a, int const* lda, int* info);
-
- void LAPACK_SPOTRS (char const* uplo, int const* n, int const* nrhs,
- float const* a, int const* lda,
- float* b, int const* ldb, int* info);
- void LAPACK_DPOTRS (char const* uplo, int const* n, int const* nrhs,
- double const* a, int const* lda,
- double* b, int const* ldb, int* info);
- void LAPACK_CPOTRS (char const* uplo, int const* n, int const* nrhs,
- fcomplex_t const* a, int const* lda,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZPOTRS (char const* uplo, int const* n, int const* nrhs,
- dcomplex_t const* a, int const* lda,
- dcomplex_t* b, int const* ldb, int* info);
+ void LAPACK_SPOSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ float* a, integer_t const* lda,
+ float* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_DPOSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ double* a, integer_t const* lda,
+ double* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_CPOSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ fcomplex_t* a, integer_t const* lda,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZPOSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ dcomplex_t* a, integer_t const* lda,
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
+
+ void LAPACK_SPOTRF (char const* uplo, integer_t const* n,
+ float* a, integer_t const* lda, integer_t* info);
+ void LAPACK_DPOTRF (char const* uplo, integer_t const* n,
+ double* a, integer_t const* lda, integer_t* info);
+ void LAPACK_CPOTRF (char const* uplo, integer_t const* n,
+ fcomplex_t* a, integer_t const* lda, integer_t* info);
+ void LAPACK_ZPOTRF (char const* uplo, integer_t const* n,
+ dcomplex_t* a, integer_t const* lda, integer_t* info);
+
+ void LAPACK_SPOTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ float const* a, integer_t const* lda,
+ float* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_DPOTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ double const* a, integer_t const* lda,
+ double* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_CPOTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ fcomplex_t const* a, integer_t const* lda,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZPOTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ dcomplex_t const* a, integer_t const* lda,
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
 
 
   /* symmetric/Hermitian positive definite in packed storage */
 
- void LAPACK_SPPSV (char const* uplo, int const* n, int const* nrhs,
- float* ap, float* b, int const* ldb, int* info);
- void LAPACK_DPPSV (char const* uplo, int const* n, int const* nrhs,
- double* ap, double* b, int const* ldb, int* info);
- void LAPACK_CPPSV (char const* uplo, int const* n, int const* nrhs,
- fcomplex_t* ap, fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZPPSV (char const* uplo, int const* n, int const* nrhs,
- dcomplex_t* ap, dcomplex_t* b, int const* ldb, int* info);
-
- void LAPACK_SPPTRF (char const* uplo, int const* n, float* ap, int* info);
- void LAPACK_DPPTRF (char const* uplo, int const* n, double* ap, int* info);
- void LAPACK_CPPTRF (char const* uplo, int const* n,
- fcomplex_t* ap, int* info);
- void LAPACK_ZPPTRF (char const* uplo, int const* n,
- dcomplex_t* ap, int* info);
-
- void LAPACK_SPPTRS (char const* uplo, int const* n, int const* nrhs,
- float const* ap, float* b, int const* ldb, int* info);
- void LAPACK_DPPTRS (char const* uplo, int const* n, int const* nrhs,
- double const* ap, double* b, int const* ldb, int* info);
- void LAPACK_CPPTRS (char const* uplo, int const* n, int const* nrhs,
+ void LAPACK_SPPSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ float* ap, float* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_DPPSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ double* ap, double* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_CPPSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ fcomplex_t* ap, fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZPPSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ dcomplex_t* ap, dcomplex_t* b, integer_t const* ldb, integer_t* info);
+
+ void LAPACK_SPPTRF (char const* uplo, integer_t const* n, float* ap, integer_t* info);
+ void LAPACK_DPPTRF (char const* uplo, integer_t const* n, double* ap, integer_t* info);
+ void LAPACK_CPPTRF (char const* uplo, integer_t const* n,
+ fcomplex_t* ap, integer_t* info);
+ void LAPACK_ZPPTRF (char const* uplo, integer_t const* n,
+ dcomplex_t* ap, integer_t* info);
+
+ void LAPACK_SPPTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ float const* ap, float* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_DPPTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ double const* ap, double* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_CPPTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
                       fcomplex_t const* ap,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZPPTRS (char const* uplo, int const* n, int const* nrhs,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZPPTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
                       dcomplex_t const* ap,
- dcomplex_t* b, int const* ldb, int* info);
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
 
- void LAPACK_SPPTRI (char const* uplo, int const* n, float* ap, int* info);
- void LAPACK_DPPTRI (char const* uplo, int const* n, double* ap, int* info);
- void LAPACK_CPPTRI (char const* uplo, int const* n,
- fcomplex_t* ap, int* info);
- void LAPACK_ZPPTRI (char const* uplo, int const* n,
- dcomplex_t* ap, int* info);
+ void LAPACK_SPPTRI (char const* uplo, integer_t const* n, float* ap, integer_t* info);
+ void LAPACK_DPPTRI (char const* uplo, integer_t const* n, double* ap, integer_t* info);
+ void LAPACK_CPPTRI (char const* uplo, integer_t const* n,
+ fcomplex_t* ap, integer_t* info);
+ void LAPACK_ZPPTRI (char const* uplo, integer_t const* n,
+ dcomplex_t* ap, integer_t* info);
 
   /* symmetric/Hermitian positive definite tridiagonal */
 
- void LAPACK_SPTSV (int const* N, int const* NRHS, float* D, float* E
- , float* B, int const* LDB, int* INFO
+ void LAPACK_SPTSV (integer_t const* N, integer_t const* NRHS, float* D, float* E
+ , float* B, integer_t const* LDB, integer_t* INFO
                     );
- void LAPACK_DPTSV (int const* N, int const* NRHS, double* D, double* E
- , double* B, int const* LDB, int* INFO
+ void LAPACK_DPTSV (integer_t const* N, integer_t const* NRHS, double* D, double* E
+ , double* B, integer_t const* LDB, integer_t* INFO
                     );
- void LAPACK_CPTSV (int const* N, int const* NRHS, float* D, fcomplex_t* E
- , fcomplex_t* B, int const* LDB, int* INFO
+ void LAPACK_CPTSV (integer_t const* N, integer_t const* NRHS, float* D, fcomplex_t* E
+ , fcomplex_t* B, integer_t const* LDB, integer_t* INFO
                     );
- void LAPACK_ZPTSV (int const* N, int const* NRHS, double* D, dcomplex_t* E
- , dcomplex_t* B, int const* LDB, int* INFO
+ void LAPACK_ZPTSV (integer_t const* N, integer_t const* NRHS, double* D, dcomplex_t* E
+ , dcomplex_t* B, integer_t const* LDB, integer_t* INFO
                     );
 
- void LAPACK_SPTTRF ( int const* n, float* d, float* e, int* info);
- void LAPACK_DPTTRF ( int const* n, double* d, double* e, int* info);
- void LAPACK_CPTTRF ( int const* n, float* d, fcomplex_t* e, int* info);
- void LAPACK_ZPTTRF ( int const* n, double* d, dcomplex_t* e, int* info);
+ void LAPACK_SPTTRF ( integer_t const* n, float* d, float* e, integer_t* info);
+ void LAPACK_DPTTRF ( integer_t const* n, double* d, double* e, integer_t* info);
+ void LAPACK_CPTTRF ( integer_t const* n, float* d, fcomplex_t* e, integer_t* info);
+ void LAPACK_ZPTTRF ( integer_t const* n, double* d, dcomplex_t* e, integer_t* info);
 
- void LAPACK_SPTTRS ( int const* n, int const* nrhs,
+ void LAPACK_SPTTRS ( integer_t const* n, integer_t const* nrhs,
                       float const* d, float const* e,
- float* b, int const* ldb, int* info);
- void LAPACK_DPTTRS ( int const* n, int const* nrhs,
+ float* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_DPTTRS ( integer_t const* n, integer_t const* nrhs,
                       double const* d, double const* e,
- double* b, int const* ldb, int* info);
- void LAPACK_CPTTRS (char const* uplo, int const* n, int const* nrhs,
+ double* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_CPTTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
                       float const* d, fcomplex_t const* e,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZPTTRS (char const* uplo, int const* n, int const* nrhs,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZPTTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
                       double const* d, dcomplex_t const* e,
- dcomplex_t* b, int const* ldb, int* info);
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
 
 
 
   /* symmetric/Hermitian indefinite and complex symmetric */
 
- void LAPACK_SSYSV (char const* uplo, int const* n, int const* nrhs,
- float* a, int const* lda, int* ipiv,
- float* b, int const* ldb,
- float* w, int const* lw, int* info);
- void LAPACK_DSYSV (char const* uplo, int const* n, int const* nrhs,
- double* a, int const* lda, int* ipiv,
- double* b, int const* ldb,
- double* w, int const* lw, int* info);
- void LAPACK_CSYSV (char const* uplo, int const* n, int const* nrhs,
- fcomplex_t* a, int const* lda, int* ipiv,
- fcomplex_t* b, int const* ldb,
- fcomplex_t* w, int const* lw, int* info);
- void LAPACK_ZSYSV (char const* uplo, int const* n, int const* nrhs,
- dcomplex_t* a, int const* lda, int* ipiv,
- dcomplex_t* b, int const* ldb,
- dcomplex_t* w, int const* lw, int* info);
-
- void LAPACK_CHESV (char const* uplo, int const* n, int const* nrhs,
- fcomplex_t* a, int const* lda, int* ipiv,
- fcomplex_t* b, int const* ldb,
- fcomplex_t* w, int const* lw, int* info);
- void LAPACK_ZHESV (char const* uplo, int const* n, int const* nrhs,
- dcomplex_t* a, int const* lda, int* ipiv,
- dcomplex_t* b, int const* ldb,
- dcomplex_t* w, int const* lw, int* info);
-
- void LAPACK_SSYTRF (char const* uplo, int const* n,
- float* a, int const* lda, int* ipiv,
- float* w, int const* lw, int* info);
- void LAPACK_DSYTRF (char const* uplo, int const* n,
- double* a, int const* lda, int* ipiv,
- double* w, int const* lw, int* info);
- void LAPACK_CSYTRF (char const* uplo, int const* n,
- fcomplex_t* a, int const* lda, int* ipiv,
- fcomplex_t* w, int const* lw, int* info);
- void LAPACK_ZSYTRF (char const* uplo, int const* n,
- dcomplex_t* a, int const* lda, int* ipiv,
- dcomplex_t* w, int const* lw, int* info);
-
- void LAPACK_CHETRF (char const* uplo, int const* n,
- fcomplex_t* a, int const* lda, int* ipiv,
- fcomplex_t* w, int const* lw, int* info);
- void LAPACK_ZHETRF (char const* uplo, int const* n,
- dcomplex_t* a, int const* lda, int* ipiv,
- dcomplex_t* w, int const* lw, int* info);
-
- void LAPACK_SSYTRS (char const* uplo, int const* n, int const* nrhs,
- float const* a, int const* lda, int const* ipiv,
- float* b, int const* ldb, int* info);
- void LAPACK_DSYTRS (char const* uplo, int const* n, int const* nrhs,
- double const* a, int const* lda, int const* ipiv,
- double* b, int const* ldb, int* info);
- void LAPACK_CSYTRS (char const* uplo, int const* n, int const* nrhs,
- fcomplex_t const* a, int const* lda, int const* ipiv,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZSYTRS (char const* uplo, int const* n, int const* nrhs,
- dcomplex_t const* a, int const* lda, int const* ipiv,
- dcomplex_t* b, int const* ldb, int* info);
-
- void LAPACK_SSYTRI (char const* uplo, int const* n, float* a,
- int const* lda, int const* ipiv, float* work,
- int* info);
- void LAPACK_DSYTRI (char const* uplo, int const* n, double* a,
- int const* lda, int const* ipiv, double* work,
- int* info);
- void LAPACK_CSYTRI (char const* uplo, int const* n, fcomplex_t* a,
- int const* lda, int const* ipiv, fcomplex_t* work,
- int* info);
- void LAPACK_ZSYTRI (char const* uplo, int const* n, dcomplex_t* a,
- int const* lda, int const* ipiv, dcomplex_t* work,
- int* info);
+ void LAPACK_SSYSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ float* a, integer_t const* lda, integer_t* ipiv,
+ float* b, integer_t const* ldb,
+ float* w, integer_t const* lw, integer_t* info);
+ void LAPACK_DSYSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ double* a, integer_t const* lda, integer_t* ipiv,
+ double* b, integer_t const* ldb,
+ double* w, integer_t const* lw, integer_t* info);
+ void LAPACK_CSYSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ fcomplex_t* a, integer_t const* lda, integer_t* ipiv,
+ fcomplex_t* b, integer_t const* ldb,
+ fcomplex_t* w, integer_t const* lw, integer_t* info);
+ void LAPACK_ZSYSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ dcomplex_t* a, integer_t const* lda, integer_t* ipiv,
+ dcomplex_t* b, integer_t const* ldb,
+ dcomplex_t* w, integer_t const* lw, integer_t* info);
+
+ void LAPACK_CHESV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ fcomplex_t* a, integer_t const* lda, integer_t* ipiv,
+ fcomplex_t* b, integer_t const* ldb,
+ fcomplex_t* w, integer_t const* lw, integer_t* info);
+ void LAPACK_ZHESV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ dcomplex_t* a, integer_t const* lda, integer_t* ipiv,
+ dcomplex_t* b, integer_t const* ldb,
+ dcomplex_t* w, integer_t const* lw, integer_t* info);
+
+ void LAPACK_SSYTRF (char const* uplo, integer_t const* n,
+ float* a, integer_t const* lda, integer_t* ipiv,
+ float* w, integer_t const* lw, integer_t* info);
+ void LAPACK_DSYTRF (char const* uplo, integer_t const* n,
+ double* a, integer_t const* lda, integer_t* ipiv,
+ double* w, integer_t const* lw, integer_t* info);
+ void LAPACK_CSYTRF (char const* uplo, integer_t const* n,
+ fcomplex_t* a, integer_t const* lda, integer_t* ipiv,
+ fcomplex_t* w, integer_t const* lw, integer_t* info);
+ void LAPACK_ZSYTRF (char const* uplo, integer_t const* n,
+ dcomplex_t* a, integer_t const* lda, integer_t* ipiv,
+ dcomplex_t* w, integer_t const* lw, integer_t* info);
+
+ void LAPACK_CHETRF (char const* uplo, integer_t const* n,
+ fcomplex_t* a, integer_t const* lda, integer_t* ipiv,
+ fcomplex_t* w, integer_t const* lw, integer_t* info);
+ void LAPACK_ZHETRF (char const* uplo, integer_t const* n,
+ dcomplex_t* a, integer_t const* lda, integer_t* ipiv,
+ dcomplex_t* w, integer_t const* lw, integer_t* info);
+
+ void LAPACK_SSYTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ float const* a, integer_t const* lda, integer_t const* ipiv,
+ float* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_DSYTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ double const* a, integer_t const* lda, integer_t const* ipiv,
+ double* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_CSYTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ fcomplex_t const* a, integer_t const* lda, integer_t const* ipiv,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZSYTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ dcomplex_t const* a, integer_t const* lda, integer_t const* ipiv,
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
+
+ void LAPACK_SSYTRI (char const* uplo, integer_t const* n, float* a,
+ integer_t const* lda, integer_t const* ipiv, float* work,
+ integer_t* info);
+ void LAPACK_DSYTRI (char const* uplo, integer_t const* n, double* a,
+ integer_t const* lda, integer_t const* ipiv, double* work,
+ integer_t* info);
+ void LAPACK_CSYTRI (char const* uplo, integer_t const* n, fcomplex_t* a,
+ integer_t const* lda, integer_t const* ipiv, fcomplex_t* work,
+ integer_t* info);
+ void LAPACK_ZSYTRI (char const* uplo, integer_t const* n, dcomplex_t* a,
+ integer_t const* lda, integer_t const* ipiv, dcomplex_t* work,
+ integer_t* info);
  
- void LAPACK_CHETRS (char const* uplo, int const* n, int const* nrhs,
- fcomplex_t const* a, int const* lda, int const* ipiv,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZHETRS (char const* uplo, int const* n, int const* nrhs,
- dcomplex_t const* a, int const* lda, int const* ipiv,
- dcomplex_t* b, int const* ldb, int* info);
+ void LAPACK_CHETRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ fcomplex_t const* a, integer_t const* lda, integer_t const* ipiv,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZHETRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ dcomplex_t const* a, integer_t const* lda, integer_t const* ipiv,
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
 
 
   /* symmetric/Hermitian indefinite and complex symmetric in packed storage */
 
- void LAPACK_SSPSV (char const* uplo, int const* n, int const* nrhs,
- float* ap, int* ipiv,
- float* b, int const* ldb, int* info);
- void LAPACK_DSPSV (char const* uplo, int const* n, int const* nrhs,
- double* ap, int* ipiv,
- double* b, int const* ldb, int* info);
- void LAPACK_CSPSV (char const* uplo, int const* n, int const* nrhs,
- fcomplex_t* ap, int* ipiv,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZSPSV (char const* uplo, int const* n, int const* nrhs,
- dcomplex_t* ap, int* ipiv,
- dcomplex_t* b, int const* ldb, int* info);
-
- void LAPACK_CHPSV (char const* uplo, int const* n, int const* nrhs,
- fcomplex_t* ap, int* ipiv,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZHPSV (char const* uplo, int const* n, int const* nrhs,
- dcomplex_t* ap, int* ipiv,
- dcomplex_t* b, int const* ldb, int* info);
-
- void LAPACK_SSPTRF (char const* uplo, int const* n,
- float* ap, int* ipiv, int* info);
- void LAPACK_DSPTRF (char const* uplo, int const* n,
- double* ap, int* ipiv, int* info);
- void LAPACK_CSPTRF (char const* uplo, int const* n,
- fcomplex_t* ap, int* ipiv, int* info);
- void LAPACK_ZSPTRF (char const* uplo, int const* n,
- dcomplex_t* ap, int* ipiv, int* info);
-
- void LAPACK_CHPTRF (char const* uplo, int const* n,
- fcomplex_t* ap, int* ipiv, int* info);
- void LAPACK_ZHPTRF (char const* uplo, int const* n,
- dcomplex_t* ap, int* ipiv, int* info);
-
- void LAPACK_SSPTRS (char const* uplo, int const* n, int const* nrhs,
- float const* ap, int const* ipiv,
- float* b, int const* ldb, int* info);
- void LAPACK_DSPTRS (char const* uplo, int const* n, int const* nrhs,
- double const* ap, int const* ipiv,
- double* b, int const* ldb, int* info);
- void LAPACK_CSPTRS (char const* uplo, int const* n, int const* nrhs,
- fcomplex_t const* ap, int const* ipiv,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZSPTRS (char const* uplo, int const* n, int const* nrhs,
- dcomplex_t const* ap, int const* ipiv,
- dcomplex_t* b, int const* ldb, int* info);
-
- void LAPACK_SSPTRI (char const* uplo, int const* n, float const* ap,
- int const* ipiv, float* work, int* info);
- void LAPACK_DSPTRI (char const* uplo, int const* n, double const* ap,
- int const* ipiv, double* work, int* info);
- void LAPACK_CSPTRI (char const* uplo, int const* n, fcomplex_t const* ap,
- int const* ipiv, fcomplex_t* work, int* info);
- void LAPACK_ZSPTRI (char const* uplo, int const* n, dcomplex_t const* ap,
- int const* ipiv, dcomplex_t* work, int* info);
-
- void LAPACK_CHPTRS (char const* uplo, int const* n, int const* nrhs,
- fcomplex_t const* ap, int const* ipiv,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZHPTRS (char const* uplo, int const* n, int const* nrhs,
- dcomplex_t const* ap, int const* ipiv,
- dcomplex_t* b, int const* ldb, int* info);
+ void LAPACK_SSPSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ float* ap, integer_t* ipiv,
+ float* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_DSPSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ double* ap, integer_t* ipiv,
+ double* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_CSPSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ fcomplex_t* ap, integer_t* ipiv,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZSPSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ dcomplex_t* ap, integer_t* ipiv,
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
+
+ void LAPACK_CHPSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ fcomplex_t* ap, integer_t* ipiv,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZHPSV (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ dcomplex_t* ap, integer_t* ipiv,
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
+
+ void LAPACK_SSPTRF (char const* uplo, integer_t const* n,
+ float* ap, integer_t* ipiv, integer_t* info);
+ void LAPACK_DSPTRF (char const* uplo, integer_t const* n,
+ double* ap, integer_t* ipiv, integer_t* info);
+ void LAPACK_CSPTRF (char const* uplo, integer_t const* n,
+ fcomplex_t* ap, integer_t* ipiv, integer_t* info);
+ void LAPACK_ZSPTRF (char const* uplo, integer_t const* n,
+ dcomplex_t* ap, integer_t* ipiv, integer_t* info);
+
+ void LAPACK_CHPTRF (char const* uplo, integer_t const* n,
+ fcomplex_t* ap, integer_t* ipiv, integer_t* info);
+ void LAPACK_ZHPTRF (char const* uplo, integer_t const* n,
+ dcomplex_t* ap, integer_t* ipiv, integer_t* info);
+
+ void LAPACK_SSPTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ float const* ap, integer_t const* ipiv,
+ float* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_DSPTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ double const* ap, integer_t const* ipiv,
+ double* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_CSPTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ fcomplex_t const* ap, integer_t const* ipiv,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZSPTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ dcomplex_t const* ap, integer_t const* ipiv,
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
+
+ void LAPACK_SSPTRI (char const* uplo, integer_t const* n, float const* ap,
+ integer_t const* ipiv, float* work, integer_t* info);
+ void LAPACK_DSPTRI (char const* uplo, integer_t const* n, double const* ap,
+ integer_t const* ipiv, double* work, integer_t* info);
+ void LAPACK_CSPTRI (char const* uplo, integer_t const* n, fcomplex_t const* ap,
+ integer_t const* ipiv, fcomplex_t* work, integer_t* info);
+ void LAPACK_ZSPTRI (char const* uplo, integer_t const* n, dcomplex_t const* ap,
+ integer_t const* ipiv, dcomplex_t* work, integer_t* info);
+
+ void LAPACK_CHPTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ fcomplex_t const* ap, integer_t const* ipiv,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZHPTRS (char const* uplo, integer_t const* n, integer_t const* nrhs,
+ dcomplex_t const* ap, integer_t const* ipiv,
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
 
   /* banded */
 
- void LAPACK_SGBTRF (int const* n, int const* m, int const* kl, int const* ku,
- float* ab, int const* ldab, int* ipiv, int* info);
- void LAPACK_DGBTRF (int const* n, int const* m, int const* kl, int const* ku,
- double* ab, int const* ldab, int* ipiv, int* info);
- void LAPACK_CGBTRF (int const* n, int const* m, int const* kl, int const* ku,
- fcomplex_t* ab, int const* ldab, int* ipiv, int* info);
- void LAPACK_ZGBTRF (int const* n, int const* m, int const* kl, int const* ku,
- dcomplex_t* ab, int const* ldab, int* ipiv, int* info);
-
- void LAPACK_SGBTRS (char const* trans, int const* n, int const* kl, int const* ku, int const* nrhs,
- float const* ab, int const* ldab, int const* ipiv,
- float* b, int const* ldb, int* info);
- void LAPACK_DGBTRS (char const* trans, int const* n, int const* kl, int const* ku, int const* nrhs,
- double const* ab, int const* ldab, int const* ipiv,
- double* b, int const* ldb, int* info);
- void LAPACK_CGBTRS (char const* trans, int const* n, int const* kl, int const* ku, int const* nrhs,
- fcomplex_t const* ab, int const* ldab, int const* ipiv,
- fcomplex_t* b, int const* ldb, int* info);
- void LAPACK_ZGBTRS (char const* trans, int const* n, int const* kl, int const* ku, int const* nrhs,
- dcomplex_t const* ab, int const* ldab, int const* ipiv,
- dcomplex_t* b, int const* ldb, int* info);
+ void LAPACK_SGBTRF (integer_t const* n, integer_t const* m, integer_t const* kl, integer_t const* ku,
+ float* ab, integer_t const* ldab, integer_t* ipiv, integer_t* info);
+ void LAPACK_DGBTRF (integer_t const* n, integer_t const* m, integer_t const* kl, integer_t const* ku,
+ double* ab, integer_t const* ldab, integer_t* ipiv, integer_t* info);
+ void LAPACK_CGBTRF (integer_t const* n, integer_t const* m, integer_t const* kl, integer_t const* ku,
+ fcomplex_t* ab, integer_t const* ldab, integer_t* ipiv, integer_t* info);
+ void LAPACK_ZGBTRF (integer_t const* n, integer_t const* m, integer_t const* kl, integer_t const* ku,
+ dcomplex_t* ab, integer_t const* ldab, integer_t* ipiv, integer_t* info);
+
+ void LAPACK_SGBTRS (char const* trans, integer_t const* n, integer_t const* kl, integer_t const* ku, integer_t const* nrhs,
+ float const* ab, integer_t const* ldab, integer_t const* ipiv,
+ float* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_DGBTRS (char const* trans, integer_t const* n, integer_t const* kl, integer_t const* ku, integer_t const* nrhs,
+ double const* ab, integer_t const* ldab, integer_t const* ipiv,
+ double* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_CGBTRS (char const* trans, integer_t const* n, integer_t const* kl, integer_t const* ku, integer_t const* nrhs,
+ fcomplex_t const* ab, integer_t const* ldab, integer_t const* ipiv,
+ fcomplex_t* b, integer_t const* ldb, integer_t* info);
+ void LAPACK_ZGBTRS (char const* trans, integer_t const* n, integer_t const* kl, integer_t const* ku, integer_t const* nrhs,
+ dcomplex_t const* ab, integer_t const* ldab, integer_t const* ipiv,
+ dcomplex_t* b, integer_t const* ldb, integer_t* info);
 
 
   /**********************************************************************/
   /* eigenproblems */
   /**********************************************************************/
 
- void LAPACK_SGEES (const char* jobvs, const char* sort, logical_t* select, const int* n,
- float* a, const int * lda, const int* sdim, float* wr, float* wi,
- float* vs, const int * ldvs, float* work, const int * lwork,
- bool* bwork, int* info);
-
- void LAPACK_DGEES (const char* jobvs, const char* sort, logical_t* select, const int* n,
- double* a, const int * lda, const int* sdim, double* wr, double* wi,
- double* vs, const int * ldvs, double* work, const int * lwork,
- bool* bwork, int* info);
-
- void LAPACK_CGEES( const char* jobvs, const char* sort, logical_t* select, const int *n,
- fcomplex_t* a, const int * lda, int * sdim, fcomplex_t* w, fcomplex_t* vs,
- const int * ldvs, fcomplex_t* work, const int * lwork, float* rwork,
- bool* bwork, int* info );
-
- void LAPACK_ZGEES( const char* jobvs, const char* sort, const logical_t* select, const int *n,
- dcomplex_t* a, const int * lda, int * sdim, dcomplex_t* w, dcomplex_t* vs,
- const int * ldvs, dcomplex_t* work, const int * lwork, double* rwork,
- bool* bwork, int* info );
-
-
- void LAPACK_SGEEV( const char* jobvl, const char* jobvr, const int* n, float* a,
- const int* lda, float* wr, float* wi, float* vl, const int* ldvl,
- float* vr, const int* ldvr, float* work, const int* lwork, int* info );
-
- void LAPACK_DGEEV( const char* jobvl, const char* jobvr, const int* n, double* a,
- const int* lda, double* wr, double* wi, double* vl, const int* ldvl,
- double* vr, const int* ldvr, double* work, const int* lwork, int* info );
-
- void LAPACK_CGEEV( const char* jobvl, const char* jobvr, const int* n, fcomplex_t* a,
- const int* lda, fcomplex_t* w, fcomplex_t* vl, const int* ldvl,
- fcomplex_t* vr, const int* ldvr, fcomplex_t* work, const int* lwork,
- float* rwork, int* info );
-
- void LAPACK_ZGEEV( const char* jobvl, const char* jobvr, const int* n, dcomplex_t* a,
- const int* lda, dcomplex_t* w, dcomplex_t* vl, const int* ldvl,
- dcomplex_t* vr, const int* ldvr, dcomplex_t* work, const int* lwork,
- double* rwork, int* info );
-
-
- void LAPACK_SSYEV( const char* jobz, const char* uplo, const int *n,
- float* a, const int * lda, float* w,
- float* work, const int * lwork, int* info );
-
- void LAPACK_DSYEV( const char* jobz, const char* uplo, const int *n,
- double* a, const int * lda, double* w,
- double* work, const int * lwork, int* info );
-
- void LAPACK_CHEEV( const char* jobz, const char* uplo, const int *n,
- fcomplex_t* a, const int * lda, float* w,
- fcomplex_t* work, const int * lwork, float* rwork,
- int* info );
-
- void LAPACK_ZHEEV( const char* jobz, const char* uplo, const int *n,
- dcomplex_t* a, const int * lda, double* w,
- dcomplex_t* work, const int * lwork, double* rwork,
- int* info );
-
-
- void LAPACK_SSYEVD( const char* jobz, const char* uplo, const int* n,
- float* a, const int* lda, float* w,
- float* work, const int* lwork,
- int* iwork, const int* liwork, int* info);
-
- void LAPACK_DSYEVD( const char* jobz, const char* uplo, const int* n,
- double* a, const int* lda, double* w,
- double* work, const int* lwork,
- int* iwork, const int* liwork, int* info);
-
- void LAPACK_CHEEVD( const char* jobz, const char* uplo, const int* n,
- fcomplex_t* a, const int* lda, float* w,
- fcomplex_t* work, const int* lwork, float* rwork, const int* lrwork,
- int* iwork, const int* liwork, int* info);
-
- void LAPACK_ZHEEVD( const char* jobz, const char* uplo, const int* n,
- dcomplex_t* a, const int* lda, double* w,
- dcomplex_t* work, const int* lwork, double* rwork, const int* lrwork,
- int* iwork, const int* liwork, int* info);
-
-
- void LAPACK_SSYEVX( const char* jobz, const char* range, const char* uplo, const int* n,
- float* a, const int* lda, const float* vl, const float* vu, const int* il, const int* iu,
- const float* abstol, int* m, float* w, float* z, const int* ldz,
- float* work, const int* lwork,
- int* iwork, int* ifail, int* info);
-
- void LAPACK_DSYEVX( const char* jobz, const char* range, const char* uplo, const int* n,
- double* a, const int* lda, const double* vl, const double* vu, const int* il, const int* iu,
- const double* abstol, int* m, double* w, double* z, const int* ldz,
- double* work, const int* lwork,
- int* iwork, int* ifail, int* info);
-
- void LAPACK_CHEEVX( const char* jobz, const char* range, const char* uplo, const int* n,
- fcomplex_t* a, const int* lda, const float* vl, const float* vu, const int* il, const int* iu,
- const float* abstol, int* m, float* w, fcomplex_t* z, const int* ldz,
- fcomplex_t* work, const int* lwork, float* rwork,
- int* iwork, int* ifail, int* info);
-
- void LAPACK_ZHEEVX( const char* jobz, const char* range, const char* uplo, const int* n,
- dcomplex_t* a, const int* lda, const double* vl, const double* vu, const int* il, const int* iu,
- const double* abstol, int* m, double* w, dcomplex_t* z, const int* ldz,
- dcomplex_t* work, const int* lwork, double* rwork,
- int* iwork, int* ifail, int* info);
-
-
- void LAPACK_CTREVC( const char* side, const char* howmny, const logical_t* select, const int *n,
- fcomplex_t* t, const int * ldt, fcomplex_t* vl, const int* ldvl,
- fcomplex_t* vr, const int * ldvr, const int * nm, int* m, fcomplex_t* work,
- float* rwork, int* info );
-
- void LAPACK_ZTREVC( const char* side, const char* howmny, const logical_t* select, const int *n,
- dcomplex_t* t, const int * ldt, dcomplex_t* vl, const int* ldvl,
- dcomplex_t* vr, const int * ldvr, const int * nm, int* m, dcomplex_t* work,
- double* rwork, int* info );
-
- void LAPACK_STREVC( const char* side, const char* howmny, const logical_t* select, const int *n,
- float* t, const int * ldt, float* vl, const int* ldvl,
- float* vr, const int * ldvr, const int * nm, int* m, float* work,
- int* info );
-
- void LAPACK_DTREVC( const char* side, const char* howmny, const logical_t* select, const int *n,
- double* t, const int * ldt, double* vl, const int* ldvl,
- double* vr, const int * ldvr, const int * nm, int* m, double* work,
- int* info );
-
-
- void LAPACK_STREXC( const char* compq, const int *n,
- float* t, const int * ldt, float* q, const int* ldq,
- int* ifst, const int * ilst, float* work, int* info );
-
- void LAPACK_DTREXC( const char* compq, const int *n,
- double* t, const int * ldt, double* q, const int* ldq,
- int* ifst, const int * ilst, double* work, int* info );
-
- void LAPACK_CTREXC( const char* compq, const int *n,
- fcomplex_t* t, const int * ldt, fcomplex_t* q, const int* ldq,
- int* ifst, const int * ilst, int* info );
-
- void LAPACK_ZTREXC( const char* compq, const int *n,
- dcomplex_t* t, const int * ldt, dcomplex_t* q, const int* ldq,
- int* ifst, const int * ilst, int* info );
+ void LAPACK_SGEES (const char* jobvs, const char* sort, logical_t* select, const integer_t* n,
+ float* a, const integer_t * lda, const integer_t* sdim, float* wr, float* wi,
+ float* vs, const integer_t * ldvs, float* work, const integer_t * lwork,
+ bool* bwork, integer_t* info);
+
+ void LAPACK_DGEES (const char* jobvs, const char* sort, logical_t* select, const integer_t* n,
+ double* a, const integer_t * lda, const integer_t* sdim, double* wr, double* wi,
+ double* vs, const integer_t * ldvs, double* work, const integer_t * lwork,
+ bool* bwork, integer_t* info);
+
+ void LAPACK_CGEES( const char* jobvs, const char* sort, logical_t* select, const integer_t *n,
+ fcomplex_t* a, const integer_t * lda, integer_t * sdim, fcomplex_t* w, fcomplex_t* vs,
+ const integer_t * ldvs, fcomplex_t* work, const integer_t * lwork, float* rwork,
+ bool* bwork, integer_t* info );
+
+ void LAPACK_ZGEES( const char* jobvs, const char* sort, const logical_t* select, const integer_t *n,
+ dcomplex_t* a, const integer_t * lda, integer_t * sdim, dcomplex_t* w, dcomplex_t* vs,
+ const integer_t * ldvs, dcomplex_t* work, const integer_t * lwork, double* rwork,
+ bool* bwork, integer_t* info );
+
+
+ void LAPACK_SGEEV( const char* jobvl, const char* jobvr, const integer_t* n, float* a,
+ const integer_t* lda, float* wr, float* wi, float* vl, const integer_t* ldvl,
+ float* vr, const integer_t* ldvr, float* work, const integer_t* lwork, integer_t* info );
+
+ void LAPACK_DGEEV( const char* jobvl, const char* jobvr, const integer_t* n, double* a,
+ const integer_t* lda, double* wr, double* wi, double* vl, const integer_t* ldvl,
+ double* vr, const integer_t* ldvr, double* work, const integer_t* lwork, integer_t* info );
+
+ void LAPACK_CGEEV( const char* jobvl, const char* jobvr, const integer_t* n, fcomplex_t* a,
+ const integer_t* lda, fcomplex_t* w, fcomplex_t* vl, const integer_t* ldvl,
+ fcomplex_t* vr, const integer_t* ldvr, fcomplex_t* work, const integer_t* lwork,
+ float* rwork, integer_t* info );
+
+ void LAPACK_ZGEEV( const char* jobvl, const char* jobvr, const integer_t* n, dcomplex_t* a,
+ const integer_t* lda, dcomplex_t* w, dcomplex_t* vl, const integer_t* ldvl,
+ dcomplex_t* vr, const integer_t* ldvr, dcomplex_t* work, const integer_t* lwork,
+ double* rwork, integer_t* info );
+
+
+ void LAPACK_SSYEV( const char* jobz, const char* uplo, const integer_t *n,
+ float* a, const integer_t * lda, float* w,
+ float* work, const integer_t * lwork, integer_t* info );
+
+ void LAPACK_DSYEV( const char* jobz, const char* uplo, const integer_t *n,
+ double* a, const integer_t * lda, double* w,
+ double* work, const integer_t * lwork, integer_t* info );
+
+ void LAPACK_CHEEV( const char* jobz, const char* uplo, const integer_t *n,
+ fcomplex_t* a, const integer_t * lda, float* w,
+ fcomplex_t* work, const integer_t * lwork, float* rwork,
+ integer_t* info );
+
+ void LAPACK_ZHEEV( const char* jobz, const char* uplo, const integer_t *n,
+ dcomplex_t* a, const integer_t * lda, double* w,
+ dcomplex_t* work, const integer_t * lwork, double* rwork,
+ integer_t* info );
+
+
+ void LAPACK_SSYEVD( const char* jobz, const char* uplo, const integer_t* n,
+ float* a, const integer_t* lda, float* w,
+ float* work, const integer_t* lwork,
+ integer_t* iwork, const integer_t* liwork, integer_t* info);
+
+ void LAPACK_DSYEVD( const char* jobz, const char* uplo, const integer_t* n,
+ double* a, const integer_t* lda, double* w,
+ double* work, const integer_t* lwork,
+ integer_t* iwork, const integer_t* liwork, integer_t* info);
+
+ void LAPACK_CHEEVD( const char* jobz, const char* uplo, const integer_t* n,
+ fcomplex_t* a, const integer_t* lda, float* w,
+ fcomplex_t* work, const integer_t* lwork, float* rwork, const integer_t* lrwork,
+ integer_t* iwork, const integer_t* liwork, integer_t* info);
+
+ void LAPACK_ZHEEVD( const char* jobz, const char* uplo, const integer_t* n,
+ dcomplex_t* a, const integer_t* lda, double* w,
+ dcomplex_t* work, const integer_t* lwork, double* rwork, const integer_t* lrwork,
+ integer_t* iwork, const integer_t* liwork, integer_t* info);
+
+
+ void LAPACK_SSYEVX( const char* jobz, const char* range, const char* uplo, const integer_t* n,
+ float* a, const integer_t* lda, const float* vl, const float* vu, const integer_t* il, const integer_t* iu,
+ const float* abstol, integer_t* m, float* w, float* z, const integer_t* ldz,
+ float* work, const integer_t* lwork,
+ integer_t* iwork, integer_t* ifail, integer_t* info);
+
+ void LAPACK_DSYEVX( const char* jobz, const char* range, const char* uplo, const integer_t* n,
+ double* a, const integer_t* lda, const double* vl, const double* vu, const integer_t* il, const integer_t* iu,
+ const double* abstol, integer_t* m, double* w, double* z, const integer_t* ldz,
+ double* work, const integer_t* lwork,
+ integer_t* iwork, integer_t* ifail, integer_t* info);
+
+ void LAPACK_CHEEVX( const char* jobz, const char* range, const char* uplo, const integer_t* n,
+ fcomplex_t* a, const integer_t* lda, const float* vl, const float* vu, const integer_t* il, const integer_t* iu,
+ const float* abstol, integer_t* m, float* w, fcomplex_t* z, const integer_t* ldz,
+ fcomplex_t* work, const integer_t* lwork, float* rwork,
+ integer_t* iwork, integer_t* ifail, integer_t* info);
+
+ void LAPACK_ZHEEVX( const char* jobz, const char* range, const char* uplo, const integer_t* n,
+ dcomplex_t* a, const integer_t* lda, const double* vl, const double* vu, const integer_t* il, const integer_t* iu,
+ const double* abstol, integer_t* m, double* w, dcomplex_t* z, const integer_t* ldz,
+ dcomplex_t* work, const integer_t* lwork, double* rwork,
+ integer_t* iwork, integer_t* ifail, integer_t* info);
+
+
+ void LAPACK_CTREVC( const char* side, const char* howmny, const logical_t* select, const integer_t *n,
+ fcomplex_t* t, const integer_t * ldt, fcomplex_t* vl, const integer_t* ldvl,
+ fcomplex_t* vr, const integer_t * ldvr, const integer_t * nm, integer_t* m, fcomplex_t* work,
+ float* rwork, integer_t* info );
+
+ void LAPACK_ZTREVC( const char* side, const char* howmny, const logical_t* select, const integer_t *n,
+ dcomplex_t* t, const integer_t * ldt, dcomplex_t* vl, const integer_t* ldvl,
+ dcomplex_t* vr, const integer_t * ldvr, const integer_t * nm, integer_t* m, dcomplex_t* work,
+ double* rwork, integer_t* info );
+
+ void LAPACK_STREVC( const char* side, const char* howmny, const logical_t* select, const integer_t *n,
+ float* t, const integer_t * ldt, float* vl, const integer_t* ldvl,
+ float* vr, const integer_t * ldvr, const integer_t * nm, integer_t* m, float* work,
+ integer_t* info );
+
+ void LAPACK_DTREVC( const char* side, const char* howmny, const logical_t* select, const integer_t *n,
+ double* t, const integer_t * ldt, double* vl, const integer_t* ldvl,
+ double* vr, const integer_t * ldvr, const integer_t * nm, integer_t* m, double* work,
+ integer_t* info );
+
+
+ void LAPACK_STREXC( const char* compq, const integer_t *n,
+ float* t, const integer_t * ldt, float* q, const integer_t* ldq,
+ integer_t* ifst, const integer_t * ilst, float* work, integer_t* info );
+
+ void LAPACK_DTREXC( const char* compq, const integer_t *n,
+ double* t, const integer_t * ldt, double* q, const integer_t* ldq,
+ integer_t* ifst, const integer_t * ilst, double* work, integer_t* info );
+
+ void LAPACK_CTREXC( const char* compq, const integer_t *n,
+ fcomplex_t* t, const integer_t * ldt, fcomplex_t* q, const integer_t* ldq,
+ integer_t* ifst, const integer_t * ilst, integer_t* info );
+
+ void LAPACK_ZTREXC( const char* compq, const integer_t *n,
+ dcomplex_t* t, const integer_t * ldt, dcomplex_t* q, const integer_t* ldq,
+ integer_t* ifst, const integer_t * ilst, integer_t* info );
 
 
   /* Hessenberg matrices */
 
- void LAPACK_SHSEQR( const char* JOB, const char* COMPZ, const int* N, const int* ILO, const int* IHI, float* H,
- const int* LDH, float* WR, float* WI, float* Z, int const* LDZ,
- float* WORK, const int* LWORK, int* INFO ) ;
-
- void LAPACK_CHSEQR( const char* JOB, const char* COMPZ, const int* N, const int* ILO, const int* IHI, fcomplex_t* H,
- const int* LDH, fcomplex_t* W, fcomplex_t* Z, int const* LDZ,
- fcomplex_t* WORK, const int* LWORK, int* INFO ) ;
-
- void LAPACK_DHSEQR( const char* JOB, const char* COMPZ, const int* N, const int* ILO, const int* IHI, double* H,
- const int* LDH, double* WR, double* WI, double* Z, int const* LDZ,
- double* WORK, const int* LWORK, int* INFO ) ;
-
- void LAPACK_ZHSEQR( const char* JOB, const char* COMPZ, const int* N, const int* ILO, const int* IHI, dcomplex_t* H,
- const int* LDH, dcomplex_t* W, dcomplex_t* Z, int const* LDZ,
- dcomplex_t* WORK, const int* LWORK, int* INFO ) ;
+ void LAPACK_SHSEQR( const char* JOB, const char* COMPZ, const integer_t* N, const integer_t* ILO, const integer_t* IHI, float* H,
+ const integer_t* LDH, float* WR, float* WI, float* Z, integer_t const* LDZ,
+ float* WORK, const integer_t* LWORK, integer_t* INFO ) ;
+
+ void LAPACK_CHSEQR( const char* JOB, const char* COMPZ, const integer_t* N, const integer_t* ILO, const integer_t* IHI, fcomplex_t* H,
+ const integer_t* LDH, fcomplex_t* W, fcomplex_t* Z, integer_t const* LDZ,
+ fcomplex_t* WORK, const integer_t* LWORK, integer_t* INFO ) ;
+
+ void LAPACK_DHSEQR( const char* JOB, const char* COMPZ, const integer_t* N, const integer_t* ILO, const integer_t* IHI, double* H,
+ const integer_t* LDH, double* WR, double* WI, double* Z, integer_t const* LDZ,
+ double* WORK, const integer_t* LWORK, integer_t* INFO ) ;
+
+ void LAPACK_ZHSEQR( const char* JOB, const char* COMPZ, const integer_t* N, const integer_t* ILO, const integer_t* IHI, dcomplex_t* H,
+ const integer_t* LDH, dcomplex_t* W, dcomplex_t* Z, integer_t const* LDZ,
+ dcomplex_t* WORK, const integer_t* LWORK, integer_t* INFO ) ;
 
   /* Hermitian tridiagonal matrices */
   
- void LAPACK_SSTEQR( char const* compz, int const* n, float* d, float* E, float* z, int const* ldz, float* work, int* info ) ;
- void LAPACK_DSTEQR( char const* compz, int const* n, double* d, double* E, double* z, int const* ldz, double* work, int* info ) ;
+ void LAPACK_SSTEQR( char const* compz, integer_t const* n, float* d, float* E, float* z, integer_t const* ldz, float* work, integer_t* info ) ;
+ void LAPACK_DSTEQR( char const* compz, integer_t const* n, double* d, double* E, double* z, integer_t const* ldz, double* work, integer_t* info ) ;
 
   /* Hermitian banded matrices */
   
- void LAPACK_SSBEV( char const* jobz, char const* uplo, int const* n,
- int const* kd, float* ab, int const* ldab, float* w,
- float* z, int const* ldz, float* work, int* info );
-
- void LAPACK_DSBEV( char const* jobz, char const* uplo, int const* n,
- int const* kd, double* ab, int const* ldab, double* w,
- double* z, int const* ldz, double* work, int* info );
-
- void LAPACK_CHBEV( char const* jobz, char const* uplo, int const* n,
- int const* kd, fcomplex_t* ab, int const* ldab, float* w,
- fcomplex_t* z, int const* ldz, fcomplex_t* work,
- float* rwork, int* info );
-
- void LAPACK_ZHBEV( char const* jobz, char const* uplo, int const* n,
- int const* kd, dcomplex_t* ab, int const* ldab, double* w,
- dcomplex_t* z, int const* ldz, dcomplex_t* work,
- double* rwork, int* info );
-
-
- void LAPACK_SSBEVX( char const* jobz, char const* range, char const* uplo, int const* n,
- int const* kd, float* ab, int const* ldab, float* q, int const* ldq,
- const float* vl, const float* vu, const int* il, const int* iu,
- const float* abstol, int* m,
- float* w, float* z, int const* ldz, float* work,
- int* iwork, int* ifail, int* info );
-
- void LAPACK_DSBEVX( char const* jobz, char const* range, char const* uplo, int const* n,
- int const* kd, double* ab, int const* ldab, double* q, int const* ldq,
- const double* vl, const double* vu, const int* il, const int* iu,
- const double* abstol, int* m,
- double* w, double* z, int const* ldz, double* work,
- int* iwork, int* ifail, int* info );
-
- void LAPACK_CHBEVX( char const* jobz, char const* range, char const* uplo, int const* n,
- int const* kd, fcomplex_t* ab, int const* ldab, fcomplex_t* q, int const* ldq,
- const float* vl, const float* vu, const int* il, const int* iu,
- const float* abstol, int* m,
- float* w, fcomplex_t* z, int const* ldz, fcomplex_t* work, float* rwork,
- int* iwork, int* ifail, int* info );
-
- void LAPACK_ZHBEVX( char const* jobz, char const* range, char const* uplo, int const* n,
- int const* kd, dcomplex_t* ab, int const* ldab, dcomplex_t* q, int const* ldq,
- const double* vl, const double* vu, const int* il, const int* iu,
- const double* abstol, int* m,
- double* w, dcomplex_t* z, int const* ldz, dcomplex_t* work, double* rwork,
- int* iwork, int* ifail, int* info );
+ void LAPACK_SSBEV( char const* jobz, char const* uplo, integer_t const* n,
+ integer_t const* kd, float* ab, integer_t const* ldab, float* w,
+ float* z, integer_t const* ldz, float* work, integer_t* info );
+
+ void LAPACK_DSBEV( char const* jobz, char const* uplo, integer_t const* n,
+ integer_t const* kd, double* ab, integer_t const* ldab, double* w,
+ double* z, integer_t const* ldz, double* work, integer_t* info );
+
+ void LAPACK_CHBEV( char const* jobz, char const* uplo, integer_t const* n,
+ integer_t const* kd, fcomplex_t* ab, integer_t const* ldab, float* w,
+ fcomplex_t* z, integer_t const* ldz, fcomplex_t* work,
+ float* rwork, integer_t* info );
+
+ void LAPACK_ZHBEV( char const* jobz, char const* uplo, integer_t const* n,
+ integer_t const* kd, dcomplex_t* ab, integer_t const* ldab, double* w,
+ dcomplex_t* z, integer_t const* ldz, dcomplex_t* work,
+ double* rwork, integer_t* info );
+
+
+ void LAPACK_SSBEVX( char const* jobz, char const* range, char const* uplo, integer_t const* n,
+ integer_t const* kd, float* ab, integer_t const* ldab, float* q, integer_t const* ldq,
+ const float* vl, const float* vu, const integer_t* il, const integer_t* iu,
+ const float* abstol, integer_t* m,
+ float* w, float* z, integer_t const* ldz, float* work,
+ integer_t* iwork, integer_t* ifail, integer_t* info );
+
+ void LAPACK_DSBEVX( char const* jobz, char const* range, char const* uplo, integer_t const* n,
+ integer_t const* kd, double* ab, integer_t const* ldab, double* q, integer_t const* ldq,
+ const double* vl, const double* vu, const integer_t* il, const integer_t* iu,
+ const double* abstol, integer_t* m,
+ double* w, double* z, integer_t const* ldz, double* work,
+ integer_t* iwork, integer_t* ifail, integer_t* info );
+
+ void LAPACK_CHBEVX( char const* jobz, char const* range, char const* uplo, integer_t const* n,
+ integer_t const* kd, fcomplex_t* ab, integer_t const* ldab, fcomplex_t* q, integer_t const* ldq,
+ const float* vl, const float* vu, const integer_t* il, const integer_t* iu,
+ const float* abstol, integer_t* m,
+ float* w, fcomplex_t* z, integer_t const* ldz, fcomplex_t* work, float* rwork,
+ integer_t* iwork, integer_t* ifail, integer_t* info );
+
+ void LAPACK_ZHBEVX( char const* jobz, char const* range, char const* uplo, integer_t const* n,
+ integer_t const* kd, dcomplex_t* ab, integer_t const* ldab, dcomplex_t* q, integer_t const* ldq,
+ const double* vl, const double* vu, const integer_t* il, const integer_t* iu,
+ const double* abstol, integer_t* m,
+ double* w, dcomplex_t* z, integer_t const* ldz, dcomplex_t* work, double* rwork,
+ integer_t* iwork, integer_t* ifail, integer_t* info );
 
 
   /*********************************************************************/
   /* Auxiliary routines for eigenvalue problems */
   /*********************************************************************/
 
- void LAPACK_SSYTRD( char const* uplo, int const* n, float* a, int const* lda, float* d,
- float* e, float* tau, float* work, int const* lwork, int* INFO ) ;
+ void LAPACK_SSYTRD( char const* uplo, integer_t const* n, float* a, integer_t const* lda, float* d,
+ float* e, float* tau, float* work, integer_t const* lwork, integer_t* INFO ) ;
 
- void LAPACK_DSYTRD( char const* uplo, int const* n, double* a, int const* lda, double* d,
- double* e, double* tau, double* work, int const* lwork, int* INFO ) ;
+ void LAPACK_DSYTRD( char const* uplo, integer_t const* n, double* a, integer_t const* lda, double* d,
+ double* e, double* tau, double* work, integer_t const* lwork, integer_t* INFO ) ;
 
 
   /**********************************************************************/
   /* generalized eigenvalue / eigenvector */
   /**********************************************************************/
 
- void LAPACK_SSYGV(int const* itype, char const* jobz, char const* uplo, int const* n,
- float* a, int const* lda, float* b, int const* ldb,
- float* w, float* work, int const* lwork, int* info);
-
- void LAPACK_DSYGV(int const* itype, char const* jobz, char const* uplo, int const* n,
- double* a, int const* lda, double* b, int const* ldb,
- double* w, double* work, int const* lwork, int* info);
-
- void LAPACK_CHEGV(int const* itype, char const* jobz, char const* uplo, int const* n,
- fcomplex_t* a, int const* lda, fcomplex_t* b, int const* ldb,
- float* w, fcomplex_t* work, int const* lwork, float* rwork, int* info);
-
- void LAPACK_ZHEGV(int const *itype, char const* jobz, char const *uplo, int const * n,
- dcomplex_t *a, int const *lda, dcomplex_t *b, int const *ldb,
- double *w, dcomplex_t *work, int const *lwork, double* rwork, int* info);
+ void LAPACK_SSYGV(integer_t const* itype, char const* jobz, char const* uplo, integer_t const* n,
+ float* a, integer_t const* lda, float* b, integer_t const* ldb,
+ float* w, float* work, integer_t const* lwork, integer_t* info);
+
+ void LAPACK_DSYGV(integer_t const* itype, char const* jobz, char const* uplo, integer_t const* n,
+ double* a, integer_t const* lda, double* b, integer_t const* ldb,
+ double* w, double* work, integer_t const* lwork, integer_t* info);
+
+ void LAPACK_CHEGV(integer_t const* itype, char const* jobz, char const* uplo, integer_t const* n,
+ fcomplex_t* a, integer_t const* lda, fcomplex_t* b, integer_t const* ldb,
+ float* w, fcomplex_t* work, integer_t const* lwork, float* rwork, integer_t* info);
+
+ void LAPACK_ZHEGV(integer_t const *itype, char const* jobz, char const *uplo, integer_t const * n,
+ dcomplex_t *a, integer_t const *lda, dcomplex_t *b, integer_t const *ldb,
+ double *w, dcomplex_t *work, integer_t const *lwork, double* rwork, integer_t* info);
 
 
   /*********************************************************************/
@@ -613,160 +613,160 @@
   /*********************************************************************/
 
   void LAPACK_SGESVD (char const* jobu, char const* jobvt,
- int const* m, int const* n, float* a, int const* lda,
- float* s, float* u, int const* ldu,
- float* vt, int const* ldvt,
- float* work, int const* lwork, int* info);
+ integer_t const* m, integer_t const* n, float* a, integer_t const* lda,
+ float* s, float* u, integer_t const* ldu,
+ float* vt, integer_t const* ldvt,
+ float* work, integer_t const* lwork, integer_t* info);
   void LAPACK_DGESVD (char const* jobu, char const* jobvt,
- int const* m, int const* n, double* a, int const* lda,
- double* s, double* u, int const* ldu,
- double* vt, int const* ldvt,
- double* work, int const* lwork, int* info);
+ integer_t const* m, integer_t const* n, double* a, integer_t const* lda,
+ double* s, double* u, integer_t const* ldu,
+ double* vt, integer_t const* ldvt,
+ double* work, integer_t const* lwork, integer_t* info);
   void LAPACK_CGESVD (char const* jobu, char const* jobvt,
- int const* m, int const* n,
- fcomplex_t* a, int const* lda,
- float* s, fcomplex_t* u, int const* ldu,
- fcomplex_t* vt, int const* ldvt,
- fcomplex_t* work, int const* lwork,
- float* rwork, int* info);
+ integer_t const* m, integer_t const* n,
+ fcomplex_t* a, integer_t const* lda,
+ float* s, fcomplex_t* u, integer_t const* ldu,
+ fcomplex_t* vt, integer_t const* ldvt,
+ fcomplex_t* work, integer_t const* lwork,
+ float* rwork, integer_t* info);
   void LAPACK_ZGESVD (char const* jobu, char const* jobvt,
- int const* m, int const* n,
- dcomplex_t* a, int const* lda,
- double* s, dcomplex_t* u, int const* ldu,
- dcomplex_t* vt, int const* ldvt,
- dcomplex_t* work, int const* lwork,
- double* rwork, int* info);
-
- void LAPACK_SGESDD (char const* jobz, int const* m, int const* n,
- float* a, int const* lda,
- float* s, float* u, int const* ldu,
- float* vt, int const* ldvt,
- float* work, int const* lwork, int* iwork, int* info);
- void LAPACK_DGESDD (char const* jobz, int const* m, int const* n,
- double* a, int const* lda,
- double* s, double* u, int const* ldu,
- double* vt, int const* ldvt,
- double* work, int const* lwork, int* iwork, int* info);
- void LAPACK_CGESDD (char const* jobz, int const* m, int const* n,
- fcomplex_t* a, int const* lda,
- float* s, fcomplex_t* u, int const* ldu,
- fcomplex_t* vt, int const* ldvt,
- fcomplex_t* work, int const* lwork,
- float* rwork, int* iwork, int* info);
- void LAPACK_ZGESDD (char const* jobz, int const* m, int const* n,
- dcomplex_t* a, int const* lda,
- double* s, dcomplex_t* u, int const* ldu,
- dcomplex_t* vt, int const* ldvt,
- dcomplex_t* work, int const* lwork,
- double* rwork, int* iwork, int* info);
+ integer_t const* m, integer_t const* n,
+ dcomplex_t* a, integer_t const* lda,
+ double* s, dcomplex_t* u, integer_t const* ldu,
+ dcomplex_t* vt, integer_t const* ldvt,
+ dcomplex_t* work, integer_t const* lwork,
+ double* rwork, integer_t* info);
+
+ void LAPACK_SGESDD (char const* jobz, integer_t const* m, integer_t const* n,
+ float* a, integer_t const* lda,
+ float* s, float* u, integer_t const* ldu,
+ float* vt, integer_t const* ldvt,
+ float* work, integer_t const* lwork, integer_t* iwork, integer_t* info);
+ void LAPACK_DGESDD (char const* jobz, integer_t const* m, integer_t const* n,
+ double* a, integer_t const* lda,
+ double* s, double* u, integer_t const* ldu,
+ double* vt, integer_t const* ldvt,
+ double* work, integer_t const* lwork, integer_t* iwork, integer_t* info);
+ void LAPACK_CGESDD (char const* jobz, integer_t const* m, integer_t const* n,
+ fcomplex_t* a, integer_t const* lda,
+ float* s, fcomplex_t* u, integer_t const* ldu,
+ fcomplex_t* vt, integer_t const* ldvt,
+ fcomplex_t* work, integer_t const* lwork,
+ float* rwork, integer_t* iwork, integer_t* info);
+ void LAPACK_ZGESDD (char const* jobz, integer_t const* m, integer_t const* n,
+ dcomplex_t* a, integer_t const* lda,
+ double* s, dcomplex_t* u, integer_t const* ldu,
+ dcomplex_t* vt, integer_t const* ldvt,
+ dcomplex_t* work, integer_t const* lwork,
+ double* rwork, integer_t* iwork, integer_t* info);
 
 
   /*********************************************************************/
   /* QR factorization */
   /*********************************************************************/
 
- void LAPACK_SGEQRF( const int* m, const int* n, float* a, const int* lda,
- float* tau, float* work, const int* lwork, int* info );
- void LAPACK_DGEQRF( const int* m, const int* n, double* a, const int* lda,
- double* tau, double* work, const int* lwork, int* info );
- void LAPACK_CGEQRF( const int* m, const int* n, fcomplex_t* a, const int* lda,
- fcomplex_t* tau, fcomplex_t* work, const int* lwork, int* info );
- void LAPACK_ZGEQRF( const int* m, const int* n, dcomplex_t* a, const int* lda,
- dcomplex_t* tau, dcomplex_t* work, const int* lwork, int* info );
+ void LAPACK_SGEQRF( const integer_t* m, const integer_t* n, float* a, const integer_t* lda,
+ float* tau, float* work, const integer_t* lwork, integer_t* info );
+ void LAPACK_DGEQRF( const integer_t* m, const integer_t* n, double* a, const integer_t* lda,
+ double* tau, double* work, const integer_t* lwork, integer_t* info );
+ void LAPACK_CGEQRF( const integer_t* m, const integer_t* n, fcomplex_t* a, const integer_t* lda,
+ fcomplex_t* tau, fcomplex_t* work, const integer_t* lwork, integer_t* info );
+ void LAPACK_ZGEQRF( const integer_t* m, const integer_t* n, dcomplex_t* a, const integer_t* lda,
+ dcomplex_t* tau, dcomplex_t* work, const integer_t* lwork, integer_t* info );
 
 
 
- void LAPACK_SORMQR( const char* side, const char* trans, const int* m,
- const int* n, const int* k, const float* a,
- const int* lda, const float* tau,
- float* c, const int* ldc, float* work,
- const int* lwork, int* info );
- void LAPACK_DORMQR( const char* side, const char* trans, const int* m,
- const int* n, const int* k, const double* a,
- const int* lda, const double* tau,
- double* c, const int* ldc, double* work,
- const int* lwork, int* info );
- void LAPACK_CUNMQR( const char* side, const char* trans, const int* m,
- const int* n, const int* k, const fcomplex_t* a,
- const int* lda, const fcomplex_t* tau,
- fcomplex_t* c, const int* ldc, fcomplex_t* work,
- const int* lwork, int* info );
- void LAPACK_ZUNMQR( const char* side, const char* trans, const int* m,
- const int* n, const int* k, const dcomplex_t* a,
- const int* lda, const dcomplex_t* tau,
- dcomplex_t* c, const int* ldc, dcomplex_t* work,
- const int* lwork, int* info );
-
- void LAPACK_SORGQR( const int* m, const int* n, const int* k,
- float* a, const int* lda, float* tau,
- float* work, const int* lwork, const int* info);
- void LAPACK_DORGQR( const int* m, const int* n, const int* k,
- double* a, const int* lda, double* tau,
- double* work, const int* lwork, const int* info);
- void LAPACK_CUNGQR( const int* m, const int* n, const int* k,
- fcomplex_t* a, const int* lda, fcomplex_t* tau,
- fcomplex_t* work, const int* lwork, const int* info);
- void LAPACK_ZUNGQR( const int* m, const int* n, const int* k,
- dcomplex_t* a, const int* lda, dcomplex_t* tau,
- dcomplex_t* work, const int* lwork, const int* info);
+ void LAPACK_SORMQR( const char* side, const char* trans, const integer_t* m,
+ const integer_t* n, const integer_t* k, const float* a,
+ const integer_t* lda, const float* tau,
+ float* c, const integer_t* ldc, float* work,
+ const integer_t* lwork, integer_t* info );
+ void LAPACK_DORMQR( const char* side, const char* trans, const integer_t* m,
+ const integer_t* n, const integer_t* k, const double* a,
+ const integer_t* lda, const double* tau,
+ double* c, const integer_t* ldc, double* work,
+ const integer_t* lwork, integer_t* info );
+ void LAPACK_CUNMQR( const char* side, const char* trans, const integer_t* m,
+ const integer_t* n, const integer_t* k, const fcomplex_t* a,
+ const integer_t* lda, const fcomplex_t* tau,
+ fcomplex_t* c, const integer_t* ldc, fcomplex_t* work,
+ const integer_t* lwork, integer_t* info );
+ void LAPACK_ZUNMQR( const char* side, const char* trans, const integer_t* m,
+ const integer_t* n, const integer_t* k, const dcomplex_t* a,
+ const integer_t* lda, const dcomplex_t* tau,
+ dcomplex_t* c, const integer_t* ldc, dcomplex_t* work,
+ const integer_t* lwork, integer_t* info );
+
+ void LAPACK_SORGQR( const integer_t* m, const integer_t* n, const integer_t* k,
+ float* a, const integer_t* lda, float* tau,
+ float* work, const integer_t* lwork, const integer_t* info);
+ void LAPACK_DORGQR( const integer_t* m, const integer_t* n, const integer_t* k,
+ double* a, const integer_t* lda, double* tau,
+ double* work, const integer_t* lwork, const integer_t* info);
+ void LAPACK_CUNGQR( const integer_t* m, const integer_t* n, const integer_t* k,
+ fcomplex_t* a, const integer_t* lda, fcomplex_t* tau,
+ fcomplex_t* work, const integer_t* lwork, const integer_t* info);
+ void LAPACK_ZUNGQR( const integer_t* m, const integer_t* n, const integer_t* k,
+ dcomplex_t* a, const integer_t* lda, dcomplex_t* tau,
+ dcomplex_t* work, const integer_t* lwork, const integer_t* info);
 
 
   /********************************************************************/
   /* Least Squares */
   /********************************************************************/
 
- void LAPACK_SGELS(const char* trans, const int* m, const int* n,
- const int *nrhs, float* a, const int* lda,
- float* b, const int* ldb, float* work,
- const int* lwork, int* info);
- void LAPACK_DGELS(const char* trans, const int* m, const int* n,
- const int *nrhs, double* a, const int* lda,
- double* b, const int* ldb, double* work,
- const int* lwork, int* info);
- void LAPACK_CGELS(const char* trans, const int* m, const int* n,
- const int *nrhs, fcomplex_t* a, const int* lda,
- fcomplex_t* b, const int* ldb, fcomplex_t* work,
- const int* lwork, int* info);
- void LAPACK_ZGELS(const char* trans, const int* m, const int* n,
- const int *nrhs, dcomplex_t* a, const int* lda,
- dcomplex_t* b, const int* ldb, dcomplex_t* work,
- const int* lwork, int* info);
-
-
- void LAPACK_SGELSS(const int *m, const int *n, const int *nrhs,
- float *a, const int *lda, float *b, const int *ldb,
- float *s, const float *rcond, int *rank, float *work,
- const int *lwork, int *info);
- void LAPACK_DGELSS(const int *m, const int *n, const int *nrhs,
- double *a, const int *lda, double *b, const int *ldb,
- double *s, const double *rcond, int *rank, double *work,
- const int *lwork, int *info);
- void LAPACK_CGELSS(const int *m, const int *n, const int *nrhs,
- fcomplex_t *a, const int *lda, fcomplex_t *b, const int *ldb,
- float *s, const float *rcond, int *rank, fcomplex_t *work,
- const int *lwork, float *rwork, int *info);
- void LAPACK_ZGELSS(const int *m, const int *n, const int *nrhs,
- dcomplex_t *a, const int *lda, dcomplex_t *b, const int *ldb,
- double *s, const double *rcond, int *rank, dcomplex_t *work,
- const int *lwork, double *rwork, int *info);
-
-
- void LAPACK_SGELSD(const int *m, const int *n, const int *nrhs,
- float *a, const int *lda, float *b, const int *ldb,
- float *s, const float *rcond, int *rank, float *work,
- const int *lwork, int *iwork, int *info);
- void LAPACK_DGELSD(const int *m, const int *n, const int *nrhs,
- double *a, const int *lda, double *b, const int *ldb,
- double *s, const double *rcond, int *rank, double *work,
- const int *lwork, int *iwork, int *info);
- void LAPACK_CGELSD(const int *m, const int *n, const int *nrhs,
- fcomplex_t *a, const int *lda, fcomplex_t *b, const int *ldb,
- float *s, const float *rcond, int *rank, fcomplex_t *work,
- const int *lwork, float *rwork, int *iwork, int *info);
- void LAPACK_ZGELSD(const int *m, const int *n, const int *nrhs,
- dcomplex_t *a, const int *lda, dcomplex_t *b, const int *ldb,
- double *s, const double *rcond, int *rank, dcomplex_t *work,
- const int *lwork, double *rwork, int *iwork, int *info);
+ void LAPACK_SGELS(const char* trans, const integer_t* m, const integer_t* n,
+ const integer_t *nrhs, float* a, const integer_t* lda,
+ float* b, const integer_t* ldb, float* work,
+ const integer_t* lwork, integer_t* info);
+ void LAPACK_DGELS(const char* trans, const integer_t* m, const integer_t* n,
+ const integer_t *nrhs, double* a, const integer_t* lda,
+ double* b, const integer_t* ldb, double* work,
+ const integer_t* lwork, integer_t* info);
+ void LAPACK_CGELS(const char* trans, const integer_t* m, const integer_t* n,
+ const integer_t *nrhs, fcomplex_t* a, const integer_t* lda,
+ fcomplex_t* b, const integer_t* ldb, fcomplex_t* work,
+ const integer_t* lwork, integer_t* info);
+ void LAPACK_ZGELS(const char* trans, const integer_t* m, const integer_t* n,
+ const integer_t *nrhs, dcomplex_t* a, const integer_t* lda,
+ dcomplex_t* b, const integer_t* ldb, dcomplex_t* work,
+ const integer_t* lwork, integer_t* info);
+
+
+ void LAPACK_SGELSS(const integer_t *m, const integer_t *n, const integer_t *nrhs,
+ float *a, const integer_t *lda, float *b, const integer_t *ldb,
+ float *s, const float *rcond, integer_t *rank, float *work,
+ const integer_t *lwork, integer_t *info);
+ void LAPACK_DGELSS(const integer_t *m, const integer_t *n, const integer_t *nrhs,
+ double *a, const integer_t *lda, double *b, const integer_t *ldb,
+ double *s, const double *rcond, integer_t *rank, double *work,
+ const integer_t *lwork, integer_t *info);
+ void LAPACK_CGELSS(const integer_t *m, const integer_t *n, const integer_t *nrhs,
+ fcomplex_t *a, const integer_t *lda, fcomplex_t *b, const integer_t *ldb,
+ float *s, const float *rcond, integer_t *rank, fcomplex_t *work,
+ const integer_t *lwork, float *rwork, integer_t *info);
+ void LAPACK_ZGELSS(const integer_t *m, const integer_t *n, const integer_t *nrhs,
+ dcomplex_t *a, const integer_t *lda, dcomplex_t *b, const integer_t *ldb,
+ double *s, const double *rcond, integer_t *rank, dcomplex_t *work,
+ const integer_t *lwork, double *rwork, integer_t *info);
+
+
+ void LAPACK_SGELSD(const integer_t *m, const integer_t *n, const integer_t *nrhs,
+ float *a, const integer_t *lda, float *b, const integer_t *ldb,
+ float *s, const float *rcond, integer_t *rank, float *work,
+ const integer_t *lwork, integer_t *iwork, integer_t *info);
+ void LAPACK_DGELSD(const integer_t *m, const integer_t *n, const integer_t *nrhs,
+ double *a, const integer_t *lda, double *b, const integer_t *ldb,
+ double *s, const double *rcond, integer_t *rank, double *work,
+ const integer_t *lwork, integer_t *iwork, integer_t *info);
+ void LAPACK_CGELSD(const integer_t *m, const integer_t *n, const integer_t *nrhs,
+ fcomplex_t *a, const integer_t *lda, fcomplex_t *b, const integer_t *ldb,
+ float *s, const float *rcond, integer_t *rank, fcomplex_t *work,
+ const integer_t *lwork, float *rwork, integer_t *iwork, integer_t *info);
+ void LAPACK_ZGELSD(const integer_t *m, const integer_t *n, const integer_t *nrhs,
+ dcomplex_t *a, const integer_t *lda, dcomplex_t *b, const integer_t *ldb,
+ double *s, const double *rcond, integer_t *rank, dcomplex_t *work,
+ const integer_t *lwork, double *rwork, integer_t *iwork, integer_t *info);
 
 
 
@@ -774,9 +774,9 @@
   /* auxiliary */
   /********************************************************************/
 
- int LAPACK_ILAENV (int const* ispec, const char* name, const char* opt,
- int const* n1, int const* n2, int const* n3,
- int const* n4, int, int);
+ integer_t LAPACK_ILAENV (integer_t const* ispec, const char* name, const char* opt,
+ integer_t const* n1, integer_t const* n2, integer_t const* n3,
+ integer_t const* n4, integer_t, integer_t);
 
 }
 

Modified: sandbox/boost/numeric/bindings/lapack/orgqr.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/orgqr.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/orgqr.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -56,34 +56,34 @@
 
 
       inline
- void orgqr(int const m, int const n, int const k,
- float* a, int const lda,
- float* tau, float* work, int const lwork, int& info)
+ void orgqr(integer_t const m, integer_t const n, integer_t const k,
+ float* a, integer_t const lda,
+ float* tau, float* work, integer_t const lwork, integer_t& info)
       {
         LAPACK_SORGQR (&m, &n, &k, a, &lda, tau, work, &lwork, &info);
       }
 
       inline
- void orgqr(int const m, int const n, int const k,
- double* a, int const lda,
- double* tau, double* work, int const lwork, int& info)
+ void orgqr(integer_t const m, integer_t const n, integer_t const k,
+ double* a, integer_t const lda,
+ double* tau, double* work, integer_t const lwork, integer_t& info)
       {
         LAPACK_DORGQR (&m, &n, &k, a, &lda, tau, work, &lwork, &info);
       }
 
       inline
- void orgqr(int const m, int const n, int const k,
- traits::complex_f* a, int const lda,
- traits::complex_f* tau, traits::complex_f* work, int const lwork, int& info)
+ void orgqr(integer_t const m, integer_t const n, integer_t const k,
+ traits::complex_f* a, integer_t const lda,
+ traits::complex_f* tau, traits::complex_f* work, integer_t const lwork, integer_t& info)
       {
         LAPACK_CUNGQR (&m, &n, &k, traits::complex_ptr(a), &lda, traits::complex_ptr(tau),
                        traits::complex_ptr(work), &lwork, &info);
       }
 
       inline
- void orgqr(int const m, int const n, int const k,
- traits::complex_d* a, int const lda,
- traits::complex_d* tau, traits::complex_d* work, int const lwork, int& info)
+ void orgqr(integer_t const m, integer_t const n, integer_t const k,
+ traits::complex_d* a, integer_t const lda,
+ traits::complex_d* tau, traits::complex_d* work, integer_t const lwork, integer_t& info)
       {
         LAPACK_ZUNGQR (&m, &n, &k, traits::complex_ptr(a), &lda, traits::complex_ptr(tau),
                        traits::complex_ptr(work), &lwork, &info);
@@ -104,14 +104,14 @@
>::value));
 #endif
 
- const int m = traits::matrix_size1 (a);
- const int n = traits::matrix_size2 (a);
- const int k = n;
+ const integer_t m = traits::matrix_size1 (a);
+ const integer_t n = traits::matrix_size2 (a);
+ const integer_t k = n;
 
- assert (std::min<int>(m,n) <= traits::vector_size (tau));
+ assert (std::min<integer_t>(m,n) <= traits::vector_size (tau));
       assert (n <= traits::vector_size (work));
 
- int info;
+ integer_t info;
       detail::orgqr (m, n, k,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),
@@ -128,8 +128,8 @@
     template <typename A, typename Tau>
     int orgqr (A& a, Tau& tau, optimal_workspace ) {
        typedef typename A::value_type value_type ;
- const int n = traits::matrix_size2 (a);
- traits::detail::array<value_type> work(std::max<int>(1, n*32));
+ const std::ptrdiff_t n = traits::matrix_size2 (a);
+ traits::detail::array<value_type> work(std::max<std::ptrdiff_t>(1, n*32));
        return orgqr( a, tau, work );
 
     }
@@ -140,8 +140,8 @@
     template <typename A, typename Tau>
     int orgqr (A& a, Tau& tau, minimal_workspace ) {
        typedef typename A::value_type value_type ;
- const int n = traits::matrix_size2 (a);
- traits::detail::array<value_type> work(std::max<int>(1, n));
+ const std::ptrdiff_t n = traits::matrix_size2 (a);
+ traits::detail::array<value_type> work(std::max<std::ptrdiff_t>(1, n));
        return orgqr( a, tau, work );
     }
 
@@ -151,8 +151,8 @@
     template <typename A, typename Tau, typename Work>
     int orgqr (A& a, Tau& tau, detail::workspace1<Work> workspace ) {
        typedef typename A::value_type value_type ;
- const int n = traits::matrix_size2 (a);
- traits::detail::array<value_type> work(std::max<int>(1, n));
+ const std::ptrdiff_t n = traits::matrix_size2 (a);
+ traits::detail::array<value_type> work(std::max<std::ptrdiff_t>(1, n));
        return orgqr( a, tau, workspace.w_ );
     }
 

Modified: sandbox/boost/numeric/bindings/lapack/ormqr.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/ormqr.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/ormqr.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -65,11 +65,11 @@
     namespace detail {
 
       inline
- void ormqr (char const side, char const trans, int const m, int const n,
- int const k, const float* a, int const lda,
+ void ormqr (char const side, char const trans, integer_t const m, integer_t const n,
+ integer_t const k, const float* a, integer_t const lda,
                  const float* tau, float* c,
- int const ldc, float* work, int const lwork,
- int& info)
+ integer_t const ldc, float* work, integer_t const lwork,
+ integer_t& info)
       {
         assert ( trans=='N' || trans=='T' );
         LAPACK_SORMQR (&side, &trans, &m, &n, &k,
@@ -81,11 +81,11 @@
       }
 
       inline
- void ormqr (char const side, char const trans, int const m, int const n,
- int const k, const double* a, int const lda,
+ void ormqr (char const side, char const trans, integer_t const m, integer_t const n,
+ integer_t const k, const double* a, integer_t const lda,
                  const double* tau, double* c,
- int const ldc, double* work, int const lwork,
- int& info)
+ integer_t const ldc, double* work, integer_t const lwork,
+ integer_t& info)
       {
         assert ( trans=='N' || trans=='T' );
         LAPACK_DORMQR (&side, &trans, &m, &n, &k,
@@ -97,11 +97,11 @@
       }
 
       inline
- void ormqr (char const side, char const trans, int const m, int const n,
- int const k, const traits::complex_f* a, int const lda,
+ void ormqr (char const side, char const trans, integer_t const m, integer_t const n,
+ integer_t const k, const traits::complex_f* a, integer_t const lda,
                  const traits::complex_f* tau, traits::complex_f* c,
- int const ldc, traits::complex_f* work, int const lwork,
- int& info)
+ integer_t const ldc, traits::complex_f* work, integer_t const lwork,
+ integer_t& info)
       {
         assert ( trans=='N' || trans=='C' );
         LAPACK_CUNMQR (&side, &trans, &m, &n, &k,
@@ -113,11 +113,11 @@
       }
 
       inline
- void ormqr (char const side, char const trans, int const m, int const n,
- int const k, const traits::complex_d* a, int const lda,
+ void ormqr (char const side, char const trans, integer_t const m, integer_t const n,
+ integer_t const k, const traits::complex_d* a, integer_t const lda,
                  const traits::complex_d* tau, traits::complex_d* c,
- int const ldc, traits::complex_d* work, int const lwork,
- int& info)
+ integer_t const ldc, traits::complex_d* work, integer_t const lwork,
+ integer_t& info)
       {
         assert ( trans=='N' || trans=='C' );
         LAPACK_ZUNMQR (&side, &trans, &m, &n, &k,
@@ -144,10 +144,10 @@
>::value));
 #endif
 
- int const m = traits::matrix_size1 (c);
- int const n = traits::matrix_size2 (c);
- int const k = traits::vector_size (tau);
- int const lwork = traits::vector_size (work);
+ integer_t const m = traits::matrix_size1 (c);
+ integer_t const n = traits::matrix_size2 (c);
+ integer_t const k = traits::vector_size (tau);
+ integer_t const lwork = traits::vector_size (work);
 
         assert ( side=='L' || side=='R' );
         assert ( (side=='L' ? m >= k : n >= k ) );
@@ -160,7 +160,7 @@
         assert ( (side=='L' ?
                   lwork >= n : lwork >= m ) );
 
- int info;
+ integer_t info;
         ormqr (side, trans, m, n, k,
                        traits::matrix_storage (a),
                        traits::leading_dimension (a),
@@ -180,10 +180,10 @@
     int ormqr (char side, char trans, const A& a, const Tau& tau, C& c, optimal_workspace ) {
        typedef typename A::value_type value_type ;
 
- int const n_w = (side=='L' ? traits::matrix_size2 (c)
+ std::ptrdiff_t const n_w = (side=='L' ? traits::matrix_size2 (c)
                                   : traits::matrix_size1 (c) );
 
- traits::detail::array<value_type> work( std::max(1,n_w*32) );
+ traits::detail::array<value_type> work( std::max<std::ptrdiff_t>(1,n_w*32) );
 
        return detail::ormqr( side, trans, a, tau, c, work );
     }
@@ -194,10 +194,10 @@
     int ormqr (char side, char trans, const A& a, const Tau& tau, C& c, minimal_workspace ) {
        typedef typename A::value_type value_type ;
 
- int const n_w = (side=='L' ? traits::matrix_size2 (c)
+ std::ptrdiff_t const n_w = (side=='L' ? traits::matrix_size2 (c)
                                   : traits::matrix_size1 (c) );
 
- traits::detail::array<value_type> work( std::max(1,n_w) );
+ traits::detail::array<value_type> work( std::max<std::ptrdiff_t>(1,n_w) );
 
        return detail::ormqr( side, trans, a, tau, c, work );
     }

Modified: sandbox/boost/numeric/bindings/lapack/posv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/posv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/posv.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -60,25 +60,25 @@
     namespace detail {
 
       inline
- void posv (char const uplo, int const n, int const nrhs,
- float* a, int const lda,
- float* b, int const ldb, int* info)
+ void posv (char const uplo, integer_t const n, integer_t const nrhs,
+ float* a, integer_t const lda,
+ float* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_SPOSV (&uplo, &n, &nrhs, a, &lda, b, &ldb, info);
       }
 
       inline
- void posv (char const uplo, int const n, int const nrhs,
- double* a, int const lda,
- double* b, int const ldb, int* info)
+ void posv (char const uplo, integer_t const n, integer_t const nrhs,
+ double* a, integer_t const lda,
+ double* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_DPOSV (&uplo, &n, &nrhs, a, &lda, b, &ldb, info);
       }
 
       inline
- void posv (char const uplo, int const n, int const nrhs,
- traits::complex_f* a, int const lda,
- traits::complex_f* b, int const ldb, int* info)
+ void posv (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_f* a, integer_t const lda,
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CPOSV (&uplo, &n, &nrhs,
                       traits::complex_ptr (a), &lda,
@@ -86,9 +86,9 @@
       }
 
       inline
- void posv (char const uplo, int const n, int const nrhs,
- traits::complex_d* a, int const lda,
- traits::complex_d* b, int const ldb, int* info)
+ void posv (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_d* a, integer_t const lda,
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZPOSV (&uplo, &n, &nrhs,
                       traits::complex_ptr (a), &lda,
@@ -97,10 +97,10 @@
 
       template <typename SymmMatrA, typename MatrB>
       int posv (char const uplo, SymmMatrA& a, MatrB& b) {
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
         assert (n == traits::matrix_size1 (b));
- int info;
+ integer_t info;
         posv (uplo, n, traits::matrix_size2 (b),
               traits::matrix_storage (a),
               traits::leading_dimension (a),
@@ -163,38 +163,38 @@
     namespace detail {
 
       inline
- void potrf (char const uplo, int const n,
- float* a, int const lda, int* info)
+ void potrf (char const uplo, integer_t const n,
+ float* a, integer_t const lda, integer_t* info)
       {
         LAPACK_SPOTRF (&uplo, &n, a, &lda, info);
       }
 
       inline
- void potrf (char const uplo, int const n,
- double* a, int const lda, int* info)
+ void potrf (char const uplo, integer_t const n,
+ double* a, integer_t const lda, integer_t* info)
       {
         LAPACK_DPOTRF (&uplo, &n, a, &lda, info);
       }
 
       inline
- void potrf (char const uplo, int const n,
- traits::complex_f* a, int const lda, int* info)
+ void potrf (char const uplo, integer_t const n,
+ traits::complex_f* a, integer_t const lda, integer_t* info)
       {
         LAPACK_CPOTRF (&uplo, &n, traits::complex_ptr (a), &lda, info);
       }
 
       inline
- void potrf (char const uplo, int const n,
- traits::complex_d* a, int const lda, int* info)
+ void potrf (char const uplo, integer_t const n,
+ traits::complex_d* a, integer_t const lda, integer_t* info)
       {
         LAPACK_ZPOTRF (&uplo, &n, traits::complex_ptr (a), &lda, info);
       }
 
       template <typename SymmMatrA>
       int potrf (char const uplo, SymmMatrA& a) {
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
- int info;
+ integer_t info;
         potrf (uplo, n, traits::matrix_storage (a),
                traits::leading_dimension (a), &info);
         return info;
@@ -245,25 +245,25 @@
     namespace detail {
 
       inline
- void potrs (char const uplo, int const n, int const nrhs,
- float const* a, int const lda,
- float* b, int const ldb, int* info)
+ void potrs (char const uplo, integer_t const n, integer_t const nrhs,
+ float const* a, integer_t const lda,
+ float* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_SPOTRS (&uplo, &n, &nrhs, a, &lda, b, &ldb, info);
       }
 
       inline
- void potrs (char const uplo, int const n, int const nrhs,
- double const* a, int const lda,
- double* b, int const ldb, int* info)
+ void potrs (char const uplo, integer_t const n, integer_t const nrhs,
+ double const* a, integer_t const lda,
+ double* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_DPOTRS (&uplo, &n, &nrhs, a, &lda, b, &ldb, info);
       }
 
       inline
- void potrs (char const uplo, int const n, int const nrhs,
- traits::complex_f const* a, int const lda,
- traits::complex_f* b, int const ldb, int* info)
+ void potrs (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_f const* a, integer_t const lda,
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CPOTRS (&uplo, &n, &nrhs,
                        traits::complex_ptr (a), &lda,
@@ -271,9 +271,9 @@
       }
 
       inline
- void potrs (char const uplo, int const n, int const nrhs,
- traits::complex_d const* a, int const lda,
- traits::complex_d* b, int const ldb, int* info)
+ void potrs (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_d const* a, integer_t const lda,
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZPOTRS (&uplo, &n, &nrhs,
                        traits::complex_ptr (a), &lda,
@@ -282,10 +282,10 @@
 
       template <typename SymmMatrA, typename MatrB>
       int potrs (char const uplo, SymmMatrA const& a, MatrB& b) {
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
         assert (n == traits::matrix_size1 (b));
- int info;
+ integer_t info;
         potrs (uplo, n, traits::matrix_size2 (b),
 #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
                traits::matrix_storage (a),

Modified: sandbox/boost/numeric/bindings/lapack/ppsv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/ppsv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/ppsv.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -59,23 +59,23 @@
     namespace detail {
 
       inline
- void ppsv (char const uplo, int const n, int const nrhs,
- float* ap, float* b, int const ldb, int* info)
+ void ppsv (char const uplo, integer_t const n, integer_t const nrhs,
+ float* ap, float* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_SPPSV (&uplo, &n, &nrhs, ap, b, &ldb, info);
       }
 
       inline
- void ppsv (char const uplo, int const n, int const nrhs,
- double* ap, double* b, int const ldb, int* info)
+ void ppsv (char const uplo, integer_t const n, integer_t const nrhs,
+ double* ap, double* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_DPPSV (&uplo, &n, &nrhs, ap, b, &ldb, info);
       }
 
       inline
- void ppsv (char const uplo, int const n, int const nrhs,
- traits::complex_f* ap, traits::complex_f* b, int const ldb,
- int* info)
+ void ppsv (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_f* ap, traits::complex_f* b, integer_t const ldb,
+ integer_t* info)
       {
         LAPACK_CPPSV (&uplo, &n, &nrhs,
                       traits::complex_ptr (ap),
@@ -83,9 +83,9 @@
       }
 
       inline
- void ppsv (char const uplo, int const n, int const nrhs,
- traits::complex_d* ap, traits::complex_d* b, int const ldb,
- int* info)
+ void ppsv (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_d* ap, traits::complex_d* b, integer_t const ldb,
+ integer_t* info)
       {
         LAPACK_ZPPSV (&uplo, &n, &nrhs,
                       traits::complex_ptr (ap),
@@ -110,12 +110,12 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
       assert (n == traits::matrix_size1 (b));
 
       char uplo = traits::matrix_uplo_tag (a);
- int info;
+ integer_t info;
       detail::ppsv (uplo, n, traits::matrix_size2 (b),
                     traits::matrix_storage (a),
                     traits::matrix_storage (b),
@@ -137,25 +137,25 @@
     namespace detail {
 
       inline
- void pptrf (char const uplo, int const n, float* ap, int* info) {
+ void pptrf (char const uplo, integer_t const n, float* ap, integer_t* info) {
         LAPACK_SPPTRF (&uplo, &n, ap, info);
       }
 
       inline
- void pptrf (char const uplo, int const n, double* ap, int* info) {
+ void pptrf (char const uplo, integer_t const n, double* ap, integer_t* info) {
         LAPACK_DPPTRF (&uplo, &n, ap, info);
       }
 
       inline
- void pptrf (char const uplo, int const n,
- traits::complex_f* ap, int* info)
+ void pptrf (char const uplo, integer_t const n,
+ traits::complex_f* ap, integer_t* info)
       {
         LAPACK_CPPTRF (&uplo, &n, traits::complex_ptr (ap), info);
       }
 
       inline
- void pptrf (char const uplo, int const n,
- traits::complex_d* ap, int* info)
+ void pptrf (char const uplo, integer_t const n,
+ traits::complex_d* ap, integer_t* info)
       {
         LAPACK_ZPPTRF (&uplo, &n, traits::complex_ptr (ap), info);
       }
@@ -174,10 +174,10 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
       char uplo = traits::matrix_uplo_tag (a);
- int info;
+ integer_t info;
       detail::pptrf (uplo, n, traits::matrix_storage (a), &info);
       return info;
     }
@@ -192,23 +192,23 @@
     namespace detail {
 
       inline
- void pptrs (char const uplo, int const n, int const nrhs,
- float const* ap, float* b, int const ldb, int* info)
+ void pptrs (char const uplo, integer_t const n, integer_t const nrhs,
+ float const* ap, float* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_SPPTRS (&uplo, &n, &nrhs, ap, b, &ldb, info);
       }
 
       inline
- void pptrs (char const uplo, int const n, int const nrhs,
- double const* ap, double* b, int const ldb, int* info)
+ void pptrs (char const uplo, integer_t const n, integer_t const nrhs,
+ double const* ap, double* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_DPPTRS (&uplo, &n, &nrhs, ap, b, &ldb, info);
       }
 
       inline
- void pptrs (char const uplo, int const n, int const nrhs,
+ void pptrs (char const uplo, integer_t const n, integer_t const nrhs,
                   traits::complex_f const* ap,
- traits::complex_f* b, int const ldb, int* info)
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CPPTRS (&uplo, &n, &nrhs,
                        traits::complex_ptr (ap),
@@ -216,9 +216,9 @@
       }
 
       inline
- void pptrs (char const uplo, int const n, int const nrhs,
+ void pptrs (char const uplo, integer_t const n, integer_t const nrhs,
                   traits::complex_d const* ap,
- traits::complex_d* b, int const ldb, int* info)
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZPPTRS (&uplo, &n, &nrhs,
                        traits::complex_ptr (ap),
@@ -243,12 +243,12 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
       assert (n == traits::matrix_size1 (b));
       
       char uplo = traits::matrix_uplo_tag (a);
- int info;
+ integer_t info;
       detail::pptrs (uplo, n, traits::matrix_size2 (b),
 #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
                      traits::matrix_storage (a),
@@ -271,25 +271,25 @@
     namespace detail {
 
       inline
- void pptri (char const uplo, int const n, float* ap, int* info) {
+ void pptri (char const uplo, integer_t const n, float* ap, integer_t* info) {
         LAPACK_SPPTRI (&uplo, &n, ap, info);
       }
 
       inline
- void pptri (char const uplo, int const n, double* ap, int* info) {
+ void pptri (char const uplo, integer_t const n, double* ap, integer_t* info) {
         LAPACK_DPPTRI (&uplo, &n, ap, info);
       }
 
       inline
- void pptri (char const uplo, int const n,
- traits::complex_f* ap, int* info)
+ void pptri (char const uplo, integer_t const n,
+ traits::complex_f* ap, integer_t* info)
       {
         LAPACK_CPPTRI (&uplo, &n, traits::complex_ptr (ap), info);
       }
 
       inline
- void pptri (char const uplo, int const n,
- traits::complex_d* ap, int* info)
+ void pptri (char const uplo, integer_t const n,
+ traits::complex_d* ap, integer_t* info)
       {
         LAPACK_ZPPTRI(&uplo, &n, traits::complex_ptr (ap), info);
       }
@@ -308,10 +308,10 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
       char uplo = traits::matrix_uplo_tag (a);
- int info;
+ integer_t info;
       detail::pptri (uplo, n, traits::matrix_storage (a), &info);
       return info;
     }

Modified: sandbox/boost/numeric/bindings/lapack/ptsv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/ptsv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/ptsv.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -44,31 +44,31 @@
     namespace detail {
 
       inline
- void ptsv ( int const n, int const nrhs,
- float* d, float* e, float* b, int const ldb, int* info)
+ void ptsv ( integer_t const n, integer_t const nrhs,
+ float* d, float* e, float* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_SPTSV (&n, &nrhs, d, e, b, &ldb, info);
       }
 
       inline
- void ptsv ( int const n, int const nrhs,
- double* d, double* e, double* b, int const ldb, int* info)
+ void ptsv ( integer_t const n, integer_t const nrhs,
+ double* d, double* e, double* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_DPTSV (&n, &nrhs, d, e, b, &ldb, info);
       }
 
       inline
- void ptsv ( int const n, int const nrhs,
- float* d, traits::complex_f* e, traits::complex_f* b, int const ldb,
- int* info)
+ void ptsv ( integer_t const n, integer_t const nrhs,
+ float* d, traits::complex_f* e, traits::complex_f* b, integer_t const ldb,
+ integer_t* info)
       {
         LAPACK_CPTSV (&n, &nrhs, d, traits::complex_ptr(e), traits::complex_ptr(b), &ldb, info);
       }
 
       inline
- void ptsv ( int const n, int const nrhs,
- double* d, traits::complex_d* e, traits::complex_d* b, int const ldb,
- int* info)
+ void ptsv ( integer_t const n, integer_t const nrhs,
+ double* d, traits::complex_d* e, traits::complex_d* b, integer_t const ldb,
+ integer_t* info)
       {
         LAPACK_ZPTSV (&n, &nrhs, d, traits::complex_ptr(e), traits::complex_ptr(b), &ldb, info);
       }
@@ -77,11 +77,11 @@
 
     template <typename D, typename E, typename B>
     int ptsv( D& d, E& e, B& b ) {
- int const n = traits::vector_size(d) ;
+ integer_t const n = traits::vector_size(d) ;
       assert( n==traits::vector_size(e)+1 ) ;
       assert( n==traits::matrix_num_rows(b) ) ;
 
- int info ;
+ integer_t info ;
       detail::ptsv( n, traits::matrix_num_columns (b)
                   , traits::vector_storage(d)
                   , traits::vector_storage(e)
@@ -102,23 +102,23 @@
     namespace detail {
 
       inline
- void pttrf ( int const n, float* d, float* e, int* info) {
+ void pttrf ( integer_t const n, float* d, float* e, integer_t* info) {
         LAPACK_SPTTRF ( &n, d, e, info) ;
       }
 
       inline
- void pttrf ( int const n, double* d, double* e, int* info) {
+ void pttrf ( integer_t const n, double* d, double* e, integer_t* info) {
         LAPACK_DPTTRF ( &n, d, e, info);
       }
 
       inline
- void pttrf ( int const n, float* d, traits::complex_f* e, int* info)
+ void pttrf ( integer_t const n, float* d, traits::complex_f* e, integer_t* info)
       {
         LAPACK_CPTTRF ( &n, d, traits::complex_ptr(e), info);
       }
 
       inline
- void pttrf ( int const n, double* d, traits::complex_d* e, int* info)
+ void pttrf ( integer_t const n, double* d, traits::complex_d* e, integer_t* info)
       {
         LAPACK_ZPTTRF ( &n, d, traits::complex_ptr(e), info);
       }
@@ -127,9 +127,9 @@
 
     template <typename D, typename E>
     int pttrf (D& d, E& e) {
- int const n = traits::vector_size (d);
+ integer_t const n = traits::vector_size (d);
       assert (n == traits::vector_size (e) + 1);
- int info;
+ integer_t info;
       detail::pttrf ( n, traits::vector_storage(d), traits::vector_storage(e), &info);
       return info;
     }
@@ -147,24 +147,24 @@
     namespace detail {
 
       inline
- void pttrs (char const uplo, int const n, int const nrhs,
- float const* d, float const* e, float* b, int const ldb, int* info)
+ void pttrs (char const uplo, integer_t const n, integer_t const nrhs,
+ float const* d, float const* e, float* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_SPTTRS (&n, &nrhs, d, e, b, &ldb, info);
       }
 
       inline
- void pttrs (char const uplo, int const n, int const nrhs,
- double const* d, double const* e, double* b, int const ldb, int* info)
+ void pttrs (char const uplo, integer_t const n, integer_t const nrhs,
+ double const* d, double const* e, double* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_DPTTRS (&n, &nrhs, d, e, b, &ldb, info);
       }
 
       inline
- void pttrs (char const uplo, int const n, int const nrhs,
+ void pttrs (char const uplo, integer_t const n, integer_t const nrhs,
                   float const* d,
                   traits::complex_f const* e,
- traits::complex_f* b, int const ldb, int* info)
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CPTTRS (&uplo, &n, &nrhs, d,
                        traits::complex_ptr (e),
@@ -172,10 +172,10 @@
       }
 
       inline
- void pttrs (char const uplo, int const n, int const nrhs,
+ void pttrs (char const uplo, integer_t const n, integer_t const nrhs,
                   double const* d,
                   traits::complex_d const* e,
- traits::complex_d* b, int const ldb, int* info)
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZPTTRS (&uplo, &n, &nrhs, d,
                        traits::complex_ptr (e),
@@ -186,11 +186,11 @@
 
     template <typename D, typename E, typename MatrB>
     int pttrs (char uplo, D const& d, E const& e, MatrB& b) {
- int const n = traits::vector_size (d);
+ integer_t const n = traits::vector_size (d);
       assert (n == traits::vector_size (e) + 1);
       assert (n == traits::matrix_num_rows (b));
 
- int info;
+ integer_t info;
       detail::pttrs (uplo, n, traits::matrix_num_columns (b),
                      traits::vector_storage (d),
                      traits::vector_storage (e),

Modified: sandbox/boost/numeric/bindings/lapack/spsv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/spsv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/spsv.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -55,25 +55,25 @@
     namespace detail {
 
       inline
- void spsv (char const uplo, int const n, int const nrhs,
- float* ap, int* ipiv,
- float* b, int const ldb, int* info)
+ void spsv (char const uplo, integer_t const n, integer_t const nrhs,
+ float* ap, integer_t* ipiv,
+ float* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_SSPSV (&uplo, &n, &nrhs, ap, ipiv, b, &ldb, info);
       }
 
       inline
- void spsv (char const uplo, int const n, int const nrhs,
- double* ap, int* ipiv,
- double* b, int const ldb, int* info)
+ void spsv (char const uplo, integer_t const n, integer_t const nrhs,
+ double* ap, integer_t* ipiv,
+ double* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_DSPSV (&uplo, &n, &nrhs, ap, ipiv, b, &ldb, info);
       }
 
       inline
- void spsv (char const uplo, int const n, int const nrhs,
- traits::complex_f* ap, int* ipiv,
- traits::complex_f* b, int const ldb, int* info)
+ void spsv (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_f* ap, integer_t* ipiv,
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CSPSV (&uplo, &n, &nrhs,
                       traits::complex_ptr (ap), ipiv,
@@ -81,9 +81,9 @@
       }
 
       inline
- void spsv (char const uplo, int const n, int const nrhs,
- traits::complex_d* ap, int* ipiv,
- traits::complex_d* b, int const ldb, int* info)
+ void spsv (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_d* ap, integer_t* ipiv,
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZSPSV (&uplo, &n, &nrhs,
                       traits::complex_ptr (ap), ipiv,
@@ -104,12 +104,12 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
         assert (n == traits::matrix_size1 (b));
 
         char uplo = traits::matrix_uplo_tag (a);
- int info;
+ integer_t info;
         spsv (uplo, n, traits::matrix_size2 (b),
               traits::matrix_storage (a),
               traits::vector_storage (i),
@@ -132,8 +132,8 @@
     int spsv (SymmA& a, MatrB& b) {
       // with 'internal' pivot vector
 
- int info = -101;
- traits::detail::array<int> i (traits::matrix_size1 (a));
+ integer_t info = -101;
+ traits::detail::array<integer_t> i (traits::matrix_size1 (a));
 
       if (i.valid())
         info = detail::spsv (a, i, b);
@@ -154,29 +154,29 @@
     namespace detail {
 
       inline
- void sptrf (char const uplo, int const n,
- float* ap, int* ipiv, int* info)
+ void sptrf (char const uplo, integer_t const n,
+ float* ap, integer_t* ipiv, integer_t* info)
       {
         LAPACK_SSPTRF (&uplo, &n, ap, ipiv, info);
       }
 
       inline
- void sptrf (char const uplo, int const n,
- double* ap, int* ipiv, int* info)
+ void sptrf (char const uplo, integer_t const n,
+ double* ap, integer_t* ipiv, integer_t* info)
       {
         LAPACK_DSPTRF (&uplo, &n, ap, ipiv, info);
       }
 
       inline
- void sptrf (char const uplo, int const n,
- traits::complex_f* ap, int* ipiv, int* info)
+ void sptrf (char const uplo, integer_t const n,
+ traits::complex_f* ap, integer_t* ipiv, integer_t* info)
       {
         LAPACK_CSPTRF (&uplo, &n, traits::complex_ptr (ap), ipiv, info);
       }
 
       inline
- void sptrf (char const uplo, int const n,
- traits::complex_d* ap, int* ipiv, int* info)
+ void sptrf (char const uplo, integer_t const n,
+ traits::complex_d* ap, integer_t* ipiv, integer_t* info)
       {
         LAPACK_ZSPTRF (&uplo, &n, traits::complex_ptr (ap), ipiv, info);
       }
@@ -193,12 +193,12 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
       assert (n == traits::vector_size (i));
 
       char uplo = traits::matrix_uplo_tag (a);
- int info;
+ integer_t info;
       detail::sptrf (uplo, n, traits::matrix_storage (a),
                      traits::vector_storage (i), &info);
       return info;
@@ -215,25 +215,25 @@
     namespace detail {
 
       inline
- void sptrs (char const uplo, int const n, int const nrhs,
- float const* a, int const* ipiv,
- float* b, int const ldb, int* info)
+ void sptrs (char const uplo, integer_t const n, integer_t const nrhs,
+ float const* a, integer_t const* ipiv,
+ float* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_SSPTRS (&uplo, &n, &nrhs, a, ipiv, b, &ldb, info);
       }
 
       inline
- void sptrs (char const uplo, int const n, int const nrhs,
- double const* a, int const* ipiv,
- double* b, int const ldb, int* info)
+ void sptrs (char const uplo, integer_t const n, integer_t const nrhs,
+ double const* a, integer_t const* ipiv,
+ double* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_DSPTRS (&uplo, &n, &nrhs, a, ipiv, b, &ldb, info);
       }
 
       inline
- void sptrs (char const uplo, int const n, int const nrhs,
- traits::complex_f const* a, int const* ipiv,
- traits::complex_f* b, int const ldb, int* info)
+ void sptrs (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_f const* a, integer_t const* ipiv,
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CSPTRS (&uplo, &n, &nrhs,
                       traits::complex_ptr (a), ipiv,
@@ -241,9 +241,9 @@
       }
 
       inline
- void sptrs (char const uplo, int const n, int const nrhs,
- traits::complex_d const* a, int const* ipiv,
- traits::complex_d* b, int const ldb, int* info)
+ void sptrs (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_d const* a, integer_t const* ipiv,
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZSPTRS (&uplo, &n, &nrhs,
                        traits::complex_ptr (a), ipiv,
@@ -266,13 +266,13 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
       assert (n == traits::matrix_size1 (b));
       assert (n == traits::vector_size (i));
 
       char uplo = traits::matrix_uplo_tag (a);
- int info;
+ integer_t info;
       detail::sptrs (uplo, n, traits::matrix_size2 (b),
 #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
                      traits::matrix_storage (a),
@@ -290,30 +290,30 @@
 
     namespace detail {
       inline
- void sptri (char const uplo, int const n,
- float* ap, int* ipiv, float* work, int* info)
+ void sptri (char const uplo, integer_t const n,
+ float* ap, integer_t* ipiv, float* work, integer_t* info)
       {
         LAPACK_SSPTRI (&uplo, &n, ap, ipiv, work, info);
       }
 
       inline
- void sptri (char const uplo, int const n,
- double* ap, int* ipiv, double* work, int* info)
+ void sptri (char const uplo, integer_t const n,
+ double* ap, integer_t* ipiv, double* work, integer_t* info)
       {
         LAPACK_DSPTRI (&uplo, &n, ap, ipiv, work, info);
       }
 
       inline
- void sptri (char const uplo, int const n,
- traits::complex_f* ap, int* ipiv, traits::complex_f* work, int* info)
+ void sptri (char const uplo, integer_t const n,
+ traits::complex_f* ap, integer_t* ipiv, traits::complex_f* work, integer_t* info)
       {
         LAPACK_CSPTRI (&uplo, &n, traits::complex_ptr (ap),
             ipiv, traits::complex_ptr (work), info);
       }
 
       inline
- void sptri (char const uplo, int const n,
- traits::complex_d* ap, int* ipiv, traits::complex_d* work, int* info)
+ void sptri (char const uplo, integer_t const n,
+ traits::complex_d* ap, integer_t* ipiv, traits::complex_d* work, integer_t* info)
       {
         LAPACK_ZSPTRI (&uplo, &n, traits::complex_ptr (ap),
             ipiv, traits::complex_ptr (work), info);
@@ -330,12 +330,12 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
       assert (n == traits::vector_size (ipiv));
 
       char uplo = traits::matrix_uplo_tag (a);
- int info;
+ integer_t info;
 
       typedef typename SymmA::value_type value_type;
       traits::detail::array<value_type> work(traits::matrix_size1(a));

Modified: sandbox/boost/numeric/bindings/lapack/steqr.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/steqr.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/steqr.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -35,13 +35,13 @@
     namespace detail {
 
       inline
- void steqr ( char compz, int n, float* d, float* e, float* z, int ldz, float* work, int& info )
+ void steqr ( char compz, integer_t n, float* d, float* e, float* z, integer_t ldz, float* work, integer_t& info )
       {
         LAPACK_SSTEQR( &compz, &n, d, e, z, &ldz, work, &info ) ;
       }
 
       inline
- void steqr ( char compz, int n, double* d, double* e, double* z, int ldz, double* work, int& info )
+ void steqr ( char compz, integer_t n, double* d, double* e, double* z, integer_t ldz, double* work, integer_t& info )
       {
         LAPACK_DSTEQR( &compz, &n, d, e, z, &ldz, work, &info ) ;
       }
@@ -52,15 +52,15 @@
     template <typename D, typename E, typename Z, typename W>
     int steqr( char compz, D& d, E& e, Z& z, W& work ) {
 
- int const n = traits::vector_size (d);
+ integer_t const n = traits::vector_size (d);
       assert( traits::vector_size (e) == n-1 );
       assert( traits::matrix_size1 (z) == n );
       assert( traits::matrix_size2 (z) == n );
       assert( compz=='N' || compz=='V' || compz=='I' );
 
- int lwork = traits::vector_size( work ) ;
+ integer_t lwork = traits::vector_size( work ) ;
 
- int info;
+ integer_t info;
       detail::steqr( compz, n,
                      traits::vector_storage( d ),
                      traits::vector_storage( e ),
@@ -74,7 +74,7 @@
 
     template <typename D, typename E, typename Z>
     int steqr( char compz, D& d, E& e, Z& z, optimal_workspace ) {
- int lwork = 0 ;
+ integer_t lwork = 0 ;
       if (compz != 'N') lwork = 2 * traits::vector_size( d ) - 2 ;
 
       traits::detail::array<typename traits::vector_traits<D>::value_type> work( lwork );
@@ -85,7 +85,7 @@
 
     template <typename D, typename E, typename Z>
     int steqr( char compz, D& d, E& e, Z& z, minimal_workspace ) {
- int lwork = 1 ;
+ integer_t lwork = 1 ;
       if (compz != 'N') lwork = 2 * traits::vector_size( e ) ;
 
       traits::detail::array<typename traits::vector_traits<D>::value_type> work( lwork );

Modified: sandbox/boost/numeric/bindings/lapack/syev.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/syev.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/syev.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -56,17 +56,17 @@
     namespace detail {
 
       inline
- void syev (char const jobz, char const uplo, int const n,
- float* a, int const lda,
- float* w, float* work, int const lwork, int& info)
+ void syev (char const jobz, char const uplo, integer_t const n,
+ float* a, integer_t const lda,
+ float* w, float* work, integer_t const lwork, integer_t& info)
       {
         LAPACK_SSYEV (&jobz, &uplo, &n, a, &lda, w, work, &lwork, &info);
       }
 
       inline
- void syev (char const jobz, char const uplo, int const n,
- double* a, int const lda,
- double* w, double* work, int const lwork, int& info)
+ void syev (char const jobz, char const uplo, integer_t const n,
+ double* a, integer_t const lda,
+ double* w, double* work, integer_t const lwork, integer_t& info)
       {
         LAPACK_DSYEV (&jobz, &uplo, &n, a, &lda, w, work, &lwork, &info);
       }
@@ -82,7 +82,7 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert ( n>0 );
         assert (traits::matrix_size2 (a)==n);
         assert (traits::leading_dimension (a)>=n);
@@ -91,7 +91,7 @@
         assert ( uplo=='U' || uplo=='L' );
         assert ( jobz=='N' || jobz=='V' );
 
- int info;
+ integer_t info;
         detail::syev (jobz, uplo, n,
                      traits::matrix_storage (a),
                      traits::leading_dimension (a),
@@ -109,9 +109,9 @@
     int syev (char jobz, char uplo, A& a, W& w, optimal_workspace ) {
        typedef typename A::value_type value_type ;
 
- int const n = traits::matrix_size1 (a);
+ std::ptrdiff_t const n = traits::matrix_size1 (a);
 
- traits::detail::array<value_type> work( std::max<int>(1,34*n) );
+ traits::detail::array<value_type> work( std::max<std::ptrdiff_t>(1,34*n) );
        return detail::syev(jobz, uplo, a, w, work);
     } // syev()
 
@@ -121,9 +121,9 @@
     int syev (char jobz, char uplo, A& a, W& w, minimal_workspace ) {
        typedef typename A::value_type value_type ;
 
- int const n = traits::matrix_size1 (a);
+ std::ptrdiff_t const n = traits::matrix_size1 (a);
 
- traits::detail::array<value_type> work( std::max<int>(1,3*n-1) );
+ traits::detail::array<value_type> work( std::max<std::ptrdiff_t>(1,3*n-1) );
        return detail::syev(jobz, uplo, a, w, work);
     } // syev()
 
@@ -150,7 +150,7 @@
     int syev (char jobz, A& a, W& w, optimal_workspace ) {
        typedef typename A::value_type value_type ;
 
- int const n = traits::matrix_size1 (a);
+ std::ptrdiff_t const n = traits::matrix_size1 (a);
        char uplo = traits::matrix_uplo_tag( a ) ;
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
        typedef typename traits::matrix_traits<A>::matrix_structure matrix_structure ;
@@ -160,7 +160,7 @@
                           ) ;
 #endif
 
- traits::detail::array<value_type> work( std::max<int>(1,34*n) );
+ traits::detail::array<value_type> work( std::max<std::ptrdiff_t>(1,34*n) );
        return detail::syev(jobz, uplo, a, w, work);
     } // syev()
 
@@ -170,7 +170,7 @@
     int syev (char jobz, A& a, W& w, minimal_workspace ) {
        typedef typename A::value_type value_type ;
 
- int const n = traits::matrix_size1 (a);
+ std::ptrdiff_t const n = traits::matrix_size1 (a);
        char uplo = traits::matrix_uplo_tag( a ) ;
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
        typedef typename traits::matrix_traits<A>::matrix_structure matrix_structure ;
@@ -179,7 +179,7 @@
>::value)
                           ) ;
 #endif
- traits::detail::array<value_type> work( std::max<int>(1,3*n-1) );
+ traits::detail::array<value_type> work( std::max<std::ptrdiff_t>(1,3*n-1) );
        return detail::syev(jobz, uplo, a, w, work);
     } // syev()
 

Modified: sandbox/boost/numeric/bindings/lapack/syevx.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/syevx.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/syevx.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -17,7 +17,7 @@
     template <typename A, typename T, typename W, typename Z, typename IFail, typename Work>
     inline
     int syevx (
- char jobz, char range, A& a, T vl, T vu, int il, int iu, T abstol, int& m,
+ char jobz, char range, A& a, T vl, T vu, integer_t il, integer_t iu, T abstol, integer_t& m,
       W& w, Z& z, IFail& ifail, Work work = optimal_workspace() ) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK

Modified: sandbox/boost/numeric/bindings/lapack/sygv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/sygv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/sygv.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -16,7 +16,7 @@
 
     template <typename A, typename B, typename W, typename Work>
     inline
- int sygv (int itype, char jobz, char uplo, A& a, B& b, W& w, Work work = optimal_workspace()) {
+ int sygv (integer_t itype, char jobz, char uplo, A& a, B& b, W& w, Work work = optimal_workspace()) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       typedef typename A::value_type value_type ;

Modified: sandbox/boost/numeric/bindings/lapack/sysv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/sysv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/sysv.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -43,26 +43,26 @@
     namespace detail {
 
       inline
- int sytrf_block (float, int const ispec, char const ul, int const n)
+ integer_t sytrf_block (float, integer_t const ispec, char const ul, integer_t const n)
       {
         char ul2[2] = "x"; ul2[0] = ul;
         return ilaenv (ispec, "SSYTRF", ul2, n);
       }
       inline
- int sytrf_block (double, int const ispec, char const ul, int const n) {
+ integer_t sytrf_block (double, integer_t const ispec, char const ul, integer_t const n) {
         char ul2[2] = "x"; ul2[0] = ul;
         return ilaenv (ispec, "DSYTRF", ul2, n);
       }
       inline
- int sytrf_block (traits::complex_f,
- int const ispec, char const ul, int const n)
+ integer_t sytrf_block (traits::complex_f,
+ integer_t const ispec, char const ul, integer_t const n)
       {
         char ul2[2] = "x"; ul2[0] = ul;
         return ilaenv (ispec, "CSYTRF", ul2, n);
       }
       inline
- int sytrf_block (traits::complex_d,
- int const ispec, char const ul, int const n)
+ integer_t sytrf_block (traits::complex_d,
+ integer_t const ispec, char const ul, integer_t const n)
       {
         char ul2[2] = "x"; ul2[0] = ul;
         return ilaenv (ispec, "ZSYTRF", ul2, n);
@@ -71,7 +71,7 @@
 
 
     template <typename SymmA>
- int sytrf_block (char const q, char const ul, SymmA const& a)
+ integer_t sytrf_block (char const q, char const ul, SymmA const& a)
     {
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -82,7 +82,7 @@
       assert (q == 'O' || q == 'M');
       assert (ul == 'U' || ul == 'L');
 
- int n = traits::matrix_size1 (a);
+ integer_t n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
 
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
@@ -90,12 +90,12 @@
 #else
       typedef typename SymmA::value_type val_t;
 #endif
- int ispec = (q == 'O' ? 1 : 2);
+ integer_t ispec = (q == 'O' ? 1 : 2);
       return detail::sytrf_block (val_t(), ispec, ul, n);
     }
 
     template <typename SymmA>
- int sytrf_block (char const q, SymmA const& a)
+ integer_t sytrf_block (char const q, SymmA const& a)
     {
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -106,7 +106,7 @@
       assert (q == 'O' || q == 'M');
 
       char ul = traits::matrix_uplo_tag (a);
- int n = traits::matrix_size1 (a);
+ integer_t n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
 
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
@@ -114,12 +114,12 @@
 #else
       typedef typename SymmA::value_type val_t;
 #endif
- int ispec = (q == 'O' ? 1 : 2);
+ integer_t ispec = (q == 'O' ? 1 : 2);
       return detail::sytrf_block (val_t(), ispec, ul, n);
     }
 
     template <typename SymmA>
- int sytrf_work (char const q, char const ul, SymmA const& a)
+ integer_t sytrf_work (char const q, char const ul, SymmA const& a)
     {
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -130,7 +130,7 @@
       assert (q == 'O' || q == 'M');
       assert (ul == 'U' || ul == 'L');
 
- int n = traits::matrix_size1 (a);
+ integer_t n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
 
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
@@ -138,7 +138,7 @@
 #else
       typedef typename SymmA::value_type val_t;
 #endif
- int lw = -13;
+ integer_t lw = -13;
       if (q == 'M')
         lw = 1;
       if (q == 'O')
@@ -147,7 +147,7 @@
     }
 
     template <typename SymmA>
- int sytrf_work (char const q, SymmA const& a) {
+ integer_t sytrf_work (char const q, SymmA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -158,7 +158,7 @@
       assert (q == 'O' || q == 'M');
 
       char ul = traits::matrix_uplo_tag (a);
- int n = traits::matrix_size1 (a);
+ integer_t n = traits::matrix_size1 (a);
       assert (n == traits::matrix_size2 (a));
 
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
@@ -166,7 +166,7 @@
 #else
       typedef typename SymmA::value_type val_t;
 #endif
- int lw = -13;
+ integer_t lw = -13;
       if (q == 'M')
         lw = 1;
       if (q == 'O')
@@ -177,13 +177,13 @@
 
     template <typename SymmA>
     inline
- int sysv_work (char const q, char const ul, SymmA const& a) {
+ integer_t sysv_work (char const q, char const ul, SymmA const& a) {
       return sytrf_work (q, ul, a);
     }
 
     template <typename SymmA>
     inline
- int sysv_work (char const q, SymmA const& a) { return sytrf_work (q, a); }
+ integer_t sysv_work (char const q, SymmA const& a) { return sytrf_work (q, a); }
 
 
     /*
@@ -205,28 +205,28 @@
     {
 
       inline
- void sysv (char const uplo, int const n, int const nrhs,
- float* a, int const lda, int* ipiv,
- float* b, int const ldb,
- float* w, int const lw, int* info)
+ void sysv (char const uplo, integer_t const n, integer_t const nrhs,
+ float* a, integer_t const lda, integer_t* ipiv,
+ float* b, integer_t const ldb,
+ float* w, integer_t const lw, integer_t* info)
       {
         LAPACK_SSYSV (&uplo, &n, &nrhs, a, &lda, ipiv, b, &ldb, w, &lw, info);
       }
 
       inline
- void sysv (char const uplo, int const n, int const nrhs,
- double* a, int const lda, int* ipiv,
- double* b, int const ldb,
- double* w, int const lw, int* info)
+ void sysv (char const uplo, integer_t const n, integer_t const nrhs,
+ double* a, integer_t const lda, integer_t* ipiv,
+ double* b, integer_t const ldb,
+ double* w, integer_t const lw, integer_t* info)
       {
         LAPACK_DSYSV (&uplo, &n, &nrhs, a, &lda, ipiv, b, &ldb, w, &lw, info);
       }
 
       inline
- void sysv (char const uplo, int const n, int const nrhs,
- traits::complex_f* a, int const lda, int* ipiv,
- traits::complex_f* b, int const ldb,
- traits::complex_f* w, int const lw, int* info)
+ void sysv (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_f* a, integer_t const lda, integer_t* ipiv,
+ traits::complex_f* b, integer_t const ldb,
+ traits::complex_f* w, integer_t const lw, integer_t* info)
       {
         LAPACK_CSYSV (&uplo, &n, &nrhs,
                       traits::complex_ptr (a), &lda, ipiv,
@@ -235,10 +235,10 @@
       }
 
       inline
- void sysv (char const uplo, int const n, int const nrhs,
- traits::complex_d* a, int const lda, int* ipiv,
- traits::complex_d* b, int const ldb,
- traits::complex_d* w, int const lw, int* info)
+ void sysv (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_d* a, integer_t const lda, integer_t* ipiv,
+ traits::complex_d* b, integer_t const ldb,
+ traits::complex_d* w, integer_t const lw, integer_t* info)
       {
         LAPACK_ZSYSV (&uplo, &n, &nrhs,
                       traits::complex_ptr (a), &lda, ipiv,
@@ -249,12 +249,12 @@
       template <typename SymmA, typename MatrB, typename IVec, typename Work>
       int sysv (char const ul, SymmA& a, IVec& i, MatrB& b, Work& w)
       {
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
         assert (n == traits::matrix_size1 (b));
         assert (n == traits::vector_size (i));
 
- int info;
+ integer_t info;
         sysv (ul, n, traits::matrix_size2 (b),
               traits::matrix_storage (a),
               traits::leading_dimension (a),
@@ -328,13 +328,13 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
- int info = -101;
- traits::detail::array<int> i (n);
+ integer_t const n = traits::matrix_size1 (a);
+ integer_t info = -101;
+ traits::detail::array<integer_t> i (n);
 
       if (i.valid()) {
         info = -102;
- int lw = sytrf_work ('O', ul, a);
+ integer_t lw = sytrf_work ('O', ul, a);
         assert (lw >= 1); // paranoia ?
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
         typedef typename traits::matrix_traits<SymmA>::value_type val_t;
@@ -364,14 +364,14 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       char uplo = traits::matrix_uplo_tag (a);
- int info = -101;
- traits::detail::array<int> i (n);
+ integer_t info = -101;
+ traits::detail::array<integer_t> i (n);
 
       if (i.valid()) {
         info = -102;
- int lw = sytrf_work ('O', a);
+ integer_t lw = sytrf_work ('O', a);
         assert (lw >= 1); // paranoia ?
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
         typedef typename traits::matrix_traits<SymmA>::value_type val_t;
@@ -399,25 +399,25 @@
     namespace detail
     {
       inline
- void sytrf (char const uplo, int const n,
- float* a, int const lda, int* ipiv,
- float* w, int const lw, int* info)
+ void sytrf (char const uplo, integer_t const n,
+ float* a, integer_t const lda, integer_t* ipiv,
+ float* w, integer_t const lw, integer_t* info)
       {
         LAPACK_SSYTRF (&uplo, &n, a, &lda, ipiv, w, &lw, info);
       }
 
       inline
- void sytrf (char const uplo, int const n,
- double* a, int const lda, int* ipiv,
- double* w, int const lw, int* info)
+ void sytrf (char const uplo, integer_t const n,
+ double* a, integer_t const lda, integer_t* ipiv,
+ double* w, integer_t const lw, integer_t* info)
       {
         LAPACK_DSYTRF (&uplo, &n, a, &lda, ipiv, w, &lw, info);
       }
 
       inline
- void sytrf (char const uplo, int const n,
- traits::complex_f* a, int const lda, int* ipiv,
- traits::complex_f* w, int const lw, int* info)
+ void sytrf (char const uplo, integer_t const n,
+ traits::complex_f* a, integer_t const lda, integer_t* ipiv,
+ traits::complex_f* w, integer_t const lw, integer_t* info)
       {
         LAPACK_CSYTRF (&uplo, &n,
                        traits::complex_ptr (a), &lda, ipiv,
@@ -425,9 +425,9 @@
       }
 
       inline
- void sytrf (char const uplo, int const n,
- traits::complex_d* a, int const lda, int* ipiv,
- traits::complex_d* w, int const lw, int* info)
+ void sytrf (char const uplo, integer_t const n,
+ traits::complex_d* a, integer_t const lda, integer_t* ipiv,
+ traits::complex_d* w, integer_t const lw, integer_t* info)
       {
         LAPACK_ZSYTRF (&uplo, &n,
                        traits::complex_ptr (a), &lda, ipiv,
@@ -437,11 +437,11 @@
       template <typename SymmA, typename IVec, typename Work>
       int sytrf (char const ul, SymmA& a, IVec& i, Work& w) {
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
         assert (n == traits::vector_size (i));
 
- int info;
+ integer_t info;
         sytrf (ul, n, traits::matrix_storage (a),
                traits::leading_dimension (a),
                traits::vector_storage (i),
@@ -500,8 +500,8 @@
>::value));
 #endif
 
- int info = -101;
- int lw = sytrf_work ('O', ul, a);
+ integer_t info = -101;
+ integer_t lw = sytrf_work ('O', ul, a);
       assert (lw >= 1); // paranoia ?
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
       typedef typename traits::matrix_traits<SymmA>::value_type val_t;
@@ -527,8 +527,8 @@
 #endif
 
       char uplo = traits::matrix_uplo_tag (a);
- int info = -101;
- int lw = sytrf_work ('O', a);
+ integer_t info = -101;
+ integer_t lw = sytrf_work ('O', a);
       assert (lw >= 1); // paranoia ?
 #ifndef BOOST_NUMERIC_BINDINGS_POOR_MANS_TRAITS
       typedef typename traits::matrix_traits<SymmA>::value_type val_t;
@@ -552,26 +552,26 @@
     namespace detail {
 
       inline
- void sytrs (char const uplo, int const n, int const nrhs,
- float const* a, int const lda, int const* ipiv,
- float* b, int const ldb, int* info)
+ void sytrs (char const uplo, integer_t const n, integer_t const nrhs,
+ float const* a, integer_t const lda, integer_t const* ipiv,
+ float* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_SSYTRS (&uplo, &n, &nrhs, a, &lda, ipiv, b, &ldb, info);
       }
 
       inline
- void sytrs (char const uplo, int const n, int const nrhs,
- double const* a, int const lda, int const* ipiv,
- double* b, int const ldb, int* info)
+ void sytrs (char const uplo, integer_t const n, integer_t const nrhs,
+ double const* a, integer_t const lda, integer_t const* ipiv,
+ double* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_DSYTRS (&uplo, &n, &nrhs, a, &lda, ipiv, b, &ldb, info);
       }
 
       inline
- void sytrs (char const uplo, int const n, int const nrhs,
- traits::complex_f const* a, int const lda,
- int const* ipiv,
- traits::complex_f* b, int const ldb, int* info)
+ void sytrs (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_f const* a, integer_t const lda,
+ integer_t const* ipiv,
+ traits::complex_f* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_CSYTRS (&uplo, &n, &nrhs,
                       traits::complex_ptr (a), &lda, ipiv,
@@ -579,10 +579,10 @@
       }
 
       inline
- void sytrs (char const uplo, int const n, int const nrhs,
- traits::complex_d const* a, int const lda,
- int const* ipiv,
- traits::complex_d* b, int const ldb, int* info)
+ void sytrs (char const uplo, integer_t const n, integer_t const nrhs,
+ traits::complex_d const* a, integer_t const lda,
+ integer_t const* ipiv,
+ traits::complex_d* b, integer_t const ldb, integer_t* info)
       {
         LAPACK_ZSYTRS (&uplo, &n, &nrhs,
                        traits::complex_ptr (a), &lda, ipiv,
@@ -592,12 +592,12 @@
       template <typename SymmA, typename MatrB, typename IVec>
       int sytrs (char const ul, SymmA const& a, IVec const& i, MatrB& b) {
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
         assert (n == traits::matrix_size1 (b));
         assert (n == traits::vector_size (i));
 
- int info;
+ integer_t info;
         sytrs (ul, n, traits::matrix_size2 (b),
 #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
                traits::matrix_storage (a),
@@ -661,30 +661,30 @@
     namespace detail
     {
       inline
- void sytri (char const uplo, int const n, float* a, int const lda,
- int const* ipiv, float* work, int* info)
+ void sytri (char const uplo, integer_t const n, float* a, integer_t const lda,
+ integer_t const* ipiv, float* work, integer_t* info)
       {
         LAPACK_SSYTRI (&uplo, &n, a, &lda, ipiv, work, info);
       }
 
       inline
- void sytri (char const uplo, int const n, double* a, int const lda,
- int const* ipiv, double* work, int* info)
+ void sytri (char const uplo, integer_t const n, double* a, integer_t const lda,
+ integer_t const* ipiv, double* work, integer_t* info)
       {
         LAPACK_DSYTRI (&uplo, &n, a, &lda, ipiv, work, info);
       }
 
       inline
- void sytri (char const uplo, int const n, traits::complex_f* a,
- int const lda, int const* ipiv, traits::complex_f* work, int* info)
+ void sytri (char const uplo, integer_t const n, traits::complex_f* a,
+ integer_t const lda, integer_t const* ipiv, traits::complex_f* work, integer_t* info)
       {
         LAPACK_CSYTRI (&uplo, &n, traits::complex_ptr (a), &lda, ipiv,
             traits::complex_ptr (work), info);
       }
 
       inline
- void sytri (char const uplo, int const n, traits::complex_d* a,
- int const lda, int const* ipiv, traits::complex_d* work, int* info)
+ void sytri (char const uplo, integer_t const n, traits::complex_d* a,
+ integer_t const lda, integer_t const* ipiv, traits::complex_d* work, integer_t* info)
       {
         LAPACK_ZSYTRI (&uplo, &n, traits::complex_ptr (a), &lda, ipiv,
             traits::complex_ptr (work), info);
@@ -695,12 +695,12 @@
       {
         assert (ul == 'U' || ul == 'L');
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
         assert (n == traits::vector_size (ipiv));
         assert (n == traits::vector_size (work));
 
- int info;
+ integer_t info;
         //const double* dummy = traits::matrix_storage (a);
         detail::sytri (ul, n, traits::matrix_storage (a),
             traits::leading_dimension (a),
@@ -731,8 +731,8 @@
 #endif
 
       typedef typename SymmA::value_type value_type;
- int n = traits::matrix_size1(a);
- traits::detail::array<value_type> work(std::max<int>(1,n));
+ std::ptrdiff_t n = traits::matrix_size1(a);
+ traits::detail::array<value_type> work(std::max<std::ptrdiff_t>(1,n));
 
       return detail::sytri (ul, a, ipiv, work);
     }
@@ -758,8 +758,8 @@
 #endif
 
       typedef typename SymmA::value_type value_type;
- int n = traits::matrix_size1(a);
- traits::detail::array<value_type> work(std::max<int>(1,n));
+ std::ptrdiff_t n = traits::matrix_size1(a);
+ traits::detail::array<value_type> work(std::max<std::ptrdiff_t>(1,n));
 
       char uplo = traits::matrix_uplo_tag (a);
       return detail::sytri (uplo, a, ipiv, work);

Modified: sandbox/boost/numeric/bindings/lapack/sytrd.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/sytrd.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/sytrd.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -35,13 +35,13 @@
     namespace detail {
 
       inline
- void sytrd ( char uplo, int n, float* a, int lda, float* d, float* e, float* tau, float* work, int lwork, int& info )
+ void sytrd ( char uplo, integer_t n, float* a, integer_t lda, float* d, float* e, float* tau, float* work, integer_t lwork, integer_t& info )
       {
         LAPACK_SSYTRD( &uplo, &n, a, &lda, d, e, tau, work, &lwork, &info ) ;
       }
 
       inline
- void sytrd ( char uplo, int n, double* a, int lda, double* d, double* e, double* tau, double* work, int lwork, int& info )
+ void sytrd ( char uplo, integer_t n, double* a, integer_t lda, double* d, double* e, double* tau, double* work, integer_t lwork, integer_t& info )
       {
         LAPACK_DSYTRD( &uplo, &n, a, &lda, d, e, tau, work, &lwork, &info ) ;
       }
@@ -52,17 +52,17 @@
     template <typename A, typename D, typename E, typename Tau, typename W>
     int sytrd( char uplo, A& a, D& d, E& e, Tau& tau, W& work ) {
 
- int const n = traits::matrix_size1 (a);
+ integer_t const n = traits::matrix_size1 (a);
       assert( traits::matrix_size2 (a) == n );
       assert( traits::vector_size (d) == n );
       assert( traits::vector_size (e) == n-1 );
       assert( traits::vector_size (tau) == n-1 );
       assert( uplo=='U' || uplo=='L' );
 
- int lwork = traits::vector_size( work ) ;
+ integer_t lwork = traits::vector_size( work ) ;
       assert( lwork >= 1 );
 
- int info;
+ integer_t info;
       detail::sytrd( uplo, n,
                      traits::matrix_storage( a ),
                      traits::leading_dimension( a ),
@@ -77,7 +77,7 @@
 
     template <typename A, typename D, typename E, typename Tau>
     int sytrd( char uplo, A& a, D& d, E& e, Tau& tau, optimal_workspace=optimal_workspace() ) {
- int info;
+ integer_t info;
       detail::sytrd( uplo, traits::matrix_size1( a ),
                      traits::matrix_storage( a ),
                      traits::leading_dimension( a ),
@@ -87,7 +87,7 @@
                      traits::vector_storage( tau ), -1,
                      info ) ;
       if (info) return info ;
- int lwork = * traits::vector_storage( tau ) ;
+ integer_t lwork = * traits::vector_storage( tau ) ;
 
       traits::detail::array<typename traits::vector_traits<D>::value_type> work( lwork );
 
@@ -97,7 +97,7 @@
 
     template <typename A, typename D, typename E, typename Tau>
     int sytrd( char uplo, A& a, D& d, E& e, Tau& tau, minimal_workspace ) {
- int lwork = 1 ;
+ integer_t lwork = 1 ;
       traits::detail::array<typename traits::vector_traits<D>::value_type> work( lwork );
 
       return sytrd( uplo, a, d, e, tau, work ) ;

Modified: sandbox/boost/numeric/bindings/lapack/trevc.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/trevc.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/trevc.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -47,34 +47,34 @@
 
     namespace detail {
       inline
- void trevc (char const side, char const howmny, const logical_t* select, int const n,
- float* t, int const ldt, float* vl, int const ldvl, float* vr, int const ldvr,
- int const mm, int& m, float* work, int& info)
+ void trevc (char const side, char const howmny, const logical_t* select, integer_t const n,
+ float* t, integer_t const ldt, float* vl, integer_t const ldvl, float* vr, integer_t const ldvr,
+ integer_t const mm, integer_t& m, float* work, integer_t& info)
       {
         LAPACK_STREVC (&side, &howmny, select, &n, t, &ldt, vl, &ldvl, vr, &ldvr, &mm, &m, work, &info);
       }
 
       inline
- void trevc (char const side, char const howmny, const logical_t* select, int const n,
- double* t, int const ldt, double* vl, int const ldvl, double* vr, int const ldvr,
- int const mm, int& m, double* work, int& info)
+ void trevc (char const side, char const howmny, const logical_t* select, integer_t const n,
+ double* t, integer_t const ldt, double* vl, integer_t const ldvl, double* vr, integer_t const ldvr,
+ integer_t const mm, integer_t& m, double* work, integer_t& info)
       {
         LAPACK_DTREVC (&side, &howmny, select, &n, t, &ldt, vl, &ldvl, vr, &ldvr, &mm, &m, work, &info);
       }
 
       inline
- void trevc (char const side, char const howmny, const logical_t* select, int const n,
- traits::complex_f* t, int const ldt, traits::complex_f* vl, int const ldvl, traits::complex_f* vr, int const ldvr,
- int const mm, int& m, traits::complex_f* work, int& info)
+ void trevc (char const side, char const howmny, const logical_t* select, integer_t const n,
+ traits::complex_f* t, integer_t const ldt, traits::complex_f* vl, integer_t const ldvl, traits::complex_f* vr, integer_t const ldvr,
+ integer_t const mm, integer_t& m, traits::complex_f* work, integer_t& info)
       {
         LAPACK_CTREVC (&side, &howmny, select, &n, traits::complex_ptr(t), &ldt, traits::complex_ptr(vl), &ldvl,
                         traits::complex_ptr(vr), &ldvr, &mm, &m, traits::complex_ptr(work+n), reinterpret_cast<float*>(work), &info);
       }
 
       inline
- void trevc (char const side, char const howmny, const logical_t* select, int const n,
- traits::complex_d* t, int const ldt, traits::complex_d* vl, int const ldvl, traits::complex_d* vr, int const ldvr,
- int const mm, int& m, traits::complex_d* work, int& info)
+ void trevc (char const side, char const howmny, const logical_t* select, integer_t const n,
+ traits::complex_d* t, integer_t const ldt, traits::complex_d* vl, integer_t const ldvl, traits::complex_d* vr, integer_t const ldvr,
+ integer_t const mm, integer_t& m, traits::complex_d* work, integer_t& info)
       {
         LAPACK_ZTREVC (&side, &howmny, select, &n, traits::complex_ptr(t), &ldt,
                        traits::complex_ptr(vl), &ldvl, traits::complex_ptr(vr), &ldvr,
@@ -102,7 +102,7 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (t);
+ integer_t const n = traits::matrix_size1 (t);
       assert (n == traits::matrix_size2 (t));
       assert (n == traits::matrix_size1 (vl));
       assert (n == traits::matrix_size2 (vl));
@@ -112,9 +112,9 @@
 
       logical_t* select=0;
 
- int mm=n;
- int m;
- int info;
+ integer_t mm=n;
+ integer_t m;
+ integer_t info;
       detail::trevc (side, howmny, select, n,
                     traits::matrix_storage (t),
                     traits::leading_dimension (t),

Modified: sandbox/boost/numeric/bindings/lapack/trexc.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/trexc.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/trexc.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -43,53 +43,53 @@
 
     namespace detail {
       inline
- int trexc_work_size( int const n, float ) {return n;}
+ integer_t trexc_work_size( integer_t const n, float ) {return n;}
 
       inline
- int trexc_work_size( int const n, double ) {return n;}
+ integer_t trexc_work_size( integer_t const n, double ) {return n;}
 
       inline
- int trexc_work_size( int const n, traits::complex_f ) {return 0;}
+ integer_t trexc_work_size( integer_t const n, traits::complex_f ) {return 0;}
 
       inline
- int trexc_work_size( int const n, traits::complex_d ) {return 0;}
+ integer_t trexc_work_size( integer_t const n, traits::complex_d ) {return 0;}
     }
 
     // Get the minimum size of the work array.
     template <typename MatrT>
- int trexc_work_size(const MatrT& t) {
+ integer_t trexc_work_size(const MatrT& t) {
        return detail::trexc_work_size( traits::matrix_size1(t), typename MatrT::value_type() );
     }
 
     namespace detail {
       inline
- void trexc (char const compq, int const n,
- float* t, int const ldt, float* q, int const ldq, int& ifst, int& ilst,
- float* work, int& info)
+ void trexc (char const compq, integer_t const n,
+ float* t, integer_t const ldt, float* q, integer_t const ldq, integer_t& ifst, integer_t& ilst,
+ float* work, integer_t& info)
       {
         LAPACK_STREXC (&compq, &n, t, &ldt, q, &ldq, &ifst, &ilst, work, &info);
       }
 
       inline
- void trexc (char const compq, int const n,
- double* t, int const ldt, double* q, int const ldq, int& ifst, int& ilst,
- double* work, int& info)
+ void trexc (char const compq, integer_t const n,
+ double* t, integer_t const ldt, double* q, integer_t const ldq, integer_t& ifst, integer_t& ilst,
+ double* work, integer_t& info)
       {
         LAPACK_DTREXC (&compq, &n, t, &ldt, q, &ldq, &ifst, &ilst, work, &info);
       }
 
       inline
- void trexc (char const compq, int const n,
- traits::complex_f* t, int const ldt, traits::complex_f* q, int const ldq, int& ifst, int& ilst,
- float* work, int& info)
+ void trexc (char const compq, integer_t const n,
+ traits::complex_f* t, integer_t const ldt, traits::complex_f* q, integer_t const ldq, integer_t& ifst, integer_t& ilst,
+ float* work, integer_t& info)
       {
         LAPACK_CTREXC (&compq, &n, traits::complex_ptr(t), &ldt, traits::complex_ptr(q), &ldq, &ifst, &ilst, &info);
       }
 
       inline
- void trexc (char const compq, int const n,
- traits::complex_d* t, int const ldt, traits::complex_d* q, int const ldq, int& ifst, int& ilst,
- double* work, int& info)
+ void trexc (char const compq, integer_t const n,
+ traits::complex_d* t, integer_t const ldt, traits::complex_d* q, integer_t const ldq, integer_t& ifst, integer_t& ilst,
+ double* work, integer_t& info)
       {
         LAPACK_ZTREXC (&compq, &n, traits::complex_ptr(t), &ldt, traits::complex_ptr(q), &ldq, &ifst, &ilst, &info);
       }
@@ -98,7 +98,7 @@
 
     // Reorder Schur factorization with Schur vectors
     template <typename MatrT, typename Q, typename Work>
- int trexc (char const compq, MatrT& t, Q& q, int& ifst, int& ilst, Work& work) {
+ int trexc (char const compq, MatrT& t, Q& q, integer_t& ifst, integer_t& ilst, Work& work) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -111,13 +111,13 @@
>::value));
 #endif
 
- int const n = traits::matrix_size1 (t);
+ integer_t const n = traits::matrix_size1 (t);
       assert (n == traits::matrix_size2 (t));
       assert (n == traits::matrix_size1 (q));
       assert (n == traits::matrix_size2 (q));
       assert (trexc_work_size(t) <= traits::vector_size (work));
 
- int info;
+ integer_t info;
       detail::trexc (compq, n,
                     traits::matrix_storage (t),
                     traits::leading_dimension (t),

Modified: sandbox/boost/numeric/bindings/traits/detail/utils.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/traits/detail/utils.hpp (original)
+++ sandbox/boost/numeric/bindings/traits/detail/utils.hpp 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -48,14 +48,14 @@
     }
 
 
- // converts real/complex to int
- inline int to_int (float f) { return static_cast<int> (f); }
- inline int to_int (double d) { return static_cast<int> (d); }
- inline int to_int (traits::complex_f const& cf) {
- return static_cast<int> (traits::real (cf));
+ // converts real/complex to integer_t
+ inline integer_t to_int (float f) { return static_cast<integer_t> (f); }
+ inline integer_t to_int (double d) { return static_cast<integer_t> (d); }
+ inline integer_t to_int (traits::complex_f const& cf) {
+ return static_cast<integer_t> (traits::real (cf));
     }
- inline int to_int (traits::complex_d const& cd) {
- return static_cast<int> (traits::real (cd));
+ inline integer_t to_int (traits::complex_d const& cd) {
+ return static_cast<integer_t> (traits::real (cd));
     }
 
   }

Modified: sandbox/boost/numeric/bindings/traits/fortran.h
==============================================================================
--- sandbox/boost/numeric/bindings/traits/fortran.h (original)
+++ sandbox/boost/numeric/bindings/traits/fortran.h 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -36,6 +36,12 @@
 #error do not know how to bind to fortran calling convention
 #endif
 
+
+// "g77" or clapack or "gfortran -ff2c"
+//#define BIND_FORTRAN_F2C_RETURN_CONVENTIONS
+// "g77 -fno-f2c" or "gfortran"
+//#define BIND_FORTRAN_NO_F2C_RETURN_CONVENTIONS
+
 // As long as f2c return conventions are the common case,
 // we turn them on unless requested otherwise
 #ifndef BIND_FORTRAN_NO_F2C_RETURN_CONVENTIONS

Modified: sandbox/boost/numeric/bindings/traits/type.h
==============================================================================
--- sandbox/boost/numeric/bindings/traits/type.h (original)
+++ sandbox/boost/numeric/bindings/traits/type.h 2008-12-17 11:23:06 EST (Wed, 17 Dec 2008)
@@ -10,6 +10,18 @@
 #ifndef BOOST_NUMERIC_BINDINGS_TRAITS_TYPE_H
 #define BOOST_NUMERIC_BINDINGS_TRAITS_TYPE_H
 
+// "g77" or "gfortran" or mkl_intel_ilp64
+//#undef BIND_FORTRAN_INTEGER_8
+// clapack or "gfortran -fdefault-integer-8" or mkl_intel_lp64
+//#define BIND_FORTRAN_INTEGER_8
+
+#ifndef BIND_FORTRAN_INTEGER_8
+typedef int integer_t ;
+#else
+typedef std::ptrdiff_t integer_t ;
+#endif
+
+
 /*
  * This header defines the C types that will be mapped to
  * COMPLEX and COMPLEX*16 of Fortran


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