Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r51716 - in sandbox/numeric_bindings/boost/numeric/bindings: . blas blas/detail blas/level1 blas/level2 blas/level3
From: rutger_at_[hidden]
Date: 2009-03-11 16:38:46


Author: rutger
Date: 2009-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
New Revision: 51716
URL: http://svn.boost.org/trac/boost/changeset/51716

Log:
Reorganized blas namespaces and placing a bit to make place for high-level
functions

Added:
   sandbox/numeric_bindings/boost/numeric/bindings/blas.hpp (contents, props changed)
   sandbox/numeric_bindings/boost/numeric/bindings/blas/detail/
   sandbox/numeric_bindings/boost/numeric/bindings/blas/detail/blas.h (contents, props changed)
   sandbox/numeric_bindings/boost/numeric/bindings/blas/detail/blas_names.h (contents, props changed)
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1.hpp (contents, props changed)
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2.hpp (contents, props changed)
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3.hpp (contents, props changed)
Removed:
   sandbox/numeric_bindings/boost/numeric/bindings/blas/blas.h
   sandbox/numeric_bindings/boost/numeric/bindings/blas/blas_names.h
Text files modified:
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/asum.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/axpy.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/copy.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dot.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotc.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/dotu.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/drot.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/nrm2.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rot.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotg.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotm.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/rotmg.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/scal.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/sdot.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/srot.hpp | 50 ++++++++++++++++++++--------------------
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level1/swap.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp | 13 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp | 13 ++++-----
   50 files changed, 319 insertions(+), 368 deletions(-)

Added: sandbox/numeric_bindings/boost/numeric/bindings/blas.hpp
==============================================================================
--- (empty file)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas.hpp 2009-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -0,0 +1,17 @@
+//
+// 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_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_HPP
+
+#include <boost/numeric/bindings/blas/level1.hpp>
+#include <boost/numeric/bindings/blas/level2.hpp>
+#include <boost/numeric/bindings/blas/level3.hpp>
+
+#endif
+

Deleted: sandbox/numeric_bindings/boost/numeric/bindings/blas/blas.h
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/blas.h 2009-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
+++ (empty file)
@@ -1,555 +0,0 @@
-//
-// Copyright (c) 2003--2009
-// Toon Knapen, Karl Meerbergen, Kresimir Fresl,
-// Thomas Klimpel and 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)
-//
-// THIS FILE IS AUTOMATICALLY GENERATED
-// PLEASE DO NOT EDIT!
-//
-
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_BLAS_H
-#define BOOST_NUMERIC_BINDINGS_BLAS_BLAS_H
-
-#include <boost/numeric/bindings/traits/type.h>
-#include <boost/numeric/bindings/blas/blas_names.h>
-
-extern "C" {
-
-//
-// BLAS level1 routines
-//
-
-// Value-type variants of asum
-float BLAS_SASUM( integer_t const* n, float const* x, integer_t const* incx );
-double BLAS_DASUM( integer_t const* n, double const* x,
- integer_t const* incx );
-
-// Value-type variants of axpy
-void BLAS_SAXPY( integer_t const* n, float const* a, float const* x,
- integer_t const* incx, float* y, integer_t const* incy );
-void BLAS_DAXPY( integer_t const* n, double const* a, double const* x,
- integer_t const* incx, double* y, integer_t const* incy );
-void BLAS_CAXPY( integer_t const* n, fcomplex_t const* a, fcomplex_t const* x,
- integer_t const* incx, fcomplex_t* y, integer_t const* incy );
-void BLAS_ZAXPY( integer_t const* n, dcomplex_t const* a, dcomplex_t const* x,
- integer_t const* incx, dcomplex_t* y, integer_t const* incy );
-
-// Value-type variants of copy
-void BLAS_SCOPY( integer_t const* n, float const* x, integer_t const* incx,
- float const* y, integer_t const* incy );
-void BLAS_DCOPY( integer_t const* n, double const* x, integer_t const* incx,
- double const* y, integer_t const* incy );
-void BLAS_CCOPY( integer_t const* n, fcomplex_t const* x,
- integer_t const* incx, fcomplex_t const* y, integer_t const* incy );
-void BLAS_ZCOPY( integer_t const* n, dcomplex_t const* x,
- integer_t const* incx, dcomplex_t const* y, integer_t const* incy );
-
-// Value-type variants of dot
-float BLAS_SDOT( integer_t const* n, float const* x, integer_t const* incx,
- float const* y, integer_t const* incy );
-double BLAS_DDOT( integer_t const* n, double const* x, integer_t const* incx,
- double const* y, integer_t const* incy );
-
-// Value-type variants of dotc
-fcomplex_t BLAS_CDOTC( integer_t const* n, fcomplex_t const* x,
- integer_t const* incx, fcomplex_t const* y, integer_t const* incy );
-dcomplex_t BLAS_ZDOTC( integer_t const* n, dcomplex_t const* x,
- integer_t const* incx, dcomplex_t const* y, integer_t const* incy );
-
-// Value-type variants of dotu
-fcomplex_t BLAS_CDOTU( integer_t const* n, fcomplex_t const* x,
- integer_t const* incx, fcomplex_t const* y, integer_t const* incy );
-dcomplex_t BLAS_ZDOTU( integer_t const* n, dcomplex_t const* x,
- integer_t const* incx, dcomplex_t const* y, integer_t const* incy );
-
-// Value-type variants of drot
-void BLAS_ZDROT( integer_t const* n, dcomplex_t const* cx,
- integer_t const* incx, dcomplex_t const* cy, integer_t const* incy,
- double const* c, double const* s );
-
-// Value-type variants of nrm2
-float BLAS_SNRM2( integer_t const* n, float const* x, integer_t const* incx );
-double BLAS_DNRM2( integer_t const* n, double const* x,
- integer_t const* incx );
-
-// Value-type variants of rot
-void BLAS_SROT( integer_t const* n, float const* x, integer_t const* incx,
- float* y, integer_t const* incy, float const* c, float const* s );
-void BLAS_DROT( integer_t const* n, double const* x, integer_t const* incx,
- double* y, integer_t const* incy, double const* c, double const* s );
-
-// Value-type variants of rotg
-void BLAS_SROTG( float* a, float* b, float* c, float* s );
-void BLAS_DROTG( double* a, double* b, double* c, double* s );
-void BLAS_CROTG( fcomplex_t* a, fcomplex_t* b, float* c, fcomplex_t* s );
-void BLAS_ZROTG( dcomplex_t* a, dcomplex_t* b, double* c, dcomplex_t* s );
-
-// Value-type variants of rotm
-void BLAS_SROTM( integer_t const* n, float* x, integer_t const* incx,
- float* y, integer_t const* incy, float* param );
-void BLAS_DROTM( integer_t const* n, double* x, integer_t const* incx,
- double* y, integer_t const* incy, double* param );
-
-// Value-type variants of rotmg
-void BLAS_SROTMG( float* d1, float* d2, float* x1, float const* y1,
- float* sparam );
-void BLAS_DROTMG( double* d1, double* d2, double* x1, double const* y1,
- double* dparam );
-
-// Value-type variants of scal
-void BLAS_SSCAL( integer_t const* n, float const* a, float const* x,
- integer_t const* incx );
-void BLAS_DSCAL( integer_t const* n, double const* a, double const* x,
- integer_t const* incx );
-void BLAS_CSCAL( integer_t const* n, fcomplex_t const* a, fcomplex_t const* x,
- integer_t const* incx );
-void BLAS_ZSCAL( integer_t const* n, dcomplex_t const* a, dcomplex_t const* x,
- integer_t const* incx );
-
-// Value-type variants of sdot
-double BLAS_DSDOT( integer_t const* n, float const* sx, integer_t const* incx,
- float const* sy, integer_t const* incy );
-
-// Value-type variants of srot
-void BLAS_CSROT( integer_t const* n, fcomplex_t const* cx,
- integer_t const* incx, fcomplex_t const* cy, integer_t const* incy,
- float const* c, float const* s );
-
-// Value-type variants of swap
-void BLAS_SSWAP( integer_t const* n, float* x, integer_t const* incx,
- float* y, integer_t const* incy );
-void BLAS_DSWAP( integer_t const* n, double* x, integer_t const* incx,
- double* y, integer_t const* incy );
-void BLAS_CSWAP( integer_t const* n, fcomplex_t* x, integer_t const* incx,
- fcomplex_t* y, integer_t const* incy );
-void BLAS_ZSWAP( integer_t const* n, dcomplex_t* x, integer_t const* incx,
- dcomplex_t* y, integer_t const* incy );
-
-//
-// BLAS level2 routines
-//
-
-// Value-type variants of gbmv
-void BLAS_SGBMV( char const* trans, integer_t const* m, integer_t const* n,
- integer_t const* kl, integer_t const* ku, float const* alpha,
- float const* a, integer_t const* lda, float const* x,
- integer_t const* incx, float const* beta, float* y,
- integer_t const* incy );
-void BLAS_DGBMV( char const* trans, integer_t const* m, integer_t const* n,
- integer_t const* kl, integer_t const* ku, double const* alpha,
- double const* a, integer_t const* lda, double const* x,
- integer_t const* incx, double const* beta, double* y,
- integer_t const* incy );
-void BLAS_CGBMV( char const* trans, integer_t const* m, integer_t const* n,
- integer_t const* kl, integer_t const* ku, fcomplex_t const* alpha,
- fcomplex_t const* a, integer_t const* lda, fcomplex_t const* x,
- integer_t const* incx, fcomplex_t const* beta, fcomplex_t* y,
- integer_t const* incy );
-void BLAS_ZGBMV( char const* trans, integer_t const* m, integer_t const* n,
- integer_t const* kl, integer_t const* ku, dcomplex_t const* alpha,
- dcomplex_t const* a, integer_t const* lda, dcomplex_t const* x,
- integer_t const* incx, dcomplex_t const* beta, dcomplex_t* y,
- integer_t const* incy );
-
-// Value-type variants of gemv
-void BLAS_SGEMV( char const* trans, integer_t const* m, integer_t const* n,
- float const* alpha, float const* a, integer_t const* lda,
- float const* x, integer_t const* incx, float const* beta, float* y,
- integer_t const* incy );
-void BLAS_DGEMV( char const* trans, integer_t const* m, integer_t const* n,
- double const* alpha, double const* a, integer_t const* lda,
- double const* x, integer_t const* incx, double const* beta, double* y,
- integer_t const* incy );
-void BLAS_CGEMV( char const* trans, integer_t const* m, integer_t const* n,
- fcomplex_t const* alpha, fcomplex_t const* a, integer_t const* lda,
- fcomplex_t const* x, integer_t const* incx, fcomplex_t const* beta,
- fcomplex_t* y, integer_t const* incy );
-void BLAS_ZGEMV( char const* trans, integer_t const* m, integer_t const* n,
- dcomplex_t const* alpha, dcomplex_t const* a, integer_t const* lda,
- dcomplex_t const* x, integer_t const* incx, dcomplex_t const* beta,
- dcomplex_t* y, integer_t const* incy );
-
-// Value-type variants of ger
-void BLAS_SGER( integer_t const* m, integer_t const* n, float const* alpha,
- float const* x, integer_t const* incx, float const* y,
- integer_t const* incy, float* a, integer_t const* lda );
-void BLAS_DGER( integer_t const* m, integer_t const* n, double const* alpha,
- double const* x, integer_t const* incx, double const* y,
- integer_t const* incy, double* a, integer_t const* lda );
-
-// Value-type variants of gerc
-void BLAS_CGERC( integer_t const* m, integer_t const* n,
- fcomplex_t const* alpha, fcomplex_t const* x, integer_t const* incx,
- fcomplex_t const* y, integer_t const* incy, fcomplex_t* a,
- integer_t const* lda );
-void BLAS_ZGERC( integer_t const* m, integer_t const* n,
- dcomplex_t const* alpha, dcomplex_t const* x, integer_t const* incx,
- dcomplex_t const* y, integer_t const* incy, dcomplex_t* a,
- integer_t const* lda );
-
-// Value-type variants of geru
-void BLAS_CGERU( integer_t const* m, integer_t const* n,
- fcomplex_t const* alpha, fcomplex_t const* x, integer_t const* incx,
- fcomplex_t const* y, integer_t const* incy, fcomplex_t* a,
- integer_t const* lda );
-void BLAS_ZGERU( integer_t const* m, integer_t const* n,
- dcomplex_t const* alpha, dcomplex_t const* x, integer_t const* incx,
- dcomplex_t const* y, integer_t const* incy, dcomplex_t* a,
- integer_t const* lda );
-
-// Value-type variants of hbmv
-void BLAS_CHBMV( char const* uplo, integer_t const* n, integer_t const* k,
- fcomplex_t const* alpha, fcomplex_t const* a, integer_t const* lda,
- fcomplex_t const* x, integer_t const* incx, fcomplex_t const* beta,
- fcomplex_t* y, integer_t const* incy );
-void BLAS_ZHBMV( char const* uplo, integer_t const* n, integer_t const* k,
- dcomplex_t const* alpha, dcomplex_t const* a, integer_t const* lda,
- dcomplex_t const* x, integer_t const* incx, dcomplex_t const* beta,
- dcomplex_t* y, integer_t const* incy );
-
-// Value-type variants of hemv
-void BLAS_CHEMV( char const* uplo, integer_t const* n,
- fcomplex_t const* alpha, fcomplex_t const* a, integer_t const* lda,
- fcomplex_t const* x, integer_t const* incx, fcomplex_t const* beta,
- fcomplex_t* y, integer_t const* incy );
-void BLAS_ZHEMV( char const* uplo, integer_t const* n,
- dcomplex_t const* alpha, dcomplex_t const* a, integer_t const* lda,
- dcomplex_t const* x, integer_t const* incx, dcomplex_t const* beta,
- dcomplex_t* y, integer_t const* incy );
-
-// Value-type variants of her
-void BLAS_CHER( char const* uplo, integer_t const* n, float const* alpha,
- fcomplex_t const* x, integer_t const* incx, fcomplex_t* a,
- integer_t const* lda );
-void BLAS_ZHER( char const* uplo, integer_t const* n, double const* alpha,
- dcomplex_t const* x, integer_t const* incx, dcomplex_t* a,
- integer_t const* lda );
-
-// Value-type variants of her2
-void BLAS_CHER2( char const* uplo, integer_t const* n,
- fcomplex_t const* alpha, fcomplex_t const* x, integer_t const* incx,
- fcomplex_t const* y, integer_t const* incy, fcomplex_t* a,
- integer_t const* lda );
-void BLAS_ZHER2( char const* uplo, integer_t const* n,
- dcomplex_t const* alpha, dcomplex_t const* x, integer_t const* incx,
- dcomplex_t const* y, integer_t const* incy, dcomplex_t* a,
- integer_t const* lda );
-
-// Value-type variants of hpmv
-void BLAS_CHPMV( char const* uplo, integer_t const* n,
- fcomplex_t const* alpha, fcomplex_t const* ap, fcomplex_t const* x,
- integer_t const* incx, fcomplex_t const* beta, fcomplex_t* y,
- integer_t const* incy );
-void BLAS_ZHPMV( char const* uplo, integer_t const* n,
- dcomplex_t const* alpha, dcomplex_t const* ap, dcomplex_t const* x,
- integer_t const* incx, dcomplex_t const* beta, dcomplex_t* y,
- integer_t const* incy );
-
-// Value-type variants of hpr
-void BLAS_CHPR( char const* uplo, integer_t const* n, float const* alpha,
- fcomplex_t const* x, integer_t const* incx, fcomplex_t* ap );
-void BLAS_ZHPR( char const* uplo, integer_t const* n, double const* alpha,
- dcomplex_t const* x, integer_t const* incx, dcomplex_t* ap );
-
-// Value-type variants of hpr2
-void BLAS_CHPR2( char const* uplo, integer_t const* n,
- fcomplex_t const* alpha, fcomplex_t const* x, integer_t const* incx,
- fcomplex_t const* y, integer_t const* incy, fcomplex_t* ap );
-void BLAS_ZHPR2( char const* uplo, integer_t const* n,
- dcomplex_t const* alpha, dcomplex_t const* x, integer_t const* incx,
- dcomplex_t const* y, integer_t const* incy, dcomplex_t* ap );
-
-// Value-type variants of sbmv
-void BLAS_SSBMV( char const* uplo, integer_t const* n, integer_t const* k,
- float const* alpha, float const* a, integer_t const* lda,
- float const* x, integer_t const* incx, float const* beta, float* y,
- integer_t const* incy );
-void BLAS_DSBMV( char const* uplo, integer_t const* n, integer_t const* k,
- double const* alpha, double const* a, integer_t const* lda,
- double const* x, integer_t const* incx, double const* beta, double* y,
- integer_t const* incy );
-
-// Value-type variants of spmv
-void BLAS_SSPMV( char const* uplo, integer_t const* n, float const* alpha,
- float const* ap, float const* x, integer_t const* incx,
- float const* beta, float* y, integer_t const* incy );
-void BLAS_DSPMV( char const* uplo, integer_t const* n, double const* alpha,
- double const* ap, double const* x, integer_t const* incx,
- double const* beta, double* y, integer_t const* incy );
-
-// Value-type variants of spr
-void BLAS_SSPR( char const* uplo, integer_t const* n, float const* alpha,
- float const* x, integer_t const* incx, float* ap );
-void BLAS_DSPR( char const* uplo, integer_t const* n, double const* alpha,
- double const* x, integer_t const* incx, double* ap );
-
-// Value-type variants of spr2
-void BLAS_SSPR2( char const* uplo, integer_t const* n, float const* alpha,
- float const* x, integer_t const* incx, float const* y,
- integer_t const* incy, float* ap );
-void BLAS_DSPR2( char const* uplo, integer_t const* n, double const* alpha,
- double const* x, integer_t const* incx, double const* y,
- integer_t const* incy, double* ap );
-
-// Value-type variants of symv
-void BLAS_SSYMV( char const* uplo, integer_t const* n, float const* alpha,
- float const* a, integer_t const* lda, float const* x,
- integer_t const* incx, float const* beta, float* y,
- integer_t const* incy );
-void BLAS_DSYMV( char const* uplo, integer_t const* n, double const* alpha,
- double const* a, integer_t const* lda, double const* x,
- integer_t const* incx, double const* beta, double* y,
- integer_t const* incy );
-
-// Value-type variants of syr
-void BLAS_SSYR( char const* uplo, integer_t const* n, float const* alpha,
- float const* x, integer_t const* incx, float* a,
- integer_t const* lda );
-void BLAS_DSYR( char const* uplo, integer_t const* n, double const* alpha,
- double const* x, integer_t const* incx, double* a,
- integer_t const* lda );
-
-// Value-type variants of syr2
-void BLAS_SSYR2( char const* uplo, integer_t const* n, float const* alpha,
- float const* x, integer_t const* incx, float const* y,
- integer_t const* incy, float* a, integer_t const* lda );
-void BLAS_DSYR2( char const* uplo, integer_t const* n, double const* alpha,
- double const* x, integer_t const* incx, double const* y,
- integer_t const* incy, double* a, integer_t const* lda );
-
-// Value-type variants of tbmv
-void BLAS_STBMV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, integer_t const* k, float const* a,
- integer_t const* lda, float* x, integer_t const* incx );
-void BLAS_DTBMV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, integer_t const* k, double const* a,
- integer_t const* lda, double* x, integer_t const* incx );
-void BLAS_CTBMV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, integer_t const* k, fcomplex_t const* a,
- integer_t const* lda, fcomplex_t* x, integer_t const* incx );
-void BLAS_ZTBMV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, integer_t const* k, dcomplex_t const* a,
- integer_t const* lda, dcomplex_t* x, integer_t const* incx );
-
-// Value-type variants of tbsv
-void BLAS_STBSV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, integer_t const* k, float const* a,
- integer_t const* lda, float* x, integer_t const* incx );
-void BLAS_DTBSV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, integer_t const* k, double const* a,
- integer_t const* lda, double* x, integer_t const* incx );
-void BLAS_CTBSV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, integer_t const* k, fcomplex_t const* a,
- integer_t const* lda, fcomplex_t* x, integer_t const* incx );
-void BLAS_ZTBSV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, integer_t const* k, dcomplex_t const* a,
- integer_t const* lda, dcomplex_t* x, integer_t const* incx );
-
-// Value-type variants of tpmv
-void BLAS_STPMV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, float const* ap, float* x, integer_t const* incx );
-void BLAS_DTPMV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, double const* ap, double* x,
- integer_t const* incx );
-void BLAS_CTPMV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, fcomplex_t const* ap, fcomplex_t* x,
- integer_t const* incx );
-void BLAS_ZTPMV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, dcomplex_t const* ap, dcomplex_t* x,
- integer_t const* incx );
-
-// Value-type variants of tpsv
-void BLAS_STPSV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, float const* ap, float* x, integer_t const* incx );
-void BLAS_DTPSV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, double const* ap, double* x,
- integer_t const* incx );
-void BLAS_CTPSV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, fcomplex_t const* ap, fcomplex_t* x,
- integer_t const* incx );
-void BLAS_ZTPSV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, dcomplex_t const* ap, dcomplex_t* x,
- integer_t const* incx );
-
-// Value-type variants of trmv
-void BLAS_STRMV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, float const* a, integer_t const* lda, float* x,
- integer_t const* incx );
-void BLAS_DTRMV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, double const* a, integer_t const* lda, double* x,
- integer_t const* incx );
-void BLAS_CTRMV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, fcomplex_t const* a, integer_t const* lda,
- fcomplex_t* x, integer_t const* incx );
-void BLAS_ZTRMV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, dcomplex_t const* a, integer_t const* lda,
- dcomplex_t* x, integer_t const* incx );
-
-// Value-type variants of trsv
-void BLAS_STRSV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, float const* a, integer_t const* lda, float* x,
- integer_t const* incx );
-void BLAS_DTRSV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, double const* a, integer_t const* lda, double* x,
- integer_t const* incx );
-void BLAS_CTRSV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, fcomplex_t const* a, integer_t const* lda,
- fcomplex_t* x, integer_t const* incx );
-void BLAS_ZTRSV( char const* uplo, char const* trans, char const* diag,
- integer_t const* n, dcomplex_t const* a, integer_t const* lda,
- dcomplex_t* x, integer_t const* incx );
-
-//
-// BLAS level3 routines
-//
-
-// Value-type variants of gemm
-void BLAS_SGEMM( char const* transa, char const* transb, integer_t const* m,
- integer_t const* n, integer_t const* k, float const* alpha,
- float const* a, integer_t const* lda, float const* b,
- integer_t const* ldb, float const* beta, float* c,
- integer_t const* ldc );
-void BLAS_DGEMM( char const* transa, char const* transb, integer_t const* m,
- integer_t const* n, integer_t const* k, double const* alpha,
- double const* a, integer_t const* lda, double const* b,
- integer_t const* ldb, double const* beta, double* c,
- integer_t const* ldc );
-void BLAS_CGEMM( char const* transa, char const* transb, integer_t const* m,
- integer_t const* n, integer_t const* k, fcomplex_t const* alpha,
- fcomplex_t const* a, integer_t const* lda, fcomplex_t const* b,
- integer_t const* ldb, fcomplex_t const* beta, fcomplex_t* c,
- integer_t const* ldc );
-void BLAS_ZGEMM( char const* transa, char const* transb, integer_t const* m,
- integer_t const* n, integer_t const* k, dcomplex_t const* alpha,
- dcomplex_t const* a, integer_t const* lda, dcomplex_t const* b,
- integer_t const* ldb, dcomplex_t const* beta, dcomplex_t* c,
- integer_t const* ldc );
-
-// Value-type variants of hemm
-void BLAS_CHEMM( char const* side, char const* uplo, integer_t const* m,
- integer_t const* n, fcomplex_t const* alpha, fcomplex_t const* a,
- integer_t const* lda, fcomplex_t const* b, integer_t const* ldb,
- fcomplex_t const* beta, fcomplex_t* c, integer_t const* ldc );
-void BLAS_ZHEMM( char const* side, char const* uplo, integer_t const* m,
- integer_t const* n, dcomplex_t const* alpha, dcomplex_t const* a,
- integer_t const* lda, dcomplex_t const* b, integer_t const* ldb,
- dcomplex_t const* beta, dcomplex_t* c, integer_t const* ldc );
-
-// Value-type variants of her2k
-void BLAS_CHER2K( char const* uplo, char const* trans, integer_t const* n,
- integer_t const* k, fcomplex_t const* alpha, fcomplex_t const* a,
- integer_t const* lda, fcomplex_t const* b, integer_t const* ldb,
- float const* beta, fcomplex_t* c, integer_t const* ldc );
-void BLAS_ZHER2K( char const* uplo, char const* trans, integer_t const* n,
- integer_t const* k, dcomplex_t const* alpha, dcomplex_t const* a,
- integer_t const* lda, dcomplex_t const* b, integer_t const* ldb,
- double const* beta, dcomplex_t* c, integer_t const* ldc );
-
-// Value-type variants of herk
-void BLAS_CHERK( char const* uplo, char const* trans, integer_t const* n,
- integer_t const* k, float const* alpha, fcomplex_t const* a,
- integer_t const* lda, float const* beta, fcomplex_t* c,
- integer_t const* ldc );
-void BLAS_ZHERK( char const* uplo, char const* trans, integer_t const* n,
- integer_t const* k, double const* alpha, dcomplex_t const* a,
- integer_t const* lda, double const* beta, dcomplex_t* c,
- integer_t const* ldc );
-
-// Value-type variants of symm
-void BLAS_SSYMM( char const* side, char const* uplo, integer_t const* m,
- integer_t const* n, float const* alpha, float const* a,
- integer_t const* lda, float const* b, integer_t const* ldb,
- float const* beta, float* c, integer_t const* ldc );
-void BLAS_DSYMM( char const* side, char const* uplo, integer_t const* m,
- integer_t const* n, double const* alpha, double const* a,
- integer_t const* lda, double const* b, integer_t const* ldb,
- double const* beta, double* c, integer_t const* ldc );
-void BLAS_CSYMM( char const* side, char const* uplo, integer_t const* m,
- integer_t const* n, fcomplex_t const* alpha, fcomplex_t const* a,
- integer_t const* lda, fcomplex_t const* b, integer_t const* ldb,
- fcomplex_t const* beta, fcomplex_t* c, integer_t const* ldc );
-void BLAS_ZSYMM( char const* side, char const* uplo, integer_t const* m,
- integer_t const* n, dcomplex_t const* alpha, dcomplex_t const* a,
- integer_t const* lda, dcomplex_t const* b, integer_t const* ldb,
- dcomplex_t const* beta, dcomplex_t* c, integer_t const* ldc );
-
-// Value-type variants of syr2k
-void BLAS_SSYR2K( char const* uplo, char const* trans, integer_t const* n,
- integer_t const* k, float const* alpha, float const* a,
- integer_t const* lda, float const* b, integer_t const* ldb,
- float const* beta, float* c, integer_t const* ldc );
-void BLAS_DSYR2K( char const* uplo, char const* trans, integer_t const* n,
- integer_t const* k, double const* alpha, double const* a,
- integer_t const* lda, double const* b, integer_t const* ldb,
- double const* beta, double* c, integer_t const* ldc );
-void BLAS_CSYR2K( char const* uplo, char const* trans, integer_t const* n,
- integer_t const* k, fcomplex_t const* alpha, fcomplex_t const* a,
- integer_t const* lda, fcomplex_t const* b, integer_t const* ldb,
- fcomplex_t const* beta, fcomplex_t* c, integer_t const* ldc );
-void BLAS_ZSYR2K( char const* uplo, char const* trans, integer_t const* n,
- integer_t const* k, dcomplex_t const* alpha, dcomplex_t const* a,
- integer_t const* lda, dcomplex_t const* b, integer_t const* ldb,
- dcomplex_t const* beta, dcomplex_t* c, integer_t const* ldc );
-
-// Value-type variants of syrk
-void BLAS_SSYRK( char const* uplo, char const* trans, integer_t const* n,
- integer_t const* k, float const* alpha, float const* a,
- integer_t const* lda, float const* beta, float* c,
- integer_t const* ldc );
-void BLAS_DSYRK( char const* uplo, char const* trans, integer_t const* n,
- integer_t const* k, double const* alpha, double const* a,
- integer_t const* lda, double const* beta, double* c,
- integer_t const* ldc );
-void BLAS_CSYRK( char const* uplo, char const* trans, integer_t const* n,
- integer_t const* k, fcomplex_t const* alpha, fcomplex_t const* a,
- integer_t const* lda, fcomplex_t const* beta, fcomplex_t* c,
- integer_t const* ldc );
-void BLAS_ZSYRK( char const* uplo, char const* trans, integer_t const* n,
- integer_t const* k, dcomplex_t const* alpha, dcomplex_t const* a,
- integer_t const* lda, dcomplex_t const* beta, dcomplex_t* c,
- integer_t const* ldc );
-
-// Value-type variants of trmm
-void BLAS_STRMM( char const* side, char const* uplo, char const* transa,
- char const* diag, integer_t const* m, integer_t const* n,
- float const* alpha, float const* a, integer_t const* lda, float* b,
- integer_t const* ldb );
-void BLAS_DTRMM( char const* side, char const* uplo, char const* transa,
- char const* diag, integer_t const* m, integer_t const* n,
- double const* alpha, double const* a, integer_t const* lda, double* b,
- integer_t const* ldb );
-void BLAS_CTRMM( char const* side, char const* uplo, char const* transa,
- char const* diag, integer_t const* m, integer_t const* n,
- fcomplex_t const* alpha, fcomplex_t const* a, integer_t const* lda,
- fcomplex_t* b, integer_t const* ldb );
-void BLAS_ZTRMM( char const* side, char const* uplo, char const* transa,
- char const* diag, integer_t const* m, integer_t const* n,
- dcomplex_t const* alpha, dcomplex_t const* a, integer_t const* lda,
- dcomplex_t* b, integer_t const* ldb );
-
-// Value-type variants of trsm
-void BLAS_STRSM( char const* side, char const* uplo, char const* transa,
- char const* diag, integer_t const* m, integer_t const* n,
- float const* alpha, float const* a, integer_t const* lda, float* b,
- integer_t const* ldb );
-void BLAS_DTRSM( char const* side, char const* uplo, char const* transa,
- char const* diag, integer_t const* m, integer_t const* n,
- double const* alpha, double const* a, integer_t const* lda, double* b,
- integer_t const* ldb );
-void BLAS_CTRSM( char const* side, char const* uplo, char const* transa,
- char const* diag, integer_t const* m, integer_t const* n,
- fcomplex_t const* alpha, fcomplex_t const* a, integer_t const* lda,
- fcomplex_t* b, integer_t const* ldb );
-void BLAS_ZTRSM( char const* side, char const* uplo, char const* transa,
- char const* diag, integer_t const* m, integer_t const* n,
- dcomplex_t const* alpha, dcomplex_t const* a, integer_t const* lda,
- dcomplex_t* b, integer_t const* ldb );
-
-}
-
-#endif
-

Deleted: sandbox/numeric_bindings/boost/numeric/bindings/blas/blas_names.h
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/blas_names.h 2009-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
+++ (empty file)
@@ -1,269 +0,0 @@
-//
-// Copyright (c) 2003--2009
-// Toon Knapen, Karl Meerbergen, Kresimir Fresl,
-// Thomas Klimpel and 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)
-//
-// THIS FILE IS AUTOMATICALLY GENERATED
-// PLEASE DO NOT EDIT!
-//
-
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_BLAS_NAMES_H
-#define BOOST_NUMERIC_BINDINGS_BLAS_BLAS_NAMES_H
-
-#include <boost/numeric/bindings/traits/fortran.h>
-
-//
-// BLAS level1 routines
-//
-
-// Value-type variants of asum
-#define BLAS_SASUM FORTRAN_ID( sasum )
-#define BLAS_DASUM FORTRAN_ID( dasum )
-
-// Value-type variants of axpy
-#define BLAS_SAXPY FORTRAN_ID( saxpy )
-#define BLAS_DAXPY FORTRAN_ID( daxpy )
-#define BLAS_CAXPY FORTRAN_ID( caxpy )
-#define BLAS_ZAXPY FORTRAN_ID( zaxpy )
-
-// Value-type variants of copy
-#define BLAS_SCOPY FORTRAN_ID( scopy )
-#define BLAS_DCOPY FORTRAN_ID( dcopy )
-#define BLAS_CCOPY FORTRAN_ID( ccopy )
-#define BLAS_ZCOPY FORTRAN_ID( zcopy )
-
-// Value-type variants of dot
-#define BLAS_SDOT FORTRAN_ID( sdot )
-#define BLAS_DDOT FORTRAN_ID( ddot )
-
-// Value-type variants of dotc
-#define BLAS_CDOTC FORTRAN_ID( cdotc )
-#define BLAS_ZDOTC FORTRAN_ID( zdotc )
-
-// Value-type variants of dotu
-#define BLAS_CDOTU FORTRAN_ID( cdotu )
-#define BLAS_ZDOTU FORTRAN_ID( zdotu )
-
-// Value-type variants of drot
-#define BLAS_ZDROT FORTRAN_ID( zdrot )
-
-// Value-type variants of nrm2
-#define BLAS_SNRM2 FORTRAN_ID( snrm2 )
-#define BLAS_DNRM2 FORTRAN_ID( dnrm2 )
-
-// Value-type variants of rot
-#define BLAS_SROT FORTRAN_ID( srot )
-#define BLAS_DROT FORTRAN_ID( drot )
-
-// Value-type variants of rotg
-#define BLAS_SROTG FORTRAN_ID( srotg )
-#define BLAS_DROTG FORTRAN_ID( drotg )
-#define BLAS_CROTG FORTRAN_ID( crotg )
-#define BLAS_ZROTG FORTRAN_ID( zrotg )
-
-// Value-type variants of rotm
-#define BLAS_SROTM FORTRAN_ID( srotm )
-#define BLAS_DROTM FORTRAN_ID( drotm )
-
-// Value-type variants of rotmg
-#define BLAS_SROTMG FORTRAN_ID( srotmg )
-#define BLAS_DROTMG FORTRAN_ID( drotmg )
-
-// Value-type variants of scal
-#define BLAS_SSCAL FORTRAN_ID( sscal )
-#define BLAS_DSCAL FORTRAN_ID( dscal )
-#define BLAS_CSCAL FORTRAN_ID( cscal )
-#define BLAS_ZSCAL FORTRAN_ID( zscal )
-
-// Value-type variants of sdot
-#define BLAS_DSDOT FORTRAN_ID( dsdot )
-
-// Value-type variants of srot
-#define BLAS_CSROT FORTRAN_ID( csrot )
-
-// Value-type variants of swap
-#define BLAS_SSWAP FORTRAN_ID( sswap )
-#define BLAS_DSWAP FORTRAN_ID( dswap )
-#define BLAS_CSWAP FORTRAN_ID( cswap )
-#define BLAS_ZSWAP FORTRAN_ID( zswap )
-
-//
-// BLAS level2 routines
-//
-
-// Value-type variants of gbmv
-#define BLAS_SGBMV FORTRAN_ID( sgbmv )
-#define BLAS_DGBMV FORTRAN_ID( dgbmv )
-#define BLAS_CGBMV FORTRAN_ID( cgbmv )
-#define BLAS_ZGBMV FORTRAN_ID( zgbmv )
-
-// Value-type variants of gemv
-#define BLAS_SGEMV FORTRAN_ID( sgemv )
-#define BLAS_DGEMV FORTRAN_ID( dgemv )
-#define BLAS_CGEMV FORTRAN_ID( cgemv )
-#define BLAS_ZGEMV FORTRAN_ID( zgemv )
-
-// Value-type variants of ger
-#define BLAS_SGER FORTRAN_ID( sger )
-#define BLAS_DGER FORTRAN_ID( dger )
-
-// Value-type variants of gerc
-#define BLAS_CGERC FORTRAN_ID( cgerc )
-#define BLAS_ZGERC FORTRAN_ID( zgerc )
-
-// Value-type variants of geru
-#define BLAS_CGERU FORTRAN_ID( cgeru )
-#define BLAS_ZGERU FORTRAN_ID( zgeru )
-
-// Value-type variants of hbmv
-#define BLAS_CHBMV FORTRAN_ID( chbmv )
-#define BLAS_ZHBMV FORTRAN_ID( zhbmv )
-
-// Value-type variants of hemv
-#define BLAS_CHEMV FORTRAN_ID( chemv )
-#define BLAS_ZHEMV FORTRAN_ID( zhemv )
-
-// Value-type variants of her
-#define BLAS_CHER FORTRAN_ID( cher )
-#define BLAS_ZHER FORTRAN_ID( zher )
-
-// Value-type variants of her2
-#define BLAS_CHER2 FORTRAN_ID( cher2 )
-#define BLAS_ZHER2 FORTRAN_ID( zher2 )
-
-// Value-type variants of hpmv
-#define BLAS_CHPMV FORTRAN_ID( chpmv )
-#define BLAS_ZHPMV FORTRAN_ID( zhpmv )
-
-// Value-type variants of hpr
-#define BLAS_CHPR FORTRAN_ID( chpr )
-#define BLAS_ZHPR FORTRAN_ID( zhpr )
-
-// Value-type variants of hpr2
-#define BLAS_CHPR2 FORTRAN_ID( chpr2 )
-#define BLAS_ZHPR2 FORTRAN_ID( zhpr2 )
-
-// Value-type variants of sbmv
-#define BLAS_SSBMV FORTRAN_ID( ssbmv )
-#define BLAS_DSBMV FORTRAN_ID( dsbmv )
-
-// Value-type variants of spmv
-#define BLAS_SSPMV FORTRAN_ID( sspmv )
-#define BLAS_DSPMV FORTRAN_ID( dspmv )
-
-// Value-type variants of spr
-#define BLAS_SSPR FORTRAN_ID( sspr )
-#define BLAS_DSPR FORTRAN_ID( dspr )
-
-// Value-type variants of spr2
-#define BLAS_SSPR2 FORTRAN_ID( sspr2 )
-#define BLAS_DSPR2 FORTRAN_ID( dspr2 )
-
-// Value-type variants of symv
-#define BLAS_SSYMV FORTRAN_ID( ssymv )
-#define BLAS_DSYMV FORTRAN_ID( dsymv )
-
-// Value-type variants of syr
-#define BLAS_SSYR FORTRAN_ID( ssyr )
-#define BLAS_DSYR FORTRAN_ID( dsyr )
-
-// Value-type variants of syr2
-#define BLAS_SSYR2 FORTRAN_ID( ssyr2 )
-#define BLAS_DSYR2 FORTRAN_ID( dsyr2 )
-
-// Value-type variants of tbmv
-#define BLAS_STBMV FORTRAN_ID( stbmv )
-#define BLAS_DTBMV FORTRAN_ID( dtbmv )
-#define BLAS_CTBMV FORTRAN_ID( ctbmv )
-#define BLAS_ZTBMV FORTRAN_ID( ztbmv )
-
-// Value-type variants of tbsv
-#define BLAS_STBSV FORTRAN_ID( stbsv )
-#define BLAS_DTBSV FORTRAN_ID( dtbsv )
-#define BLAS_CTBSV FORTRAN_ID( ctbsv )
-#define BLAS_ZTBSV FORTRAN_ID( ztbsv )
-
-// Value-type variants of tpmv
-#define BLAS_STPMV FORTRAN_ID( stpmv )
-#define BLAS_DTPMV FORTRAN_ID( dtpmv )
-#define BLAS_CTPMV FORTRAN_ID( ctpmv )
-#define BLAS_ZTPMV FORTRAN_ID( ztpmv )
-
-// Value-type variants of tpsv
-#define BLAS_STPSV FORTRAN_ID( stpsv )
-#define BLAS_DTPSV FORTRAN_ID( dtpsv )
-#define BLAS_CTPSV FORTRAN_ID( ctpsv )
-#define BLAS_ZTPSV FORTRAN_ID( ztpsv )
-
-// Value-type variants of trmv
-#define BLAS_STRMV FORTRAN_ID( strmv )
-#define BLAS_DTRMV FORTRAN_ID( dtrmv )
-#define BLAS_CTRMV FORTRAN_ID( ctrmv )
-#define BLAS_ZTRMV FORTRAN_ID( ztrmv )
-
-// Value-type variants of trsv
-#define BLAS_STRSV FORTRAN_ID( strsv )
-#define BLAS_DTRSV FORTRAN_ID( dtrsv )
-#define BLAS_CTRSV FORTRAN_ID( ctrsv )
-#define BLAS_ZTRSV FORTRAN_ID( ztrsv )
-
-//
-// BLAS level3 routines
-//
-
-// Value-type variants of gemm
-#define BLAS_SGEMM FORTRAN_ID( sgemm )
-#define BLAS_DGEMM FORTRAN_ID( dgemm )
-#define BLAS_CGEMM FORTRAN_ID( cgemm )
-#define BLAS_ZGEMM FORTRAN_ID( zgemm )
-
-// Value-type variants of hemm
-#define BLAS_CHEMM FORTRAN_ID( chemm )
-#define BLAS_ZHEMM FORTRAN_ID( zhemm )
-
-// Value-type variants of her2k
-#define BLAS_CHER2K FORTRAN_ID( cher2k )
-#define BLAS_ZHER2K FORTRAN_ID( zher2k )
-
-// Value-type variants of herk
-#define BLAS_CHERK FORTRAN_ID( cherk )
-#define BLAS_ZHERK FORTRAN_ID( zherk )
-
-// Value-type variants of symm
-#define BLAS_SSYMM FORTRAN_ID( ssymm )
-#define BLAS_DSYMM FORTRAN_ID( dsymm )
-#define BLAS_CSYMM FORTRAN_ID( csymm )
-#define BLAS_ZSYMM FORTRAN_ID( zsymm )
-
-// Value-type variants of syr2k
-#define BLAS_SSYR2K FORTRAN_ID( ssyr2k )
-#define BLAS_DSYR2K FORTRAN_ID( dsyr2k )
-#define BLAS_CSYR2K FORTRAN_ID( csyr2k )
-#define BLAS_ZSYR2K FORTRAN_ID( zsyr2k )
-
-// Value-type variants of syrk
-#define BLAS_SSYRK FORTRAN_ID( ssyrk )
-#define BLAS_DSYRK FORTRAN_ID( dsyrk )
-#define BLAS_CSYRK FORTRAN_ID( csyrk )
-#define BLAS_ZSYRK FORTRAN_ID( zsyrk )
-
-// Value-type variants of trmm
-#define BLAS_STRMM FORTRAN_ID( strmm )
-#define BLAS_DTRMM FORTRAN_ID( dtrmm )
-#define BLAS_CTRMM FORTRAN_ID( ctrmm )
-#define BLAS_ZTRMM FORTRAN_ID( ztrmm )
-
-// Value-type variants of trsm
-#define BLAS_STRSM FORTRAN_ID( strsm )
-#define BLAS_DTRSM FORTRAN_ID( dtrsm )
-#define BLAS_CTRSM FORTRAN_ID( ctrsm )
-#define BLAS_ZTRSM FORTRAN_ID( ztrsm )
-
-
-
-#endif
-

Added: sandbox/numeric_bindings/boost/numeric/bindings/blas/detail/blas.h
==============================================================================
--- (empty file)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/detail/blas.h 2009-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -0,0 +1,555 @@
+//
+// Copyright (c) 2003--2009
+// Toon Knapen, Karl Meerbergen, Kresimir Fresl,
+// Thomas Klimpel and 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)
+//
+// THIS FILE IS AUTOMATICALLY GENERATED
+// PLEASE DO NOT EDIT!
+//
+
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_DETAIL_BLAS_H
+#define BOOST_NUMERIC_BINDINGS_BLAS_DETAIL_BLAS_H
+
+#include <boost/numeric/bindings/traits/type.h>
+#include <boost/numeric/bindings/blas/detail/blas_names.h>
+
+extern "C" {
+
+//
+// BLAS level1 routines
+//
+
+// Value-type variants of asum
+float BLAS_SASUM( integer_t const* n, float const* x, integer_t const* incx );
+double BLAS_DASUM( integer_t const* n, double const* x,
+ integer_t const* incx );
+
+// Value-type variants of axpy
+void BLAS_SAXPY( integer_t const* n, float const* a, float const* x,
+ integer_t const* incx, float* y, integer_t const* incy );
+void BLAS_DAXPY( integer_t const* n, double const* a, double const* x,
+ integer_t const* incx, double* y, integer_t const* incy );
+void BLAS_CAXPY( integer_t const* n, fcomplex_t const* a, fcomplex_t const* x,
+ integer_t const* incx, fcomplex_t* y, integer_t const* incy );
+void BLAS_ZAXPY( integer_t const* n, dcomplex_t const* a, dcomplex_t const* x,
+ integer_t const* incx, dcomplex_t* y, integer_t const* incy );
+
+// Value-type variants of copy
+void BLAS_SCOPY( integer_t const* n, float const* x, integer_t const* incx,
+ float const* y, integer_t const* incy );
+void BLAS_DCOPY( integer_t const* n, double const* x, integer_t const* incx,
+ double const* y, integer_t const* incy );
+void BLAS_CCOPY( integer_t const* n, fcomplex_t const* x,
+ integer_t const* incx, fcomplex_t const* y, integer_t const* incy );
+void BLAS_ZCOPY( integer_t const* n, dcomplex_t const* x,
+ integer_t const* incx, dcomplex_t const* y, integer_t const* incy );
+
+// Value-type variants of dot
+float BLAS_SDOT( integer_t const* n, float const* x, integer_t const* incx,
+ float const* y, integer_t const* incy );
+double BLAS_DDOT( integer_t const* n, double const* x, integer_t const* incx,
+ double const* y, integer_t const* incy );
+
+// Value-type variants of dotc
+fcomplex_t BLAS_CDOTC( integer_t const* n, fcomplex_t const* x,
+ integer_t const* incx, fcomplex_t const* y, integer_t const* incy );
+dcomplex_t BLAS_ZDOTC( integer_t const* n, dcomplex_t const* x,
+ integer_t const* incx, dcomplex_t const* y, integer_t const* incy );
+
+// Value-type variants of dotu
+fcomplex_t BLAS_CDOTU( integer_t const* n, fcomplex_t const* x,
+ integer_t const* incx, fcomplex_t const* y, integer_t const* incy );
+dcomplex_t BLAS_ZDOTU( integer_t const* n, dcomplex_t const* x,
+ integer_t const* incx, dcomplex_t const* y, integer_t const* incy );
+
+// Value-type variants of drot
+void BLAS_ZDROT( integer_t const* n, dcomplex_t const* cx,
+ integer_t const* incx, dcomplex_t const* cy, integer_t const* incy,
+ double const* c, double const* s );
+
+// Value-type variants of nrm2
+float BLAS_SNRM2( integer_t const* n, float const* x, integer_t const* incx );
+double BLAS_DNRM2( integer_t const* n, double const* x,
+ integer_t const* incx );
+
+// Value-type variants of rot
+void BLAS_SROT( integer_t const* n, float const* x, integer_t const* incx,
+ float* y, integer_t const* incy, float const* c, float const* s );
+void BLAS_DROT( integer_t const* n, double const* x, integer_t const* incx,
+ double* y, integer_t const* incy, double const* c, double const* s );
+
+// Value-type variants of rotg
+void BLAS_SROTG( float* a, float* b, float* c, float* s );
+void BLAS_DROTG( double* a, double* b, double* c, double* s );
+void BLAS_CROTG( fcomplex_t* a, fcomplex_t* b, float* c, fcomplex_t* s );
+void BLAS_ZROTG( dcomplex_t* a, dcomplex_t* b, double* c, dcomplex_t* s );
+
+// Value-type variants of rotm
+void BLAS_SROTM( integer_t const* n, float* x, integer_t const* incx,
+ float* y, integer_t const* incy, float* param );
+void BLAS_DROTM( integer_t const* n, double* x, integer_t const* incx,
+ double* y, integer_t const* incy, double* param );
+
+// Value-type variants of rotmg
+void BLAS_SROTMG( float* d1, float* d2, float* x1, float const* y1,
+ float* sparam );
+void BLAS_DROTMG( double* d1, double* d2, double* x1, double const* y1,
+ double* dparam );
+
+// Value-type variants of scal
+void BLAS_SSCAL( integer_t const* n, float const* a, float const* x,
+ integer_t const* incx );
+void BLAS_DSCAL( integer_t const* n, double const* a, double const* x,
+ integer_t const* incx );
+void BLAS_CSCAL( integer_t const* n, fcomplex_t const* a, fcomplex_t const* x,
+ integer_t const* incx );
+void BLAS_ZSCAL( integer_t const* n, dcomplex_t const* a, dcomplex_t const* x,
+ integer_t const* incx );
+
+// Value-type variants of sdot
+double BLAS_DSDOT( integer_t const* n, float const* sx, integer_t const* incx,
+ float const* sy, integer_t const* incy );
+
+// Value-type variants of srot
+void BLAS_CSROT( integer_t const* n, fcomplex_t const* x,
+ integer_t const* incx, fcomplex_t const* y, integer_t const* incy,
+ float const* c, float const* s );
+
+// Value-type variants of swap
+void BLAS_SSWAP( integer_t const* n, float* x, integer_t const* incx,
+ float* y, integer_t const* incy );
+void BLAS_DSWAP( integer_t const* n, double* x, integer_t const* incx,
+ double* y, integer_t const* incy );
+void BLAS_CSWAP( integer_t const* n, fcomplex_t* x, integer_t const* incx,
+ fcomplex_t* y, integer_t const* incy );
+void BLAS_ZSWAP( integer_t const* n, dcomplex_t* x, integer_t const* incx,
+ dcomplex_t* y, integer_t const* incy );
+
+//
+// BLAS level2 routines
+//
+
+// Value-type variants of gbmv
+void BLAS_SGBMV( char const* trans, integer_t const* m, integer_t const* n,
+ integer_t const* kl, integer_t const* ku, float const* alpha,
+ float const* a, integer_t const* lda, float const* x,
+ integer_t const* incx, float const* beta, float* y,
+ integer_t const* incy );
+void BLAS_DGBMV( char const* trans, integer_t const* m, integer_t const* n,
+ integer_t const* kl, integer_t const* ku, double const* alpha,
+ double const* a, integer_t const* lda, double const* x,
+ integer_t const* incx, double const* beta, double* y,
+ integer_t const* incy );
+void BLAS_CGBMV( char const* trans, integer_t const* m, integer_t const* n,
+ integer_t const* kl, integer_t const* ku, fcomplex_t const* alpha,
+ fcomplex_t const* a, integer_t const* lda, fcomplex_t const* x,
+ integer_t const* incx, fcomplex_t const* beta, fcomplex_t* y,
+ integer_t const* incy );
+void BLAS_ZGBMV( char const* trans, integer_t const* m, integer_t const* n,
+ integer_t const* kl, integer_t const* ku, dcomplex_t const* alpha,
+ dcomplex_t const* a, integer_t const* lda, dcomplex_t const* x,
+ integer_t const* incx, dcomplex_t const* beta, dcomplex_t* y,
+ integer_t const* incy );
+
+// Value-type variants of gemv
+void BLAS_SGEMV( char const* trans, integer_t const* m, integer_t const* n,
+ float const* alpha, float const* a, integer_t const* lda,
+ float const* x, integer_t const* incx, float const* beta, float* y,
+ integer_t const* incy );
+void BLAS_DGEMV( char const* trans, integer_t const* m, integer_t const* n,
+ double const* alpha, double const* a, integer_t const* lda,
+ double const* x, integer_t const* incx, double const* beta, double* y,
+ integer_t const* incy );
+void BLAS_CGEMV( char const* trans, integer_t const* m, integer_t const* n,
+ fcomplex_t const* alpha, fcomplex_t const* a, integer_t const* lda,
+ fcomplex_t const* x, integer_t const* incx, fcomplex_t const* beta,
+ fcomplex_t* y, integer_t const* incy );
+void BLAS_ZGEMV( char const* trans, integer_t const* m, integer_t const* n,
+ dcomplex_t const* alpha, dcomplex_t const* a, integer_t const* lda,
+ dcomplex_t const* x, integer_t const* incx, dcomplex_t const* beta,
+ dcomplex_t* y, integer_t const* incy );
+
+// Value-type variants of ger
+void BLAS_SGER( integer_t const* m, integer_t const* n, float const* alpha,
+ float const* x, integer_t const* incx, float const* y,
+ integer_t const* incy, float* a, integer_t const* lda );
+void BLAS_DGER( integer_t const* m, integer_t const* n, double const* alpha,
+ double const* x, integer_t const* incx, double const* y,
+ integer_t const* incy, double* a, integer_t const* lda );
+
+// Value-type variants of gerc
+void BLAS_CGERC( integer_t const* m, integer_t const* n,
+ fcomplex_t const* alpha, fcomplex_t const* x, integer_t const* incx,
+ fcomplex_t const* y, integer_t const* incy, fcomplex_t* a,
+ integer_t const* lda );
+void BLAS_ZGERC( integer_t const* m, integer_t const* n,
+ dcomplex_t const* alpha, dcomplex_t const* x, integer_t const* incx,
+ dcomplex_t const* y, integer_t const* incy, dcomplex_t* a,
+ integer_t const* lda );
+
+// Value-type variants of geru
+void BLAS_CGERU( integer_t const* m, integer_t const* n,
+ fcomplex_t const* alpha, fcomplex_t const* x, integer_t const* incx,
+ fcomplex_t const* y, integer_t const* incy, fcomplex_t* a,
+ integer_t const* lda );
+void BLAS_ZGERU( integer_t const* m, integer_t const* n,
+ dcomplex_t const* alpha, dcomplex_t const* x, integer_t const* incx,
+ dcomplex_t const* y, integer_t const* incy, dcomplex_t* a,
+ integer_t const* lda );
+
+// Value-type variants of hbmv
+void BLAS_CHBMV( char const* uplo, integer_t const* n, integer_t const* k,
+ fcomplex_t const* alpha, fcomplex_t const* a, integer_t const* lda,
+ fcomplex_t const* x, integer_t const* incx, fcomplex_t const* beta,
+ fcomplex_t* y, integer_t const* incy );
+void BLAS_ZHBMV( char const* uplo, integer_t const* n, integer_t const* k,
+ dcomplex_t const* alpha, dcomplex_t const* a, integer_t const* lda,
+ dcomplex_t const* x, integer_t const* incx, dcomplex_t const* beta,
+ dcomplex_t* y, integer_t const* incy );
+
+// Value-type variants of hemv
+void BLAS_CHEMV( char const* uplo, integer_t const* n,
+ fcomplex_t const* alpha, fcomplex_t const* a, integer_t const* lda,
+ fcomplex_t const* x, integer_t const* incx, fcomplex_t const* beta,
+ fcomplex_t* y, integer_t const* incy );
+void BLAS_ZHEMV( char const* uplo, integer_t const* n,
+ dcomplex_t const* alpha, dcomplex_t const* a, integer_t const* lda,
+ dcomplex_t const* x, integer_t const* incx, dcomplex_t const* beta,
+ dcomplex_t* y, integer_t const* incy );
+
+// Value-type variants of her
+void BLAS_CHER( char const* uplo, integer_t const* n, float const* alpha,
+ fcomplex_t const* x, integer_t const* incx, fcomplex_t* a,
+ integer_t const* lda );
+void BLAS_ZHER( char const* uplo, integer_t const* n, double const* alpha,
+ dcomplex_t const* x, integer_t const* incx, dcomplex_t* a,
+ integer_t const* lda );
+
+// Value-type variants of her2
+void BLAS_CHER2( char const* uplo, integer_t const* n,
+ fcomplex_t const* alpha, fcomplex_t const* x, integer_t const* incx,
+ fcomplex_t const* y, integer_t const* incy, fcomplex_t* a,
+ integer_t const* lda );
+void BLAS_ZHER2( char const* uplo, integer_t const* n,
+ dcomplex_t const* alpha, dcomplex_t const* x, integer_t const* incx,
+ dcomplex_t const* y, integer_t const* incy, dcomplex_t* a,
+ integer_t const* lda );
+
+// Value-type variants of hpmv
+void BLAS_CHPMV( char const* uplo, integer_t const* n,
+ fcomplex_t const* alpha, fcomplex_t const* ap, fcomplex_t const* x,
+ integer_t const* incx, fcomplex_t const* beta, fcomplex_t* y,
+ integer_t const* incy );
+void BLAS_ZHPMV( char const* uplo, integer_t const* n,
+ dcomplex_t const* alpha, dcomplex_t const* ap, dcomplex_t const* x,
+ integer_t const* incx, dcomplex_t const* beta, dcomplex_t* y,
+ integer_t const* incy );
+
+// Value-type variants of hpr
+void BLAS_CHPR( char const* uplo, integer_t const* n, float const* alpha,
+ fcomplex_t const* x, integer_t const* incx, fcomplex_t* ap );
+void BLAS_ZHPR( char const* uplo, integer_t const* n, double const* alpha,
+ dcomplex_t const* x, integer_t const* incx, dcomplex_t* ap );
+
+// Value-type variants of hpr2
+void BLAS_CHPR2( char const* uplo, integer_t const* n,
+ fcomplex_t const* alpha, fcomplex_t const* x, integer_t const* incx,
+ fcomplex_t const* y, integer_t const* incy, fcomplex_t* ap );
+void BLAS_ZHPR2( char const* uplo, integer_t const* n,
+ dcomplex_t const* alpha, dcomplex_t const* x, integer_t const* incx,
+ dcomplex_t const* y, integer_t const* incy, dcomplex_t* ap );
+
+// Value-type variants of sbmv
+void BLAS_SSBMV( char const* uplo, integer_t const* n, integer_t const* k,
+ float const* alpha, float const* a, integer_t const* lda,
+ float const* x, integer_t const* incx, float const* beta, float* y,
+ integer_t const* incy );
+void BLAS_DSBMV( char const* uplo, integer_t const* n, integer_t const* k,
+ double const* alpha, double const* a, integer_t const* lda,
+ double const* x, integer_t const* incx, double const* beta, double* y,
+ integer_t const* incy );
+
+// Value-type variants of spmv
+void BLAS_SSPMV( char const* uplo, integer_t const* n, float const* alpha,
+ float const* ap, float const* x, integer_t const* incx,
+ float const* beta, float* y, integer_t const* incy );
+void BLAS_DSPMV( char const* uplo, integer_t const* n, double const* alpha,
+ double const* ap, double const* x, integer_t const* incx,
+ double const* beta, double* y, integer_t const* incy );
+
+// Value-type variants of spr
+void BLAS_SSPR( char const* uplo, integer_t const* n, float const* alpha,
+ float const* x, integer_t const* incx, float* ap );
+void BLAS_DSPR( char const* uplo, integer_t const* n, double const* alpha,
+ double const* x, integer_t const* incx, double* ap );
+
+// Value-type variants of spr2
+void BLAS_SSPR2( char const* uplo, integer_t const* n, float const* alpha,
+ float const* x, integer_t const* incx, float const* y,
+ integer_t const* incy, float* ap );
+void BLAS_DSPR2( char const* uplo, integer_t const* n, double const* alpha,
+ double const* x, integer_t const* incx, double const* y,
+ integer_t const* incy, double* ap );
+
+// Value-type variants of symv
+void BLAS_SSYMV( char const* uplo, integer_t const* n, float const* alpha,
+ float const* a, integer_t const* lda, float const* x,
+ integer_t const* incx, float const* beta, float* y,
+ integer_t const* incy );
+void BLAS_DSYMV( char const* uplo, integer_t const* n, double const* alpha,
+ double const* a, integer_t const* lda, double const* x,
+ integer_t const* incx, double const* beta, double* y,
+ integer_t const* incy );
+
+// Value-type variants of syr
+void BLAS_SSYR( char const* uplo, integer_t const* n, float const* alpha,
+ float const* x, integer_t const* incx, float* a,
+ integer_t const* lda );
+void BLAS_DSYR( char const* uplo, integer_t const* n, double const* alpha,
+ double const* x, integer_t const* incx, double* a,
+ integer_t const* lda );
+
+// Value-type variants of syr2
+void BLAS_SSYR2( char const* uplo, integer_t const* n, float const* alpha,
+ float const* x, integer_t const* incx, float const* y,
+ integer_t const* incy, float* a, integer_t const* lda );
+void BLAS_DSYR2( char const* uplo, integer_t const* n, double const* alpha,
+ double const* x, integer_t const* incx, double const* y,
+ integer_t const* incy, double* a, integer_t const* lda );
+
+// Value-type variants of tbmv
+void BLAS_STBMV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, integer_t const* k, float const* a,
+ integer_t const* lda, float* x, integer_t const* incx );
+void BLAS_DTBMV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, integer_t const* k, double const* a,
+ integer_t const* lda, double* x, integer_t const* incx );
+void BLAS_CTBMV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, integer_t const* k, fcomplex_t const* a,
+ integer_t const* lda, fcomplex_t* x, integer_t const* incx );
+void BLAS_ZTBMV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, integer_t const* k, dcomplex_t const* a,
+ integer_t const* lda, dcomplex_t* x, integer_t const* incx );
+
+// Value-type variants of tbsv
+void BLAS_STBSV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, integer_t const* k, float const* a,
+ integer_t const* lda, float* x, integer_t const* incx );
+void BLAS_DTBSV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, integer_t const* k, double const* a,
+ integer_t const* lda, double* x, integer_t const* incx );
+void BLAS_CTBSV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, integer_t const* k, fcomplex_t const* a,
+ integer_t const* lda, fcomplex_t* x, integer_t const* incx );
+void BLAS_ZTBSV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, integer_t const* k, dcomplex_t const* a,
+ integer_t const* lda, dcomplex_t* x, integer_t const* incx );
+
+// Value-type variants of tpmv
+void BLAS_STPMV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, float const* ap, float* x, integer_t const* incx );
+void BLAS_DTPMV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, double const* ap, double* x,
+ integer_t const* incx );
+void BLAS_CTPMV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, fcomplex_t const* ap, fcomplex_t* x,
+ integer_t const* incx );
+void BLAS_ZTPMV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, dcomplex_t const* ap, dcomplex_t* x,
+ integer_t const* incx );
+
+// Value-type variants of tpsv
+void BLAS_STPSV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, float const* ap, float* x, integer_t const* incx );
+void BLAS_DTPSV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, double const* ap, double* x,
+ integer_t const* incx );
+void BLAS_CTPSV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, fcomplex_t const* ap, fcomplex_t* x,
+ integer_t const* incx );
+void BLAS_ZTPSV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, dcomplex_t const* ap, dcomplex_t* x,
+ integer_t const* incx );
+
+// Value-type variants of trmv
+void BLAS_STRMV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, float const* a, integer_t const* lda, float* x,
+ integer_t const* incx );
+void BLAS_DTRMV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, double const* a, integer_t const* lda, double* x,
+ integer_t const* incx );
+void BLAS_CTRMV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, fcomplex_t const* a, integer_t const* lda,
+ fcomplex_t* x, integer_t const* incx );
+void BLAS_ZTRMV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, dcomplex_t const* a, integer_t const* lda,
+ dcomplex_t* x, integer_t const* incx );
+
+// Value-type variants of trsv
+void BLAS_STRSV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, float const* a, integer_t const* lda, float* x,
+ integer_t const* incx );
+void BLAS_DTRSV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, double const* a, integer_t const* lda, double* x,
+ integer_t const* incx );
+void BLAS_CTRSV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, fcomplex_t const* a, integer_t const* lda,
+ fcomplex_t* x, integer_t const* incx );
+void BLAS_ZTRSV( char const* uplo, char const* trans, char const* diag,
+ integer_t const* n, dcomplex_t const* a, integer_t const* lda,
+ dcomplex_t* x, integer_t const* incx );
+
+//
+// BLAS level3 routines
+//
+
+// Value-type variants of gemm
+void BLAS_SGEMM( char const* transa, char const* transb, integer_t const* m,
+ integer_t const* n, integer_t const* k, float const* alpha,
+ float const* a, integer_t const* lda, float const* b,
+ integer_t const* ldb, float const* beta, float* c,
+ integer_t const* ldc );
+void BLAS_DGEMM( char const* transa, char const* transb, integer_t const* m,
+ integer_t const* n, integer_t const* k, double const* alpha,
+ double const* a, integer_t const* lda, double const* b,
+ integer_t const* ldb, double const* beta, double* c,
+ integer_t const* ldc );
+void BLAS_CGEMM( char const* transa, char const* transb, integer_t const* m,
+ integer_t const* n, integer_t const* k, fcomplex_t const* alpha,
+ fcomplex_t const* a, integer_t const* lda, fcomplex_t const* b,
+ integer_t const* ldb, fcomplex_t const* beta, fcomplex_t* c,
+ integer_t const* ldc );
+void BLAS_ZGEMM( char const* transa, char const* transb, integer_t const* m,
+ integer_t const* n, integer_t const* k, dcomplex_t const* alpha,
+ dcomplex_t const* a, integer_t const* lda, dcomplex_t const* b,
+ integer_t const* ldb, dcomplex_t const* beta, dcomplex_t* c,
+ integer_t const* ldc );
+
+// Value-type variants of hemm
+void BLAS_CHEMM( char const* side, char const* uplo, integer_t const* m,
+ integer_t const* n, fcomplex_t const* alpha, fcomplex_t const* a,
+ integer_t const* lda, fcomplex_t const* b, integer_t const* ldb,
+ fcomplex_t const* beta, fcomplex_t* c, integer_t const* ldc );
+void BLAS_ZHEMM( char const* side, char const* uplo, integer_t const* m,
+ integer_t const* n, dcomplex_t const* alpha, dcomplex_t const* a,
+ integer_t const* lda, dcomplex_t const* b, integer_t const* ldb,
+ dcomplex_t const* beta, dcomplex_t* c, integer_t const* ldc );
+
+// Value-type variants of her2k
+void BLAS_CHER2K( char const* uplo, char const* trans, integer_t const* n,
+ integer_t const* k, fcomplex_t const* alpha, fcomplex_t const* a,
+ integer_t const* lda, fcomplex_t const* b, integer_t const* ldb,
+ float const* beta, fcomplex_t* c, integer_t const* ldc );
+void BLAS_ZHER2K( char const* uplo, char const* trans, integer_t const* n,
+ integer_t const* k, dcomplex_t const* alpha, dcomplex_t const* a,
+ integer_t const* lda, dcomplex_t const* b, integer_t const* ldb,
+ double const* beta, dcomplex_t* c, integer_t const* ldc );
+
+// Value-type variants of herk
+void BLAS_CHERK( char const* uplo, char const* trans, integer_t const* n,
+ integer_t const* k, float const* alpha, fcomplex_t const* a,
+ integer_t const* lda, float const* beta, fcomplex_t* c,
+ integer_t const* ldc );
+void BLAS_ZHERK( char const* uplo, char const* trans, integer_t const* n,
+ integer_t const* k, double const* alpha, dcomplex_t const* a,
+ integer_t const* lda, double const* beta, dcomplex_t* c,
+ integer_t const* ldc );
+
+// Value-type variants of symm
+void BLAS_SSYMM( char const* side, char const* uplo, integer_t const* m,
+ integer_t const* n, float const* alpha, float const* a,
+ integer_t const* lda, float const* b, integer_t const* ldb,
+ float const* beta, float* c, integer_t const* ldc );
+void BLAS_DSYMM( char const* side, char const* uplo, integer_t const* m,
+ integer_t const* n, double const* alpha, double const* a,
+ integer_t const* lda, double const* b, integer_t const* ldb,
+ double const* beta, double* c, integer_t const* ldc );
+void BLAS_CSYMM( char const* side, char const* uplo, integer_t const* m,
+ integer_t const* n, fcomplex_t const* alpha, fcomplex_t const* a,
+ integer_t const* lda, fcomplex_t const* b, integer_t const* ldb,
+ fcomplex_t const* beta, fcomplex_t* c, integer_t const* ldc );
+void BLAS_ZSYMM( char const* side, char const* uplo, integer_t const* m,
+ integer_t const* n, dcomplex_t const* alpha, dcomplex_t const* a,
+ integer_t const* lda, dcomplex_t const* b, integer_t const* ldb,
+ dcomplex_t const* beta, dcomplex_t* c, integer_t const* ldc );
+
+// Value-type variants of syr2k
+void BLAS_SSYR2K( char const* uplo, char const* trans, integer_t const* n,
+ integer_t const* k, float const* alpha, float const* a,
+ integer_t const* lda, float const* b, integer_t const* ldb,
+ float const* beta, float* c, integer_t const* ldc );
+void BLAS_DSYR2K( char const* uplo, char const* trans, integer_t const* n,
+ integer_t const* k, double const* alpha, double const* a,
+ integer_t const* lda, double const* b, integer_t const* ldb,
+ double const* beta, double* c, integer_t const* ldc );
+void BLAS_CSYR2K( char const* uplo, char const* trans, integer_t const* n,
+ integer_t const* k, fcomplex_t const* alpha, fcomplex_t const* a,
+ integer_t const* lda, fcomplex_t const* b, integer_t const* ldb,
+ fcomplex_t const* beta, fcomplex_t* c, integer_t const* ldc );
+void BLAS_ZSYR2K( char const* uplo, char const* trans, integer_t const* n,
+ integer_t const* k, dcomplex_t const* alpha, dcomplex_t const* a,
+ integer_t const* lda, dcomplex_t const* b, integer_t const* ldb,
+ dcomplex_t const* beta, dcomplex_t* c, integer_t const* ldc );
+
+// Value-type variants of syrk
+void BLAS_SSYRK( char const* uplo, char const* trans, integer_t const* n,
+ integer_t const* k, float const* alpha, float const* a,
+ integer_t const* lda, float const* beta, float* c,
+ integer_t const* ldc );
+void BLAS_DSYRK( char const* uplo, char const* trans, integer_t const* n,
+ integer_t const* k, double const* alpha, double const* a,
+ integer_t const* lda, double const* beta, double* c,
+ integer_t const* ldc );
+void BLAS_CSYRK( char const* uplo, char const* trans, integer_t const* n,
+ integer_t const* k, fcomplex_t const* alpha, fcomplex_t const* a,
+ integer_t const* lda, fcomplex_t const* beta, fcomplex_t* c,
+ integer_t const* ldc );
+void BLAS_ZSYRK( char const* uplo, char const* trans, integer_t const* n,
+ integer_t const* k, dcomplex_t const* alpha, dcomplex_t const* a,
+ integer_t const* lda, dcomplex_t const* beta, dcomplex_t* c,
+ integer_t const* ldc );
+
+// Value-type variants of trmm
+void BLAS_STRMM( char const* side, char const* uplo, char const* transa,
+ char const* diag, integer_t const* m, integer_t const* n,
+ float const* alpha, float const* a, integer_t const* lda, float* b,
+ integer_t const* ldb );
+void BLAS_DTRMM( char const* side, char const* uplo, char const* transa,
+ char const* diag, integer_t const* m, integer_t const* n,
+ double const* alpha, double const* a, integer_t const* lda, double* b,
+ integer_t const* ldb );
+void BLAS_CTRMM( char const* side, char const* uplo, char const* transa,
+ char const* diag, integer_t const* m, integer_t const* n,
+ fcomplex_t const* alpha, fcomplex_t const* a, integer_t const* lda,
+ fcomplex_t* b, integer_t const* ldb );
+void BLAS_ZTRMM( char const* side, char const* uplo, char const* transa,
+ char const* diag, integer_t const* m, integer_t const* n,
+ dcomplex_t const* alpha, dcomplex_t const* a, integer_t const* lda,
+ dcomplex_t* b, integer_t const* ldb );
+
+// Value-type variants of trsm
+void BLAS_STRSM( char const* side, char const* uplo, char const* transa,
+ char const* diag, integer_t const* m, integer_t const* n,
+ float const* alpha, float const* a, integer_t const* lda, float* b,
+ integer_t const* ldb );
+void BLAS_DTRSM( char const* side, char const* uplo, char const* transa,
+ char const* diag, integer_t const* m, integer_t const* n,
+ double const* alpha, double const* a, integer_t const* lda, double* b,
+ integer_t const* ldb );
+void BLAS_CTRSM( char const* side, char const* uplo, char const* transa,
+ char const* diag, integer_t const* m, integer_t const* n,
+ fcomplex_t const* alpha, fcomplex_t const* a, integer_t const* lda,
+ fcomplex_t* b, integer_t const* ldb );
+void BLAS_ZTRSM( char const* side, char const* uplo, char const* transa,
+ char const* diag, integer_t const* m, integer_t const* n,
+ dcomplex_t const* alpha, dcomplex_t const* a, integer_t const* lda,
+ dcomplex_t* b, integer_t const* ldb );
+
+}
+
+#endif
+

Added: sandbox/numeric_bindings/boost/numeric/bindings/blas/detail/blas_names.h
==============================================================================
--- (empty file)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/detail/blas_names.h 2009-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -0,0 +1,269 @@
+//
+// Copyright (c) 2003--2009
+// Toon Knapen, Karl Meerbergen, Kresimir Fresl,
+// Thomas Klimpel and 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)
+//
+// THIS FILE IS AUTOMATICALLY GENERATED
+// PLEASE DO NOT EDIT!
+//
+
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_DETAIL_BLAS_NAMES_H
+#define BOOST_NUMERIC_BINDINGS_BLAS_DETAIL_BLAS_NAMES_H
+
+#include <boost/numeric/bindings/traits/fortran.h>
+
+//
+// BLAS level1 routines
+//
+
+// Value-type variants of asum
+#define BLAS_SASUM FORTRAN_ID( sasum )
+#define BLAS_DASUM FORTRAN_ID( dasum )
+
+// Value-type variants of axpy
+#define BLAS_SAXPY FORTRAN_ID( saxpy )
+#define BLAS_DAXPY FORTRAN_ID( daxpy )
+#define BLAS_CAXPY FORTRAN_ID( caxpy )
+#define BLAS_ZAXPY FORTRAN_ID( zaxpy )
+
+// Value-type variants of copy
+#define BLAS_SCOPY FORTRAN_ID( scopy )
+#define BLAS_DCOPY FORTRAN_ID( dcopy )
+#define BLAS_CCOPY FORTRAN_ID( ccopy )
+#define BLAS_ZCOPY FORTRAN_ID( zcopy )
+
+// Value-type variants of dot
+#define BLAS_SDOT FORTRAN_ID( sdot )
+#define BLAS_DDOT FORTRAN_ID( ddot )
+
+// Value-type variants of dotc
+#define BLAS_CDOTC FORTRAN_ID( cdotc )
+#define BLAS_ZDOTC FORTRAN_ID( zdotc )
+
+// Value-type variants of dotu
+#define BLAS_CDOTU FORTRAN_ID( cdotu )
+#define BLAS_ZDOTU FORTRAN_ID( zdotu )
+
+// Value-type variants of drot
+#define BLAS_ZDROT FORTRAN_ID( zdrot )
+
+// Value-type variants of nrm2
+#define BLAS_SNRM2 FORTRAN_ID( snrm2 )
+#define BLAS_DNRM2 FORTRAN_ID( dnrm2 )
+
+// Value-type variants of rot
+#define BLAS_SROT FORTRAN_ID( srot )
+#define BLAS_DROT FORTRAN_ID( drot )
+
+// Value-type variants of rotg
+#define BLAS_SROTG FORTRAN_ID( srotg )
+#define BLAS_DROTG FORTRAN_ID( drotg )
+#define BLAS_CROTG FORTRAN_ID( crotg )
+#define BLAS_ZROTG FORTRAN_ID( zrotg )
+
+// Value-type variants of rotm
+#define BLAS_SROTM FORTRAN_ID( srotm )
+#define BLAS_DROTM FORTRAN_ID( drotm )
+
+// Value-type variants of rotmg
+#define BLAS_SROTMG FORTRAN_ID( srotmg )
+#define BLAS_DROTMG FORTRAN_ID( drotmg )
+
+// Value-type variants of scal
+#define BLAS_SSCAL FORTRAN_ID( sscal )
+#define BLAS_DSCAL FORTRAN_ID( dscal )
+#define BLAS_CSCAL FORTRAN_ID( cscal )
+#define BLAS_ZSCAL FORTRAN_ID( zscal )
+
+// Value-type variants of sdot
+#define BLAS_DSDOT FORTRAN_ID( dsdot )
+
+// Value-type variants of srot
+#define BLAS_CSROT FORTRAN_ID( csrot )
+
+// Value-type variants of swap
+#define BLAS_SSWAP FORTRAN_ID( sswap )
+#define BLAS_DSWAP FORTRAN_ID( dswap )
+#define BLAS_CSWAP FORTRAN_ID( cswap )
+#define BLAS_ZSWAP FORTRAN_ID( zswap )
+
+//
+// BLAS level2 routines
+//
+
+// Value-type variants of gbmv
+#define BLAS_SGBMV FORTRAN_ID( sgbmv )
+#define BLAS_DGBMV FORTRAN_ID( dgbmv )
+#define BLAS_CGBMV FORTRAN_ID( cgbmv )
+#define BLAS_ZGBMV FORTRAN_ID( zgbmv )
+
+// Value-type variants of gemv
+#define BLAS_SGEMV FORTRAN_ID( sgemv )
+#define BLAS_DGEMV FORTRAN_ID( dgemv )
+#define BLAS_CGEMV FORTRAN_ID( cgemv )
+#define BLAS_ZGEMV FORTRAN_ID( zgemv )
+
+// Value-type variants of ger
+#define BLAS_SGER FORTRAN_ID( sger )
+#define BLAS_DGER FORTRAN_ID( dger )
+
+// Value-type variants of gerc
+#define BLAS_CGERC FORTRAN_ID( cgerc )
+#define BLAS_ZGERC FORTRAN_ID( zgerc )
+
+// Value-type variants of geru
+#define BLAS_CGERU FORTRAN_ID( cgeru )
+#define BLAS_ZGERU FORTRAN_ID( zgeru )
+
+// Value-type variants of hbmv
+#define BLAS_CHBMV FORTRAN_ID( chbmv )
+#define BLAS_ZHBMV FORTRAN_ID( zhbmv )
+
+// Value-type variants of hemv
+#define BLAS_CHEMV FORTRAN_ID( chemv )
+#define BLAS_ZHEMV FORTRAN_ID( zhemv )
+
+// Value-type variants of her
+#define BLAS_CHER FORTRAN_ID( cher )
+#define BLAS_ZHER FORTRAN_ID( zher )
+
+// Value-type variants of her2
+#define BLAS_CHER2 FORTRAN_ID( cher2 )
+#define BLAS_ZHER2 FORTRAN_ID( zher2 )
+
+// Value-type variants of hpmv
+#define BLAS_CHPMV FORTRAN_ID( chpmv )
+#define BLAS_ZHPMV FORTRAN_ID( zhpmv )
+
+// Value-type variants of hpr
+#define BLAS_CHPR FORTRAN_ID( chpr )
+#define BLAS_ZHPR FORTRAN_ID( zhpr )
+
+// Value-type variants of hpr2
+#define BLAS_CHPR2 FORTRAN_ID( chpr2 )
+#define BLAS_ZHPR2 FORTRAN_ID( zhpr2 )
+
+// Value-type variants of sbmv
+#define BLAS_SSBMV FORTRAN_ID( ssbmv )
+#define BLAS_DSBMV FORTRAN_ID( dsbmv )
+
+// Value-type variants of spmv
+#define BLAS_SSPMV FORTRAN_ID( sspmv )
+#define BLAS_DSPMV FORTRAN_ID( dspmv )
+
+// Value-type variants of spr
+#define BLAS_SSPR FORTRAN_ID( sspr )
+#define BLAS_DSPR FORTRAN_ID( dspr )
+
+// Value-type variants of spr2
+#define BLAS_SSPR2 FORTRAN_ID( sspr2 )
+#define BLAS_DSPR2 FORTRAN_ID( dspr2 )
+
+// Value-type variants of symv
+#define BLAS_SSYMV FORTRAN_ID( ssymv )
+#define BLAS_DSYMV FORTRAN_ID( dsymv )
+
+// Value-type variants of syr
+#define BLAS_SSYR FORTRAN_ID( ssyr )
+#define BLAS_DSYR FORTRAN_ID( dsyr )
+
+// Value-type variants of syr2
+#define BLAS_SSYR2 FORTRAN_ID( ssyr2 )
+#define BLAS_DSYR2 FORTRAN_ID( dsyr2 )
+
+// Value-type variants of tbmv
+#define BLAS_STBMV FORTRAN_ID( stbmv )
+#define BLAS_DTBMV FORTRAN_ID( dtbmv )
+#define BLAS_CTBMV FORTRAN_ID( ctbmv )
+#define BLAS_ZTBMV FORTRAN_ID( ztbmv )
+
+// Value-type variants of tbsv
+#define BLAS_STBSV FORTRAN_ID( stbsv )
+#define BLAS_DTBSV FORTRAN_ID( dtbsv )
+#define BLAS_CTBSV FORTRAN_ID( ctbsv )
+#define BLAS_ZTBSV FORTRAN_ID( ztbsv )
+
+// Value-type variants of tpmv
+#define BLAS_STPMV FORTRAN_ID( stpmv )
+#define BLAS_DTPMV FORTRAN_ID( dtpmv )
+#define BLAS_CTPMV FORTRAN_ID( ctpmv )
+#define BLAS_ZTPMV FORTRAN_ID( ztpmv )
+
+// Value-type variants of tpsv
+#define BLAS_STPSV FORTRAN_ID( stpsv )
+#define BLAS_DTPSV FORTRAN_ID( dtpsv )
+#define BLAS_CTPSV FORTRAN_ID( ctpsv )
+#define BLAS_ZTPSV FORTRAN_ID( ztpsv )
+
+// Value-type variants of trmv
+#define BLAS_STRMV FORTRAN_ID( strmv )
+#define BLAS_DTRMV FORTRAN_ID( dtrmv )
+#define BLAS_CTRMV FORTRAN_ID( ctrmv )
+#define BLAS_ZTRMV FORTRAN_ID( ztrmv )
+
+// Value-type variants of trsv
+#define BLAS_STRSV FORTRAN_ID( strsv )
+#define BLAS_DTRSV FORTRAN_ID( dtrsv )
+#define BLAS_CTRSV FORTRAN_ID( ctrsv )
+#define BLAS_ZTRSV FORTRAN_ID( ztrsv )
+
+//
+// BLAS level3 routines
+//
+
+// Value-type variants of gemm
+#define BLAS_SGEMM FORTRAN_ID( sgemm )
+#define BLAS_DGEMM FORTRAN_ID( dgemm )
+#define BLAS_CGEMM FORTRAN_ID( cgemm )
+#define BLAS_ZGEMM FORTRAN_ID( zgemm )
+
+// Value-type variants of hemm
+#define BLAS_CHEMM FORTRAN_ID( chemm )
+#define BLAS_ZHEMM FORTRAN_ID( zhemm )
+
+// Value-type variants of her2k
+#define BLAS_CHER2K FORTRAN_ID( cher2k )
+#define BLAS_ZHER2K FORTRAN_ID( zher2k )
+
+// Value-type variants of herk
+#define BLAS_CHERK FORTRAN_ID( cherk )
+#define BLAS_ZHERK FORTRAN_ID( zherk )
+
+// Value-type variants of symm
+#define BLAS_SSYMM FORTRAN_ID( ssymm )
+#define BLAS_DSYMM FORTRAN_ID( dsymm )
+#define BLAS_CSYMM FORTRAN_ID( csymm )
+#define BLAS_ZSYMM FORTRAN_ID( zsymm )
+
+// Value-type variants of syr2k
+#define BLAS_SSYR2K FORTRAN_ID( ssyr2k )
+#define BLAS_DSYR2K FORTRAN_ID( dsyr2k )
+#define BLAS_CSYR2K FORTRAN_ID( csyr2k )
+#define BLAS_ZSYR2K FORTRAN_ID( zsyr2k )
+
+// Value-type variants of syrk
+#define BLAS_SSYRK FORTRAN_ID( ssyrk )
+#define BLAS_DSYRK FORTRAN_ID( dsyrk )
+#define BLAS_CSYRK FORTRAN_ID( csyrk )
+#define BLAS_ZSYRK FORTRAN_ID( zsyrk )
+
+// Value-type variants of trmm
+#define BLAS_STRMM FORTRAN_ID( strmm )
+#define BLAS_DTRMM FORTRAN_ID( dtrmm )
+#define BLAS_CTRMM FORTRAN_ID( ctrmm )
+#define BLAS_ZTRMM FORTRAN_ID( ztrmm )
+
+// Value-type variants of trsm
+#define BLAS_STRSM FORTRAN_ID( strsm )
+#define BLAS_DTRSM FORTRAN_ID( dtrsm )
+#define BLAS_CTRSM FORTRAN_ID( ctrsm )
+#define BLAS_ZTRSM FORTRAN_ID( ztrsm )
+
+
+
+#endif
+

Added: sandbox/numeric_bindings/boost/numeric/bindings/blas/level1.hpp
==============================================================================
--- (empty file)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level1.hpp 2009-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -0,0 +1,22 @@
+//
+// 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_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>
+
+#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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_ASUM_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_ASUM_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_ASUM_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_ASUM_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -52,7 +51,7 @@
     }
 };
 
-// template function to call asum
+// low-level template function for direct calls to level1::asum
 template< typename VectorX >
 inline typename asum_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -61,6 +60,6 @@
     return asum_impl< value_type >::compute( x );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_AXPY_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_AXPY_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_AXPY_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_AXPY_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -70,7 +69,7 @@
     }
 };
 
-// template function to call axpy
+// low-level template function for direct calls to level1::axpy
 template< typename VectorX, typename VectorY >
 inline typename axpy_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -80,6 +79,6 @@
     axpy_impl< value_type >::compute( a, x, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_COPY_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_COPY_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_COPY_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_COPY_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -70,7 +69,7 @@
     }
 };
 
-// template function to call copy
+// low-level template function for direct calls to level1::copy
 template< typename VectorX, typename VectorY >
 inline typename copy_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -79,6 +78,6 @@
     copy_impl< value_type >::compute( x, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_DOT_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_DOT_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_DOT_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_DOT_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -58,7 +57,7 @@
     }
 };
 
-// template function to call dot
+// low-level template function for direct calls to level1::dot
 template< typename VectorX, typename VectorY >
 inline typename dot_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -67,6 +66,6 @@
     return dot_impl< value_type >::compute( x, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_DOTC_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_DOTC_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_DOTC_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_DOTC_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -62,7 +61,7 @@
     }
 };
 
-// template function to call dotc
+// low-level template function for direct calls to level1::dotc
 template< typename VectorX, typename VectorY >
 inline typename dotc_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -71,6 +70,6 @@
     return dotc_impl< value_type >::compute( x, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_DOTU_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_DOTU_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_DOTU_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_DOTU_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -62,7 +61,7 @@
     }
 };
 
-// template function to call dotu
+// low-level template function for direct calls to level1::dotu
 template< typename VectorX, typename VectorY >
 inline typename dotu_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -71,6 +70,6 @@
     return dotu_impl< value_type >::compute( x, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_DROT_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_DROT_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_DROT_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_DROT_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -57,7 +56,7 @@
     }
 };
 
-// template function to call drot
+// low-level template function for direct calls to level1::drot
 template< typename VectorCX, typename VectorCY >
 inline typename drot_impl< typename traits::vector_traits<
         VectorCX >::value_type >::return_type
@@ -68,6 +67,6 @@
     drot_impl< value_type >::compute( n, cx, cy, c, s );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_NRM2_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_NRM2_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_NRM2_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_NRM2_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -52,7 +51,7 @@
     }
 };
 
-// template function to call nrm2
+// low-level template function for direct calls to level1::nrm2
 template< typename VectorX >
 inline typename nrm2_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -61,6 +60,6 @@
     return nrm2_impl< value_type >::compute( x );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_ROT_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_ROT_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_ROT_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_ROT_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -59,7 +58,7 @@
     }
 };
 
-// template function to call rot
+// low-level template function for direct calls to level1::rot
 template< typename VectorX, typename VectorY >
 inline typename rot_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -70,6 +69,6 @@
     rot_impl< value_type >::compute( x, y, c, s );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_ROTG_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_ROTG_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_ROTG_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_ROTG_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -62,7 +61,7 @@
     }
 };
 
-// template function to call rotg
+// low-level template function for direct calls to level1::rotg
 template< >
 inline typename rotg_impl< typename traits::TODO_traits<
         TODO >::value_type >::return_type
@@ -74,6 +73,6 @@
     rotg_impl< value_type >::compute( a, b, c, s );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_ROTM_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_ROTM_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_ROTM_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_ROTM_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -63,7 +62,7 @@
     }
 };
 
-// template function to call rotm
+// low-level template function for direct calls to level1::rotm
 template< typename VectorX, typename VectorY, typename VectorPARAM >
 inline typename rotm_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -73,6 +72,6 @@
     rotm_impl< value_type >::compute( n, x, incx, y, incy, param );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_ROTMG_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_ROTMG_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_ROTMG_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_ROTMG_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -54,7 +53,7 @@
     }
 };
 
-// template function to call rotmg
+// low-level template function for direct calls to level1::rotmg
 template< typename VectorDPARAM >
 inline typename rotmg_impl< typename traits::vector_traits<
         VectorDPARAM >::value_type >::return_type
@@ -68,6 +67,6 @@
     rotmg_impl< value_type >::compute( d1, d2, x1, y1, dparam );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SCAL_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SCAL_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_SCAL_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_SCAL_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -64,7 +63,7 @@
     }
 };
 
-// template function to call scal
+// low-level template function for direct calls to level1::scal
 template< typename VectorX >
 inline typename scal_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -74,6 +73,6 @@
     scal_impl< value_type >::compute( a, x );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SDOT_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SDOT_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_SDOT_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_SDOT_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -54,7 +53,7 @@
     }
 };
 
-// template function to call sdot
+// low-level template function for direct calls to level1::sdot
 template< typename VectorSX, typename VectorSY >
 inline typename sdot_impl< typename traits::vector_traits<
         VectorSX >::value_type >::return_type
@@ -64,6 +63,6 @@
     return sdot_impl< value_type >::compute( n, sx, incx, sy, incy );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SROT_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SROT_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_SROT_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_SROT_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,16 +24,15 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
- inline void srot( integer_t const n, traits::complex_f* cx,
- integer_t const incx, traits::complex_f* cy, integer_t const incy,
+ inline void srot( integer_t const n, traits::complex_f* x,
+ integer_t const incx, traits::complex_f* y, integer_t const incy,
             float const c, float const s ) {
- BLAS_CSROT( &n, traits::complex_ptr(cx), &incx,
- traits::complex_ptr(cy), &incy, &c, &s );
+ BLAS_CSROT( &n, traits::complex_ptr(x), &incx, traits::complex_ptr(y),
+ &incy, &c, &s );
     }
 }
 
@@ -45,29 +44,30 @@
     typedef void return_type;
 
     // templated specialization
- template< typename VectorCX, typename VectorCY >
- static return_type compute( integer_t const n, VectorCX& cx, VectorCY& cy,
+ template< typename VectorX, typename VectorY >
+ static return_type compute( integer_t const n, VectorX& x,
+ integer_t const incx, VectorY& y, integer_t const incy,
             real_type const c, real_type const s ) {
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
- VectorCX >::value_type, typename traits::vector_traits<
- VectorCY >::value_type >::value) );
- detail::srot( n, traits::vector_storage(cx),
- traits::vector_stride(cx), traits::vector_storage(cy),
- traits::vector_stride(cy), c, s );
+ VectorX >::value_type, typename traits::vector_traits<
+ VectorY >::value_type >::value) );
+ detail::srot( n, traits::vector_storage(x), incx,
+ traits::vector_storage(y), incy, c, s );
     }
 };
 
-// template function to call srot
-template< typename VectorCX, typename VectorCY >
+// low-level template function for direct calls to level1::srot
+template< typename VectorX, typename VectorY >
 inline typename srot_impl< typename traits::vector_traits<
- VectorCX >::value_type >::return_type
-srot( integer_t const n, VectorCX& cx, VectorCY& cy,
- typename traits::vector_traits< VectorCX >::value_type const c,
- typename traits::vector_traits< VectorCX >::value_type const s ) {
- typedef typename traits::vector_traits< VectorCX >::value_type value_type;
- srot_impl< value_type >::compute( n, cx, cy, c, s );
+ VectorX >::value_type >::return_type
+srot( integer_t const n, VectorX& x, integer_t const incx, VectorY& y,
+ integer_t const incy, typename traits::vector_traits<
+ VectorX >::value_type const c, typename traits::vector_traits<
+ VectorX >::value_type const s ) {
+ typedef typename traits::vector_traits< VectorX >::value_type value_type;
+ srot_impl< value_type >::compute( n, x, incx, y, incy, c, s );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SWAP_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SWAP_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_SWAP_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL1_SWAP_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level1 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -70,7 +69,7 @@
     }
 };
 
-// template function to call swap
+// low-level template function for direct calls to level1::swap
 template< typename VectorX, typename VectorY >
 inline typename swap_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -79,6 +78,6 @@
     swap_impl< value_type >::compute( x, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level1
 
 #endif

Added: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2.hpp
==============================================================================
--- (empty file)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2.hpp 2009-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -0,0 +1,12 @@
+//
+// 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_LEVEL2_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_GBMV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_GBMV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_GBMV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_GBMV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -91,7 +90,7 @@
     }
 };
 
-// template function to call gbmv
+// low-level template function for direct calls to level2::gbmv
 template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename gbmv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -104,6 +103,6 @@
             y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_GEMV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_GEMV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_GEMV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_GEMV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -88,7 +87,7 @@
     }
 };
 
-// template function to call gemv
+// low-level template function for direct calls to level2::gemv
 template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename gemv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -100,6 +99,6 @@
     gemv_impl< value_type >::compute( trans, alpha, a, x, beta, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_GER_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_GER_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_GER_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_GER_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -66,7 +65,7 @@
     }
 };
 
-// template function to call ger
+// low-level template function for direct calls to level2::ger
 template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename ger_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -76,6 +75,6 @@
     ger_impl< value_type >::compute( alpha, x, y, a );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_GERC_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_GERC_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_GERC_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_GERC_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -72,7 +71,7 @@
     }
 };
 
-// template function to call gerc
+// low-level template function for direct calls to level2::gerc
 template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename gerc_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -82,6 +81,6 @@
     gerc_impl< value_type >::compute( alpha, x, y, a );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_GERU_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_GERU_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_GERU_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_GERU_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -72,7 +71,7 @@
     }
 };
 
-// template function to call geru
+// low-level template function for direct calls to level2::geru
 template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename geru_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -82,6 +81,6 @@
     geru_impl< value_type >::compute( alpha, x, y, a );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_HBMV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_HBMV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HBMV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HBMV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -74,7 +73,7 @@
     }
 };
 
-// template function to call hbmv
+// low-level template function for direct calls to level2::hbmv
 template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename hbmv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -86,6 +85,6 @@
     hbmv_impl< value_type >::compute( k, alpha, a, x, beta, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_HEMV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_HEMV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HEMV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HEMV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -74,7 +73,7 @@
     }
 };
 
-// template function to call hemv
+// low-level template function for direct calls to level2::hemv
 template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename hemv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -85,6 +84,6 @@
     hemv_impl< value_type >::compute( alpha, a, x, beta, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_HER_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_HER_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HER_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HER_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -64,7 +63,7 @@
     }
 };
 
-// template function to call her
+// low-level template function for direct calls to level2::her
 template< typename VectorX, typename MatrixA >
 inline typename her_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -74,6 +73,6 @@
     her_impl< value_type >::compute( alpha, x, a );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_HER2_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_HER2_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HER2_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HER2_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -72,7 +71,7 @@
     }
 };
 
-// template function to call her2
+// low-level template function for direct calls to level2::her2
 template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename her2_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -82,6 +81,6 @@
     her2_impl< value_type >::compute( alpha, x, y, a );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_HPMV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_HPMV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HPMV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HPMV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -74,7 +73,7 @@
     }
 };
 
-// template function to call hpmv
+// low-level template function for direct calls to level2::hpmv
 template< typename MatrixAP, typename VectorX, typename VectorY >
 inline typename hpmv_impl< typename traits::matrix_traits<
         MatrixAP >::value_type >::return_type
@@ -86,6 +85,6 @@
     hpmv_impl< value_type >::compute( alpha, ap, x, beta, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_HPR_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_HPR_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HPR_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HPR_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -64,7 +63,7 @@
     }
 };
 
-// template function to call hpr
+// low-level template function for direct calls to level2::hpr
 template< typename VectorX, typename MatrixAP >
 inline typename hpr_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -74,6 +73,6 @@
     hpr_impl< value_type >::compute( alpha, x, ap );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_HPR2_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_HPR2_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HPR2_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_HPR2_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -72,7 +71,7 @@
     }
 };
 
-// template function to call hpr2
+// low-level template function for direct calls to level2::hpr2
 template< typename VectorX, typename VectorY, typename MatrixAP >
 inline typename hpr2_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -82,6 +81,6 @@
     hpr2_impl< value_type >::compute( alpha, x, y, ap );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SBMV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SBMV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SBMV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SBMV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -70,7 +69,7 @@
     }
 };
 
-// template function to call sbmv
+// low-level template function for direct calls to level2::sbmv
 template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename sbmv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -82,6 +81,6 @@
     sbmv_impl< value_type >::compute( k, alpha, a, x, beta, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SPMV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SPMV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SPMV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SPMV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -66,7 +65,7 @@
     }
 };
 
-// template function to call spmv
+// low-level template function for direct calls to level2::spmv
 template< typename MatrixAP, typename VectorX, typename VectorY >
 inline typename spmv_impl< typename traits::matrix_traits<
         MatrixAP >::value_type >::return_type
@@ -78,6 +77,6 @@
     spmv_impl< value_type >::compute( alpha, ap, x, beta, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SPR_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SPR_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SPR_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SPR_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -60,7 +59,7 @@
     }
 };
 
-// template function to call spr
+// low-level template function for direct calls to level2::spr
 template< typename VectorX, typename MatrixAP >
 inline typename spr_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -70,6 +69,6 @@
     spr_impl< value_type >::compute( alpha, x, ap );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SPR2_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SPR2_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SPR2_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SPR2_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -66,7 +65,7 @@
     }
 };
 
-// template function to call spr2
+// low-level template function for direct calls to level2::spr2
 template< typename VectorX, typename VectorY, typename MatrixAP >
 inline typename spr2_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -76,6 +75,6 @@
     spr2_impl< value_type >::compute( alpha, x, y, ap );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SYMV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SYMV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SYMV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SYMV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -66,7 +65,7 @@
     }
 };
 
-// template function to call symv
+// low-level template function for direct calls to level2::symv
 template< typename MatrixA, typename VectorX, typename VectorY >
 inline typename symv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -77,6 +76,6 @@
     symv_impl< value_type >::compute( alpha, a, x, beta, y );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SYR_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SYR_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SYR_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SYR_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -60,7 +59,7 @@
     }
 };
 
-// template function to call syr
+// low-level template function for direct calls to level2::syr
 template< typename VectorX, typename MatrixA >
 inline typename syr_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -70,6 +69,6 @@
     syr_impl< value_type >::compute( alpha, x, a );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SYR2_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SYR2_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SYR2_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_SYR2_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -66,7 +65,7 @@
     }
 };
 
-// template function to call syr2
+// low-level template function for direct calls to level2::syr2
 template< typename VectorX, typename VectorY, typename MatrixA >
 inline typename syr2_impl< typename traits::vector_traits<
         VectorX >::value_type >::return_type
@@ -76,6 +75,6 @@
     syr2_impl< value_type >::compute( alpha, x, y, a );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_TBMV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_TBMV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_TBMV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_TBMV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -74,7 +73,7 @@
     }
 };
 
-// template function to call tbmv
+// low-level template function for direct calls to level2::tbmv
 template< typename MatrixA, typename VectorX >
 inline typename tbmv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -84,6 +83,6 @@
     tbmv_impl< value_type >::compute( trans, diag, k, a, x );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_TBSV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_TBSV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_TBSV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_TBSV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -74,7 +73,7 @@
     }
 };
 
-// template function to call tbsv
+// low-level template function for direct calls to level2::tbsv
 template< typename MatrixA, typename VectorX >
 inline typename tbsv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -84,6 +83,6 @@
     tbsv_impl< value_type >::compute( trans, diag, k, a, x );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_TPMV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_TPMV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_TPMV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_TPMV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -71,7 +70,7 @@
     }
 };
 
-// template function to call tpmv
+// low-level template function for direct calls to level2::tpmv
 template< typename MatrixAP, typename VectorX >
 inline typename tpmv_impl< typename traits::matrix_traits<
         MatrixAP >::value_type >::return_type
@@ -80,6 +79,6 @@
     tpmv_impl< value_type >::compute( trans, diag, ap, x );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_TPSV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_TPSV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_TPSV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_TPSV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -71,7 +70,7 @@
     }
 };
 
-// template function to call tpsv
+// low-level template function for direct calls to level2::tpsv
 template< typename MatrixAP, typename VectorX >
 inline typename tpsv_impl< typename traits::matrix_traits<
         MatrixAP >::value_type >::return_type
@@ -80,6 +79,6 @@
     tpsv_impl< value_type >::compute( trans, diag, ap, x );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_TRMV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_TRMV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_TRMV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_TRMV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -74,7 +73,7 @@
     }
 };
 
-// template function to call trmv
+// low-level template function for direct calls to level2::trmv
 template< typename MatrixA, typename VectorX >
 inline typename trmv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -83,6 +82,6 @@
     trmv_impl< value_type >::compute( trans, diag, a, x );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_TRSV_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_TRSV_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_TRSV_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL2_TRSV_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level2 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -74,7 +73,7 @@
     }
 };
 
-// template function to call trsv
+// low-level template function for direct calls to level2::trsv
 template< typename MatrixA, typename VectorX >
 inline typename trsv_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -83,6 +82,6 @@
     trsv_impl< value_type >::compute( trans, diag, a, x );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level2
 
 #endif

Added: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3.hpp
==============================================================================
--- (empty file)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3.hpp 2009-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -0,0 +1,12 @@
+//
+// 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_LEVEL3_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_GEMM_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_GEMM_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_GEMM_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_GEMM_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -91,7 +90,7 @@
     }
 };
 
-// template function to call gemm
+// low-level template function for direct calls to level3::gemm
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename gemm_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -104,6 +103,6 @@
             beta, c );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level3
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_HEMM_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_HEMM_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_HEMM_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_HEMM_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -75,7 +74,7 @@
     }
 };
 
-// template function to call hemm
+// low-level template function for direct calls to level3::hemm
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename hemm_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -87,6 +86,6 @@
     hemm_impl< value_type >::compute( side, alpha, a, b, beta, c );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level3
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_HER2K_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_HER2K_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_HER2K_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_HER2K_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -75,7 +74,7 @@
     }
 };
 
-// template function to call her2k
+// low-level template function for direct calls to level3::her2k
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename her2k_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -87,6 +86,6 @@
     her2k_impl< value_type >::compute( trans, k, alpha, a, b, beta, c );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level3
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_HERK_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_HERK_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_HERK_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_HERK_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -67,7 +66,7 @@
     }
 };
 
-// template function to call herk
+// low-level template function for direct calls to level3::herk
 template< typename MatrixA, typename MatrixC >
 inline typename herk_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -79,6 +78,6 @@
     herk_impl< value_type >::compute( trans, k, alpha, a, beta, c );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level3
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SYMM_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SYMM_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_SYMM_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_SYMM_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -89,7 +88,7 @@
     }
 };
 
-// template function to call symm
+// low-level template function for direct calls to level3::symm
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename symm_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -101,6 +100,6 @@
     symm_impl< value_type >::compute( side, alpha, a, b, beta, c );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level3
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SYR2K_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SYR2K_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_SYR2K_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_SYR2K_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -89,7 +88,7 @@
     }
 };
 
-// template function to call syr2k
+// low-level template function for direct calls to level3::syr2k
 template< typename MatrixA, typename MatrixB, typename MatrixC >
 inline typename syr2k_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -101,6 +100,6 @@
     syr2k_impl< value_type >::compute( trans, k, alpha, a, b, beta, c );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level3
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_SYRK_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_SYRK_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_SYRK_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_SYRK_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -83,7 +82,7 @@
     }
 };
 
-// template function to call syrk
+// low-level template function for direct calls to level3::syrk
 template< typename MatrixA, typename MatrixC >
 inline typename syrk_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -95,6 +94,6 @@
     syrk_impl< value_type >::compute( trans, k, alpha, a, beta, c );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level3
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_TRMM_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_TRMM_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_TRMM_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_TRMM_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -83,7 +82,7 @@
     }
 };
 
-// template function to call trmm
+// low-level template function for direct calls to level3::trmm
 template< typename MatrixA, typename MatrixB >
 inline typename trmm_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -94,6 +93,6 @@
     trmm_impl< value_type >::compute( side, transa, diag, alpha, a, b );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level3
 
 #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-03-11 16:38:40 EDT (Wed, 11 Mar 2009)
@@ -11,10 +11,10 @@
 // PLEASE DO NOT EDIT!
 //
 
-#ifndef BOOST_NUMERIC_BINDINGS_BLAS_TRSM_HPP
-#define BOOST_NUMERIC_BINDINGS_BLAS_TRSM_HPP
+#ifndef BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_TRSM_HPP
+#define BOOST_NUMERIC_BINDINGS_BLAS_LEVEL3_TRSM_HPP
 
-#include <boost/numeric/bindings/blas/blas.h>
+#include <boost/numeric/bindings/blas/detail/blas.h>
 #include <boost/numeric/bindings/traits/traits.hpp>
 #include <boost/numeric/bindings/traits/type_traits.hpp>
 #include <boost/static_assert.hpp>
@@ -24,8 +24,7 @@
 namespace numeric {
 namespace bindings {
 namespace blas {
-
-//$DESCRIPTION
+namespace level3 {
 
 // overloaded functions to call blas
 namespace detail {
@@ -83,7 +82,7 @@
     }
 };
 
-// template function to call trsm
+// low-level template function for direct calls to level3::trsm
 template< typename MatrixA, typename MatrixB >
 inline typename trsm_impl< typename traits::matrix_traits<
         MatrixA >::value_type >::return_type
@@ -94,6 +93,6 @@
     trsm_impl< value_type >::compute( side, transa, diag, alpha, a, b );
 }
 
-}}}} // namespace boost::numeric::bindings::blas
+}}}}} // namespace boost::numeric::bindings::blas::level3
 
 #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