Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56291 - in sandbox/numeric_bindings/boost/numeric/bindings/blas: . level1 level2 level3
From: rutger_at_[hidden]
Date: 2009-09-18 02:48:46


Author: rutger
Date: 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
New Revision: 56291
URL: http://svn.boost.org/trac/boost/changeset/56291

Log:
removed a namespace, removed high-level stuff, cleaned up code.

Removed:
   sandbox/numeric_bindings/boost/numeric/bindings/blas/copy.hpp
   sandbox/numeric_bindings/boost/numeric/bindings/blas/dot.hpp
   sandbox/numeric_bindings/boost/numeric/bindings/blas/norm_1.hpp
   sandbox/numeric_bindings/boost/numeric/bindings/blas/norm_2.hpp
   sandbox/numeric_bindings/boost/numeric/bindings/blas/scale.hpp
   sandbox/numeric_bindings/boost/numeric/bindings/blas/solve.hpp
   sandbox/numeric_bindings/boost/numeric/bindings/blas/swap.hpp
Text files modified:
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1.hpp | 25 +++++++----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/asum.hpp | 26 ++++++----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/axpy.hpp | 53 +++++++++++++----------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/copy.hpp | 53 +++++++++++++----------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dot.hpp | 27 +++++++----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotc.hpp | 35 ++++++++------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotu.hpp | 35 ++++++++------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/drot.hpp | 22 +++++----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/nrm2.hpp | 26 ++++++----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rot.hpp | 27 +++++++----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotg.hpp | 45 +++++++++++--------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotm.hpp | 27 +++++++----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotmg.hpp | 27 +++++++----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/scal.hpp | 47 +++++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/sdot.hpp | 18 ++++---
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/srot.hpp | 22 +++++----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/swap.hpp | 51 ++++++++++++----------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2.hpp | 26 +++++++++++
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp | 85 ++++++++++++++++++++-----------------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp | 75 +++++++++++++++++---------------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp | 31 ++++++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp | 43 ++++++++++--------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp | 43 ++++++++++--------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp | 47 +++++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp | 47 +++++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp | 35 ++++++++------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp | 43 ++++++++++--------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp | 47 +++++++++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp | 35 ++++++++------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp | 43 ++++++++++--------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp | 37 ++++++++-------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp | 31 ++++++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp | 27 +++++++----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp | 31 ++++++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp | 35 ++++++++------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp | 30 +++++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp | 31 ++++++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp | 57 ++++++++++++++-----------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp | 57 ++++++++++++++-----------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp | 56 +++++++++++++-----------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp | 56 +++++++++++++-----------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp | 57 ++++++++++++++-----------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp | 57 ++++++++++++++-----------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3.hpp | 10 ++++
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp | 89 +++++++++++++++++++++------------------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp | 51 ++++++++++++----------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp | 51 ++++++++++++----------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp | 43 ++++++++++--------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp | 81 +++++++++++++++++++----------------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp | 85 ++++++++++++++++++++-----------------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp | 77 ++++++++++++++++++---------------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp | 73 +++++++++++++++++--------------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp | 73 +++++++++++++++++--------------
   53 files changed, 1336 insertions(+), 1025 deletions(-)

Deleted: sandbox/numeric_bindings/boost/numeric/bindings/blas/copy.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/copy.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
+++ (empty file)
@@ -1,23 +0,0 @@
-//
-// Copyright (c) 2009 Rutger ter Borg
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_COPY_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_COPY_HPP
-
-#include <boost/numeric/bindings/blas/level1/copy.hpp>
-
-namespace boost {
-namespace numeric {
-namespace bindings {
-namespace blas {
-
-using level1::copy;
-
-}}}} // namespace boost::numeric::bindings::blas
-
-#endif

Deleted: sandbox/numeric_bindings/boost/numeric/bindings/blas/dot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/dot.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
+++ (empty file)
@@ -1,49 +0,0 @@
-//
-// Copyright (c) 2009 Rutger ter Borg
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_DOT_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_DOT_HPP
-
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/map.hpp>
-#include <boost/numeric/bindings/blas/level1/dot.hpp>
-#include <boost/numeric/bindings/blas/level1/dotc.hpp>
-#include <boost/numeric/bindings/blas/level1/dotu.hpp>
-
-namespace mpl = ::boost::mpl;
-
-namespace boost {
-namespace numeric {
-namespace bindings {
-namespace blas {
-
-namespace detail {
-
-template< typename Vector >
-struct dot_dispatcher {
- typedef typename traits::vector_traits< Vector >::value_type value_type;
- typedef typename mpl::map<
- mpl::pair< float, level1::dot_impl< value_type > >,
- mpl::pair< double, level1::dot_impl< value_type > >,
- mpl::pair< traits::complex_f, level1::dotc_impl< value_type > >,
- mpl::pair< traits::complex_d, level1::dotc_impl< value_type > > > map;
- typedef typename mpl::at< map, value_type >::type routine;
-};
-
-} // namespace detail
-
-template< typename VectorX, typename VectorY >
-inline typename detail::dot_dispatcher< VectorX >::routine::return_type
-dot( VectorX& x, VectorY& y ) {
- typedef typename detail::dot_dispatcher< VectorX >::routine routine;
- return routine::invoke( x, y );
-}
-
-}}}} // namespace boost::numeric::bindings::blas
-
-#endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -9,14 +9,21 @@
 #ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_HPP
 #define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_HPP
 
-#include <boost/numeric/bindings/blas/swap.hpp>
-#include <boost/numeric/bindings/blas/scale.hpp>
-#include <boost/numeric/bindings/blas/copy.hpp>
-#include <boost/numeric/bindings/blas/axpy.hpp>
-#include <boost/numeric/bindings/blas/dot.hpp>
-#include <boost/numeric/bindings/blas/prec_dot.hpp>
-#include <boost/numeric/bindings/blas/norm_2.hpp>
-#include <boost/numeric/bindings/blas/norm_1.hpp>
-#include <boost/numeric/bindings/blas/norm_inf.hpp>
+#include <boost/numeric/bindings/blas/level1/asum.hpp>
+#include <boost/numeric/bindings/blas/level1/axpy.hpp>
+#include <boost/numeric/bindings/blas/level1/copy.hpp>
+#include <boost/numeric/bindings/blas/level1/dotc.hpp>
+#include <boost/numeric/bindings/blas/level1/dot.hpp>
+#include <boost/numeric/bindings/blas/level1/dotu.hpp>
+#include <boost/numeric/bindings/blas/level1/drot.hpp>
+#include <boost/numeric/bindings/blas/level1/nmr2.hpp>
+#include <boost/numeric/bindings/blas/level1/rotg.hpp>
+#include <boost/numeric/bindings/blas/level1/rot.hpp>
+#include <boost/numeric/bindings/blas/level1/rotmg.hpp>
+#include <boost/numeric/bindings/blas/level1/rotm.hpp>
+#include <boost/numeric/bindings/blas/level1/scal.hpp>
+#include <boost/numeric/bindings/blas/level1/sdot.hpp>
+#include <boost/numeric/bindings/blas/level1/srot.hpp>
+#include <boost/numeric/bindings/blas/level1/swap.hpp>
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/asum.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/asum.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/asum.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,20 +25,21 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline float asum( const integer_t n, const float* x,
- const integer_t incx ) {
- return BLAS_SASUM( &n, x, &incx );
- }
- inline double asum( const integer_t n, const double* x,
- const integer_t incx ) {
- return BLAS_DASUM( &n, x, &incx );
- }
+
+inline float asum( const integer_t n, const float* x, const integer_t incx ) {
+ return BLAS_SASUM( &n, x, &incx );
 }
 
+inline double asum( const integer_t n, const double* x,
+ const integer_t incx ) {
+ return BLAS_DASUM( &n, x, &incx );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct asum_impl {
@@ -55,7 +56,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::asum
+// generic template function for calling to asum
 template< typename VectorX >
 inline typename asum_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -64,6 +65,9 @@
     return asum_impl< value_type >::invoke( x );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/axpy.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/axpy.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/axpy.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,32 +25,36 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void axpy( const integer_t n, const float a, const float* x,
- const integer_t incx, float* y, const integer_t incy ) {
- BLAS_SAXPY( &n, &a, x, &incx, y, &incy );
- }
- inline void axpy( const integer_t n, const double a, const double* x,
- const integer_t incx, double* y, const integer_t incy ) {
- BLAS_DAXPY( &n, &a, x, &incx, y, &incy );
- }
- inline void axpy( const integer_t n, const traits::complex_f a,
- const traits::complex_f* x, const integer_t incx,
- traits::complex_f* y, const integer_t incy ) {
- BLAS_CAXPY( &n, traits::complex_ptr(&a), traits::complex_ptr(x),
- &incx, traits::complex_ptr(y), &incy );
- }
- inline void axpy( const integer_t n, const traits::complex_d a,
- const traits::complex_d* x, const integer_t incx,
- traits::complex_d* y, const integer_t incy ) {
- BLAS_ZAXPY( &n, traits::complex_ptr(&a), traits::complex_ptr(x),
- &incx, traits::complex_ptr(y), &incy );
- }
+
+inline void axpy( const integer_t n, const float a, const float* x,
+ const integer_t incx, float* y, const integer_t incy ) {
+ BLAS_SAXPY( &n, &a, x, &incx, y, &incy );
+}
+
+inline void axpy( const integer_t n, const double a, const double* x,
+ const integer_t incx, double* y, const integer_t incy ) {
+ BLAS_DAXPY( &n, &a, x, &incx, y, &incy );
+}
+
+inline void axpy( const integer_t n, const traits::complex_f a,
+ const traits::complex_f* x, const integer_t incx,
+ traits::complex_f* y, const integer_t incy ) {
+ BLAS_CAXPY( &n, traits::complex_ptr(&a), traits::complex_ptr(x), &incx,
+ traits::complex_ptr(y), &incy );
 }
 
+inline void axpy( const integer_t n, const traits::complex_d a,
+ const traits::complex_d* x, const integer_t incx,
+ traits::complex_d* y, const integer_t incy ) {
+ BLAS_ZAXPY( &n, traits::complex_ptr(&a), traits::complex_ptr(x), &incx,
+ traits::complex_ptr(y), &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct axpy_impl {
@@ -72,7 +76,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::axpy
+// generic template function for calling to axpy
 template< typename VectorX, typename VectorY >
 inline typename axpy_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -82,6 +86,9 @@
     axpy_impl< value_type >::invoke( a, x, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/copy.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/copy.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/copy.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,32 +25,36 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void copy( const integer_t n, const float* x, const integer_t incx,
- const float* y, const integer_t incy ) {
- BLAS_SCOPY( &n, x, &incx, y, &incy );
- }
- inline void copy( const integer_t n, const double* x,
- const integer_t incx, const double* y, const integer_t incy ) {
- BLAS_DCOPY( &n, x, &incx, y, &incy );
- }
- inline void copy( const integer_t n, const traits::complex_f* x,
- const integer_t incx, const traits::complex_f* y,
- const integer_t incy ) {
- BLAS_CCOPY( &n, traits::complex_ptr(x), &incx, traits::complex_ptr(y),
- &incy );
- }
- inline void copy( const integer_t n, const traits::complex_d* x,
- const integer_t incx, const traits::complex_d* y,
- const integer_t incy ) {
- BLAS_ZCOPY( &n, traits::complex_ptr(x), &incx, traits::complex_ptr(y),
- &incy );
- }
+
+inline void copy( const integer_t n, const float* x, const integer_t incx,
+ const float* y, const integer_t incy ) {
+ BLAS_SCOPY( &n, x, &incx, y, &incy );
+}
+
+inline void copy( const integer_t n, const double* x, const integer_t incx,
+ const double* y, const integer_t incy ) {
+ BLAS_DCOPY( &n, x, &incx, y, &incy );
+}
+
+inline void copy( const integer_t n, const traits::complex_f* x,
+ const integer_t incx, const traits::complex_f* y,
+ const integer_t incy ) {
+ BLAS_CCOPY( &n, traits::complex_ptr(x), &incx, traits::complex_ptr(y),
+ &incy );
 }
 
+inline void copy( const integer_t n, const traits::complex_d* x,
+ const integer_t incx, const traits::complex_d* y,
+ const integer_t incy ) {
+ BLAS_ZCOPY( &n, traits::complex_ptr(x), &incx, traits::complex_ptr(y),
+ &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct copy_impl {
@@ -71,7 +75,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::copy
+// generic template function for calling to copy
 template< typename VectorX, typename VectorY >
 inline typename copy_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -80,6 +84,9 @@
     copy_impl< value_type >::invoke( x, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dot.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dot.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,20 +25,22 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline float dot( const integer_t n, const float* x, const integer_t incx,
- const float* y, const integer_t incy ) {
- return BLAS_SDOT( &n, x, &incx, y, &incy );
- }
- inline double dot( const integer_t n, const double* x,
- const integer_t incx, const double* y, const integer_t incy ) {
- return BLAS_DDOT( &n, x, &incx, y, &incy );
- }
+
+inline float dot( const integer_t n, const float* x, const integer_t incx,
+ const float* y, const integer_t incy ) {
+ return BLAS_SDOT( &n, x, &incx, y, &incy );
 }
 
+inline double dot( const integer_t n, const double* x, const integer_t incx,
+ const double* y, const integer_t incy ) {
+ return BLAS_DDOT( &n, x, &incx, y, &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct dot_impl {
@@ -59,7 +61,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::dot
+// generic template function for calling to dot
 template< typename VectorX, typename VectorY >
 inline typename dot_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -68,6 +70,9 @@
     return dot_impl< value_type >::invoke( x, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotc.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotc.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,24 +25,26 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline fcomplex_t dotc( const integer_t n, const traits::complex_f* x,
- const integer_t incx, const traits::complex_f* y,
- const integer_t incy ) {
- return BLAS_CDOTC( &n, traits::complex_ptr(x), &incx,
- traits::complex_ptr(y), &incy );
- }
- inline dcomplex_t dotc( const integer_t n, const traits::complex_d* x,
- const integer_t incx, const traits::complex_d* y,
- const integer_t incy ) {
- return BLAS_ZDOTC( &n, traits::complex_ptr(x), &incx,
- traits::complex_ptr(y), &incy );
- }
+
+inline fcomplex_t dotc( const integer_t n, const traits::complex_f* x,
+ const integer_t incx, const traits::complex_f* y,
+ const integer_t incy ) {
+ return BLAS_CDOTC( &n, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(y), &incy );
 }
 
+inline dcomplex_t dotc( const integer_t n, const traits::complex_d* x,
+ const integer_t incx, const traits::complex_d* y,
+ const integer_t incy ) {
+ return BLAS_ZDOTC( &n, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(y), &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct dotc_impl {
@@ -63,7 +65,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::dotc
+// generic template function for calling to dotc
 template< typename VectorX, typename VectorY >
 inline typename dotc_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -72,6 +74,9 @@
     return dotc_impl< value_type >::invoke( x, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotu.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotu.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotu.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,24 +25,26 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline fcomplex_t dotu( const integer_t n, const traits::complex_f* x,
- const integer_t incx, const traits::complex_f* y,
- const integer_t incy ) {
- return BLAS_CDOTU( &n, traits::complex_ptr(x), &incx,
- traits::complex_ptr(y), &incy );
- }
- inline dcomplex_t dotu( const integer_t n, const traits::complex_d* x,
- const integer_t incx, const traits::complex_d* y,
- const integer_t incy ) {
- return BLAS_ZDOTU( &n, traits::complex_ptr(x), &incx,
- traits::complex_ptr(y), &incy );
- }
+
+inline fcomplex_t dotu( const integer_t n, const traits::complex_f* x,
+ const integer_t incx, const traits::complex_f* y,
+ const integer_t incy ) {
+ return BLAS_CDOTU( &n, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(y), &incy );
 }
 
+inline dcomplex_t dotu( const integer_t n, const traits::complex_d* x,
+ const integer_t incx, const traits::complex_d* y,
+ const integer_t incy ) {
+ return BLAS_ZDOTU( &n, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(y), &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct dotu_impl {
@@ -63,7 +65,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::dotu
+// generic template function for calling to dotu
 template< typename VectorX, typename VectorY >
 inline typename dotu_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -72,6 +74,9 @@
     return dotu_impl< value_type >::invoke( x, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/drot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/drot.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/drot.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,18 +25,19 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void drot( const integer_t n, const traits::complex_d* cx,
- const integer_t incx, const traits::complex_d* cy,
- const integer_t incy, const double c, const double s ) {
- BLAS_ZDROT( &n, traits::complex_ptr(cx), &incx,
- traits::complex_ptr(cy), &incy, &c, &s );
- }
+
+inline void drot( const integer_t n, const traits::complex_d* cx,
+ const integer_t incx, const traits::complex_d* cy,
+ const integer_t incy, const double c, const double s ) {
+ BLAS_ZDROT( &n, traits::complex_ptr(cx), &incx, traits::complex_ptr(cy),
+ &incy, &c, &s );
 }
 
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct drot_impl {
@@ -58,7 +59,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::drot
+// generic template function for calling to drot
 template< typename VectorCX, typename VectorCY >
 inline typename drot_impl< typename traits::vector_traits<
         VectorCX >::value_type >::return_type
@@ -71,6 +72,9 @@
     drot_impl< value_type >::invoke( n, cx, cy, c, s );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/nrm2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/nrm2.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/nrm2.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,20 +25,21 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline float nrm2( const integer_t n, const float* x,
- const integer_t incx ) {
- return BLAS_SNRM2( &n, x, &incx );
- }
- inline double nrm2( const integer_t n, const double* x,
- const integer_t incx ) {
- return BLAS_DNRM2( &n, x, &incx );
- }
+
+inline float nrm2( const integer_t n, const float* x, const integer_t incx ) {
+ return BLAS_SNRM2( &n, x, &incx );
 }
 
+inline double nrm2( const integer_t n, const double* x,
+ const integer_t incx ) {
+ return BLAS_DNRM2( &n, x, &incx );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct nrm2_impl {
@@ -55,7 +56,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::nrm2
+// generic template function for calling to nrm2
 template< typename VectorX >
 inline typename nrm2_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -64,6 +65,9 @@
     return nrm2_impl< value_type >::invoke( x );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rot.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rot.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,20 +25,22 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void rot( const integer_t n, const float* x, const integer_t incx,
- float* y, const integer_t incy, const float c, const float s ) {
- BLAS_SROT( &n, x, &incx, y, &incy, &c, &s );
- }
- inline void rot( const integer_t n, const double* x, const integer_t incx,
- double* y, const integer_t incy, const double c, const double s ) {
- BLAS_DROT( &n, x, &incx, y, &incy, &c, &s );
- }
+
+inline void rot( const integer_t n, const float* x, const integer_t incx,
+ float* y, const integer_t incy, const float c, const float s ) {
+ BLAS_SROT( &n, x, &incx, y, &incy, &c, &s );
 }
 
+inline void rot( const integer_t n, const double* x, const integer_t incx,
+ double* y, const integer_t incy, const double c, const double s ) {
+ BLAS_DROT( &n, x, &incx, y, &incy, &c, &s );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct rot_impl {
@@ -60,7 +62,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::rot
+// generic template function for calling to rot
 template< typename VectorX, typename VectorY >
 inline typename rot_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -72,6 +74,9 @@
     rot_impl< value_type >::invoke( x, y, c, s );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotg.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotg.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotg.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,28 +25,32 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void rotg( float& a, float& b, float& c, float& s ) {
- BLAS_SROTG( &a, &b, &c, &s );
- }
- inline void rotg( double& a, double& b, double& c, double& s ) {
- BLAS_DROTG( &a, &b, &c, &s );
- }
- inline void rotg( traits::complex_f& a, traits::complex_f& b, float& c,
- traits::complex_f& s ) {
- BLAS_CROTG( traits::complex_ptr(&a), traits::complex_ptr(&b), &c,
- traits::complex_ptr(&s) );
- }
- inline void rotg( traits::complex_d& a, traits::complex_d& b, double& c,
- traits::complex_d& s ) {
- BLAS_ZROTG( traits::complex_ptr(&a), traits::complex_ptr(&b), &c,
- traits::complex_ptr(&s) );
- }
+
+inline void rotg( float& a, float& b, float& c, float& s ) {
+ BLAS_SROTG( &a, &b, &c, &s );
+}
+
+inline void rotg( double& a, double& b, double& c, double& s ) {
+ BLAS_DROTG( &a, &b, &c, &s );
+}
+
+inline void rotg( traits::complex_f& a, traits::complex_f& b, float& c,
+ traits::complex_f& s ) {
+ BLAS_CROTG( traits::complex_ptr(&a), traits::complex_ptr(&b), &c,
+ traits::complex_ptr(&s) );
 }
 
+inline void rotg( traits::complex_d& a, traits::complex_d& b, double& c,
+ traits::complex_d& s ) {
+ BLAS_ZROTG( traits::complex_ptr(&a), traits::complex_ptr(&b), &c,
+ traits::complex_ptr(&s) );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct rotg_impl {
@@ -63,7 +67,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::rotg
+// generic template function for calling to rotg
 template< >
 inline typename rotg_impl< typename traits::TODO_traits<
         TODO >::value_type >::return_type
@@ -76,6 +80,9 @@
     rotg_impl< value_type >::invoke( a, b, c, s );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotm.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotm.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,20 +25,22 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void rotm( const integer_t n, float* x, const integer_t incx,
- float* y, const integer_t incy, float* param ) {
- BLAS_SROTM( &n, x, &incx, y, &incy, param );
- }
- inline void rotm( const integer_t n, double* x, const integer_t incx,
- double* y, const integer_t incy, double* param ) {
- BLAS_DROTM( &n, x, &incx, y, &incy, param );
- }
+
+inline void rotm( const integer_t n, float* x, const integer_t incx, float* y,
+ const integer_t incy, float* param ) {
+ BLAS_SROTM( &n, x, &incx, y, &incy, param );
 }
 
+inline void rotm( const integer_t n, double* x, const integer_t incx,
+ double* y, const integer_t incy, double* param ) {
+ BLAS_DROTM( &n, x, &incx, y, &incy, param );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct rotm_impl {
@@ -64,7 +66,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::rotm
+// generic template function for calling to rotm
 template< typename VectorX, typename VectorY, typename VectorPARAM >
 inline typename rotm_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -74,6 +76,9 @@
     rotm_impl< value_type >::invoke( n, x, incx, y, incy, param );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotmg.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotmg.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotmg.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,20 +25,22 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void rotmg( float& d1, float& d2, float& x1, const float y1,
- float* sparam ) {
- BLAS_SROTMG( &d1, &d2, &x1, &y1, sparam );
- }
- inline void rotmg( double& d1, double& d2, double& x1, const double y1,
- double* dparam ) {
- BLAS_DROTMG( &d1, &d2, &x1, &y1, dparam );
- }
+
+inline void rotmg( float& d1, float& d2, float& x1, const float y1,
+ float* sparam ) {
+ BLAS_SROTMG( &d1, &d2, &x1, &y1, sparam );
 }
 
+inline void rotmg( double& d1, double& d2, double& x1, const double y1,
+ double* dparam ) {
+ BLAS_DROTMG( &d1, &d2, &x1, &y1, dparam );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct rotmg_impl {
@@ -55,7 +57,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::rotmg
+// generic template function for calling to rotmg
 template< typename VectorDPARAM >
 inline typename rotmg_impl< typename traits::vector_traits<
         VectorDPARAM >::value_type >::return_type
@@ -72,6 +74,9 @@
     rotmg_impl< value_type >::invoke( d1, d2, x1, y1, dparam );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/scal.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/scal.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/scal.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,30 +25,32 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void scal( const integer_t n, const float a, const float* x,
- const integer_t incx ) {
- BLAS_SSCAL( &n, &a, x, &incx );
- }
- inline void scal( const integer_t n, const double a, const double* x,
- const integer_t incx ) {
- BLAS_DSCAL( &n, &a, x, &incx );
- }
- inline void scal( const integer_t n, const traits::complex_f a,
- const traits::complex_f* x, const integer_t incx ) {
- BLAS_CSCAL( &n, traits::complex_ptr(&a), traits::complex_ptr(x),
- &incx );
- }
- inline void scal( const integer_t n, const traits::complex_d a,
- const traits::complex_d* x, const integer_t incx ) {
- BLAS_ZSCAL( &n, traits::complex_ptr(&a), traits::complex_ptr(x),
- &incx );
- }
+
+inline void scal( const integer_t n, const float a, const float* x,
+ const integer_t incx ) {
+ BLAS_SSCAL( &n, &a, x, &incx );
+}
+
+inline void scal( const integer_t n, const double a, const double* x,
+ const integer_t incx ) {
+ BLAS_DSCAL( &n, &a, x, &incx );
+}
+
+inline void scal( const integer_t n, const traits::complex_f a,
+ const traits::complex_f* x, const integer_t incx ) {
+ BLAS_CSCAL( &n, traits::complex_ptr(&a), traits::complex_ptr(x), &incx );
 }
 
+inline void scal( const integer_t n, const traits::complex_d a,
+ const traits::complex_d* x, const integer_t incx ) {
+ BLAS_ZSCAL( &n, traits::complex_ptr(&a), traits::complex_ptr(x), &incx );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct scal_impl {
@@ -65,7 +67,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::scal
+// generic template function for calling to scal
 template< typename VectorX >
 inline typename scal_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -75,6 +77,9 @@
     scal_impl< value_type >::invoke( a, x );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/sdot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/sdot.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/sdot.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,16 +25,17 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline double sdot( const integer_t n, const float* sx,
- const integer_t incx, const float* sy, const integer_t incy ) {
- return BLAS_DSDOT( &n, sx, &incx, sy, &incy );
- }
+
+inline double sdot( const integer_t n, const float* sx, const integer_t incx,
+ const float* sy, const integer_t incy ) {
+ return BLAS_DSDOT( &n, sx, &incx, sy, &incy );
 }
 
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct sdot_impl {
@@ -55,7 +56,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::sdot
+// generic template function for calling to sdot
 template< typename VectorSX, typename VectorSY >
 inline typename sdot_impl< typename traits::vector_traits<
         VectorSX >::value_type >::return_type
@@ -65,6 +66,9 @@
     return sdot_impl< value_type >::invoke( n, sx, incx, sy, incy );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/srot.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/srot.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/srot.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,18 +25,19 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void srot( const integer_t n, const traits::complex_f* cx,
- const integer_t incx, const traits::complex_f* cy,
- const integer_t incy, const float c, const float s ) {
- BLAS_CSROT( &n, traits::complex_ptr(cx), &incx,
- traits::complex_ptr(cy), &incy, &c, &s );
- }
+
+inline void srot( const integer_t n, const traits::complex_f* cx,
+ const integer_t incx, const traits::complex_f* cy,
+ const integer_t incy, const float c, const float s ) {
+ BLAS_CSROT( &n, traits::complex_ptr(cx), &incx, traits::complex_ptr(cy),
+ &incy, &c, &s );
 }
 
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct srot_impl {
@@ -58,7 +59,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::srot
+// generic template function for calling to srot
 template< typename VectorCX, typename VectorCY >
 inline typename srot_impl< typename traits::vector_traits<
         VectorCX >::value_type >::return_type
@@ -71,6 +72,9 @@
     srot_impl< value_type >::invoke( n, cx, cy, c, s );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/swap.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/swap.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/swap.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,32 +25,34 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void swap( const integer_t n, float* x, const integer_t incx,
- float* y, const integer_t incy ) {
- BLAS_SSWAP( &n, x, &incx, y, &incy );
- }
- inline void swap( const integer_t n, double* x, const integer_t incx,
- double* y, const integer_t incy ) {
- BLAS_DSWAP( &n, x, &incx, y, &incy );
- }
- inline void swap( const integer_t n, traits::complex_f* x,
- const integer_t incx, traits::complex_f* y,
- const integer_t incy ) {
- BLAS_CSWAP( &n, traits::complex_ptr(x), &incx, traits::complex_ptr(y),
- &incy );
- }
- inline void swap( const integer_t n, traits::complex_d* x,
- const integer_t incx, traits::complex_d* y,
- const integer_t incy ) {
- BLAS_ZSWAP( &n, traits::complex_ptr(x), &incx, traits::complex_ptr(y),
- &incy );
- }
+
+inline void swap( const integer_t n, float* x, const integer_t incx, float* y,
+ const integer_t incy ) {
+ BLAS_SSWAP( &n, x, &incx, y, &incy );
+}
+
+inline void swap( const integer_t n, double* x, const integer_t incx,
+ double* y, const integer_t incy ) {
+ BLAS_DSWAP( &n, x, &incx, y, &incy );
+}
+
+inline void swap( const integer_t n, traits::complex_f* x,
+ const integer_t incx, traits::complex_f* y, const integer_t incy ) {
+ BLAS_CSWAP( &n, traits::complex_ptr(x), &incx, traits::complex_ptr(y),
+ &incy );
 }
 
+inline void swap( const integer_t n, traits::complex_d* x,
+ const integer_t incx, traits::complex_d* y, const integer_t incy ) {
+ BLAS_ZSWAP( &n, traits::complex_ptr(x), &incx, traits::complex_ptr(y),
+ &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct swap_impl {
@@ -71,7 +73,7 @@
     }
 };
 
-// low-level template function for direct calls to level1::swap
+// generic template function for calling to swap
 template< typename VectorX, typename VectorY >
 inline typename swap_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -80,6 +82,9 @@
     swap_impl< value_type >::invoke( x, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level1
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -9,6 +9,30 @@
 #ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HPP
 #define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HPP
 
-#include <boost/numeric/bindings/blas/solve.hpp>
+#include <boost/numeric/bindings/blas/level2/gbmv.hpp>
+#include <boost/numeric/bindings/blas/level2/gemv.hpp>
+#include <boost/numeric/bindings/blas/level2/gerc.hpp>
+#include <boost/numeric/bindings/blas/level2/ger.hpp>
+#include <boost/numeric/bindings/blas/level2/geru.hpp>
+#include <boost/numeric/bindings/blas/level2/hbmv.hpp>
+#include <boost/numeric/bindings/blas/level2/hemv.hpp>
+#include <boost/numeric/bindings/blas/level2/her2.hpp>
+#include <boost/numeric/bindings/blas/level2/her.hpp>
+#include <boost/numeric/bindings/blas/level2/hpmv.hpp>
+#include <boost/numeric/bindings/blas/level2/hpr2.hpp>
+#include <boost/numeric/bindings/blas/level2/hpr.hpp>
+#include <boost/numeric/bindings/blas/level2/sbmv.hpp>
+#include <boost/numeric/bindings/blas/level2/spmv.hpp>
+#include <boost/numeric/bindings/blas/level2/spr2.hpp>
+#include <boost/numeric/bindings/blas/level2/spr.hpp>
+#include <boost/numeric/bindings/blas/level2/symv.hpp>
+#include <boost/numeric/bindings/blas/level2/syr2.hpp>
+#include <boost/numeric/bindings/blas/level2/syr.hpp>
+#include <boost/numeric/bindings/blas/level2/tbmv.hpp>
+#include <boost/numeric/bindings/blas/level2/tbsv.hpp>
+#include <boost/numeric/bindings/blas/level2/tpmv.hpp>
+#include <boost/numeric/bindings/blas/level2/tpsv.hpp>
+#include <boost/numeric/bindings/blas/level2/trmv.hpp>
+#include <boost/numeric/bindings/blas/level2/trsv.hpp>
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,48 +25,52 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void gbmv( const char trans, const integer_t m, const integer_t n,
- const integer_t kl, const integer_t ku, const float alpha,
- const float* a, const integer_t lda, const float* x,
- const integer_t incx, const float beta, float* y,
- const integer_t incy ) {
- BLAS_SGBMV( &trans, &m, &n, &kl, &ku, &alpha, a, &lda, x, &incx,
- &beta, y, &incy );
- }
- inline void gbmv( const char trans, const integer_t m, const integer_t n,
- const integer_t kl, const integer_t ku, const double alpha,
- const double* a, const integer_t lda, const double* x,
- const integer_t incx, const double beta, double* y,
- const integer_t incy ) {
- BLAS_DGBMV( &trans, &m, &n, &kl, &ku, &alpha, a, &lda, x, &incx,
- &beta, y, &incy );
- }
- inline void gbmv( const char trans, const integer_t m, const integer_t n,
- const integer_t kl, const integer_t ku,
- const traits::complex_f alpha, const traits::complex_f* a,
- const integer_t lda, const traits::complex_f* x,
- const integer_t incx, const traits::complex_f beta,
- traits::complex_f* y, const integer_t incy ) {
- BLAS_CGBMV( &trans, &m, &n, &kl, &ku, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
- traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
- }
- inline void gbmv( const char trans, const integer_t m, const integer_t n,
- const integer_t kl, const integer_t ku,
- const traits::complex_d alpha, const traits::complex_d* a,
- const integer_t lda, const traits::complex_d* x,
- const integer_t incx, const traits::complex_d beta,
- traits::complex_d* y, const integer_t incy ) {
- BLAS_ZGBMV( &trans, &m, &n, &kl, &ku, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
- traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
- }
+
+inline void gbmv( const char trans, const integer_t m, const integer_t n,
+ const integer_t kl, const integer_t ku, const float alpha,
+ const float* a, const integer_t lda, const float* x,
+ const integer_t incx, const float beta, float* y,
+ const integer_t incy ) {
+ BLAS_SGBMV( &trans, &m, &n, &kl, &ku, &alpha, a, &lda, x, &incx, &beta, y,
+ &incy );
+}
+
+inline void gbmv( const char trans, const integer_t m, const integer_t n,
+ const integer_t kl, const integer_t ku, const double alpha,
+ const double* a, const integer_t lda, const double* x,
+ const integer_t incx, const double beta, double* y,
+ const integer_t incy ) {
+ BLAS_DGBMV( &trans, &m, &n, &kl, &ku, &alpha, a, &lda, x, &incx, &beta, y,
+ &incy );
+}
+
+inline void gbmv( const char trans, const integer_t m, const integer_t n,
+ const integer_t kl, const integer_t ku, const traits::complex_f alpha,
+ const traits::complex_f* a, const integer_t lda,
+ const traits::complex_f* x, const integer_t incx,
+ const traits::complex_f beta, traits::complex_f* y,
+ const integer_t incy ) {
+ BLAS_CGBMV( &trans, &m, &n, &kl, &ku, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
 }
 
+inline void gbmv( const char trans, const integer_t m, const integer_t n,
+ const integer_t kl, const integer_t ku, const traits::complex_d alpha,
+ const traits::complex_d* a, const integer_t lda,
+ const traits::complex_d* x, const integer_t incx,
+ const traits::complex_d beta, traits::complex_d* y,
+ const integer_t incy ) {
+ BLAS_ZGBMV( &trans, &m, &n, &kl, &ku, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct gbmv_impl {
@@ -94,7 +98,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::gbmv
+// generic template function for calling to gbmv
 template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename gbmv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -108,6 +112,9 @@
             y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,44 +25,46 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void gemv( const char trans, const integer_t m, const integer_t n,
- const float alpha, const float* a, const integer_t lda,
- const float* x, const integer_t incx, const float beta, float* y,
- const integer_t incy ) {
- BLAS_SGEMV( &trans, &m, &n, &alpha, a, &lda, x, &incx, &beta, y,
- &incy );
- }
- inline void gemv( const char trans, const integer_t m, const integer_t n,
- const double alpha, const double* a, const integer_t lda,
- const double* x, const integer_t incx, const double beta,
- double* y, const integer_t incy ) {
- BLAS_DGEMV( &trans, &m, &n, &alpha, a, &lda, x, &incx, &beta, y,
- &incy );
- }
- inline void gemv( const char trans, const integer_t m, const integer_t n,
- const traits::complex_f alpha, const traits::complex_f* a,
- const integer_t lda, const traits::complex_f* x,
- const integer_t incx, const traits::complex_f beta,
- traits::complex_f* y, const integer_t incy ) {
- BLAS_CGEMV( &trans, &m, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
- traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
- }
- inline void gemv( const char trans, const integer_t m, const integer_t n,
- const traits::complex_d alpha, const traits::complex_d* a,
- const integer_t lda, const traits::complex_d* x,
- const integer_t incx, const traits::complex_d beta,
- traits::complex_d* y, const integer_t incy ) {
- BLAS_ZGEMV( &trans, &m, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
- traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
- }
+
+inline void gemv( const char trans, const integer_t m, const integer_t n,
+ const float alpha, const float* a, const integer_t lda,
+ const float* x, const integer_t incx, const float beta, float* y,
+ const integer_t incy ) {
+ BLAS_SGEMV( &trans, &m, &n, &alpha, a, &lda, x, &incx, &beta, y, &incy );
+}
+
+inline void gemv( const char trans, const integer_t m, const integer_t n,
+ const double alpha, const double* a, const integer_t lda,
+ const double* x, const integer_t incx, const double beta, double* y,
+ const integer_t incy ) {
+ BLAS_DGEMV( &trans, &m, &n, &alpha, a, &lda, x, &incx, &beta, y, &incy );
+}
+
+inline void gemv( const char trans, const integer_t m, const integer_t n,
+ const traits::complex_f alpha, const traits::complex_f* a,
+ const integer_t lda, const traits::complex_f* x, const integer_t incx,
+ const traits::complex_f beta, traits::complex_f* y,
+ const integer_t incy ) {
+ BLAS_CGEMV( &trans, &m, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
 }
 
+inline void gemv( const char trans, const integer_t m, const integer_t n,
+ const traits::complex_d alpha, const traits::complex_d* a,
+ const integer_t lda, const traits::complex_d* x, const integer_t incx,
+ const traits::complex_d beta, traits::complex_d* y,
+ const integer_t incy ) {
+ BLAS_ZGEMV( &trans, &m, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct gemv_impl {
@@ -97,7 +99,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::gemv
+// generic template function for calling to gemv
 template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename gemv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -109,6 +111,9 @@
     gemv_impl< value_type >::invoke( trans, alpha, a, x, beta, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,22 +25,24 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void ger( const integer_t m, const integer_t n, const float alpha,
- const float* x, const integer_t incx, const float* y,
- const integer_t incy, float* a, const integer_t lda ) {
- BLAS_SGER( &m, &n, &alpha, x, &incx, y, &incy, a, &lda );
- }
- inline void ger( const integer_t m, const integer_t n, const double alpha,
- const double* x, const integer_t incx, const double* y,
- const integer_t incy, double* a, const integer_t lda ) {
- BLAS_DGER( &m, &n, &alpha, x, &incx, y, &incy, a, &lda );
- }
+
+inline void ger( const integer_t m, const integer_t n, const float alpha,
+ const float* x, const integer_t incx, const float* y,
+ const integer_t incy, float* a, const integer_t lda ) {
+ BLAS_SGER( &m, &n, &alpha, x, &incx, y, &incy, a, &lda );
 }
 
+inline void ger( const integer_t m, const integer_t n, const double alpha,
+ const double* x, const integer_t incx, const double* y,
+ const integer_t incy, double* a, const integer_t lda ) {
+ BLAS_DGER( &m, &n, &alpha, x, &incx, y, &incy, a, &lda );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct ger_impl {
@@ -67,7 +69,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::ger
+// generic template function for calling to ger
 template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename ger_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -79,6 +81,9 @@
     ger_impl< value_type >::invoke( alpha, x, y, a );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,28 +25,30 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void gerc( const integer_t m, const integer_t n,
- const traits::complex_f alpha, const traits::complex_f* x,
- const integer_t incx, const traits::complex_f* y,
- const integer_t incy, traits::complex_f* a, const integer_t lda ) {
- BLAS_CGERC( &m, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(x), &incx, traits::complex_ptr(y), &incy,
- traits::complex_ptr(a), &lda );
- }
- inline void gerc( const integer_t m, const integer_t n,
- const traits::complex_d alpha, const traits::complex_d* x,
- const integer_t incx, const traits::complex_d* y,
- const integer_t incy, traits::complex_d* a, const integer_t lda ) {
- BLAS_ZGERC( &m, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(x), &incx, traits::complex_ptr(y), &incy,
- traits::complex_ptr(a), &lda );
- }
+
+inline void gerc( const integer_t m, const integer_t n,
+ const traits::complex_f alpha, const traits::complex_f* x,
+ const integer_t incx, const traits::complex_f* y,
+ const integer_t incy, traits::complex_f* a, const integer_t lda ) {
+ BLAS_CGERC( &m, &n, traits::complex_ptr(&alpha), traits::complex_ptr(x),
+ &incx, traits::complex_ptr(y), &incy, traits::complex_ptr(a),
+ &lda );
 }
 
+inline void gerc( const integer_t m, const integer_t n,
+ const traits::complex_d alpha, const traits::complex_d* x,
+ const integer_t incx, const traits::complex_d* y,
+ const integer_t incy, traits::complex_d* a, const integer_t lda ) {
+ BLAS_ZGERC( &m, &n, traits::complex_ptr(&alpha), traits::complex_ptr(x),
+ &incx, traits::complex_ptr(y), &incy, traits::complex_ptr(a),
+ &lda );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct gerc_impl {
@@ -73,7 +75,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::gerc
+// generic template function for calling to gerc
 template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename gerc_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -83,6 +85,9 @@
     gerc_impl< value_type >::invoke( alpha, x, y, a );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,28 +25,30 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void geru( const integer_t m, const integer_t n,
- const traits::complex_f alpha, const traits::complex_f* x,
- const integer_t incx, const traits::complex_f* y,
- const integer_t incy, traits::complex_f* a, const integer_t lda ) {
- BLAS_CGERU( &m, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(x), &incx, traits::complex_ptr(y), &incy,
- traits::complex_ptr(a), &lda );
- }
- inline void geru( const integer_t m, const integer_t n,
- const traits::complex_d alpha, const traits::complex_d* x,
- const integer_t incx, const traits::complex_d* y,
- const integer_t incy, traits::complex_d* a, const integer_t lda ) {
- BLAS_ZGERU( &m, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(x), &incx, traits::complex_ptr(y), &incy,
- traits::complex_ptr(a), &lda );
- }
+
+inline void geru( const integer_t m, const integer_t n,
+ const traits::complex_f alpha, const traits::complex_f* x,
+ const integer_t incx, const traits::complex_f* y,
+ const integer_t incy, traits::complex_f* a, const integer_t lda ) {
+ BLAS_CGERU( &m, &n, traits::complex_ptr(&alpha), traits::complex_ptr(x),
+ &incx, traits::complex_ptr(y), &incy, traits::complex_ptr(a),
+ &lda );
 }
 
+inline void geru( const integer_t m, const integer_t n,
+ const traits::complex_d alpha, const traits::complex_d* x,
+ const integer_t incx, const traits::complex_d* y,
+ const integer_t incy, traits::complex_d* a, const integer_t lda ) {
+ BLAS_ZGERU( &m, &n, traits::complex_ptr(&alpha), traits::complex_ptr(x),
+ &incx, traits::complex_ptr(y), &incy, traits::complex_ptr(a),
+ &lda );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct geru_impl {
@@ -73,7 +75,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::geru
+// generic template function for calling to geru
 template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename geru_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -83,6 +85,9 @@
     geru_impl< value_type >::invoke( alpha, x, y, a );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,30 +25,32 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void hbmv( const char uplo, const integer_t n, const integer_t k,
- const traits::complex_f alpha, const traits::complex_f* a,
- const integer_t lda, const traits::complex_f* x,
- const integer_t incx, const traits::complex_f beta,
- traits::complex_f* y, const integer_t incy ) {
- BLAS_CHBMV( &uplo, &n, &k, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
- traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
- }
- inline void hbmv( const char uplo, const integer_t n, const integer_t k,
- const traits::complex_d alpha, const traits::complex_d* a,
- const integer_t lda, const traits::complex_d* x,
- const integer_t incx, const traits::complex_d beta,
- traits::complex_d* y, const integer_t incy ) {
- BLAS_ZHBMV( &uplo, &n, &k, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
- traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
- }
+
+inline void hbmv( const char uplo, const integer_t n, const integer_t k,
+ const traits::complex_f alpha, const traits::complex_f* a,
+ const integer_t lda, const traits::complex_f* x, const integer_t incx,
+ const traits::complex_f beta, traits::complex_f* y,
+ const integer_t incy ) {
+ BLAS_CHBMV( &uplo, &n, &k, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
 }
 
+inline void hbmv( const char uplo, const integer_t n, const integer_t k,
+ const traits::complex_d alpha, const traits::complex_d* a,
+ const integer_t lda, const traits::complex_d* x, const integer_t incx,
+ const traits::complex_d beta, traits::complex_d* y,
+ const integer_t incy ) {
+ BLAS_ZHBMV( &uplo, &n, &k, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct hbmv_impl {
@@ -76,7 +78,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::hbmv
+// generic template function for calling to hbmv
 template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename hbmv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -88,6 +90,9 @@
     hbmv_impl< value_type >::invoke( k, alpha, a, x, beta, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,30 +25,32 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void hemv( const char uplo, const integer_t n,
- const traits::complex_f alpha, const traits::complex_f* a,
- const integer_t lda, const traits::complex_f* x,
- const integer_t incx, const traits::complex_f beta,
- traits::complex_f* y, const integer_t incy ) {
- BLAS_CHEMV( &uplo, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
- traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
- }
- inline void hemv( const char uplo, const integer_t n,
- const traits::complex_d alpha, const traits::complex_d* a,
- const integer_t lda, const traits::complex_d* x,
- const integer_t incx, const traits::complex_d beta,
- traits::complex_d* y, const integer_t incy ) {
- BLAS_ZHEMV( &uplo, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
- traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
- }
+
+inline void hemv( const char uplo, const integer_t n,
+ const traits::complex_f alpha, const traits::complex_f* a,
+ const integer_t lda, const traits::complex_f* x, const integer_t incx,
+ const traits::complex_f beta, traits::complex_f* y,
+ const integer_t incy ) {
+ BLAS_CHEMV( &uplo, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
 }
 
+inline void hemv( const char uplo, const integer_t n,
+ const traits::complex_d alpha, const traits::complex_d* a,
+ const integer_t lda, const traits::complex_d* x, const integer_t incx,
+ const traits::complex_d beta, traits::complex_d* y,
+ const integer_t incy ) {
+ BLAS_ZHEMV( &uplo, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct hemv_impl {
@@ -75,7 +77,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::hemv
+// generic template function for calling to hemv
 template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename hemv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -87,6 +89,9 @@
     hemv_impl< value_type >::invoke( alpha, a, x, beta, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,24 +25,26 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void her( const char uplo, const integer_t n, const float alpha,
- const traits::complex_f* x, const integer_t incx,
- traits::complex_f* a, const integer_t lda ) {
- BLAS_CHER( &uplo, &n, &alpha, traits::complex_ptr(x), &incx,
- traits::complex_ptr(a), &lda );
- }
- inline void her( const char uplo, const integer_t n, const double alpha,
- const traits::complex_d* x, const integer_t incx,
- traits::complex_d* a, const integer_t lda ) {
- BLAS_ZHER( &uplo, &n, &alpha, traits::complex_ptr(x), &incx,
- traits::complex_ptr(a), &lda );
- }
+
+inline void her( const char uplo, const integer_t n, const float alpha,
+ const traits::complex_f* x, const integer_t incx,
+ traits::complex_f* a, const integer_t lda ) {
+ BLAS_CHER( &uplo, &n, &alpha, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(a), &lda );
 }
 
+inline void her( const char uplo, const integer_t n, const double alpha,
+ const traits::complex_d* x, const integer_t incx,
+ traits::complex_d* a, const integer_t lda ) {
+ BLAS_ZHER( &uplo, &n, &alpha, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(a), &lda );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct her_impl {
@@ -65,7 +67,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::her
+// generic template function for calling to her
 template< typename VectorX, typename MatrixA >
 inline typename her_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -77,6 +79,9 @@
     her_impl< value_type >::invoke( alpha, x, a );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,28 +25,30 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void her2( const char uplo, const integer_t n,
- const traits::complex_f alpha, const traits::complex_f* x,
- const integer_t incx, const traits::complex_f* y,
- const integer_t incy, traits::complex_f* a, const integer_t lda ) {
- BLAS_CHER2( &uplo, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(x), &incx, traits::complex_ptr(y), &incy,
- traits::complex_ptr(a), &lda );
- }
- inline void her2( const char uplo, const integer_t n,
- const traits::complex_d alpha, const traits::complex_d* x,
- const integer_t incx, const traits::complex_d* y,
- const integer_t incy, traits::complex_d* a, const integer_t lda ) {
- BLAS_ZHER2( &uplo, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(x), &incx, traits::complex_ptr(y), &incy,
- traits::complex_ptr(a), &lda );
- }
+
+inline void her2( const char uplo, const integer_t n,
+ const traits::complex_f alpha, const traits::complex_f* x,
+ const integer_t incx, const traits::complex_f* y,
+ const integer_t incy, traits::complex_f* a, const integer_t lda ) {
+ BLAS_CHER2( &uplo, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(x), &incx, traits::complex_ptr(y), &incy,
+ traits::complex_ptr(a), &lda );
 }
 
+inline void her2( const char uplo, const integer_t n,
+ const traits::complex_d alpha, const traits::complex_d* x,
+ const integer_t incx, const traits::complex_d* y,
+ const integer_t incy, traits::complex_d* a, const integer_t lda ) {
+ BLAS_ZHER2( &uplo, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(x), &incx, traits::complex_ptr(y), &incy,
+ traits::complex_ptr(a), &lda );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct her2_impl {
@@ -73,7 +75,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::her2
+// generic template function for calling to her2
 template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename her2_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -83,6 +85,9 @@
     her2_impl< value_type >::invoke( alpha, x, y, a );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,30 +25,32 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void hpmv( const char uplo, const integer_t n,
- const traits::complex_f alpha, const traits::complex_f* ap,
- const traits::complex_f* x, const integer_t incx,
- const traits::complex_f beta, traits::complex_f* y,
- const integer_t incy ) {
- BLAS_CHPMV( &uplo, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(ap), traits::complex_ptr(x), &incx,
- traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
- }
- inline void hpmv( const char uplo, const integer_t n,
- const traits::complex_d alpha, const traits::complex_d* ap,
- const traits::complex_d* x, const integer_t incx,
- const traits::complex_d beta, traits::complex_d* y,
- const integer_t incy ) {
- BLAS_ZHPMV( &uplo, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(ap), traits::complex_ptr(x), &incx,
- traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
- }
+
+inline void hpmv( const char uplo, const integer_t n,
+ const traits::complex_f alpha, const traits::complex_f* ap,
+ const traits::complex_f* x, const integer_t incx,
+ const traits::complex_f beta, traits::complex_f* y,
+ const integer_t incy ) {
+ BLAS_CHPMV( &uplo, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(ap), traits::complex_ptr(x), &incx,
+ traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
 }
 
+inline void hpmv( const char uplo, const integer_t n,
+ const traits::complex_d alpha, const traits::complex_d* ap,
+ const traits::complex_d* x, const integer_t incx,
+ const traits::complex_d beta, traits::complex_d* y,
+ const integer_t incy ) {
+ BLAS_ZHPMV( &uplo, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(ap), traits::complex_ptr(x), &incx,
+ traits::complex_ptr(&beta), traits::complex_ptr(y), &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct hpmv_impl {
@@ -75,7 +77,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::hpmv
+// generic template function for calling to hpmv
 template< typename MatrixAP, typename VectorX, typename VectorY >
 inline typename hpmv_impl< typename traits::matrix_traits<
         MatrixAP >::value_type >::return_type
@@ -87,6 +89,9 @@
     hpmv_impl< value_type >::invoke( alpha, ap, x, beta, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,24 +25,26 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void hpr( const char uplo, const integer_t n, const float alpha,
- const traits::complex_f* x, const integer_t incx,
- traits::complex_f* ap ) {
- BLAS_CHPR( &uplo, &n, &alpha, traits::complex_ptr(x), &incx,
- traits::complex_ptr(ap) );
- }
- inline void hpr( const char uplo, const integer_t n, const double alpha,
- const traits::complex_d* x, const integer_t incx,
- traits::complex_d* ap ) {
- BLAS_ZHPR( &uplo, &n, &alpha, traits::complex_ptr(x), &incx,
- traits::complex_ptr(ap) );
- }
+
+inline void hpr( const char uplo, const integer_t n, const float alpha,
+ const traits::complex_f* x, const integer_t incx,
+ traits::complex_f* ap ) {
+ BLAS_CHPR( &uplo, &n, &alpha, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(ap) );
 }
 
+inline void hpr( const char uplo, const integer_t n, const double alpha,
+ const traits::complex_d* x, const integer_t incx,
+ traits::complex_d* ap ) {
+ BLAS_ZHPR( &uplo, &n, &alpha, traits::complex_ptr(x), &incx,
+ traits::complex_ptr(ap) );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct hpr_impl {
@@ -65,7 +67,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::hpr
+// generic template function for calling to hpr
 template< typename VectorX, typename MatrixAP >
 inline typename hpr_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -77,6 +79,9 @@
     hpr_impl< value_type >::invoke( alpha, x, ap );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,28 +25,30 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void hpr2( const char uplo, const integer_t n,
- const traits::complex_f alpha, const traits::complex_f* x,
- const integer_t incx, const traits::complex_f* y,
- const integer_t incy, traits::complex_f* ap ) {
- BLAS_CHPR2( &uplo, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(x), &incx, traits::complex_ptr(y), &incy,
- traits::complex_ptr(ap) );
- }
- inline void hpr2( const char uplo, const integer_t n,
- const traits::complex_d alpha, const traits::complex_d* x,
- const integer_t incx, const traits::complex_d* y,
- const integer_t incy, traits::complex_d* ap ) {
- BLAS_ZHPR2( &uplo, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(x), &incx, traits::complex_ptr(y), &incy,
- traits::complex_ptr(ap) );
- }
+
+inline void hpr2( const char uplo, const integer_t n,
+ const traits::complex_f alpha, const traits::complex_f* x,
+ const integer_t incx, const traits::complex_f* y,
+ const integer_t incy, traits::complex_f* ap ) {
+ BLAS_CHPR2( &uplo, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(x), &incx, traits::complex_ptr(y), &incy,
+ traits::complex_ptr(ap) );
 }
 
+inline void hpr2( const char uplo, const integer_t n,
+ const traits::complex_d alpha, const traits::complex_d* x,
+ const integer_t incx, const traits::complex_d* y,
+ const integer_t incy, traits::complex_d* ap ) {
+ BLAS_ZHPR2( &uplo, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(x), &incx, traits::complex_ptr(y), &incy,
+ traits::complex_ptr(ap) );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct hpr2_impl {
@@ -73,7 +75,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::hpr2
+// generic template function for calling to hpr2
 template< typename VectorX, typename VectorY, typename MatrixAP >
 inline typename hpr2_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -83,6 +85,9 @@
     hpr2_impl< value_type >::invoke( alpha, x, y, ap );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,26 +25,26 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void sbmv( const char uplo, const integer_t n, const integer_t k,
- const float alpha, const float* a, const integer_t lda,
- const float* x, const integer_t incx, const float beta, float* y,
- const integer_t incy ) {
- BLAS_SSBMV( &uplo, &n, &k, &alpha, a, &lda, x, &incx, &beta, y,
- &incy );
- }
- inline void sbmv( const char uplo, const integer_t n, const integer_t k,
- const double alpha, const double* a, const integer_t lda,
- const double* x, const integer_t incx, const double beta,
- double* y, const integer_t incy ) {
- BLAS_DSBMV( &uplo, &n, &k, &alpha, a, &lda, x, &incx, &beta, y,
- &incy );
- }
+
+inline void sbmv( const char uplo, const integer_t n, const integer_t k,
+ const float alpha, const float* a, const integer_t lda,
+ const float* x, const integer_t incx, const float beta, float* y,
+ const integer_t incy ) {
+ BLAS_SSBMV( &uplo, &n, &k, &alpha, a, &lda, x, &incx, &beta, y, &incy );
 }
 
+inline void sbmv( const char uplo, const integer_t n, const integer_t k,
+ const double alpha, const double* a, const integer_t lda,
+ const double* x, const integer_t incx, const double beta, double* y,
+ const integer_t incy ) {
+ BLAS_DSBMV( &uplo, &n, &k, &alpha, a, &lda, x, &incx, &beta, y, &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct sbmv_impl {
@@ -72,7 +72,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::sbmv
+// generic template function for calling to sbmv
 template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename sbmv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -86,6 +86,9 @@
     sbmv_impl< value_type >::invoke( k, alpha, a, x, beta, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,22 +25,24 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void spmv( const char uplo, const integer_t n, const float alpha,
- const float* ap, const float* x, const integer_t incx,
- const float beta, float* y, const integer_t incy ) {
- BLAS_SSPMV( &uplo, &n, &alpha, ap, x, &incx, &beta, y, &incy );
- }
- inline void spmv( const char uplo, const integer_t n, const double alpha,
- const double* ap, const double* x, const integer_t incx,
- const double beta, double* y, const integer_t incy ) {
- BLAS_DSPMV( &uplo, &n, &alpha, ap, x, &incx, &beta, y, &incy );
- }
+
+inline void spmv( const char uplo, const integer_t n, const float alpha,
+ const float* ap, const float* x, const integer_t incx,
+ const float beta, float* y, const integer_t incy ) {
+ BLAS_SSPMV( &uplo, &n, &alpha, ap, x, &incx, &beta, y, &incy );
 }
 
+inline void spmv( const char uplo, const integer_t n, const double alpha,
+ const double* ap, const double* x, const integer_t incx,
+ const double beta, double* y, const integer_t incy ) {
+ BLAS_DSPMV( &uplo, &n, &alpha, ap, x, &incx, &beta, y, &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct spmv_impl {
@@ -67,7 +69,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::spmv
+// generic template function for calling to spmv
 template< typename MatrixAP, typename VectorX, typename VectorY >
 inline typename spmv_impl< typename traits::matrix_traits<
         MatrixAP >::value_type >::return_type
@@ -81,6 +83,9 @@
     spmv_impl< value_type >::invoke( alpha, ap, x, beta, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,20 +25,22 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void spr( const char uplo, const integer_t n, const float alpha,
- const float* x, const integer_t incx, float* ap ) {
- BLAS_SSPR( &uplo, &n, &alpha, x, &incx, ap );
- }
- inline void spr( const char uplo, const integer_t n, const double alpha,
- const double* x, const integer_t incx, double* ap ) {
- BLAS_DSPR( &uplo, &n, &alpha, x, &incx, ap );
- }
+
+inline void spr( const char uplo, const integer_t n, const float alpha,
+ const float* x, const integer_t incx, float* ap ) {
+ BLAS_SSPR( &uplo, &n, &alpha, x, &incx, ap );
 }
 
+inline void spr( const char uplo, const integer_t n, const double alpha,
+ const double* x, const integer_t incx, double* ap ) {
+ BLAS_DSPR( &uplo, &n, &alpha, x, &incx, ap );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct spr_impl {
@@ -61,7 +63,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::spr
+// generic template function for calling to spr
 template< typename VectorX, typename MatrixAP >
 inline typename spr_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -73,6 +75,9 @@
     spr_impl< value_type >::invoke( alpha, x, ap );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,22 +25,24 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void spr2( const char uplo, const integer_t n, const float alpha,
- const float* x, const integer_t incx, const float* y,
- const integer_t incy, float* ap ) {
- BLAS_SSPR2( &uplo, &n, &alpha, x, &incx, y, &incy, ap );
- }
- inline void spr2( const char uplo, const integer_t n, const double alpha,
- const double* x, const integer_t incx, const double* y,
- const integer_t incy, double* ap ) {
- BLAS_DSPR2( &uplo, &n, &alpha, x, &incx, y, &incy, ap );
- }
+
+inline void spr2( const char uplo, const integer_t n, const float alpha,
+ const float* x, const integer_t incx, const float* y,
+ const integer_t incy, float* ap ) {
+ BLAS_SSPR2( &uplo, &n, &alpha, x, &incx, y, &incy, ap );
 }
 
+inline void spr2( const char uplo, const integer_t n, const double alpha,
+ const double* x, const integer_t incx, const double* y,
+ const integer_t incy, double* ap ) {
+ BLAS_DSPR2( &uplo, &n, &alpha, x, &incx, y, &incy, ap );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct spr2_impl {
@@ -67,7 +69,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::spr2
+// generic template function for calling to spr2
 template< typename VectorX, typename VectorY, typename MatrixAP >
 inline typename spr2_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -79,6 +81,9 @@
     spr2_impl< value_type >::invoke( alpha, x, y, ap );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,24 +25,26 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void symv( const char uplo, const integer_t n, const float alpha,
- const float* a, const integer_t lda, const float* x,
- const integer_t incx, const float beta, float* y,
- const integer_t incy ) {
- BLAS_SSYMV( &uplo, &n, &alpha, a, &lda, x, &incx, &beta, y, &incy );
- }
- inline void symv( const char uplo, const integer_t n, const double alpha,
- const double* a, const integer_t lda, const double* x,
- const integer_t incx, const double beta, double* y,
- const integer_t incy ) {
- BLAS_DSYMV( &uplo, &n, &alpha, a, &lda, x, &incx, &beta, y, &incy );
- }
+
+inline void symv( const char uplo, const integer_t n, const float alpha,
+ const float* a, const integer_t lda, const float* x,
+ const integer_t incx, const float beta, float* y,
+ const integer_t incy ) {
+ BLAS_SSYMV( &uplo, &n, &alpha, a, &lda, x, &incx, &beta, y, &incy );
 }
 
+inline void symv( const char uplo, const integer_t n, const double alpha,
+ const double* a, const integer_t lda, const double* x,
+ const integer_t incx, const double beta, double* y,
+ const integer_t incy ) {
+ BLAS_DSYMV( &uplo, &n, &alpha, a, &lda, x, &incx, &beta, y, &incy );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct symv_impl {
@@ -69,7 +71,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::symv
+// generic template function for calling to symv
 template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename symv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -83,6 +85,9 @@
     symv_impl< value_type >::invoke( alpha, a, x, beta, y );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,22 +25,23 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void syr( const char uplo, const integer_t n, const float alpha,
- const float* x, const integer_t incx, float* a,
- const integer_t lda ) {
- BLAS_SSYR( &uplo, &n, &alpha, x, &incx, a, &lda );
- }
- inline void syr( const char uplo, const integer_t n, const double alpha,
- const double* x, const integer_t incx, double* a,
- const integer_t lda ) {
- BLAS_DSYR( &uplo, &n, &alpha, x, &incx, a, &lda );
- }
+
+inline void syr( const char uplo, const integer_t n, const float alpha,
+ const float* x, const integer_t incx, float* a, const integer_t lda ) {
+ BLAS_SSYR( &uplo, &n, &alpha, x, &incx, a, &lda );
 }
 
+inline void syr( const char uplo, const integer_t n, const double alpha,
+ const double* x, const integer_t incx, double* a,
+ const integer_t lda ) {
+ BLAS_DSYR( &uplo, &n, &alpha, x, &incx, a, &lda );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct syr_impl {
@@ -63,7 +64,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::syr
+// generic template function for calling to syr
 template< typename VectorX, typename MatrixA >
 inline typename syr_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -75,6 +76,9 @@
     syr_impl< value_type >::invoke( alpha, x, a );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,22 +25,24 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void syr2( const char uplo, const integer_t n, const float alpha,
- const float* x, const integer_t incx, const float* y,
- const integer_t incy, float* a, const integer_t lda ) {
- BLAS_SSYR2( &uplo, &n, &alpha, x, &incx, y, &incy, a, &lda );
- }
- inline void syr2( const char uplo, const integer_t n, const double alpha,
- const double* x, const integer_t incx, const double* y,
- const integer_t incy, double* a, const integer_t lda ) {
- BLAS_DSYR2( &uplo, &n, &alpha, x, &incx, y, &incy, a, &lda );
- }
+
+inline void syr2( const char uplo, const integer_t n, const float alpha,
+ const float* x, const integer_t incx, const float* y,
+ const integer_t incy, float* a, const integer_t lda ) {
+ BLAS_SSYR2( &uplo, &n, &alpha, x, &incx, y, &incy, a, &lda );
 }
 
+inline void syr2( const char uplo, const integer_t n, const double alpha,
+ const double* x, const integer_t incx, const double* y,
+ const integer_t incy, double* a, const integer_t lda ) {
+ BLAS_DSYR2( &uplo, &n, &alpha, x, &incx, y, &incy, a, &lda );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct syr2_impl {
@@ -67,7 +69,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::syr2
+// generic template function for calling to syr2
 template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename syr2_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -79,6 +81,9 @@
     syr2_impl< value_type >::invoke( alpha, x, y, a );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,34 +25,38 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void tbmv( const char uplo, const char trans, const char diag,
- const integer_t n, const integer_t k, const float* a,
- const integer_t lda, float* x, const integer_t incx ) {
- BLAS_STBMV( &uplo, &trans, &diag, &n, &k, a, &lda, x, &incx );
- }
- inline void tbmv( const char uplo, const char trans, const char diag,
- const integer_t n, const integer_t k, const double* a,
- const integer_t lda, double* x, const integer_t incx ) {
- BLAS_DTBMV( &uplo, &trans, &diag, &n, &k, a, &lda, x, &incx );
- }
- inline void tbmv( const char uplo, const char trans, const char diag,
- const integer_t n, const integer_t k, const traits::complex_f* a,
- const integer_t lda, traits::complex_f* x, const integer_t incx ) {
- BLAS_CTBMV( &uplo, &trans, &diag, &n, &k, traits::complex_ptr(a),
- &lda, traits::complex_ptr(x), &incx );
- }
- inline void tbmv( const char uplo, const char trans, const char diag,
- const integer_t n, const integer_t k, const traits::complex_d* a,
- const integer_t lda, traits::complex_d* x, const integer_t incx ) {
- BLAS_ZTBMV( &uplo, &trans, &diag, &n, &k, traits::complex_ptr(a),
- &lda, traits::complex_ptr(x), &incx );
- }
+
+inline void tbmv( const char uplo, const char trans, const char diag,
+ const integer_t n, const integer_t k, const float* a,
+ const integer_t lda, float* x, const integer_t incx ) {
+ BLAS_STBMV( &uplo, &trans, &diag, &n, &k, a, &lda, x, &incx );
+}
+
+inline void tbmv( const char uplo, const char trans, const char diag,
+ const integer_t n, const integer_t k, const double* a,
+ const integer_t lda, double* x, const integer_t incx ) {
+ BLAS_DTBMV( &uplo, &trans, &diag, &n, &k, a, &lda, x, &incx );
+}
+
+inline void tbmv( const char uplo, const char trans, const char diag,
+ const integer_t n, const integer_t k, const traits::complex_f* a,
+ const integer_t lda, traits::complex_f* x, const integer_t incx ) {
+ BLAS_CTBMV( &uplo, &trans, &diag, &n, &k, traits::complex_ptr(a), &lda,
+ traits::complex_ptr(x), &incx );
 }
 
+inline void tbmv( const char uplo, const char trans, const char diag,
+ const integer_t n, const integer_t k, const traits::complex_d* a,
+ const integer_t lda, traits::complex_d* x, const integer_t incx ) {
+ BLAS_ZTBMV( &uplo, &trans, &diag, &n, &k, traits::complex_ptr(a), &lda,
+ traits::complex_ptr(x), &incx );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct tbmv_impl {
@@ -75,7 +79,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::tbmv
+// generic template function for calling to tbmv
 template< typename MatrixA, typename VectorX >
 inline typename tbmv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -85,6 +89,9 @@
     tbmv_impl< value_type >::invoke( trans, diag, k, a, x );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,34 +25,38 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void tbsv( const char uplo, const char trans, const char diag,
- const integer_t n, const integer_t k, const float* a,
- const integer_t lda, float* x, const integer_t incx ) {
- BLAS_STBSV( &uplo, &trans, &diag, &n, &k, a, &lda, x, &incx );
- }
- inline void tbsv( const char uplo, const char trans, const char diag,
- const integer_t n, const integer_t k, const double* a,
- const integer_t lda, double* x, const integer_t incx ) {
- BLAS_DTBSV( &uplo, &trans, &diag, &n, &k, a, &lda, x, &incx );
- }
- inline void tbsv( const char uplo, const char trans, const char diag,
- const integer_t n, const integer_t k, const traits::complex_f* a,
- const integer_t lda, traits::complex_f* x, const integer_t incx ) {
- BLAS_CTBSV( &uplo, &trans, &diag, &n, &k, traits::complex_ptr(a),
- &lda, traits::complex_ptr(x), &incx );
- }
- inline void tbsv( const char uplo, const char trans, const char diag,
- const integer_t n, const integer_t k, const traits::complex_d* a,
- const integer_t lda, traits::complex_d* x, const integer_t incx ) {
- BLAS_ZTBSV( &uplo, &trans, &diag, &n, &k, traits::complex_ptr(a),
- &lda, traits::complex_ptr(x), &incx );
- }
+
+inline void tbsv( const char uplo, const char trans, const char diag,
+ const integer_t n, const integer_t k, const float* a,
+ const integer_t lda, float* x, const integer_t incx ) {
+ BLAS_STBSV( &uplo, &trans, &diag, &n, &k, a, &lda, x, &incx );
+}
+
+inline void tbsv( const char uplo, const char trans, const char diag,
+ const integer_t n, const integer_t k, const double* a,
+ const integer_t lda, double* x, const integer_t incx ) {
+ BLAS_DTBSV( &uplo, &trans, &diag, &n, &k, a, &lda, x, &incx );
+}
+
+inline void tbsv( const char uplo, const char trans, const char diag,
+ const integer_t n, const integer_t k, const traits::complex_f* a,
+ const integer_t lda, traits::complex_f* x, const integer_t incx ) {
+ BLAS_CTBSV( &uplo, &trans, &diag, &n, &k, traits::complex_ptr(a), &lda,
+ traits::complex_ptr(x), &incx );
 }
 
+inline void tbsv( const char uplo, const char trans, const char diag,
+ const integer_t n, const integer_t k, const traits::complex_d* a,
+ const integer_t lda, traits::complex_d* x, const integer_t incx ) {
+ BLAS_ZTBSV( &uplo, &trans, &diag, &n, &k, traits::complex_ptr(a), &lda,
+ traits::complex_ptr(x), &incx );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct tbsv_impl {
@@ -75,7 +79,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::tbsv
+// generic template function for calling to tbsv
 template< typename MatrixA, typename VectorX >
 inline typename tbsv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -85,6 +89,9 @@
     tbsv_impl< value_type >::invoke( trans, diag, k, a, x );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,34 +25,37 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void tpmv( const char uplo, const char trans, const char diag,
- const integer_t n, const float* ap, float* x,
- const integer_t incx ) {
- BLAS_STPMV( &uplo, &trans, &diag, &n, ap, x, &incx );
- }
- inline void tpmv( const char uplo, const char trans, const char diag,
- const integer_t n, const double* ap, double* x,
- const integer_t incx ) {
- BLAS_DTPMV( &uplo, &trans, &diag, &n, ap, x, &incx );
- }
- inline void tpmv( const char uplo, const char trans, const char diag,
- const integer_t n, const traits::complex_f* ap,
- traits::complex_f* x, const integer_t incx ) {
- BLAS_CTPMV( &uplo, &trans, &diag, &n, traits::complex_ptr(ap),
- traits::complex_ptr(x), &incx );
- }
- inline void tpmv( const char uplo, const char trans, const char diag,
- const integer_t n, const traits::complex_d* ap,
- traits::complex_d* x, const integer_t incx ) {
- BLAS_ZTPMV( &uplo, &trans, &diag, &n, traits::complex_ptr(ap),
- traits::complex_ptr(x), &incx );
- }
+
+inline void tpmv( const char uplo, const char trans, const char diag,
+ const integer_t n, const float* ap, float* x, const integer_t incx ) {
+ BLAS_STPMV( &uplo, &trans, &diag, &n, ap, x, &incx );
+}
+
+inline void tpmv( const char uplo, const char trans, const char diag,
+ const integer_t n, const double* ap, double* x,
+ const integer_t incx ) {
+ BLAS_DTPMV( &uplo, &trans, &diag, &n, ap, x, &incx );
+}
+
+inline void tpmv( const char uplo, const char trans, const char diag,
+ const integer_t n, const traits::complex_f* ap, traits::complex_f* x,
+ const integer_t incx ) {
+ BLAS_CTPMV( &uplo, &trans, &diag, &n, traits::complex_ptr(ap),
+ traits::complex_ptr(x), &incx );
 }
 
+inline void tpmv( const char uplo, const char trans, const char diag,
+ const integer_t n, const traits::complex_d* ap, traits::complex_d* x,
+ const integer_t incx ) {
+ BLAS_ZTPMV( &uplo, &trans, &diag, &n, traits::complex_ptr(ap),
+ traits::complex_ptr(x), &incx );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct tpmv_impl {
@@ -74,7 +77,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::tpmv
+// generic template function for calling to tpmv
 template< typename MatrixAP, typename VectorX >
 inline typename tpmv_impl< typename traits::matrix_traits<
         MatrixAP >::value_type >::return_type
@@ -84,6 +87,9 @@
     tpmv_impl< value_type >::invoke( trans, diag, ap, x );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,34 +25,37 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void tpsv( const char uplo, const char trans, const char diag,
- const integer_t n, const float* ap, float* x,
- const integer_t incx ) {
- BLAS_STPSV( &uplo, &trans, &diag, &n, ap, x, &incx );
- }
- inline void tpsv( const char uplo, const char trans, const char diag,
- const integer_t n, const double* ap, double* x,
- const integer_t incx ) {
- BLAS_DTPSV( &uplo, &trans, &diag, &n, ap, x, &incx );
- }
- inline void tpsv( const char uplo, const char trans, const char diag,
- const integer_t n, const traits::complex_f* ap,
- traits::complex_f* x, const integer_t incx ) {
- BLAS_CTPSV( &uplo, &trans, &diag, &n, traits::complex_ptr(ap),
- traits::complex_ptr(x), &incx );
- }
- inline void tpsv( const char uplo, const char trans, const char diag,
- const integer_t n, const traits::complex_d* ap,
- traits::complex_d* x, const integer_t incx ) {
- BLAS_ZTPSV( &uplo, &trans, &diag, &n, traits::complex_ptr(ap),
- traits::complex_ptr(x), &incx );
- }
+
+inline void tpsv( const char uplo, const char trans, const char diag,
+ const integer_t n, const float* ap, float* x, const integer_t incx ) {
+ BLAS_STPSV( &uplo, &trans, &diag, &n, ap, x, &incx );
+}
+
+inline void tpsv( const char uplo, const char trans, const char diag,
+ const integer_t n, const double* ap, double* x,
+ const integer_t incx ) {
+ BLAS_DTPSV( &uplo, &trans, &diag, &n, ap, x, &incx );
+}
+
+inline void tpsv( const char uplo, const char trans, const char diag,
+ const integer_t n, const traits::complex_f* ap, traits::complex_f* x,
+ const integer_t incx ) {
+ BLAS_CTPSV( &uplo, &trans, &diag, &n, traits::complex_ptr(ap),
+ traits::complex_ptr(x), &incx );
 }
 
+inline void tpsv( const char uplo, const char trans, const char diag,
+ const integer_t n, const traits::complex_d* ap, traits::complex_d* x,
+ const integer_t incx ) {
+ BLAS_ZTPSV( &uplo, &trans, &diag, &n, traits::complex_ptr(ap),
+ traits::complex_ptr(x), &incx );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct tpsv_impl {
@@ -74,7 +77,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::tpsv
+// generic template function for calling to tpsv
 template< typename MatrixAP, typename VectorX >
 inline typename tpsv_impl< typename traits::matrix_traits<
         MatrixAP >::value_type >::return_type
@@ -84,6 +87,9 @@
     tpsv_impl< value_type >::invoke( trans, diag, ap, x );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,34 +25,38 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void trmv( const char uplo, const char trans, const char diag,
- const integer_t n, const float* a, const integer_t lda, float* x,
- const integer_t incx ) {
- BLAS_STRMV( &uplo, &trans, &diag, &n, a, &lda, x, &incx );
- }
- inline void trmv( const char uplo, const char trans, const char diag,
- const integer_t n, const double* a, const integer_t lda,
- double* x, const integer_t incx ) {
- BLAS_DTRMV( &uplo, &trans, &diag, &n, a, &lda, x, &incx );
- }
- inline void trmv( const char uplo, const char trans, const char diag,
- const integer_t n, const traits::complex_f* a,
- const integer_t lda, traits::complex_f* x, const integer_t incx ) {
- BLAS_CTRMV( &uplo, &trans, &diag, &n, traits::complex_ptr(a), &lda,
- traits::complex_ptr(x), &incx );
- }
- inline void trmv( const char uplo, const char trans, const char diag,
- const integer_t n, const traits::complex_d* a,
- const integer_t lda, traits::complex_d* x, const integer_t incx ) {
- BLAS_ZTRMV( &uplo, &trans, &diag, &n, traits::complex_ptr(a), &lda,
- traits::complex_ptr(x), &incx );
- }
+
+inline void trmv( const char uplo, const char trans, const char diag,
+ const integer_t n, const float* a, const integer_t lda, float* x,
+ const integer_t incx ) {
+ BLAS_STRMV( &uplo, &trans, &diag, &n, a, &lda, x, &incx );
+}
+
+inline void trmv( const char uplo, const char trans, const char diag,
+ const integer_t n, const double* a, const integer_t lda, double* x,
+ const integer_t incx ) {
+ BLAS_DTRMV( &uplo, &trans, &diag, &n, a, &lda, x, &incx );
+}
+
+inline void trmv( const char uplo, const char trans, const char diag,
+ const integer_t n, const traits::complex_f* a, const integer_t lda,
+ traits::complex_f* x, const integer_t incx ) {
+ BLAS_CTRMV( &uplo, &trans, &diag, &n, traits::complex_ptr(a), &lda,
+ traits::complex_ptr(x), &incx );
 }
 
+inline void trmv( const char uplo, const char trans, const char diag,
+ const integer_t n, const traits::complex_d* a, const integer_t lda,
+ traits::complex_d* x, const integer_t incx ) {
+ BLAS_ZTRMV( &uplo, &trans, &diag, &n, traits::complex_ptr(a), &lda,
+ traits::complex_ptr(x), &incx );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct trmv_impl {
@@ -75,7 +79,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::trmv
+// generic template function for calling to trmv
 template< typename MatrixA, typename VectorX >
 inline typename trmv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -84,6 +88,9 @@
     trmv_impl< value_type >::invoke( trans, diag, a, x );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,34 +25,38 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void trsv( const char uplo, const char trans, const char diag,
- const integer_t n, const float* a, const integer_t lda, float* x,
- const integer_t incx ) {
- BLAS_STRSV( &uplo, &trans, &diag, &n, a, &lda, x, &incx );
- }
- inline void trsv( const char uplo, const char trans, const char diag,
- const integer_t n, const double* a, const integer_t lda,
- double* x, const integer_t incx ) {
- BLAS_DTRSV( &uplo, &trans, &diag, &n, a, &lda, x, &incx );
- }
- inline void trsv( const char uplo, const char trans, const char diag,
- const integer_t n, const traits::complex_f* a,
- const integer_t lda, traits::complex_f* x, const integer_t incx ) {
- BLAS_CTRSV( &uplo, &trans, &diag, &n, traits::complex_ptr(a), &lda,
- traits::complex_ptr(x), &incx );
- }
- inline void trsv( const char uplo, const char trans, const char diag,
- const integer_t n, const traits::complex_d* a,
- const integer_t lda, traits::complex_d* x, const integer_t incx ) {
- BLAS_ZTRSV( &uplo, &trans, &diag, &n, traits::complex_ptr(a), &lda,
- traits::complex_ptr(x), &incx );
- }
+
+inline void trsv( const char uplo, const char trans, const char diag,
+ const integer_t n, const float* a, const integer_t lda, float* x,
+ const integer_t incx ) {
+ BLAS_STRSV( &uplo, &trans, &diag, &n, a, &lda, x, &incx );
+}
+
+inline void trsv( const char uplo, const char trans, const char diag,
+ const integer_t n, const double* a, const integer_t lda, double* x,
+ const integer_t incx ) {
+ BLAS_DTRSV( &uplo, &trans, &diag, &n, a, &lda, x, &incx );
+}
+
+inline void trsv( const char uplo, const char trans, const char diag,
+ const integer_t n, const traits::complex_f* a, const integer_t lda,
+ traits::complex_f* x, const integer_t incx ) {
+ BLAS_CTRSV( &uplo, &trans, &diag, &n, traits::complex_ptr(a), &lda,
+ traits::complex_ptr(x), &incx );
 }
 
+inline void trsv( const char uplo, const char trans, const char diag,
+ const integer_t n, const traits::complex_d* a, const integer_t lda,
+ traits::complex_d* x, const integer_t incx ) {
+ BLAS_ZTRSV( &uplo, &trans, &diag, &n, traits::complex_ptr(a), &lda,
+ traits::complex_ptr(x), &incx );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct trsv_impl {
@@ -75,7 +79,7 @@
     }
 };
 
-// low-level template function for direct calls to level2::trsv
+// generic template function for calling to trsv
 template< typename MatrixA, typename VectorX >
 inline typename trsv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -84,6 +88,9 @@
     trsv_impl< value_type >::invoke( trans, diag, a, x );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level2
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -9,6 +9,14 @@
 #ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_HPP
 #define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_HPP
 
-#include <boost/numeric/bindings/blas/solve.hpp>
+#include <boost/numeric/bindings/blas/level3/gemm.hpp>
+#include <boost/numeric/bindings/blas/level3/hemm.hpp>
+#include <boost/numeric/bindings/blas/level3/her2k.hpp>
+#include <boost/numeric/bindings/blas/level3/herk.hpp>
+#include <boost/numeric/bindings/blas/level3/symm.hpp>
+#include <boost/numeric/bindings/blas/level3/syr2k.hpp>
+#include <boost/numeric/bindings/blas/level3/syrk.hpp>
+#include <boost/numeric/bindings/blas/level3/trmm.hpp>
+#include <boost/numeric/bindings/blas/level3/trsm.hpp>
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,48 +25,52 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void gemm( const char transa, const char transb, const integer_t m,
- const integer_t n, const integer_t k, const float alpha,
- const float* a, const integer_t lda, const float* b,
- const integer_t ldb, const float beta, float* c,
- const integer_t ldc ) {
- BLAS_SGEMM( &transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb,
- &beta, c, &ldc );
- }
- inline void gemm( const char transa, const char transb, const integer_t m,
- const integer_t n, const integer_t k, const double alpha,
- const double* a, const integer_t lda, const double* b,
- const integer_t ldb, const double beta, double* c,
- const integer_t ldc ) {
- BLAS_DGEMM( &transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb,
- &beta, c, &ldc );
- }
- inline void gemm( const char transa, const char transb, const integer_t m,
- const integer_t n, const integer_t k,
- const traits::complex_f alpha, const traits::complex_f* a,
- const integer_t lda, const traits::complex_f* b,
- const integer_t ldb, const traits::complex_f beta,
- traits::complex_f* c, const integer_t ldc ) {
- BLAS_CGEMM( &transa, &transb, &m, &n, &k, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
- traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
- }
- inline void gemm( const char transa, const char transb, const integer_t m,
- const integer_t n, const integer_t k,
- const traits::complex_d alpha, const traits::complex_d* a,
- const integer_t lda, const traits::complex_d* b,
- const integer_t ldb, const traits::complex_d beta,
- traits::complex_d* c, const integer_t ldc ) {
- BLAS_ZGEMM( &transa, &transb, &m, &n, &k, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
- traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
- }
+
+inline void gemm( const char transa, const char transb, const integer_t m,
+ const integer_t n, const integer_t k, const float alpha,
+ const float* a, const integer_t lda, const float* b,
+ const integer_t ldb, const float beta, float* c,
+ const integer_t ldc ) {
+ BLAS_SGEMM( &transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta,
+ c, &ldc );
+}
+
+inline void gemm( const char transa, const char transb, const integer_t m,
+ const integer_t n, const integer_t k, const double alpha,
+ const double* a, const integer_t lda, const double* b,
+ const integer_t ldb, const double beta, double* c,
+ const integer_t ldc ) {
+ BLAS_DGEMM( &transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta,
+ c, &ldc );
+}
+
+inline void gemm( const char transa, const char transb, const integer_t m,
+ const integer_t n, const integer_t k, const traits::complex_f alpha,
+ const traits::complex_f* a, const integer_t lda,
+ const traits::complex_f* b, const integer_t ldb,
+ const traits::complex_f beta, traits::complex_f* c,
+ const integer_t ldc ) {
+ BLAS_CGEMM( &transa, &transb, &m, &n, &k, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
+ traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
 }
 
+inline void gemm( const char transa, const char transb, const integer_t m,
+ const integer_t n, const integer_t k, const traits::complex_d alpha,
+ const traits::complex_d* a, const integer_t lda,
+ const traits::complex_d* b, const integer_t ldb,
+ const traits::complex_d beta, traits::complex_d* c,
+ const integer_t ldc ) {
+ BLAS_ZGEMM( &transa, &transb, &m, &n, &k, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
+ traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct gemm_impl {
@@ -88,15 +92,15 @@
                 MatrixC >::value_type >::value) );
         detail::gemm( transa, transb, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c),
- (transa=='N'?traits::matrix_num_columns(a),
- traits::matrix_num_rows(a)), alpha, traits::matrix_storage(a),
+ (transa=='N' ? traits::matrix_num_columns(a) : traits::matrix_num_rows(a)),
+ alpha, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), beta, traits::matrix_storage(c),
                 traits::leading_dimension(c) );
     }
 };
 
-// low-level template function for direct calls to level3::gemm
+// generic template function for calling to gemm
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename gemm_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -110,6 +114,9 @@
             c );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level3
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,32 +25,34 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void hemm( const char side, const char uplo, const integer_t m,
- const integer_t n, const traits::complex_f alpha,
- const traits::complex_f* a, const integer_t lda,
- const traits::complex_f* b, const integer_t ldb,
- const traits::complex_f beta, traits::complex_f* c,
- const integer_t ldc ) {
- BLAS_CHEMM( &side, &uplo, &m, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
- traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
- }
- inline void hemm( const char side, const char uplo, const integer_t m,
- const integer_t n, const traits::complex_d alpha,
- const traits::complex_d* a, const integer_t lda,
- const traits::complex_d* b, const integer_t ldb,
- const traits::complex_d beta, traits::complex_d* c,
- const integer_t ldc ) {
- BLAS_ZHEMM( &side, &uplo, &m, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
- traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
- }
+
+inline void hemm( const char side, const char uplo, const integer_t m,
+ const integer_t n, const traits::complex_f alpha,
+ const traits::complex_f* a, const integer_t lda,
+ const traits::complex_f* b, const integer_t ldb,
+ const traits::complex_f beta, traits::complex_f* c,
+ const integer_t ldc ) {
+ BLAS_CHEMM( &side, &uplo, &m, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
+ traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
 }
 
+inline void hemm( const char side, const char uplo, const integer_t m,
+ const integer_t n, const traits::complex_d alpha,
+ const traits::complex_d* a, const integer_t lda,
+ const traits::complex_d* b, const integer_t ldb,
+ const traits::complex_d beta, traits::complex_d* c,
+ const integer_t ldc ) {
+ BLAS_ZHEMM( &side, &uplo, &m, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
+ traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct hemm_impl {
@@ -79,7 +81,7 @@
     }
 };
 
-// low-level template function for direct calls to level3::hemm
+// generic template function for calling to hemm
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename hemm_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -91,6 +93,9 @@
     hemm_impl< value_type >::invoke( side, alpha, a, b, beta, c );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level3
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,30 +25,32 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void her2k( const char uplo, const char trans, const integer_t n,
- const integer_t k, const traits::complex_f alpha,
- const traits::complex_f* a, const integer_t lda,
- const traits::complex_f* b, const integer_t ldb, const float beta,
- traits::complex_f* c, const integer_t ldc ) {
- BLAS_CHER2K( &uplo, &trans, &n, &k, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
- &beta, traits::complex_ptr(c), &ldc );
- }
- inline void her2k( const char uplo, const char trans, const integer_t n,
- const integer_t k, const traits::complex_d alpha,
- const traits::complex_d* a, const integer_t lda,
- const traits::complex_d* b, const integer_t ldb,
- const double beta, traits::complex_d* c, const integer_t ldc ) {
- BLAS_ZHER2K( &uplo, &trans, &n, &k, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
- &beta, traits::complex_ptr(c), &ldc );
- }
+
+inline void her2k( const char uplo, const char trans, const integer_t n,
+ const integer_t k, const traits::complex_f alpha,
+ const traits::complex_f* a, const integer_t lda,
+ const traits::complex_f* b, const integer_t ldb, const float beta,
+ traits::complex_f* c, const integer_t ldc ) {
+ BLAS_CHER2K( &uplo, &trans, &n, &k, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb, &beta,
+ traits::complex_ptr(c), &ldc );
 }
 
+inline void her2k( const char uplo, const char trans, const integer_t n,
+ const integer_t k, const traits::complex_d alpha,
+ const traits::complex_d* a, const integer_t lda,
+ const traits::complex_d* b, const integer_t ldb, const double beta,
+ traits::complex_d* c, const integer_t ldc ) {
+ BLAS_ZHER2K( &uplo, &trans, &n, &k, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb, &beta,
+ traits::complex_ptr(c), &ldc );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct her2k_impl {
@@ -70,15 +72,15 @@
                 MatrixC >::value_type >::value) );
         detail::her2k( traits::matrix_uplo_tag(c), trans,
                 traits::matrix_num_columns(c),
- (trans=='N'?traits::matrix_num_columns(a),
- traits::matrix_num_rows(a)), alpha, traits::matrix_storage(a),
+ (trans=='N' ? traits::matrix_num_columns(a) : traits::matrix_num_rows(a)),
+ alpha, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), beta, traits::matrix_storage(c),
                 traits::leading_dimension(c) );
     }
 };
 
-// low-level template function for direct calls to level3::her2k
+// generic template function for calling to her2k
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename her2k_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -90,6 +92,9 @@
     her2k_impl< value_type >::invoke( trans, alpha, a, b, beta, c );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level3
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,26 +25,28 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void herk( const char uplo, const char trans, const integer_t n,
- const integer_t k, const float alpha, const traits::complex_f* a,
- const integer_t lda, const float beta, traits::complex_f* c,
- const integer_t ldc ) {
- BLAS_CHERK( &uplo, &trans, &n, &k, &alpha, traits::complex_ptr(a),
- &lda, &beta, traits::complex_ptr(c), &ldc );
- }
- inline void herk( const char uplo, const char trans, const integer_t n,
- const integer_t k, const double alpha, const traits::complex_d* a,
- const integer_t lda, const double beta, traits::complex_d* c,
- const integer_t ldc ) {
- BLAS_ZHERK( &uplo, &trans, &n, &k, &alpha, traits::complex_ptr(a),
- &lda, &beta, traits::complex_ptr(c), &ldc );
- }
+
+inline void herk( const char uplo, const char trans, const integer_t n,
+ const integer_t k, const float alpha, const traits::complex_f* a,
+ const integer_t lda, const float beta, traits::complex_f* c,
+ const integer_t ldc ) {
+ BLAS_CHERK( &uplo, &trans, &n, &k, &alpha, traits::complex_ptr(a), &lda,
+ &beta, traits::complex_ptr(c), &ldc );
 }
 
+inline void herk( const char uplo, const char trans, const integer_t n,
+ const integer_t k, const double alpha, const traits::complex_d* a,
+ const integer_t lda, const double beta, traits::complex_d* c,
+ const integer_t ldc ) {
+ BLAS_ZHERK( &uplo, &trans, &n, &k, &alpha, traits::complex_ptr(a), &lda,
+ &beta, traits::complex_ptr(c), &ldc );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct herk_impl {
@@ -62,14 +64,14 @@
                 MatrixC >::value_type >::value) );
         detail::herk( traits::matrix_uplo_tag(c), trans,
                 traits::matrix_num_columns(c),
- (trans=='N'?traits::matrix_num_columns(a),
- traits::matrix_num_rows(a)), alpha, traits::matrix_storage(a),
+ (trans=='N' ? traits::matrix_num_columns(a) : traits::matrix_num_rows(a)),
+ alpha, traits::matrix_storage(a),
                 traits::leading_dimension(a), beta, traits::matrix_storage(c),
                 traits::leading_dimension(c) );
     }
 };
 
-// low-level template function for direct calls to level3::herk
+// generic template function for calling to herk
 template< typename MatrixA, typename MatrixC >
 inline typename herk_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -82,6 +84,9 @@
     herk_impl< value_type >::invoke( trans, alpha, a, beta, c );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level3
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,46 +25,50 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void symm( const char side, const char uplo, const integer_t m,
- const integer_t n, const float alpha, const float* a,
- const integer_t lda, const float* b, const integer_t ldb,
- const float beta, float* c, const integer_t ldc ) {
- BLAS_SSYMM( &side, &uplo, &m, &n, &alpha, a, &lda, b, &ldb, &beta, c,
- &ldc );
- }
- inline void symm( const char side, const char uplo, const integer_t m,
- const integer_t n, const double alpha, const double* a,
- const integer_t lda, const double* b, const integer_t ldb,
- const double beta, double* c, const integer_t ldc ) {
- BLAS_DSYMM( &side, &uplo, &m, &n, &alpha, a, &lda, b, &ldb, &beta, c,
- &ldc );
- }
- inline void symm( const char side, const char uplo, const integer_t m,
- const integer_t n, const traits::complex_f alpha,
- const traits::complex_f* a, const integer_t lda,
- const traits::complex_f* b, const integer_t ldb,
- const traits::complex_f beta, traits::complex_f* c,
- const integer_t ldc ) {
- BLAS_CSYMM( &side, &uplo, &m, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
- traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
- }
- inline void symm( const char side, const char uplo, const integer_t m,
- const integer_t n, const traits::complex_d alpha,
- const traits::complex_d* a, const integer_t lda,
- const traits::complex_d* b, const integer_t ldb,
- const traits::complex_d beta, traits::complex_d* c,
- const integer_t ldc ) {
- BLAS_ZSYMM( &side, &uplo, &m, &n, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
- traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
- }
+
+inline void symm( const char side, const char uplo, const integer_t m,
+ const integer_t n, const float alpha, const float* a,
+ const integer_t lda, const float* b, const integer_t ldb,
+ const float beta, float* c, const integer_t ldc ) {
+ BLAS_SSYMM( &side, &uplo, &m, &n, &alpha, a, &lda, b, &ldb, &beta, c,
+ &ldc );
+}
+
+inline void symm( const char side, const char uplo, const integer_t m,
+ const integer_t n, const double alpha, const double* a,
+ const integer_t lda, const double* b, const integer_t ldb,
+ const double beta, double* c, const integer_t ldc ) {
+ BLAS_DSYMM( &side, &uplo, &m, &n, &alpha, a, &lda, b, &ldb, &beta, c,
+ &ldc );
+}
+
+inline void symm( const char side, const char uplo, const integer_t m,
+ const integer_t n, const traits::complex_f alpha,
+ const traits::complex_f* a, const integer_t lda,
+ const traits::complex_f* b, const integer_t ldb,
+ const traits::complex_f beta, traits::complex_f* c,
+ const integer_t ldc ) {
+ BLAS_CSYMM( &side, &uplo, &m, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
+ traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
 }
 
+inline void symm( const char side, const char uplo, const integer_t m,
+ const integer_t n, const traits::complex_d alpha,
+ const traits::complex_d* a, const integer_t lda,
+ const traits::complex_d* b, const integer_t ldb,
+ const traits::complex_d beta, traits::complex_d* c,
+ const integer_t ldc ) {
+ BLAS_ZSYMM( &side, &uplo, &m, &n, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
+ traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct symm_impl {
@@ -93,7 +97,7 @@
     }
 };
 
-// low-level template function for direct calls to level3::symm
+// generic template function for calling to symm
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename symm_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -105,6 +109,9 @@
     symm_impl< value_type >::invoke( side, alpha, a, b, beta, c );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level3
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,46 +25,50 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void syr2k( const char uplo, const char trans, const integer_t n,
- const integer_t k, const float alpha, const float* a,
- const integer_t lda, const float* b, const integer_t ldb,
- const float beta, float* c, const integer_t ldc ) {
- BLAS_SSYR2K( &uplo, &trans, &n, &k, &alpha, a, &lda, b, &ldb, &beta,
- c, &ldc );
- }
- inline void syr2k( const char uplo, const char trans, const integer_t n,
- const integer_t k, const double alpha, const double* a,
- const integer_t lda, const double* b, const integer_t ldb,
- const double beta, double* c, const integer_t ldc ) {
- BLAS_DSYR2K( &uplo, &trans, &n, &k, &alpha, a, &lda, b, &ldb, &beta,
- c, &ldc );
- }
- inline void syr2k( const char uplo, const char trans, const integer_t n,
- const integer_t k, const traits::complex_f alpha,
- const traits::complex_f* a, const integer_t lda,
- const traits::complex_f* b, const integer_t ldb,
- const traits::complex_f beta, traits::complex_f* c,
- const integer_t ldc ) {
- BLAS_CSYR2K( &uplo, &trans, &n, &k, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
- traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
- }
- inline void syr2k( const char uplo, const char trans, const integer_t n,
- const integer_t k, const traits::complex_d alpha,
- const traits::complex_d* a, const integer_t lda,
- const traits::complex_d* b, const integer_t ldb,
- const traits::complex_d beta, traits::complex_d* c,
- const integer_t ldc ) {
- BLAS_ZSYR2K( &uplo, &trans, &n, &k, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
- traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
- }
+
+inline void syr2k( const char uplo, const char trans, const integer_t n,
+ const integer_t k, const float alpha, const float* a,
+ const integer_t lda, const float* b, const integer_t ldb,
+ const float beta, float* c, const integer_t ldc ) {
+ BLAS_SSYR2K( &uplo, &trans, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c,
+ &ldc );
+}
+
+inline void syr2k( const char uplo, const char trans, const integer_t n,
+ const integer_t k, const double alpha, const double* a,
+ const integer_t lda, const double* b, const integer_t ldb,
+ const double beta, double* c, const integer_t ldc ) {
+ BLAS_DSYR2K( &uplo, &trans, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c,
+ &ldc );
+}
+
+inline void syr2k( const char uplo, const char trans, const integer_t n,
+ const integer_t k, const traits::complex_f alpha,
+ const traits::complex_f* a, const integer_t lda,
+ const traits::complex_f* b, const integer_t ldb,
+ const traits::complex_f beta, traits::complex_f* c,
+ const integer_t ldc ) {
+ BLAS_CSYR2K( &uplo, &trans, &n, &k, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
+ traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
 }
 
+inline void syr2k( const char uplo, const char trans, const integer_t n,
+ const integer_t k, const traits::complex_d alpha,
+ const traits::complex_d* a, const integer_t lda,
+ const traits::complex_d* b, const integer_t ldb,
+ const traits::complex_d beta, traits::complex_d* c,
+ const integer_t ldc ) {
+ BLAS_ZSYR2K( &uplo, &trans, &n, &k, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(b), &ldb,
+ traits::complex_ptr(&beta), traits::complex_ptr(c), &ldc );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct syr2k_impl {
@@ -86,15 +90,15 @@
                 MatrixC >::value_type >::value) );
         detail::syr2k( traits::matrix_uplo_tag(c), trans,
                 traits::matrix_num_columns(c),
- (trans=='N'?traits::matrix_num_columns(a),
- traits::matrix_num_rows(a)), alpha, traits::matrix_storage(a),
+ (trans=='N' ? traits::matrix_num_columns(a) : traits::matrix_num_rows(a)),
+ alpha, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), beta, traits::matrix_storage(c),
                 traits::leading_dimension(c) );
     }
 };
 
-// low-level template function for direct calls to level3::syr2k
+// generic template function for calling to syr2k
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename syr2k_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -106,6 +110,9 @@
     syr2k_impl< value_type >::invoke( trans, alpha, a, b, beta, c );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level3
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,42 +25,46 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void syrk( const char uplo, const char trans, const integer_t n,
- const integer_t k, const float alpha, const float* a,
- const integer_t lda, const float beta, float* c,
- const integer_t ldc ) {
- BLAS_SSYRK( &uplo, &trans, &n, &k, &alpha, a, &lda, &beta, c, &ldc );
- }
- inline void syrk( const char uplo, const char trans, const integer_t n,
- const integer_t k, const double alpha, const double* a,
- const integer_t lda, const double beta, double* c,
- const integer_t ldc ) {
- BLAS_DSYRK( &uplo, &trans, &n, &k, &alpha, a, &lda, &beta, c, &ldc );
- }
- inline void syrk( const char uplo, const char trans, const integer_t n,
- const integer_t k, const traits::complex_f alpha,
- const traits::complex_f* a, const integer_t lda,
- const traits::complex_f beta, traits::complex_f* c,
- const integer_t ldc ) {
- BLAS_CSYRK( &uplo, &trans, &n, &k, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(&beta),
- traits::complex_ptr(c), &ldc );
- }
- inline void syrk( const char uplo, const char trans, const integer_t n,
- const integer_t k, const traits::complex_d alpha,
- const traits::complex_d* a, const integer_t lda,
- const traits::complex_d beta, traits::complex_d* c,
- const integer_t ldc ) {
- BLAS_ZSYRK( &uplo, &trans, &n, &k, traits::complex_ptr(&alpha),
- traits::complex_ptr(a), &lda, traits::complex_ptr(&beta),
- traits::complex_ptr(c), &ldc );
- }
+
+inline void syrk( const char uplo, const char trans, const integer_t n,
+ const integer_t k, const float alpha, const float* a,
+ const integer_t lda, const float beta, float* c,
+ const integer_t ldc ) {
+ BLAS_SSYRK( &uplo, &trans, &n, &k, &alpha, a, &lda, &beta, c, &ldc );
+}
+
+inline void syrk( const char uplo, const char trans, const integer_t n,
+ const integer_t k, const double alpha, const double* a,
+ const integer_t lda, const double beta, double* c,
+ const integer_t ldc ) {
+ BLAS_DSYRK( &uplo, &trans, &n, &k, &alpha, a, &lda, &beta, c, &ldc );
+}
+
+inline void syrk( const char uplo, const char trans, const integer_t n,
+ const integer_t k, const traits::complex_f alpha,
+ const traits::complex_f* a, const integer_t lda,
+ const traits::complex_f beta, traits::complex_f* c,
+ const integer_t ldc ) {
+ BLAS_CSYRK( &uplo, &trans, &n, &k, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(&beta),
+ traits::complex_ptr(c), &ldc );
 }
 
+inline void syrk( const char uplo, const char trans, const integer_t n,
+ const integer_t k, const traits::complex_d alpha,
+ const traits::complex_d* a, const integer_t lda,
+ const traits::complex_d beta, traits::complex_d* c,
+ const integer_t ldc ) {
+ BLAS_ZSYRK( &uplo, &trans, &n, &k, traits::complex_ptr(&alpha),
+ traits::complex_ptr(a), &lda, traits::complex_ptr(&beta),
+ traits::complex_ptr(c), &ldc );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct syrk_impl {
@@ -78,14 +82,14 @@
                 MatrixC >::value_type >::value) );
         detail::syrk( traits::matrix_uplo_tag(c), trans,
                 traits::matrix_num_columns(c),
- (trans=='N'?traits::matrix_num_columns(a),
- traits::matrix_num_rows(a)), alpha, traits::matrix_storage(a),
+ (trans=='N' ? traits::matrix_num_columns(a) : traits::matrix_num_rows(a)),
+ alpha, traits::matrix_storage(a),
                 traits::leading_dimension(a), beta, traits::matrix_storage(c),
                 traits::leading_dimension(c) );
     }
 };
 
-// low-level template function for direct calls to level3::syrk
+// generic template function for calling to syrk
 template< typename MatrixA, typename MatrixC >
 inline typename syrk_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -97,6 +101,9 @@
     syrk_impl< value_type >::invoke( trans, alpha, a, beta, c );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level3
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,42 +25,46 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void trmm( const char side, const char uplo, const char transa,
- const char diag, const integer_t m, const integer_t n,
- const float alpha, const float* a, const integer_t lda, float* b,
- const integer_t ldb ) {
- BLAS_STRMM( &side, &uplo, &transa, &diag, &m, &n, &alpha, a, &lda, b,
- &ldb );
- }
- inline void trmm( const char side, const char uplo, const char transa,
- const char diag, const integer_t m, const integer_t n,
- const double alpha, const double* a, const integer_t lda,
- double* b, const integer_t ldb ) {
- BLAS_DTRMM( &side, &uplo, &transa, &diag, &m, &n, &alpha, a, &lda, b,
- &ldb );
- }
- inline void trmm( const char side, const char uplo, const char transa,
- const char diag, const integer_t m, const integer_t n,
- const traits::complex_f alpha, const traits::complex_f* a,
- const integer_t lda, traits::complex_f* b, const integer_t ldb ) {
- BLAS_CTRMM( &side, &uplo, &transa, &diag, &m, &n,
- traits::complex_ptr(&alpha), traits::complex_ptr(a), &lda,
- traits::complex_ptr(b), &ldb );
- }
- inline void trmm( const char side, const char uplo, const char transa,
- const char diag, const integer_t m, const integer_t n,
- const traits::complex_d alpha, const traits::complex_d* a,
- const integer_t lda, traits::complex_d* b, const integer_t ldb ) {
- BLAS_ZTRMM( &side, &uplo, &transa, &diag, &m, &n,
- traits::complex_ptr(&alpha), traits::complex_ptr(a), &lda,
- traits::complex_ptr(b), &ldb );
- }
+
+inline void trmm( const char side, const char uplo, const char transa,
+ const char diag, const integer_t m, const integer_t n,
+ const float alpha, const float* a, const integer_t lda, float* b,
+ const integer_t ldb ) {
+ BLAS_STRMM( &side, &uplo, &transa, &diag, &m, &n, &alpha, a, &lda, b,
+ &ldb );
+}
+
+inline void trmm( const char side, const char uplo, const char transa,
+ const char diag, const integer_t m, const integer_t n,
+ const double alpha, const double* a, const integer_t lda, double* b,
+ const integer_t ldb ) {
+ BLAS_DTRMM( &side, &uplo, &transa, &diag, &m, &n, &alpha, a, &lda, b,
+ &ldb );
+}
+
+inline void trmm( const char side, const char uplo, const char transa,
+ const char diag, const integer_t m, const integer_t n,
+ const traits::complex_f alpha, const traits::complex_f* a,
+ const integer_t lda, traits::complex_f* b, const integer_t ldb ) {
+ BLAS_CTRMM( &side, &uplo, &transa, &diag, &m, &n,
+ traits::complex_ptr(&alpha), traits::complex_ptr(a), &lda,
+ traits::complex_ptr(b), &ldb );
 }
 
+inline void trmm( const char side, const char uplo, const char transa,
+ const char diag, const integer_t m, const integer_t n,
+ const traits::complex_d alpha, const traits::complex_d* a,
+ const integer_t lda, traits::complex_d* b, const integer_t ldb ) {
+ BLAS_ZTRMM( &side, &uplo, &transa, &diag, &m, &n,
+ traits::complex_ptr(&alpha), traits::complex_ptr(a), &lda,
+ traits::complex_ptr(b), &ldb );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct trmm_impl {
@@ -85,7 +89,7 @@
     }
 };
 
-// low-level template function for direct calls to level3::trmm
+// generic template function for calling to trmm
 template< typename MatrixA, typename MatrixB >
 inline typename trmm_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -96,6 +100,9 @@
     trmm_impl< value_type >::invoke( side, transa, diag, alpha, a, b );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level3
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

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 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
@@ -25,42 +25,46 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void trsm( const char side, const char uplo, const char transa,
- const char diag, const integer_t m, const integer_t n,
- const float alpha, const float* a, const integer_t lda, float* b,
- const integer_t ldb ) {
- BLAS_STRSM( &side, &uplo, &transa, &diag, &m, &n, &alpha, a, &lda, b,
- &ldb );
- }
- inline void trsm( const char side, const char uplo, const char transa,
- const char diag, const integer_t m, const integer_t n,
- const double alpha, const double* a, const integer_t lda,
- double* b, const integer_t ldb ) {
- BLAS_DTRSM( &side, &uplo, &transa, &diag, &m, &n, &alpha, a, &lda, b,
- &ldb );
- }
- inline void trsm( const char side, const char uplo, const char transa,
- const char diag, const integer_t m, const integer_t n,
- const traits::complex_f alpha, const traits::complex_f* a,
- const integer_t lda, traits::complex_f* b, const integer_t ldb ) {
- BLAS_CTRSM( &side, &uplo, &transa, &diag, &m, &n,
- traits::complex_ptr(&alpha), traits::complex_ptr(a), &lda,
- traits::complex_ptr(b), &ldb );
- }
- inline void trsm( const char side, const char uplo, const char transa,
- const char diag, const integer_t m, const integer_t n,
- const traits::complex_d alpha, const traits::complex_d* a,
- const integer_t lda, traits::complex_d* b, const integer_t ldb ) {
- BLAS_ZTRSM( &side, &uplo, &transa, &diag, &m, &n,
- traits::complex_ptr(&alpha), traits::complex_ptr(a), &lda,
- traits::complex_ptr(b), &ldb );
- }
+
+inline void trsm( const char side, const char uplo, const char transa,
+ const char diag, const integer_t m, const integer_t n,
+ const float alpha, const float* a, const integer_t lda, float* b,
+ const integer_t ldb ) {
+ BLAS_STRSM( &side, &uplo, &transa, &diag, &m, &n, &alpha, a, &lda, b,
+ &ldb );
+}
+
+inline void trsm( const char side, const char uplo, const char transa,
+ const char diag, const integer_t m, const integer_t n,
+ const double alpha, const double* a, const integer_t lda, double* b,
+ const integer_t ldb ) {
+ BLAS_DTRSM( &side, &uplo, &transa, &diag, &m, &n, &alpha, a, &lda, b,
+ &ldb );
+}
+
+inline void trsm( const char side, const char uplo, const char transa,
+ const char diag, const integer_t m, const integer_t n,
+ const traits::complex_f alpha, const traits::complex_f* a,
+ const integer_t lda, traits::complex_f* b, const integer_t ldb ) {
+ BLAS_CTRSM( &side, &uplo, &transa, &diag, &m, &n,
+ traits::complex_ptr(&alpha), traits::complex_ptr(a), &lda,
+ traits::complex_ptr(b), &ldb );
 }
 
+inline void trsm( const char side, const char uplo, const char transa,
+ const char diag, const integer_t m, const integer_t n,
+ const traits::complex_d alpha, const traits::complex_d* a,
+ const integer_t lda, traits::complex_d* b, const integer_t ldb ) {
+ BLAS_ZTRSM( &side, &uplo, &transa, &diag, &m, &n,
+ traits::complex_ptr(&alpha), traits::complex_ptr(a), &lda,
+ traits::complex_ptr(b), &ldb );
+}
+
+} // namespace detail
+
 // value-type based template
 template< typename ValueType >
 struct trsm_impl {
@@ -85,7 +89,7 @@
     }
 };
 
-// low-level template function for direct calls to level3::trsm
+// generic template function for calling to trsm
 template< typename MatrixA, typename MatrixB >
 inline typename trsm_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -96,6 +100,9 @@
     trsm_impl< value_type >::invoke( side, transa, diag, alpha, a, b );
 }
 
-}}}}} // namespace boost::numeric::bindings::blas::level3
+} // namespace blas
+} // namespace bindings
+} // namespace numeric
+} // namespace boost
 
 #endif

Deleted: sandbox/numeric_bindings/boost/numeric/bindings/blas/norm_1.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/norm_1.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
+++ (empty file)
@@ -1,29 +0,0 @@
-//
-// Copyright (c) 2009 Rutger ter Borg
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_NORM_1_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_NORM_1_HPP
-
-#include <boost/numeric/bindings/blas/level1/asum.hpp>
-
-namespace boost {
-namespace numeric {
-namespace bindings {
-namespace blas {
-
-template< typename VectorX >
-inline typename level1::asum_impl<
- typename traits::vector_traits< VectorX >::value_type >::return_type
-norm_1( VectorX& x ) {
- typedef typename traits::vector_traits< VectorX >::value_type value_type;
- return level1::asum_impl< value_type >::invoke( x );
-}
-
-}}}} // namespace boost::numeric::bindings::blas
-
-#endif

Deleted: sandbox/numeric_bindings/boost/numeric/bindings/blas/norm_2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/norm_2.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
+++ (empty file)
@@ -1,29 +0,0 @@
-//
-// Copyright (c) 2009 Rutger ter Borg
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_NORM_2_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_NORM_2_HPP
-
-#include <boost/numeric/bindings/blas/level1/nrm2.hpp>
-
-namespace boost {
-namespace numeric {
-namespace bindings {
-namespace blas {
-
-template< typename VectorX >
-inline typename level1::nrm2_impl<
- typename traits::vector_traits< VectorX >::value_type >::return_type
-norm_2( VectorX& x ) {
- typedef typename traits::vector_traits< VectorX >::value_type value_type;
- return level1::nrm2_impl< value_type >::compute( x );
-}
-
-}}}} // namespace boost::numeric::bindings::blas
-
-#endif

Deleted: sandbox/numeric_bindings/boost/numeric/bindings/blas/scale.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/scale.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
+++ (empty file)
@@ -1,30 +0,0 @@
-//
-// Copyright (c) 2009 Rutger ter Borg
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SCALE_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SCALE_HPP
-
-#include <boost/numeric/bindings/blas/level1/scal.hpp>
-
-namespace boost {
-namespace numeric {
-namespace bindings {
-namespace blas {
-
-template< typename VectorX >
-inline typename level1::scal_impl<
- typename traits::vector_traits< VectorX >::value_type >::return_type
-scale( typename traits::vector_traits< VectorX >::value_type const a,
- VectorX& x ) {
- typedef typename traits::vector_traits< VectorX >::value_type value_type;
- level1::scal_impl< value_type >::invoke( a, x );
-}
-
-}}}} // namespace boost::numeric::bindings::blas
-
-#endif

Deleted: sandbox/numeric_bindings/boost/numeric/bindings/blas/solve.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/solve.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
+++ (empty file)
@@ -1,52 +0,0 @@
-//
-// Copyright (c) 2009 Rutger ter Borg
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SOLVE_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SOLVE_HPP
-
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/map.hpp>
-#include <boost/numeric/bindings/blas/level2/trsv.hpp>
-#include <boost/numeric/bindings/blas/level2/tbsv.hpp>
-#include <boost/numeric/bindings/blas/level2/tpsv.hpp>
-
-#include <boost/numeric/bindings/blas/level3/trsm.hpp>
-
-namespace mpl = ::boost::mpl;
-
-namespace boost {
-namespace numeric {
-namespace bindings {
-namespace blas {
-
-namespace detail {
-
-template< typename Matrix >
-struct solve_dispatcher {
- typedef typename traits::vector_traits< Vector >::value_type value_type;
-
- typedef typename mpl::map<
- mpl::pair< traits::general_t, level2::trsv_impl< value_type > >,
- mpl::pair< traits::banded_t, level2::tbsv_impl< value_type > >,
- mpl::pair< traits::packed_t, level2::tpsv_impl< value_type > > > map;
-
- typedef typename mpl::at< map, value_type >::type routine;
-};
-
-} // namespace detail
-
-
-
-
-
-
-
-}}}} // namespace boost::numeric::bindings::blas
-
-#endif
-

Deleted: sandbox/numeric_bindings/boost/numeric/bindings/blas/swap.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/swap.hpp 2009-09-18 02:48:39 EDT (Fri, 18 Sep 2009)
+++ (empty file)
@@ -1,23 +0,0 @@
-//
-// Copyright (c) 2009 Rutger ter Borg
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SWAP_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SWAP_HPP
-
-#include <boost/numeric/bindings/blas/level1/swap.hpp>
-
-namespace boost {
-namespace numeric {
-namespace bindings {
-namespace blas {
-
-using level1::swap;
-
-}}}} // namespace boost::numeric::bindings::blas
-
-#endif


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