Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r58863 - in sandbox/numeric_bindings: boost/numeric/bindings/blas/level2 boost/numeric/bindings/blas/level3 libs/numeric/bindings/tools
From: rutger_at_[hidden]
Date: 2010-01-10 10:06:11


Author: rutger
Date: 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
New Revision: 58863
URL: http://svn.boost.org/trac/boost/changeset/58863

Log:
fixed static assert on Order tag in blas bindings generator

Text files modified:
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp | 9 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp | 17 ++++++++---------
   sandbox/numeric_bindings/libs/numeric/bindings/tools/blas_generator.py | 4 ++--
   35 files changed, 194 insertions(+), 228 deletions(-)

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/bandwidth.hpp
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/blas/detail/default_order.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -123,7 +122,7 @@
 inline void gbmv( Order, Trans, int m, int n, int kl, int ku, float alpha,
         const float* a, int lda, const float* x, int incx, float beta,
         float* y, int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSgbmv( blas_option< Trans >::value, m, n, kl, ku, alpha, a, lda, x,
             incx, beta, y, incy );
 }
@@ -137,7 +136,7 @@
 inline void gbmv( Order, Trans, int m, int n, int kl, int ku, double alpha,
         const double* a, int lda, const double* x, int incx, double beta,
         double* y, int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -151,7 +150,7 @@
         std::complex<float> alpha, const std::complex<float>* a, int lda,
         const std::complex<float>* x, int incx, std::complex<float> beta,
         std::complex<float>* y, int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCgbmv( blas_option< Trans >::value, m, n, kl, ku, alpha, a, lda, x,
             incx, beta, y, incy );
 }
@@ -166,7 +165,7 @@
         std::complex<double> alpha, const std::complex<double>* a, int lda,
         const std::complex<double>* x, int incx, std::complex<double> beta,
         std::complex<double>* y, int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -181,7 +180,7 @@
         fortran_int_t kl, fortran_int_t ku, float alpha, const float* a,
         fortran_int_t lda, const float* x, fortran_int_t incx, float beta,
         float* y, fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SGBMV( &blas_option< Trans >::value, &m, &n, &kl, &ku, &alpha, a,
             &lda, x, &incx, &beta, y, &incy );
 }
@@ -196,7 +195,7 @@
         fortran_int_t kl, fortran_int_t ku, double alpha, const double* a,
         fortran_int_t lda, const double* x, fortran_int_t incx, double beta,
         double* y, fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DGBMV( &blas_option< Trans >::value, &m, &n, &kl, &ku, &alpha, a,
             &lda, x, &incx, &beta, y, &incy );
 }
@@ -213,7 +212,7 @@
         const std::complex<float>* x, fortran_int_t incx,
         std::complex<float> beta, std::complex<float>* y,
         fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CGBMV( &blas_option< Trans >::value, &m, &n, &kl, &ku, &alpha, a,
             &lda, x, &incx, &beta, y, &incy );
 }
@@ -230,7 +229,7 @@
         const std::complex<double>* x, fortran_int_t incx,
         std::complex<double> beta, std::complex<double>* y,
         fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZGBMV( &blas_option< Trans >::value, &m, &n, &kl, &ku, &alpha, a,
             &lda, x, &incx, &beta, y, &incy );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -17,7 +17,6 @@
 #include <boost/assert.hpp>
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/blas/detail/default_order.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -120,7 +119,7 @@
 template< typename Order, typename Trans >
 inline void gemv( Order, Trans, int m, int n, float alpha, const float* a,
         int lda, const float* x, int incx, float beta, float* y, int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSgemv( blas_option< Trans >::value, m, n, alpha, a, lda, x, incx,
             beta, y, incy );
 }
@@ -134,7 +133,7 @@
 inline void gemv( Order, Trans, int m, int n, double alpha, const double* a,
         int lda, const double* x, int incx, double beta, double* y,
         int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasDgemv( blas_option< Trans >::value, m, n, alpha, a, lda, x, incx,
             beta, y, incy );
 }
@@ -149,7 +148,7 @@
         const std::complex<float>* a, int lda, const std::complex<float>* x,
         int incx, std::complex<float> beta, std::complex<float>* y,
         int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCgemv( blas_option< Trans >::value, m, n, alpha, a, lda, x, incx,
             beta, y, incy );
 }
@@ -164,7 +163,7 @@
         const std::complex<double>* a, int lda, const std::complex<double>* x,
         int incx, std::complex<double> beta, std::complex<double>* y,
         int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasZgemv( blas_option< Trans >::value, m, n, alpha, a, lda, x, incx,
             beta, y, incy );
 }
@@ -179,7 +178,7 @@
 inline void gemv( Order, Trans, fortran_int_t m, fortran_int_t n, float alpha,
         const float* a, fortran_int_t lda, const float* x, fortran_int_t incx,
         float beta, float* y, fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SGEMV( &blas_option< Trans >::value, &m, &n, &alpha, a, &lda, x,
             &incx, &beta, y, &incy );
 }
@@ -193,7 +192,7 @@
 inline void gemv( Order, Trans, fortran_int_t m, fortran_int_t n,
         double alpha, const double* a, fortran_int_t lda, const double* x,
         fortran_int_t incx, double beta, double* y, fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DGEMV( &blas_option< Trans >::value, &m, &n, &alpha, a, &lda, x,
             &incx, &beta, y, &incy );
 }
@@ -209,7 +208,7 @@
         fortran_int_t lda, const std::complex<float>* x, fortran_int_t incx,
         std::complex<float> beta, std::complex<float>* y,
         fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CGEMV( &blas_option< Trans >::value, &m, &n, &alpha, a, &lda, x,
             &incx, &beta, y, &incy );
 }
@@ -225,7 +224,7 @@
         fortran_int_t lda, const std::complex<double>* x, fortran_int_t incx,
         std::complex<double> beta, std::complex<double>* y,
         fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZGEMV( &blas_option< Trans >::value, &m, &n, &alpha, a, &lda, x,
             &incx, &beta, y, &incy );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -17,7 +17,6 @@
 #include <boost/assert.hpp>
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -90,7 +89,7 @@
 template< typename Order >
 inline void ger( Order, int m, int n, float alpha, const float* x, int incx,
         const float* y, int incy, float* a, int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSger( m, n, alpha, x, incx, y, incy, a, lda );
 }
 
@@ -102,7 +101,7 @@
 template< typename Order >
 inline void ger( Order, int m, int n, double alpha, const double* x, int incx,
         const double* y, int incy, double* a, int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasDger( m, n, alpha, x, incx, y, incy, a, lda );
 }
 
@@ -116,7 +115,7 @@
 inline void ger( Order, fortran_int_t m, fortran_int_t n, float alpha,
         const float* x, fortran_int_t incx, const float* y,
         fortran_int_t incy, float* a, fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SGER( &m, &n, &alpha, x, &incx, y, &incy, a, &lda );
 }
 
@@ -129,7 +128,7 @@
 inline void ger( Order, fortran_int_t m, fortran_int_t n, double alpha,
         const double* x, fortran_int_t incx, const double* y,
         fortran_int_t incy, double* a, fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DGER( &m, &n, &alpha, x, &incx, y, &incy, a, &lda );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -17,7 +17,6 @@
 #include <boost/assert.hpp>
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -94,7 +93,7 @@
 inline void gerc( Order, int m, int n, std::complex<float> alpha,
         const std::complex<float>* x, int incx, const std::complex<float>* y,
         int incy, std::complex<float>* a, int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCgerc( m, n, alpha, x, incx, y, incy, a, lda );
 }
 
@@ -108,7 +107,7 @@
         const std::complex<double>* x, int incx,
         const std::complex<double>* y, int incy, std::complex<double>* a,
         int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -123,7 +122,7 @@
         std::complex<float> alpha, const std::complex<float>* x,
         fortran_int_t incx, const std::complex<float>* y, fortran_int_t incy,
         std::complex<float>* a, fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CGERC( &m, &n, &alpha, x, &incx, y, &incy, a, &lda );
 }
 
@@ -137,7 +136,7 @@
         std::complex<double> alpha, const std::complex<double>* x,
         fortran_int_t incx, const std::complex<double>* y, fortran_int_t incy,
         std::complex<double>* a, fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZGERC( &m, &n, &alpha, x, &incx, y, &incy, a, &lda );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -17,7 +17,6 @@
 #include <boost/assert.hpp>
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -94,7 +93,7 @@
 inline void geru( Order, int m, int n, std::complex<float> alpha,
         const std::complex<float>* x, int incx, const std::complex<float>* y,
         int incy, std::complex<float>* a, int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCgeru( m, n, alpha, x, incx, y, incy, a, lda );
 }
 
@@ -108,7 +107,7 @@
         const std::complex<double>* x, int incx,
         const std::complex<double>* y, int incy, std::complex<double>* a,
         int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -123,7 +122,7 @@
         std::complex<float> alpha, const std::complex<float>* x,
         fortran_int_t incx, const std::complex<float>* y, fortran_int_t incy,
         std::complex<float>* a, fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CGERU( &m, &n, &alpha, x, &incx, y, &incy, a, &lda );
 }
 
@@ -137,7 +136,7 @@
         std::complex<double> alpha, const std::complex<double>* x,
         fortran_int_t incx, const std::complex<double>* y, fortran_int_t incy,
         std::complex<double>* a, fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZGERU( &m, &n, &alpha, x, &incx, y, &incy, a, &lda );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -19,7 +19,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -98,7 +97,7 @@
         const std::complex<float>* a, int lda, const std::complex<float>* x,
         int incx, std::complex<float> beta, std::complex<float>* y,
         int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasChbmv( blas_option< UpLo >::value, n, k, alpha, a, lda, x, incx,
             beta, y, incy );
 }
@@ -113,7 +112,7 @@
         const std::complex<double>* a, int lda, const std::complex<double>* x,
         int incx, std::complex<double> beta, std::complex<double>* y,
         int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -129,7 +128,7 @@
         fortran_int_t lda, const std::complex<float>* x, fortran_int_t incx,
         std::complex<float> beta, std::complex<float>* y,
         fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CHBMV( &blas_option< UpLo >::value, &n, &k, &alpha, a, &lda, x,
             &incx, &beta, y, &incy );
 }
@@ -145,7 +144,7 @@
         fortran_int_t lda, const std::complex<double>* x, fortran_int_t incx,
         std::complex<double> beta, std::complex<double>* y,
         fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZHBMV( &blas_option< UpLo >::value, &n, &k, &alpha, a, &lda, x,
             &incx, &beta, y, &incy );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -97,7 +96,7 @@
         const std::complex<float>* a, int lda, const std::complex<float>* x,
         int incx, std::complex<float> beta, std::complex<float>* y,
         int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasChemv( blas_option< UpLo >::value, n, alpha, a, lda, x, incx, beta,
             y, incy );
 }
@@ -112,7 +111,7 @@
         const std::complex<double>* a, int lda, const std::complex<double>* x,
         int incx, std::complex<double> beta, std::complex<double>* y,
         int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -128,7 +127,7 @@
         const std::complex<float>* x, fortran_int_t incx,
         std::complex<float> beta, std::complex<float>* y,
         fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CHEMV( &blas_option< UpLo >::value, &n, &alpha, a, &lda, x, &incx,
             &beta, y, &incy );
 }
@@ -144,7 +143,7 @@
         const std::complex<double>* x, fortran_int_t incx,
         std::complex<double> beta, std::complex<double>* y,
         fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZHEMV( &blas_option< UpLo >::value, &n, &alpha, a, &lda, x, &incx,
             &beta, y, &incy );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -94,7 +93,7 @@
 inline void her( Order, UpLo, int n, float alpha,
         const std::complex<float>* x, int incx, std::complex<float>* a,
         int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCher( blas_option< UpLo >::value, n, alpha, x, incx, a, lda );
 }
 
@@ -107,7 +106,7 @@
 inline void her( Order, UpLo, int n, double alpha,
         const std::complex<double>* x, int incx, std::complex<double>* a,
         int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -121,7 +120,7 @@
 inline void her( Order, UpLo, fortran_int_t n, float alpha,
         const std::complex<float>* x, fortran_int_t incx,
         std::complex<float>* a, fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CHER( &blas_option< UpLo >::value, &n, &alpha, x, &incx, a, &lda );
 }
 
@@ -134,7 +133,7 @@
 inline void her( Order, UpLo, fortran_int_t n, double alpha,
         const std::complex<double>* x, fortran_int_t incx,
         std::complex<double>* a, fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZHER( &blas_option< UpLo >::value, &n, &alpha, x, &incx, a, &lda );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -95,7 +94,7 @@
 inline void her2( Order, UpLo, int n, std::complex<float> alpha,
         const std::complex<float>* x, int incx, const std::complex<float>* y,
         int incy, std::complex<float>* a, int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCher2( blas_option< UpLo >::value, n, alpha, x, incx, y, incy, a,
             lda );
 }
@@ -110,7 +109,7 @@
         const std::complex<double>* x, int incx,
         const std::complex<double>* y, int incy, std::complex<double>* a,
         int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -125,7 +124,7 @@
         const std::complex<float>* x, fortran_int_t incx,
         const std::complex<float>* y, fortran_int_t incy,
         std::complex<float>* a, fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CHER2( &blas_option< UpLo >::value, &n, &alpha, x, &incx, y, &incy,
             a, &lda );
 }
@@ -140,7 +139,7 @@
         const std::complex<double>* x, fortran_int_t incx,
         const std::complex<double>* y, fortran_int_t incy,
         std::complex<double>* a, fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZHER2( &blas_option< UpLo >::value, &n, &alpha, x, &incx, y, &incy,
             a, &lda );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -95,7 +94,7 @@
 inline void hpmv( Order, UpLo, int n, std::complex<float> alpha,
         const std::complex<float>* ap, const std::complex<float>* x, int incx,
         std::complex<float> beta, std::complex<float>* y, int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasChpmv( blas_option< UpLo >::value, n, alpha, ap, x, incx, beta, y,
             incy );
 }
@@ -110,7 +109,7 @@
         const std::complex<double>* ap, const std::complex<double>* x,
         int incx, std::complex<double> beta, std::complex<double>* y,
         int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -125,7 +124,7 @@
         const std::complex<float>* ap, const std::complex<float>* x,
         fortran_int_t incx, std::complex<float> beta, std::complex<float>* y,
         fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CHPMV( &blas_option< UpLo >::value, &n, &alpha, ap, x, &incx, &beta,
             y, &incy );
 }
@@ -140,7 +139,7 @@
         const std::complex<double>* ap, const std::complex<double>* x,
         fortran_int_t incx, std::complex<double> beta,
         std::complex<double>* y, fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZHPMV( &blas_option< UpLo >::value, &n, &alpha, ap, x, &incx, &beta,
             y, &incy );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -91,7 +90,7 @@
 template< typename Order, typename UpLo >
 inline void hpr( Order, UpLo, int n, float alpha,
         const std::complex<float>* x, int incx, std::complex<float>* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasChpr( blas_option< UpLo >::value, n, alpha, x, incx, ap );
 }
 
@@ -103,7 +102,7 @@
 template< typename Order, typename UpLo >
 inline void hpr( Order, UpLo, int n, double alpha,
         const std::complex<double>* x, int incx, std::complex<double>* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -117,7 +116,7 @@
 inline void hpr( Order, UpLo, fortran_int_t n, float alpha,
         const std::complex<float>* x, fortran_int_t incx,
         std::complex<float>* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CHPR( &blas_option< UpLo >::value, &n, &alpha, x, &incx, ap );
 }
 
@@ -130,7 +129,7 @@
 inline void hpr( Order, UpLo, fortran_int_t n, double alpha,
         const std::complex<double>* x, fortran_int_t incx,
         std::complex<double>* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZHPR( &blas_option< UpLo >::value, &n, &alpha, x, &incx, ap );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -94,7 +93,7 @@
 inline void hpr2( Order, UpLo, int n, std::complex<float> alpha,
         const std::complex<float>* x, int incx, const std::complex<float>* y,
         int incy, std::complex<float>* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasChpr2( blas_option< UpLo >::value, n, alpha, x, incx, y, incy, ap );
 }
 
@@ -107,7 +106,7 @@
 inline void hpr2( Order, UpLo, int n, std::complex<double> alpha,
         const std::complex<double>* x, int incx,
         const std::complex<double>* y, int incy, std::complex<double>* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -122,7 +121,7 @@
         const std::complex<float>* x, fortran_int_t incx,
         const std::complex<float>* y, fortran_int_t incy,
         std::complex<float>* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CHPR2( &blas_option< UpLo >::value, &n, &alpha, x, &incx, y, &incy,
             ap );
 }
@@ -137,7 +136,7 @@
         const std::complex<double>* x, fortran_int_t incx,
         const std::complex<double>* y, fortran_int_t incy,
         std::complex<double>* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZHPR2( &blas_option< UpLo >::value, &n, &alpha, x, &incx, y, &incy,
             ap );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -19,7 +19,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -93,7 +92,7 @@
 template< typename Order, typename UpLo >
 inline void sbmv( Order, UpLo, int n, int k, float alpha, const float* a,
         int lda, const float* x, int incx, float beta, float* y, int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSsbmv( blas_option< UpLo >::value, n, k, alpha, a, lda, x, incx,
             beta, y, incy );
 }
@@ -107,7 +106,7 @@
 inline void sbmv( Order, UpLo, int n, int k, double alpha, const double* a,
         int lda, const double* x, int incx, double beta, double* y,
         int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -121,7 +120,7 @@
 inline void sbmv( Order, UpLo, fortran_int_t n, fortran_int_t k, float alpha,
         const float* a, fortran_int_t lda, const float* x, fortran_int_t incx,
         float beta, float* y, fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SSBMV( &blas_option< UpLo >::value, &n, &k, &alpha, a, &lda, x,
             &incx, &beta, y, &incy );
 }
@@ -135,7 +134,7 @@
 inline void sbmv( Order, UpLo, fortran_int_t n, fortran_int_t k, double alpha,
         const double* a, fortran_int_t lda, const double* x,
         fortran_int_t incx, double beta, double* y, fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DSBMV( &blas_option< UpLo >::value, &n, &k, &alpha, a, &lda, x,
             &incx, &beta, y, &incy );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -91,7 +90,7 @@
 template< typename Order, typename UpLo >
 inline void spmv( Order, UpLo, int n, float alpha, const float* ap,
         const float* x, int incx, float beta, float* y, int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSspmv( blas_option< UpLo >::value, n, alpha, ap, x, incx, beta, y,
             incy );
 }
@@ -104,7 +103,7 @@
 template< typename Order, typename UpLo >
 inline void spmv( Order, UpLo, int n, double alpha, const double* ap,
         const double* x, int incx, double beta, double* y, int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -118,7 +117,7 @@
 inline void spmv( Order, UpLo, fortran_int_t n, float alpha, const float* ap,
         const float* x, fortran_int_t incx, float beta, float* y,
         fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SSPMV( &blas_option< UpLo >::value, &n, &alpha, ap, x, &incx, &beta,
             y, &incy );
 }
@@ -132,7 +131,7 @@
 inline void spmv( Order, UpLo, fortran_int_t n, double alpha,
         const double* ap, const double* x, fortran_int_t incx, double beta,
         double* y, fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DSPMV( &blas_option< UpLo >::value, &n, &alpha, ap, x, &incx, &beta,
             y, &incy );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -91,7 +90,7 @@
 template< typename Order, typename UpLo >
 inline void spr( Order, UpLo, int n, float alpha, const float* x, int incx,
         float* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSspr( blas_option< UpLo >::value, n, alpha, x, incx, ap );
 }
 
@@ -103,7 +102,7 @@
 template< typename Order, typename UpLo >
 inline void spr( Order, UpLo, int n, double alpha, const double* x, int incx,
         double* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -116,7 +115,7 @@
 template< typename Order, typename UpLo >
 inline void spr( Order, UpLo, fortran_int_t n, float alpha, const float* x,
         fortran_int_t incx, float* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SSPR( &blas_option< UpLo >::value, &n, &alpha, x, &incx, ap );
 }
 
@@ -128,7 +127,7 @@
 template< typename Order, typename UpLo >
 inline void spr( Order, UpLo, fortran_int_t n, double alpha, const double* x,
         fortran_int_t incx, double* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DSPR( &blas_option< UpLo >::value, &n, &alpha, x, &incx, ap );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -91,7 +90,7 @@
 template< typename Order, typename UpLo >
 inline void spr2( Order, UpLo, int n, float alpha, const float* x, int incx,
         const float* y, int incy, float* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSspr2( blas_option< UpLo >::value, n, alpha, x, incx, y, incy, ap );
 }
 
@@ -103,7 +102,7 @@
 template< typename Order, typename UpLo >
 inline void spr2( Order, UpLo, int n, double alpha, const double* x, int incx,
         const double* y, int incy, double* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -116,7 +115,7 @@
 template< typename Order, typename UpLo >
 inline void spr2( Order, UpLo, fortran_int_t n, float alpha, const float* x,
         fortran_int_t incx, const float* y, fortran_int_t incy, float* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SSPR2( &blas_option< UpLo >::value, &n, &alpha, x, &incx, y, &incy,
             ap );
 }
@@ -129,7 +128,7 @@
 template< typename Order, typename UpLo >
 inline void spr2( Order, UpLo, fortran_int_t n, double alpha, const double* x,
         fortran_int_t incx, const double* y, fortran_int_t incy, double* ap ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DSPR2( &blas_option< UpLo >::value, &n, &alpha, x, &incx, y, &incy,
             ap );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -91,7 +90,7 @@
 template< typename Order, typename UpLo >
 inline void symv( Order, UpLo, int n, float alpha, const float* a, int lda,
         const float* x, int incx, float beta, float* y, int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSsymv( blas_option< UpLo >::value, n, alpha, a, lda, x, incx, beta,
             y, incy );
 }
@@ -104,7 +103,7 @@
 template< typename Order, typename UpLo >
 inline void symv( Order, UpLo, int n, double alpha, const double* a, int lda,
         const double* x, int incx, double beta, double* y, int incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -118,7 +117,7 @@
 inline void symv( Order, UpLo, fortran_int_t n, float alpha, const float* a,
         fortran_int_t lda, const float* x, fortran_int_t incx, float beta,
         float* y, fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SSYMV( &blas_option< UpLo >::value, &n, &alpha, a, &lda, x, &incx,
             &beta, y, &incy );
 }
@@ -132,7 +131,7 @@
 inline void symv( Order, UpLo, fortran_int_t n, double alpha, const double* a,
         fortran_int_t lda, const double* x, fortran_int_t incx, double beta,
         double* y, fortran_int_t incy ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DSYMV( &blas_option< UpLo >::value, &n, &alpha, a, &lda, x, &incx,
             &beta, y, &incy );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -91,7 +90,7 @@
 template< typename Order, typename UpLo >
 inline void syr( Order, UpLo, int n, float alpha, const float* x, int incx,
         float* a, int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSsyr( blas_option< UpLo >::value, n, alpha, x, incx, a, lda );
 }
 
@@ -103,7 +102,7 @@
 template< typename Order, typename UpLo >
 inline void syr( Order, UpLo, int n, double alpha, const double* x, int incx,
         double* a, int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasDsyr( blas_option< UpLo >::value, n, alpha, x, incx, a, lda );
 }
 
@@ -116,7 +115,7 @@
 template< typename Order, typename UpLo >
 inline void syr( Order, UpLo, fortran_int_t n, float alpha, const float* x,
         fortran_int_t incx, float* a, fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SSYR( &blas_option< UpLo >::value, &n, &alpha, x, &incx, a, &lda );
 }
 
@@ -128,7 +127,7 @@
 template< typename Order, typename UpLo >
 inline void syr( Order, UpLo, fortran_int_t n, double alpha, const double* x,
         fortran_int_t incx, double* a, fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DSYR( &blas_option< UpLo >::value, &n, &alpha, x, &incx, a, &lda );
 }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -91,7 +90,7 @@
 template< typename Order, typename UpLo >
 inline void syr2( Order, UpLo, int n, float alpha, const float* x, int incx,
         const float* y, int incy, float* a, int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSsyr2( blas_option< UpLo >::value, n, alpha, x, incx, y, incy, a,
             lda );
 }
@@ -104,7 +103,7 @@
 template< typename Order, typename UpLo >
 inline void syr2( Order, UpLo, int n, double alpha, const double* x, int incx,
         const double* y, int incy, double* a, int lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -118,7 +117,7 @@
 inline void syr2( Order, UpLo, fortran_int_t n, float alpha, const float* x,
         fortran_int_t incx, const float* y, fortran_int_t incy, float* a,
         fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SSYR2( &blas_option< UpLo >::value, &n, &alpha, x, &incx, y, &incy,
             a, &lda );
 }
@@ -132,7 +131,7 @@
 inline void syr2( Order, UpLo, fortran_int_t n, double alpha, const double* x,
         fortran_int_t incx, const double* y, fortran_int_t incy, double* a,
         fortran_int_t lda ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DSYR2( &blas_option< UpLo >::value, &n, &alpha, x, &incx, y, &incy,
             a, &lda );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -20,7 +20,6 @@
 #include <boost/numeric/bindings/blas/detail/default_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
 #include <boost/numeric/bindings/diag_tag.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -124,7 +123,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tbmv( Order, UpLo, Trans, Diag, int n, int k, const float* a,
         int lda, float* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasStbmv( blas_option< UpLo >::value, blas_option< Trans >::value,
             blas_option< Diag >::value, n, k, a, lda, x, incx );
 }
@@ -137,7 +136,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tbmv( Order, UpLo, Trans, Diag, int n, int k, const double* a,
         int lda, double* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -150,7 +149,7 @@
 inline void tbmv( Order, UpLo, Trans, Diag, int n, int k,
         const std::complex<float>* a, int lda, std::complex<float>* x,
         int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCtbmv( blas_option< UpLo >::value, blas_option< Trans >::value,
             blas_option< Diag >::value, n, k, a, lda, x, incx );
 }
@@ -164,7 +163,7 @@
 inline void tbmv( Order, UpLo, Trans, Diag, int n, int k,
         const std::complex<double>* a, int lda, std::complex<double>* x,
         int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -177,7 +176,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tbmv( Order, UpLo, Trans, Diag, fortran_int_t n, fortran_int_t k,
         const float* a, fortran_int_t lda, float* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_STBMV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, &k, a, &lda, x, &incx );
 }
@@ -190,7 +189,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tbmv( Order, UpLo, Trans, Diag, fortran_int_t n, fortran_int_t k,
         const double* a, fortran_int_t lda, double* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DTBMV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, &k, a, &lda, x, &incx );
 }
@@ -204,7 +203,7 @@
 inline void tbmv( Order, UpLo, Trans, Diag, fortran_int_t n, fortran_int_t k,
         const std::complex<float>* a, fortran_int_t lda,
         std::complex<float>* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CTBMV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, &k, a, &lda, x, &incx );
 }
@@ -218,7 +217,7 @@
 inline void tbmv( Order, UpLo, Trans, Diag, fortran_int_t n, fortran_int_t k,
         const std::complex<double>* a, fortran_int_t lda,
         std::complex<double>* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZTBMV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, &k, a, &lda, x, &incx );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -20,7 +20,6 @@
 #include <boost/numeric/bindings/blas/detail/default_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
 #include <boost/numeric/bindings/diag_tag.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -124,7 +123,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tbsv( Order, UpLo, Trans, Diag, int n, int k, const float* a,
         int lda, float* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasStbsv( blas_option< UpLo >::value, blas_option< Trans >::value,
             blas_option< Diag >::value, n, k, a, lda, x, incx );
 }
@@ -137,7 +136,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tbsv( Order, UpLo, Trans, Diag, int n, int k, const double* a,
         int lda, double* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -150,7 +149,7 @@
 inline void tbsv( Order, UpLo, Trans, Diag, int n, int k,
         const std::complex<float>* a, int lda, std::complex<float>* x,
         int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCtbsv( blas_option< UpLo >::value, blas_option< Trans >::value,
             blas_option< Diag >::value, n, k, a, lda, x, incx );
 }
@@ -164,7 +163,7 @@
 inline void tbsv( Order, UpLo, Trans, Diag, int n, int k,
         const std::complex<double>* a, int lda, std::complex<double>* x,
         int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -177,7 +176,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tbsv( Order, UpLo, Trans, Diag, fortran_int_t n, fortran_int_t k,
         const float* a, fortran_int_t lda, float* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_STBSV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, &k, a, &lda, x, &incx );
 }
@@ -190,7 +189,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tbsv( Order, UpLo, Trans, Diag, fortran_int_t n, fortran_int_t k,
         const double* a, fortran_int_t lda, double* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DTBSV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, &k, a, &lda, x, &incx );
 }
@@ -204,7 +203,7 @@
 inline void tbsv( Order, UpLo, Trans, Diag, fortran_int_t n, fortran_int_t k,
         const std::complex<float>* a, fortran_int_t lda,
         std::complex<float>* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CTBSV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, &k, a, &lda, x, &incx );
 }
@@ -218,7 +217,7 @@
 inline void tbsv( Order, UpLo, Trans, Diag, fortran_int_t n, fortran_int_t k,
         const std::complex<double>* a, fortran_int_t lda,
         std::complex<double>* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZTBSV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, &k, a, &lda, x, &incx );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -19,7 +19,6 @@
 #include <boost/numeric/bindings/blas/detail/default_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
 #include <boost/numeric/bindings/diag_tag.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -121,7 +120,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tpmv( Order, UpLo, Trans, Diag, int n, const float* ap, float* x,
         int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasStpmv( blas_option< UpLo >::value, blas_option< Trans >::value,
             blas_option< Diag >::value, n, ap, x, incx );
 }
@@ -134,7 +133,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tpmv( Order, UpLo, Trans, Diag, int n, const double* ap,
         double* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -146,7 +145,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tpmv( Order, UpLo, Trans, Diag, int n,
         const std::complex<float>* ap, std::complex<float>* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCtpmv( blas_option< UpLo >::value, blas_option< Trans >::value,
             blas_option< Diag >::value, n, ap, x, incx );
 }
@@ -159,7 +158,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tpmv( Order, UpLo, Trans, Diag, int n,
         const std::complex<double>* ap, std::complex<double>* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -172,7 +171,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tpmv( Order, UpLo, Trans, Diag, fortran_int_t n, const float* ap,
         float* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_STPMV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, ap, x, &incx );
 }
@@ -185,7 +184,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tpmv( Order, UpLo, Trans, Diag, fortran_int_t n, const double* ap,
         double* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DTPMV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, ap, x, &incx );
 }
@@ -199,7 +198,7 @@
 inline void tpmv( Order, UpLo, Trans, Diag, fortran_int_t n,
         const std::complex<float>* ap, std::complex<float>* x,
         fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CTPMV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, ap, x, &incx );
 }
@@ -213,7 +212,7 @@
 inline void tpmv( Order, UpLo, Trans, Diag, fortran_int_t n,
         const std::complex<double>* ap, std::complex<double>* x,
         fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZTPMV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, ap, x, &incx );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -19,7 +19,6 @@
 #include <boost/numeric/bindings/blas/detail/default_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
 #include <boost/numeric/bindings/diag_tag.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -121,7 +120,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tpsv( Order, UpLo, Trans, Diag, int n, const float* ap, float* x,
         int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasStpsv( blas_option< UpLo >::value, blas_option< Trans >::value,
             blas_option< Diag >::value, n, ap, x, incx );
 }
@@ -134,7 +133,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tpsv( Order, UpLo, Trans, Diag, int n, const double* ap,
         double* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -146,7 +145,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tpsv( Order, UpLo, Trans, Diag, int n,
         const std::complex<float>* ap, std::complex<float>* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCtpsv( blas_option< UpLo >::value, blas_option< Trans >::value,
             blas_option< Diag >::value, n, ap, x, incx );
 }
@@ -159,7 +158,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tpsv( Order, UpLo, Trans, Diag, int n,
         const std::complex<double>* ap, std::complex<double>* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -172,7 +171,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tpsv( Order, UpLo, Trans, Diag, fortran_int_t n, const float* ap,
         float* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_STPSV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, ap, x, &incx );
 }
@@ -185,7 +184,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void tpsv( Order, UpLo, Trans, Diag, fortran_int_t n, const double* ap,
         double* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DTPSV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, ap, x, &incx );
 }
@@ -199,7 +198,7 @@
 inline void tpsv( Order, UpLo, Trans, Diag, fortran_int_t n,
         const std::complex<float>* ap, std::complex<float>* x,
         fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CTPSV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, ap, x, &incx );
 }
@@ -213,7 +212,7 @@
 inline void tpsv( Order, UpLo, Trans, Diag, fortran_int_t n,
         const std::complex<double>* ap, std::complex<double>* x,
         fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZTPSV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, ap, x, &incx );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -19,7 +19,6 @@
 #include <boost/numeric/bindings/blas/detail/default_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
 #include <boost/numeric/bindings/diag_tag.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -123,7 +122,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void trmv( Order, UpLo, Trans, Diag, int n, const float* a, int lda,
         float* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasStrmv( blas_option< UpLo >::value, blas_option< Trans >::value,
             blas_option< Diag >::value, n, a, lda, x, incx );
 }
@@ -136,7 +135,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void trmv( Order, UpLo, Trans, Diag, int n, const double* a, int lda,
         double* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -149,7 +148,7 @@
 inline void trmv( Order, UpLo, Trans, Diag, int n,
         const std::complex<float>* a, int lda, std::complex<float>* x,
         int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -162,7 +161,7 @@
 inline void trmv( Order, UpLo, Trans, Diag, int n,
         const std::complex<double>* a, int lda, std::complex<double>* x,
         int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -175,7 +174,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void trmv( Order, UpLo, Trans, Diag, fortran_int_t n, const float* a,
         fortran_int_t lda, float* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_STRMV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, a, &lda, x, &incx );
 }
@@ -188,7 +187,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void trmv( Order, UpLo, Trans, Diag, fortran_int_t n, const double* a,
         fortran_int_t lda, double* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DTRMV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, a, &lda, x, &incx );
 }
@@ -202,7 +201,7 @@
 inline void trmv( Order, UpLo, Trans, Diag, fortran_int_t n,
         const std::complex<float>* a, fortran_int_t lda,
         std::complex<float>* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CTRMV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, a, &lda, x, &incx );
 }
@@ -216,7 +215,7 @@
 inline void trmv( Order, UpLo, Trans, Diag, fortran_int_t n,
         const std::complex<double>* a, fortran_int_t lda,
         std::complex<double>* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZTRMV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, a, &lda, x, &incx );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -19,7 +19,6 @@
 #include <boost/numeric/bindings/blas/detail/default_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
 #include <boost/numeric/bindings/diag_tag.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -123,7 +122,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void trsv( Order, UpLo, Trans, Diag, int n, const float* a, int lda,
         float* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasStrsv( blas_option< UpLo >::value, blas_option< Trans >::value,
             blas_option< Diag >::value, n, a, lda, x, incx );
 }
@@ -136,7 +135,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void trsv( Order, UpLo, Trans, Diag, int n, const double* a, int lda,
         double* x, int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasDtrsv( blas_option< UpLo >::value, blas_option< Trans >::value,
             blas_option< Diag >::value, n, a, lda, x, incx );
 }
@@ -150,7 +149,7 @@
 inline void trsv( Order, UpLo, Trans, Diag, int n,
         const std::complex<float>* a, int lda, std::complex<float>* x,
         int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCtrsv( blas_option< UpLo >::value, blas_option< Trans >::value,
             blas_option< Diag >::value, n, a, lda, x, incx );
 }
@@ -164,7 +163,7 @@
 inline void trsv( Order, UpLo, Trans, Diag, int n,
         const std::complex<double>* a, int lda, std::complex<double>* x,
         int incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -177,7 +176,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void trsv( Order, UpLo, Trans, Diag, fortran_int_t n, const float* a,
         fortran_int_t lda, float* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_STRSV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, a, &lda, x, &incx );
 }
@@ -190,7 +189,7 @@
 template< typename Order, typename UpLo, typename Trans, typename Diag >
 inline void trsv( Order, UpLo, Trans, Diag, fortran_int_t n, const double* a,
         fortran_int_t lda, double* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DTRSV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, a, &lda, x, &incx );
 }
@@ -204,7 +203,7 @@
 inline void trsv( Order, UpLo, Trans, Diag, fortran_int_t n,
         const std::complex<float>* a, fortran_int_t lda,
         std::complex<float>* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CTRSV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, a, &lda, x, &incx );
 }
@@ -218,7 +217,7 @@
 inline void trsv( Order, UpLo, Trans, Diag, fortran_int_t n,
         const std::complex<double>* a, fortran_int_t lda,
         std::complex<double>* x, fortran_int_t incx ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZTRSV( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &blas_option< Diag >::value, &n, a, &lda, x, &incx );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -17,7 +17,6 @@
 #include <boost/assert.hpp>
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -126,7 +125,7 @@
 inline void gemm( Order, TransA, TransB, int m, int n, int k, float alpha,
         const float* a, int lda, const float* b, int ldb, float beta,
         float* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSgemm( blas_option< TransA >::value, blas_option< TransB >::value,
             m, n, k, alpha, a, lda, b, ldb, beta, c, ldc );
 }
@@ -140,7 +139,7 @@
 inline void gemm( Order, TransA, TransB, int m, int n, int k, double alpha,
         const double* a, int lda, const double* b, int ldb, double beta,
         double* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasDgemm( blas_option< TransA >::value, blas_option< TransB >::value,
             m, n, k, alpha, a, lda, b, ldb, beta, c, ldc );
 }
@@ -155,7 +154,7 @@
         std::complex<float> alpha, const std::complex<float>* a, int lda,
         const std::complex<float>* b, int ldb, std::complex<float> beta,
         std::complex<float>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCgemm( blas_option< TransA >::value, blas_option< TransB >::value,
             m, n, k, alpha, a, lda, b, ldb, beta, c, ldc );
 }
@@ -170,7 +169,7 @@
         std::complex<double> alpha, const std::complex<double>* a, int lda,
         const std::complex<double>* b, int ldb, std::complex<double> beta,
         std::complex<double>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasZgemm( blas_option< TransA >::value, blas_option< TransB >::value,
             m, n, k, alpha, a, lda, b, ldb, beta, c, ldc );
 }
@@ -186,7 +185,7 @@
         fortran_int_t k, float alpha, const float* a, fortran_int_t lda,
         const float* b, fortran_int_t ldb, float beta, float* c,
         fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SGEMM( &blas_option< TransA >::value, &blas_option< TransB >::value,
             &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc );
 }
@@ -201,7 +200,7 @@
         fortran_int_t k, double alpha, const double* a, fortran_int_t lda,
         const double* b, fortran_int_t ldb, double beta, double* c,
         fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DGEMM( &blas_option< TransA >::value, &blas_option< TransB >::value,
             &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc );
 }
@@ -217,7 +216,7 @@
         const std::complex<float>* a, fortran_int_t lda,
         const std::complex<float>* b, fortran_int_t ldb,
         std::complex<float> beta, std::complex<float>* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CGEMM( &blas_option< TransA >::value, &blas_option< TransB >::value,
             &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc );
 }
@@ -234,7 +233,7 @@
         const std::complex<double>* b, fortran_int_t ldb,
         std::complex<double> beta, std::complex<double>* c,
         fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZGEMM( &blas_option< TransA >::value, &blas_option< TransB >::value,
             &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -99,7 +98,7 @@
         std::complex<float> alpha, const std::complex<float>* a, int lda,
         const std::complex<float>* b, int ldb, std::complex<float> beta,
         std::complex<float>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasChemm( side, blas_option< UpLo >::value, m, n, alpha, a, lda, b,
             ldb, beta, c, ldc );
 }
@@ -114,7 +113,7 @@
         std::complex<double> alpha, const std::complex<double>* a, int lda,
         const std::complex<double>* b, int ldb, std::complex<double> beta,
         std::complex<double>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -129,7 +128,7 @@
         std::complex<float> alpha, const std::complex<float>* a,
         fortran_int_t lda, const std::complex<float>* b, fortran_int_t ldb,
         std::complex<float> beta, std::complex<float>* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CHEMM( &side, &blas_option< UpLo >::value, &m, &n, &alpha, a, &lda,
             b, &ldb, &beta, c, &ldc );
 }
@@ -145,7 +144,7 @@
         fortran_int_t lda, const std::complex<double>* b, fortran_int_t ldb,
         std::complex<double> beta, std::complex<double>* c,
         fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZHEMM( &side, &blas_option< UpLo >::value, &m, &n, &alpha, a, &lda,
             b, &ldb, &beta, c, &ldc );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -100,7 +99,7 @@
         std::complex<float> alpha, const std::complex<float>* a, int lda,
         const std::complex<float>* b, int ldb, float beta,
         std::complex<float>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCher2k( blas_option< UpLo >::value, blas_option< Trans >::value, n,
             k, alpha, a, lda, b, ldb, beta, c, ldc );
 }
@@ -115,7 +114,7 @@
         std::complex<double> alpha, const std::complex<double>* a, int lda,
         const std::complex<double>* b, int ldb, double beta,
         std::complex<double>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -130,7 +129,7 @@
         std::complex<float> alpha, const std::complex<float>* a,
         fortran_int_t lda, const std::complex<float>* b, fortran_int_t ldb,
         float beta, std::complex<float>* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CHER2K( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc );
 }
@@ -145,7 +144,7 @@
         std::complex<double> alpha, const std::complex<double>* a,
         fortran_int_t lda, const std::complex<double>* b, fortran_int_t ldb,
         double beta, std::complex<double>* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZHER2K( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -95,7 +94,7 @@
 inline void herk( Order, UpLo, Trans, int n, int k, float alpha,
         const std::complex<float>* a, int lda, float beta,
         std::complex<float>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCherk( blas_option< UpLo >::value, blas_option< Trans >::value, n,
             k, alpha, a, lda, beta, c, ldc );
 }
@@ -109,7 +108,7 @@
 inline void herk( Order, UpLo, Trans, int n, int k, double alpha,
         const std::complex<double>* a, int lda, double beta,
         std::complex<double>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -123,7 +122,7 @@
 inline void herk( Order, UpLo, Trans, fortran_int_t n, fortran_int_t k,
         float alpha, const std::complex<float>* a, fortran_int_t lda,
         float beta, std::complex<float>* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CHERK( &blas_option< UpLo >::value, &blas_option< Trans >::value, &n,
             &k, &alpha, a, &lda, &beta, c, &ldc );
 }
@@ -137,7 +136,7 @@
 inline void herk( Order, UpLo, Trans, fortran_int_t n, fortran_int_t k,
         double alpha, const std::complex<double>* a, fortran_int_t lda,
         double beta, std::complex<double>* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZHERK( &blas_option< UpLo >::value, &blas_option< Trans >::value, &n,
             &k, &alpha, a, &lda, &beta, c, &ldc );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -126,7 +125,7 @@
 inline void symm( Order, char side, UpLo, int m, int n, float alpha,
         const float* a, int lda, const float* b, int ldb, float beta,
         float* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSsymm( side, blas_option< UpLo >::value, m, n, alpha, a, lda, b,
             ldb, beta, c, ldc );
 }
@@ -140,7 +139,7 @@
 inline void symm( Order, char side, UpLo, int m, int n, double alpha,
         const double* a, int lda, const double* b, int ldb, double beta,
         double* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasDsymm( side, blas_option< UpLo >::value, m, n, alpha, a, lda, b,
             ldb, beta, c, ldc );
 }
@@ -155,7 +154,7 @@
         std::complex<float> alpha, const std::complex<float>* a, int lda,
         const std::complex<float>* b, int ldb, std::complex<float> beta,
         std::complex<float>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCsymm( side, blas_option< UpLo >::value, m, n, alpha, a, lda, b,
             ldb, beta, c, ldc );
 }
@@ -170,7 +169,7 @@
         std::complex<double> alpha, const std::complex<double>* a, int lda,
         const std::complex<double>* b, int ldb, std::complex<double> beta,
         std::complex<double>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -184,7 +183,7 @@
 inline void symm( Order, char side, UpLo, fortran_int_t m, fortran_int_t n,
         float alpha, const float* a, fortran_int_t lda, const float* b,
         fortran_int_t ldb, float beta, float* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SSYMM( &side, &blas_option< UpLo >::value, &m, &n, &alpha, a, &lda,
             b, &ldb, &beta, c, &ldc );
 }
@@ -198,7 +197,7 @@
 inline void symm( Order, char side, UpLo, fortran_int_t m, fortran_int_t n,
         double alpha, const double* a, fortran_int_t lda, const double* b,
         fortran_int_t ldb, double beta, double* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DSYMM( &side, &blas_option< UpLo >::value, &m, &n, &alpha, a, &lda,
             b, &ldb, &beta, c, &ldc );
 }
@@ -213,7 +212,7 @@
         std::complex<float> alpha, const std::complex<float>* a,
         fortran_int_t lda, const std::complex<float>* b, fortran_int_t ldb,
         std::complex<float> beta, std::complex<float>* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CSYMM( &side, &blas_option< UpLo >::value, &m, &n, &alpha, a, &lda,
             b, &ldb, &beta, c, &ldc );
 }
@@ -229,7 +228,7 @@
         fortran_int_t lda, const std::complex<double>* b, fortran_int_t ldb,
         std::complex<double> beta, std::complex<double>* c,
         fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZSYMM( &side, &blas_option< UpLo >::value, &m, &n, &alpha, a, &lda,
             b, &ldb, &beta, c, &ldc );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -127,7 +126,7 @@
 inline void syr2k( Order, UpLo, Trans, int n, int k, float alpha,
         const float* a, int lda, const float* b, int ldb, float beta,
         float* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSsyr2k( blas_option< UpLo >::value, blas_option< Trans >::value, n,
             k, alpha, a, lda, b, ldb, beta, c, ldc );
 }
@@ -141,7 +140,7 @@
 inline void syr2k( Order, UpLo, Trans, int n, int k, double alpha,
         const double* a, int lda, const double* b, int ldb, double beta,
         double* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasDsyr2k( blas_option< UpLo >::value, blas_option< Trans >::value, n,
             k, alpha, a, lda, b, ldb, beta, c, ldc );
 }
@@ -156,7 +155,7 @@
         std::complex<float> alpha, const std::complex<float>* a, int lda,
         const std::complex<float>* b, int ldb, std::complex<float> beta,
         std::complex<float>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCsyr2k( blas_option< UpLo >::value, blas_option< Trans >::value, n,
             k, alpha, a, lda, b, ldb, beta, c, ldc );
 }
@@ -171,7 +170,7 @@
         std::complex<double> alpha, const std::complex<double>* a, int lda,
         const std::complex<double>* b, int ldb, std::complex<double> beta,
         std::complex<double>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -185,7 +184,7 @@
 inline void syr2k( Order, UpLo, Trans, fortran_int_t n, fortran_int_t k,
         float alpha, const float* a, fortran_int_t lda, const float* b,
         fortran_int_t ldb, float beta, float* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SSYR2K( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc );
 }
@@ -199,7 +198,7 @@
 inline void syr2k( Order, UpLo, Trans, fortran_int_t n, fortran_int_t k,
         double alpha, const double* a, fortran_int_t lda, const double* b,
         fortran_int_t ldb, double beta, double* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DSYR2K( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc );
 }
@@ -214,7 +213,7 @@
         std::complex<float> alpha, const std::complex<float>* a,
         fortran_int_t lda, const std::complex<float>* b, fortran_int_t ldb,
         std::complex<float> beta, std::complex<float>* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CSYR2K( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc );
 }
@@ -230,7 +229,7 @@
         fortran_int_t lda, const std::complex<double>* b, fortran_int_t ldb,
         std::complex<double> beta, std::complex<double>* c,
         fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZSYR2K( &blas_option< UpLo >::value, &blas_option< Trans >::value,
             &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -18,7 +18,6 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -120,7 +119,7 @@
 template< typename Order, typename UpLo, typename Trans >
 inline void syrk( Order, UpLo, Trans, int n, int k, float alpha,
         const float* a, int lda, float beta, float* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasSsyrk( blas_option< UpLo >::value, blas_option< Trans >::value, n,
             k, alpha, a, lda, beta, c, ldc );
 }
@@ -133,7 +132,7 @@
 template< typename Order, typename UpLo, typename Trans >
 inline void syrk( Order, UpLo, Trans, int n, int k, double alpha,
         const double* a, int lda, double beta, double* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasDsyrk( blas_option< UpLo >::value, blas_option< Trans >::value, n,
             k, alpha, a, lda, beta, c, ldc );
 }
@@ -147,7 +146,7 @@
 inline void syrk( Order, UpLo, Trans, int n, int k, std::complex<float> alpha,
         const std::complex<float>* a, int lda, std::complex<float> beta,
         std::complex<float>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCsyrk( blas_option< UpLo >::value, blas_option< Trans >::value, n,
             k, alpha, a, lda, beta, c, ldc );
 }
@@ -161,7 +160,7 @@
 inline void syrk( Order, UpLo, Trans, int n, int k,
         std::complex<double> alpha, const std::complex<double>* a, int lda,
         std::complex<double> beta, std::complex<double>* c, int ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasZsyrk( blas_option< UpLo >::value, blas_option< Trans >::value, n,
             k, alpha, a, lda, beta, c, ldc );
 }
@@ -176,7 +175,7 @@
 inline void syrk( Order, UpLo, Trans, fortran_int_t n, fortran_int_t k,
         float alpha, const float* a, fortran_int_t lda, float beta, float* c,
         fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_SSYRK( &blas_option< UpLo >::value, &blas_option< Trans >::value, &n,
             &k, &alpha, a, &lda, &beta, c, &ldc );
 }
@@ -190,7 +189,7 @@
 inline void syrk( Order, UpLo, Trans, fortran_int_t n, fortran_int_t k,
         double alpha, const double* a, fortran_int_t lda, double beta,
         double* c, fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DSYRK( &blas_option< UpLo >::value, &blas_option< Trans >::value, &n,
             &k, &alpha, a, &lda, &beta, c, &ldc );
 }
@@ -205,7 +204,7 @@
         std::complex<float> alpha, const std::complex<float>* a,
         fortran_int_t lda, std::complex<float> beta, std::complex<float>* c,
         fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CSYRK( &blas_option< UpLo >::value, &blas_option< Trans >::value, &n,
             &k, &alpha, a, &lda, &beta, c, &ldc );
 }
@@ -220,7 +219,7 @@
         std::complex<double> alpha, const std::complex<double>* a,
         fortran_int_t lda, std::complex<double> beta, std::complex<double>* c,
         fortran_int_t ldc ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZSYRK( &blas_option< UpLo >::value, &blas_option< Trans >::value, &n,
             &k, &alpha, a, &lda, &beta, c, &ldc );
 }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -19,7 +19,6 @@
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
 #include <boost/numeric/bindings/diag_tag.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -123,7 +122,7 @@
 template< typename Order, typename UpLo, typename TransA, typename Diag >
 inline void trmm( Order, char side, UpLo, TransA, Diag, int m, int n,
         float alpha, const float* a, int lda, float* b, int ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasStrmm( side, blas_option< UpLo >::value, blas_option<
             TransA >::value, blas_option< Diag >::value, m, n, alpha, a, lda,
             b, ldb );
@@ -137,7 +136,7 @@
 template< typename Order, typename UpLo, typename TransA, typename Diag >
 inline void trmm( Order, char side, UpLo, TransA, Diag, int m, int n,
         double alpha, const double* a, int lda, double* b, int ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasDtrmm( side, blas_option< UpLo >::value, blas_option<
             TransA >::value, blas_option< Diag >::value, m, n, alpha, a, lda,
             b, ldb );
@@ -152,7 +151,7 @@
 inline void trmm( Order, char side, UpLo, TransA, Diag, int m, int n,
         std::complex<float> alpha, const std::complex<float>* a, int lda,
         std::complex<float>* b, int ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCtrmm( side, blas_option< UpLo >::value, blas_option<
             TransA >::value, blas_option< Diag >::value, m, n, alpha, a, lda,
             b, ldb );
@@ -167,7 +166,7 @@
 inline void trmm( Order, char side, UpLo, TransA, Diag, int m, int n,
         std::complex<double> alpha, const std::complex<double>* a, int lda,
         std::complex<double>* b, int ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     // NOT FOUND();
 }
 
@@ -181,7 +180,7 @@
 inline void trmm( Order, char side, UpLo, TransA, Diag, fortran_int_t m,
         fortran_int_t n, float alpha, const float* a, fortran_int_t lda,
         float* b, fortran_int_t ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_STRMM( &side, &blas_option< UpLo >::value, &blas_option<
             TransA >::value, &blas_option< Diag >::value, &m, &n, &alpha, a,
             &lda, b, &ldb );
@@ -196,7 +195,7 @@
 inline void trmm( Order, char side, UpLo, TransA, Diag, fortran_int_t m,
         fortran_int_t n, double alpha, const double* a, fortran_int_t lda,
         double* b, fortran_int_t ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DTRMM( &side, &blas_option< UpLo >::value, &blas_option<
             TransA >::value, &blas_option< Diag >::value, &m, &n, &alpha, a,
             &lda, b, &ldb );
@@ -212,7 +211,7 @@
         fortran_int_t n, std::complex<float> alpha,
         const std::complex<float>* a, fortran_int_t lda,
         std::complex<float>* b, fortran_int_t ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CTRMM( &side, &blas_option< UpLo >::value, &blas_option<
             TransA >::value, &blas_option< Diag >::value, &m, &n, &alpha, a,
             &lda, b, &ldb );
@@ -228,7 +227,7 @@
         fortran_int_t n, std::complex<double> alpha,
         const std::complex<double>* a, fortran_int_t lda,
         std::complex<double>* b, fortran_int_t ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZTRMM( &side, &blas_option< UpLo >::value, &blas_option<
             TransA >::value, &blas_option< Diag >::value, &m, &n, &alpha, a,
             &lda, b, &ldb );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -19,7 +19,6 @@
 #include <boost/numeric/bindings/data_order.hpp>
 #include <boost/numeric/bindings/data_side.hpp>
 #include <boost/numeric/bindings/diag_tag.hpp>
-#include <boost/numeric/bindings/is_column_major.hpp>
 #include <boost/numeric/bindings/is_mutable.hpp>
 #include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/numeric/bindings/size.hpp>
@@ -123,7 +122,7 @@
 template< typename Order, typename UpLo, typename TransA, typename Diag >
 inline void trsm( Order, char side, UpLo, TransA, Diag, int m, int n,
         float alpha, const float* a, int lda, float* b, int ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasStrsm( side, blas_option< UpLo >::value, blas_option<
             TransA >::value, blas_option< Diag >::value, m, n, alpha, a, lda,
             b, ldb );
@@ -137,7 +136,7 @@
 template< typename Order, typename UpLo, typename TransA, typename Diag >
 inline void trsm( Order, char side, UpLo, TransA, Diag, int m, int n,
         double alpha, const double* a, int lda, double* b, int ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasDtrsm( side, blas_option< UpLo >::value, blas_option<
             TransA >::value, blas_option< Diag >::value, m, n, alpha, a, lda,
             b, ldb );
@@ -152,7 +151,7 @@
 inline void trsm( Order, char side, UpLo, TransA, Diag, int m, int n,
         std::complex<float> alpha, const std::complex<float>* a, int lda,
         std::complex<float>* b, int ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasCtrsm( side, blas_option< UpLo >::value, blas_option<
             TransA >::value, blas_option< Diag >::value, m, n, alpha, a, lda,
             b, ldb );
@@ -167,7 +166,7 @@
 inline void trsm( Order, char side, UpLo, TransA, Diag, int m, int n,
         std::complex<double> alpha, const std::complex<double>* a, int lda,
         std::complex<double>* b, int ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     cublasZtrsm( side, blas_option< UpLo >::value, blas_option<
             TransA >::value, blas_option< Diag >::value, m, n, alpha, a, lda,
             b, ldb );
@@ -183,7 +182,7 @@
 inline void trsm( Order, char side, UpLo, TransA, Diag, fortran_int_t m,
         fortran_int_t n, float alpha, const float* a, fortran_int_t lda,
         float* b, fortran_int_t ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_STRSM( &side, &blas_option< UpLo >::value, &blas_option<
             TransA >::value, &blas_option< Diag >::value, &m, &n, &alpha, a,
             &lda, b, &ldb );
@@ -198,7 +197,7 @@
 inline void trsm( Order, char side, UpLo, TransA, Diag, fortran_int_t m,
         fortran_int_t n, double alpha, const double* a, fortran_int_t lda,
         double* b, fortran_int_t ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_DTRSM( &side, &blas_option< UpLo >::value, &blas_option<
             TransA >::value, &blas_option< Diag >::value, &m, &n, &alpha, a,
             &lda, b, &ldb );
@@ -214,7 +213,7 @@
         fortran_int_t n, std::complex<float> alpha,
         const std::complex<float>* a, fortran_int_t lda,
         std::complex<float>* b, fortran_int_t ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_CTRSM( &side, &blas_option< UpLo >::value, &blas_option<
             TransA >::value, &blas_option< Diag >::value, &m, &n, &alpha, a,
             &lda, b, &ldb );
@@ -230,7 +229,7 @@
         fortran_int_t n, std::complex<double> alpha,
         const std::complex<double>* a, fortran_int_t lda,
         std::complex<double>* b, fortran_int_t ldb ) {
- BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );
+ BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );
     BLAS_ZTRSM( &side, &blas_option< UpLo >::value, &blas_option<
             TransA >::value, &blas_option< Diag >::value, &m, &n, &alpha, a,
             &lda, b, &ldb );

Modified: sandbox/numeric_bindings/libs/numeric/bindings/tools/blas_generator.py
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/tools/blas_generator.py (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/tools/blas_generator.py 2010-01-10 10:06:08 EST (Sun, 10 Jan 2010)
@@ -98,8 +98,8 @@
                 arg_list.insert( 0, "Order" )
                 cblas_arg_list.insert( 0, "cblas_option< Order >::value" )
                 typename_list.insert( 0, "typename Order" )
- level0_static_asserts.append( "BOOST_STATIC_ASSERT( (is_column_major<Order>::value) );" )
- includes += [ "#include <boost/numeric/bindings/is_column_major.hpp>" ]
+ level0_static_asserts.append( "BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) );" )
+ includes += [ "#include <boost/type_traits/is_same.hpp>" ]
 
         sub_template = sub_template.replace( "$TYPES", ", ".join( typename_list ) )
         sub_template = sub_template.replace( "template< >\n", "" )


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