mirror of
http://172.16.200.102/MOISE/Timed-Altarica-To-Fiacre-Translator.git
synced 2025-11-26 06:37:59 +01:00
Initial commit.
This commit is contained in:
574
sdk/boost/numeric/bindings/blas/detail/blas.h
Normal file
574
sdk/boost/numeric/bindings/blas/detail/blas.h
Normal file
@@ -0,0 +1,574 @@
|
||||
//
|
||||
// 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/blas/detail/blas_names.h>
|
||||
|
||||
extern "C" {
|
||||
|
||||
//
|
||||
// BLAS level1 routines
|
||||
//
|
||||
|
||||
// Value-type variants of asum
|
||||
float BLAS_SASUM( const fortran_int_t* n, const float* x,
|
||||
const fortran_int_t* incx );
|
||||
double BLAS_DASUM( const fortran_int_t* n, const double* x,
|
||||
const fortran_int_t* incx );
|
||||
float BLAS_SCASUM( const fortran_int_t* n, const void* x,
|
||||
const fortran_int_t* incx );
|
||||
double BLAS_DZASUM( const fortran_int_t* n, const void* x,
|
||||
const fortran_int_t* incx );
|
||||
|
||||
// Value-type variants of axpy
|
||||
void BLAS_SAXPY( const fortran_int_t* n, const float* a, const float* x,
|
||||
const fortran_int_t* incx, float* y, const fortran_int_t* incy );
|
||||
void BLAS_DAXPY( const fortran_int_t* n, const double* a, const double* x,
|
||||
const fortran_int_t* incx, double* y, const fortran_int_t* incy );
|
||||
void BLAS_CAXPY( const fortran_int_t* n, const void* a, const void* x,
|
||||
const fortran_int_t* incx, void* y, const fortran_int_t* incy );
|
||||
void BLAS_ZAXPY( const fortran_int_t* n, const void* a, const void* x,
|
||||
const fortran_int_t* incx, void* y, const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of copy
|
||||
void BLAS_SCOPY( const fortran_int_t* n, const float* x,
|
||||
const fortran_int_t* incx, float* y, const fortran_int_t* incy );
|
||||
void BLAS_DCOPY( const fortran_int_t* n, const double* x,
|
||||
const fortran_int_t* incx, double* y, const fortran_int_t* incy );
|
||||
void BLAS_CCOPY( const fortran_int_t* n, const void* x,
|
||||
const fortran_int_t* incx, void* y, const fortran_int_t* incy );
|
||||
void BLAS_ZCOPY( const fortran_int_t* n, const void* x,
|
||||
const fortran_int_t* incx, void* y, const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of dot
|
||||
float BLAS_SDOT( const fortran_int_t* n, const float* x,
|
||||
const fortran_int_t* incx, const float* y, const fortran_int_t* incy );
|
||||
double BLAS_DDOT( const fortran_int_t* n, const double* x,
|
||||
const fortran_int_t* incx, const double* y,
|
||||
const fortran_int_t* incy );
|
||||
std::complex<float> BLAS_CDOTU( const fortran_int_t* n, const void* x,
|
||||
const fortran_int_t* incx, const void* y, const fortran_int_t* incy );
|
||||
std::complex<double> BLAS_ZDOTU( const fortran_int_t* n, const void* x,
|
||||
const fortran_int_t* incx, const void* y, const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of dotc
|
||||
std::complex<float> BLAS_CDOTC( const fortran_int_t* n, const void* x,
|
||||
const fortran_int_t* incx, const void* y, const fortran_int_t* incy );
|
||||
std::complex<double> BLAS_ZDOTC( const fortran_int_t* n, const void* x,
|
||||
const fortran_int_t* incx, const void* y, const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of iamax
|
||||
fortran_int_t BLAS_ISAMAX( const fortran_int_t* n, const float* x,
|
||||
const fortran_int_t* incx );
|
||||
fortran_int_t BLAS_IDAMAX( const fortran_int_t* n, const double* x,
|
||||
const fortran_int_t* incx );
|
||||
fortran_int_t BLAS_ICAMAX( const fortran_int_t* n, const void* x,
|
||||
const fortran_int_t* incx );
|
||||
fortran_int_t BLAS_IZAMAX( const fortran_int_t* n, const void* x,
|
||||
const fortran_int_t* incx );
|
||||
|
||||
// Value-type variants of nrm2
|
||||
float BLAS_SNRM2( const fortran_int_t* n, const float* x,
|
||||
const fortran_int_t* incx );
|
||||
double BLAS_DNRM2( const fortran_int_t* n, const double* x,
|
||||
const fortran_int_t* incx );
|
||||
float BLAS_SCNRM2( const fortran_int_t* n, const void* x,
|
||||
const fortran_int_t* incx );
|
||||
double BLAS_DZNRM2( const fortran_int_t* n, const void* x,
|
||||
const fortran_int_t* incx );
|
||||
|
||||
// Value-type variants of prec_dot
|
||||
double BLAS_DSDOT( const fortran_int_t* n, const float* x,
|
||||
const fortran_int_t* incx, const float* y, const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of rot
|
||||
void BLAS_SROT( const fortran_int_t* n, float* x, const fortran_int_t* incx,
|
||||
float* y, const fortran_int_t* incy, const float* c, const float* s );
|
||||
void BLAS_DROT( const fortran_int_t* n, double* x, const fortran_int_t* incx,
|
||||
double* y, const fortran_int_t* incy, const double* c,
|
||||
const double* s );
|
||||
void BLAS_CSROT( const fortran_int_t* n, void* x, const fortran_int_t* incx,
|
||||
void* y, const fortran_int_t* incy, const float* c, const float* s );
|
||||
void BLAS_ZDROT( const fortran_int_t* n, void* x, const fortran_int_t* incx,
|
||||
void* y, const fortran_int_t* incy, const double* c, const double* 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( void* a, void* b, float* c, void* s );
|
||||
void BLAS_ZROTG( void* a, void* b, double* c, void* s );
|
||||
|
||||
// Value-type variants of rotm
|
||||
void BLAS_SROTM( const fortran_int_t* n, float* x, const fortran_int_t* incx,
|
||||
float* y, const fortran_int_t* incy, float* param );
|
||||
void BLAS_DROTM( const fortran_int_t* n, double* x, const fortran_int_t* incx,
|
||||
double* y, const fortran_int_t* incy, double* param );
|
||||
|
||||
// Value-type variants of rotmg
|
||||
void BLAS_SROTMG( float* d1, float* d2, float* x1, const float* y1,
|
||||
float* sparam );
|
||||
void BLAS_DROTMG( double* d1, double* d2, double* x1, const double* y1,
|
||||
double* dparam );
|
||||
|
||||
// Value-type variants of scal
|
||||
void BLAS_SSCAL( const fortran_int_t* n, const float* a, float* x,
|
||||
const fortran_int_t* incx );
|
||||
void BLAS_DSCAL( const fortran_int_t* n, const double* a, double* x,
|
||||
const fortran_int_t* incx );
|
||||
void BLAS_CSSCAL( const fortran_int_t* n, const float* a, void* x,
|
||||
const fortran_int_t* incx );
|
||||
void BLAS_ZDSCAL( const fortran_int_t* n, const double* a, void* x,
|
||||
const fortran_int_t* incx );
|
||||
void BLAS_CSCAL( const fortran_int_t* n, const void* a, void* x,
|
||||
const fortran_int_t* incx );
|
||||
void BLAS_ZSCAL( const fortran_int_t* n, const void* a, void* x,
|
||||
const fortran_int_t* incx );
|
||||
|
||||
// Value-type variants of swap
|
||||
void BLAS_SSWAP( const fortran_int_t* n, float* x, const fortran_int_t* incx,
|
||||
float* y, const fortran_int_t* incy );
|
||||
void BLAS_DSWAP( const fortran_int_t* n, double* x, const fortran_int_t* incx,
|
||||
double* y, const fortran_int_t* incy );
|
||||
void BLAS_CSWAP( const fortran_int_t* n, void* x, const fortran_int_t* incx,
|
||||
void* y, const fortran_int_t* incy );
|
||||
void BLAS_ZSWAP( const fortran_int_t* n, void* x, const fortran_int_t* incx,
|
||||
void* y, const fortran_int_t* incy );
|
||||
|
||||
//
|
||||
// BLAS level2 routines
|
||||
//
|
||||
|
||||
// Value-type variants of gbmv
|
||||
void BLAS_SGBMV( const char* trans, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const fortran_int_t* kl,
|
||||
const fortran_int_t* ku, const float* alpha, const float* a,
|
||||
const fortran_int_t* lda, const float* x, const fortran_int_t* incx,
|
||||
const float* beta, float* y, const fortran_int_t* incy );
|
||||
void BLAS_DGBMV( const char* trans, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const fortran_int_t* kl,
|
||||
const fortran_int_t* ku, const double* alpha, const double* a,
|
||||
const fortran_int_t* lda, const double* x, const fortran_int_t* incx,
|
||||
const double* beta, double* y, const fortran_int_t* incy );
|
||||
void BLAS_CGBMV( const char* trans, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const fortran_int_t* kl,
|
||||
const fortran_int_t* ku, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* x, const fortran_int_t* incx,
|
||||
const void* beta, void* y, const fortran_int_t* incy );
|
||||
void BLAS_ZGBMV( const char* trans, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const fortran_int_t* kl,
|
||||
const fortran_int_t* ku, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* x, const fortran_int_t* incx,
|
||||
const void* beta, void* y, const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of gemv
|
||||
void BLAS_SGEMV( const char* trans, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const float* alpha, const float* a,
|
||||
const fortran_int_t* lda, const float* x, const fortran_int_t* incx,
|
||||
const float* beta, float* y, const fortran_int_t* incy );
|
||||
void BLAS_DGEMV( const char* trans, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const double* alpha, const double* a,
|
||||
const fortran_int_t* lda, const double* x, const fortran_int_t* incx,
|
||||
const double* beta, double* y, const fortran_int_t* incy );
|
||||
void BLAS_CGEMV( const char* trans, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* x, const fortran_int_t* incx,
|
||||
const void* beta, void* y, const fortran_int_t* incy );
|
||||
void BLAS_ZGEMV( const char* trans, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* x, const fortran_int_t* incx,
|
||||
const void* beta, void* y, const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of ger
|
||||
void BLAS_SGER( const fortran_int_t* m, const fortran_int_t* n,
|
||||
const float* alpha, const float* x, const fortran_int_t* incx,
|
||||
const float* y, const fortran_int_t* incy, float* a,
|
||||
const fortran_int_t* lda );
|
||||
void BLAS_DGER( const fortran_int_t* m, const fortran_int_t* n,
|
||||
const double* alpha, const double* x, const fortran_int_t* incx,
|
||||
const double* y, const fortran_int_t* incy, double* a,
|
||||
const fortran_int_t* lda );
|
||||
|
||||
// Value-type variants of gerc
|
||||
void BLAS_CGERC( const fortran_int_t* m, const fortran_int_t* n,
|
||||
const void* alpha, const void* x, const fortran_int_t* incx,
|
||||
const void* y, const fortran_int_t* incy, void* a,
|
||||
const fortran_int_t* lda );
|
||||
void BLAS_ZGERC( const fortran_int_t* m, const fortran_int_t* n,
|
||||
const void* alpha, const void* x, const fortran_int_t* incx,
|
||||
const void* y, const fortran_int_t* incy, void* a,
|
||||
const fortran_int_t* lda );
|
||||
|
||||
// Value-type variants of geru
|
||||
void BLAS_CGERU( const fortran_int_t* m, const fortran_int_t* n,
|
||||
const void* alpha, const void* x, const fortran_int_t* incx,
|
||||
const void* y, const fortran_int_t* incy, void* a,
|
||||
const fortran_int_t* lda );
|
||||
void BLAS_ZGERU( const fortran_int_t* m, const fortran_int_t* n,
|
||||
const void* alpha, const void* x, const fortran_int_t* incx,
|
||||
const void* y, const fortran_int_t* incy, void* a,
|
||||
const fortran_int_t* lda );
|
||||
|
||||
// Value-type variants of hbmv
|
||||
void BLAS_CHBMV( const char* uplo, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* x, const fortran_int_t* incx,
|
||||
const void* beta, void* y, const fortran_int_t* incy );
|
||||
void BLAS_ZHBMV( const char* uplo, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* x, const fortran_int_t* incx,
|
||||
const void* beta, void* y, const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of hemv
|
||||
void BLAS_CHEMV( const char* uplo, const fortran_int_t* n, const void* alpha,
|
||||
const void* a, const fortran_int_t* lda, const void* x,
|
||||
const fortran_int_t* incx, const void* beta, void* y,
|
||||
const fortran_int_t* incy );
|
||||
void BLAS_ZHEMV( const char* uplo, const fortran_int_t* n, const void* alpha,
|
||||
const void* a, const fortran_int_t* lda, const void* x,
|
||||
const fortran_int_t* incx, const void* beta, void* y,
|
||||
const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of her
|
||||
void BLAS_CHER( const char* uplo, const fortran_int_t* n, const float* alpha,
|
||||
const void* x, const fortran_int_t* incx, void* a,
|
||||
const fortran_int_t* lda );
|
||||
void BLAS_ZHER( const char* uplo, const fortran_int_t* n, const double* alpha,
|
||||
const void* x, const fortran_int_t* incx, void* a,
|
||||
const fortran_int_t* lda );
|
||||
|
||||
// Value-type variants of her2
|
||||
void BLAS_CHER2( const char* uplo, const fortran_int_t* n, const void* alpha,
|
||||
const void* x, const fortran_int_t* incx, const void* y,
|
||||
const fortran_int_t* incy, void* a, const fortran_int_t* lda );
|
||||
void BLAS_ZHER2( const char* uplo, const fortran_int_t* n, const void* alpha,
|
||||
const void* x, const fortran_int_t* incx, const void* y,
|
||||
const fortran_int_t* incy, void* a, const fortran_int_t* lda );
|
||||
|
||||
// Value-type variants of hpmv
|
||||
void BLAS_CHPMV( const char* uplo, const fortran_int_t* n, const void* alpha,
|
||||
const void* ap, const void* x, const fortran_int_t* incx,
|
||||
const void* beta, void* y, const fortran_int_t* incy );
|
||||
void BLAS_ZHPMV( const char* uplo, const fortran_int_t* n, const void* alpha,
|
||||
const void* ap, const void* x, const fortran_int_t* incx,
|
||||
const void* beta, void* y, const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of hpr
|
||||
void BLAS_CHPR( const char* uplo, const fortran_int_t* n, const float* alpha,
|
||||
const void* x, const fortran_int_t* incx, void* ap );
|
||||
void BLAS_ZHPR( const char* uplo, const fortran_int_t* n, const double* alpha,
|
||||
const void* x, const fortran_int_t* incx, void* ap );
|
||||
|
||||
// Value-type variants of hpr2
|
||||
void BLAS_CHPR2( const char* uplo, const fortran_int_t* n, const void* alpha,
|
||||
const void* x, const fortran_int_t* incx, const void* y,
|
||||
const fortran_int_t* incy, void* ap );
|
||||
void BLAS_ZHPR2( const char* uplo, const fortran_int_t* n, const void* alpha,
|
||||
const void* x, const fortran_int_t* incx, const void* y,
|
||||
const fortran_int_t* incy, void* ap );
|
||||
|
||||
// Value-type variants of sbmv
|
||||
void BLAS_SSBMV( const char* uplo, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const float* alpha, const float* a,
|
||||
const fortran_int_t* lda, const float* x, const fortran_int_t* incx,
|
||||
const float* beta, float* y, const fortran_int_t* incy );
|
||||
void BLAS_DSBMV( const char* uplo, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const double* alpha, const double* a,
|
||||
const fortran_int_t* lda, const double* x, const fortran_int_t* incx,
|
||||
const double* beta, double* y, const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of spmv
|
||||
void BLAS_SSPMV( const char* uplo, const fortran_int_t* n, const float* alpha,
|
||||
const float* ap, const float* x, const fortran_int_t* incx,
|
||||
const float* beta, float* y, const fortran_int_t* incy );
|
||||
void BLAS_DSPMV( const char* uplo, const fortran_int_t* n,
|
||||
const double* alpha, const double* ap, const double* x,
|
||||
const fortran_int_t* incx, const double* beta, double* y,
|
||||
const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of spr
|
||||
void BLAS_SSPR( const char* uplo, const fortran_int_t* n, const float* alpha,
|
||||
const float* x, const fortran_int_t* incx, float* ap );
|
||||
void BLAS_DSPR( const char* uplo, const fortran_int_t* n, const double* alpha,
|
||||
const double* x, const fortran_int_t* incx, double* ap );
|
||||
|
||||
// Value-type variants of spr2
|
||||
void BLAS_SSPR2( const char* uplo, const fortran_int_t* n, const float* alpha,
|
||||
const float* x, const fortran_int_t* incx, const float* y,
|
||||
const fortran_int_t* incy, float* ap );
|
||||
void BLAS_DSPR2( const char* uplo, const fortran_int_t* n,
|
||||
const double* alpha, const double* x, const fortran_int_t* incx,
|
||||
const double* y, const fortran_int_t* incy, double* ap );
|
||||
|
||||
// Value-type variants of symv
|
||||
void BLAS_SSYMV( const char* uplo, const fortran_int_t* n, const float* alpha,
|
||||
const float* a, const fortran_int_t* lda, const float* x,
|
||||
const fortran_int_t* incx, const float* beta, float* y,
|
||||
const fortran_int_t* incy );
|
||||
void BLAS_DSYMV( const char* uplo, const fortran_int_t* n,
|
||||
const double* alpha, const double* a, const fortran_int_t* lda,
|
||||
const double* x, const fortran_int_t* incx, const double* beta,
|
||||
double* y, const fortran_int_t* incy );
|
||||
|
||||
// Value-type variants of syr
|
||||
void BLAS_SSYR( const char* uplo, const fortran_int_t* n, const float* alpha,
|
||||
const float* x, const fortran_int_t* incx, float* a,
|
||||
const fortran_int_t* lda );
|
||||
void BLAS_DSYR( const char* uplo, const fortran_int_t* n, const double* alpha,
|
||||
const double* x, const fortran_int_t* incx, double* a,
|
||||
const fortran_int_t* lda );
|
||||
|
||||
// Value-type variants of syr2
|
||||
void BLAS_SSYR2( const char* uplo, const fortran_int_t* n, const float* alpha,
|
||||
const float* x, const fortran_int_t* incx, const float* y,
|
||||
const fortran_int_t* incy, float* a, const fortran_int_t* lda );
|
||||
void BLAS_DSYR2( const char* uplo, const fortran_int_t* n,
|
||||
const double* alpha, const double* x, const fortran_int_t* incx,
|
||||
const double* y, const fortran_int_t* incy, double* a,
|
||||
const fortran_int_t* lda );
|
||||
|
||||
// Value-type variants of tbmv
|
||||
void BLAS_STBMV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const fortran_int_t* k, const float* a,
|
||||
const fortran_int_t* lda, float* x, const fortran_int_t* incx );
|
||||
void BLAS_DTBMV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const fortran_int_t* k, const double* a,
|
||||
const fortran_int_t* lda, double* x, const fortran_int_t* incx );
|
||||
void BLAS_CTBMV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const fortran_int_t* k, const void* a,
|
||||
const fortran_int_t* lda, void* x, const fortran_int_t* incx );
|
||||
void BLAS_ZTBMV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const fortran_int_t* k, const void* a,
|
||||
const fortran_int_t* lda, void* x, const fortran_int_t* incx );
|
||||
|
||||
// Value-type variants of tbsv
|
||||
void BLAS_STBSV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const fortran_int_t* k, const float* a,
|
||||
const fortran_int_t* lda, float* x, const fortran_int_t* incx );
|
||||
void BLAS_DTBSV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const fortran_int_t* k, const double* a,
|
||||
const fortran_int_t* lda, double* x, const fortran_int_t* incx );
|
||||
void BLAS_CTBSV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const fortran_int_t* k, const void* a,
|
||||
const fortran_int_t* lda, void* x, const fortran_int_t* incx );
|
||||
void BLAS_ZTBSV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const fortran_int_t* k, const void* a,
|
||||
const fortran_int_t* lda, void* x, const fortran_int_t* incx );
|
||||
|
||||
// Value-type variants of tpmv
|
||||
void BLAS_STPMV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const float* ap, float* x,
|
||||
const fortran_int_t* incx );
|
||||
void BLAS_DTPMV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const double* ap, double* x,
|
||||
const fortran_int_t* incx );
|
||||
void BLAS_CTPMV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const void* ap, void* x,
|
||||
const fortran_int_t* incx );
|
||||
void BLAS_ZTPMV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const void* ap, void* x,
|
||||
const fortran_int_t* incx );
|
||||
|
||||
// Value-type variants of tpsv
|
||||
void BLAS_STPSV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const float* ap, float* x,
|
||||
const fortran_int_t* incx );
|
||||
void BLAS_DTPSV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const double* ap, double* x,
|
||||
const fortran_int_t* incx );
|
||||
void BLAS_CTPSV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const void* ap, void* x,
|
||||
const fortran_int_t* incx );
|
||||
void BLAS_ZTPSV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const void* ap, void* x,
|
||||
const fortran_int_t* incx );
|
||||
|
||||
// Value-type variants of trmv
|
||||
void BLAS_STRMV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const float* a, const fortran_int_t* lda,
|
||||
float* x, const fortran_int_t* incx );
|
||||
void BLAS_DTRMV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const double* a, const fortran_int_t* lda,
|
||||
double* x, const fortran_int_t* incx );
|
||||
void BLAS_CTRMV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const void* a, const fortran_int_t* lda,
|
||||
void* x, const fortran_int_t* incx );
|
||||
void BLAS_ZTRMV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const void* a, const fortran_int_t* lda,
|
||||
void* x, const fortran_int_t* incx );
|
||||
|
||||
// Value-type variants of trsv
|
||||
void BLAS_STRSV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const float* a, const fortran_int_t* lda,
|
||||
float* x, const fortran_int_t* incx );
|
||||
void BLAS_DTRSV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const double* a, const fortran_int_t* lda,
|
||||
double* x, const fortran_int_t* incx );
|
||||
void BLAS_CTRSV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const void* a, const fortran_int_t* lda,
|
||||
void* x, const fortran_int_t* incx );
|
||||
void BLAS_ZTRSV( const char* uplo, const char* trans, const char* diag,
|
||||
const fortran_int_t* n, const void* a, const fortran_int_t* lda,
|
||||
void* x, const fortran_int_t* incx );
|
||||
|
||||
//
|
||||
// BLAS level3 routines
|
||||
//
|
||||
|
||||
// Value-type variants of gemm
|
||||
void BLAS_SGEMM( const char* transa, const char* transb,
|
||||
const fortran_int_t* m, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const float* alpha, const float* a,
|
||||
const fortran_int_t* lda, const float* b, const fortran_int_t* ldb,
|
||||
const float* beta, float* c, const fortran_int_t* ldc );
|
||||
void BLAS_DGEMM( const char* transa, const char* transb,
|
||||
const fortran_int_t* m, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const double* alpha, const double* a,
|
||||
const fortran_int_t* lda, const double* b, const fortran_int_t* ldb,
|
||||
const double* beta, double* c, const fortran_int_t* ldc );
|
||||
void BLAS_CGEMM( const char* transa, const char* transb,
|
||||
const fortran_int_t* m, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* b, const fortran_int_t* ldb,
|
||||
const void* beta, void* c, const fortran_int_t* ldc );
|
||||
void BLAS_ZGEMM( const char* transa, const char* transb,
|
||||
const fortran_int_t* m, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* b, const fortran_int_t* ldb,
|
||||
const void* beta, void* c, const fortran_int_t* ldc );
|
||||
|
||||
// Value-type variants of hemm
|
||||
void BLAS_CHEMM( const char* side, const char* uplo, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* b, const fortran_int_t* ldb,
|
||||
const void* beta, void* c, const fortran_int_t* ldc );
|
||||
void BLAS_ZHEMM( const char* side, const char* uplo, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* b, const fortran_int_t* ldb,
|
||||
const void* beta, void* c, const fortran_int_t* ldc );
|
||||
|
||||
// Value-type variants of her2k
|
||||
void BLAS_CHER2K( const char* uplo, const char* trans, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* b, const fortran_int_t* ldb,
|
||||
const float* beta, void* c, const fortran_int_t* ldc );
|
||||
void BLAS_ZHER2K( const char* uplo, const char* trans, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* b, const fortran_int_t* ldb,
|
||||
const double* beta, void* c, const fortran_int_t* ldc );
|
||||
|
||||
// Value-type variants of herk
|
||||
void BLAS_CHERK( const char* uplo, const char* trans, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const float* alpha, const void* a,
|
||||
const fortran_int_t* lda, const float* beta, void* c,
|
||||
const fortran_int_t* ldc );
|
||||
void BLAS_ZHERK( const char* uplo, const char* trans, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const double* alpha, const void* a,
|
||||
const fortran_int_t* lda, const double* beta, void* c,
|
||||
const fortran_int_t* ldc );
|
||||
|
||||
// Value-type variants of symm
|
||||
void BLAS_SSYMM( const char* side, const char* uplo, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const float* alpha, const float* a,
|
||||
const fortran_int_t* lda, const float* b, const fortran_int_t* ldb,
|
||||
const float* beta, float* c, const fortran_int_t* ldc );
|
||||
void BLAS_DSYMM( const char* side, const char* uplo, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const double* alpha, const double* a,
|
||||
const fortran_int_t* lda, const double* b, const fortran_int_t* ldb,
|
||||
const double* beta, double* c, const fortran_int_t* ldc );
|
||||
void BLAS_CSYMM( const char* side, const char* uplo, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* b, const fortran_int_t* ldb,
|
||||
const void* beta, void* c, const fortran_int_t* ldc );
|
||||
void BLAS_ZSYMM( const char* side, const char* uplo, const fortran_int_t* m,
|
||||
const fortran_int_t* n, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* b, const fortran_int_t* ldb,
|
||||
const void* beta, void* c, const fortran_int_t* ldc );
|
||||
|
||||
// Value-type variants of syr2k
|
||||
void BLAS_SSYR2K( const char* uplo, const char* trans, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const float* alpha, const float* a,
|
||||
const fortran_int_t* lda, const float* b, const fortran_int_t* ldb,
|
||||
const float* beta, float* c, const fortran_int_t* ldc );
|
||||
void BLAS_DSYR2K( const char* uplo, const char* trans, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const double* alpha, const double* a,
|
||||
const fortran_int_t* lda, const double* b, const fortran_int_t* ldb,
|
||||
const double* beta, double* c, const fortran_int_t* ldc );
|
||||
void BLAS_CSYR2K( const char* uplo, const char* trans, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* b, const fortran_int_t* ldb,
|
||||
const void* beta, void* c, const fortran_int_t* ldc );
|
||||
void BLAS_ZSYR2K( const char* uplo, const char* trans, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* b, const fortran_int_t* ldb,
|
||||
const void* beta, void* c, const fortran_int_t* ldc );
|
||||
|
||||
// Value-type variants of syrk
|
||||
void BLAS_SSYRK( const char* uplo, const char* trans, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const float* alpha, const float* a,
|
||||
const fortran_int_t* lda, const float* beta, float* c,
|
||||
const fortran_int_t* ldc );
|
||||
void BLAS_DSYRK( const char* uplo, const char* trans, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const double* alpha, const double* a,
|
||||
const fortran_int_t* lda, const double* beta, double* c,
|
||||
const fortran_int_t* ldc );
|
||||
void BLAS_CSYRK( const char* uplo, const char* trans, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* beta, void* c,
|
||||
const fortran_int_t* ldc );
|
||||
void BLAS_ZSYRK( const char* uplo, const char* trans, const fortran_int_t* n,
|
||||
const fortran_int_t* k, const void* alpha, const void* a,
|
||||
const fortran_int_t* lda, const void* beta, void* c,
|
||||
const fortran_int_t* ldc );
|
||||
|
||||
// Value-type variants of trmm
|
||||
void BLAS_STRMM( const char* side, const char* uplo, const char* transa,
|
||||
const char* diag, const fortran_int_t* m, const fortran_int_t* n,
|
||||
const float* alpha, const float* a, const fortran_int_t* lda,
|
||||
float* b, const fortran_int_t* ldb );
|
||||
void BLAS_DTRMM( const char* side, const char* uplo, const char* transa,
|
||||
const char* diag, const fortran_int_t* m, const fortran_int_t* n,
|
||||
const double* alpha, const double* a, const fortran_int_t* lda,
|
||||
double* b, const fortran_int_t* ldb );
|
||||
void BLAS_CTRMM( const char* side, const char* uplo, const char* transa,
|
||||
const char* diag, const fortran_int_t* m, const fortran_int_t* n,
|
||||
const void* alpha, const void* a, const fortran_int_t* lda, void* b,
|
||||
const fortran_int_t* ldb );
|
||||
void BLAS_ZTRMM( const char* side, const char* uplo, const char* transa,
|
||||
const char* diag, const fortran_int_t* m, const fortran_int_t* n,
|
||||
const void* alpha, const void* a, const fortran_int_t* lda, void* b,
|
||||
const fortran_int_t* ldb );
|
||||
|
||||
// Value-type variants of trsm
|
||||
void BLAS_STRSM( const char* side, const char* uplo, const char* transa,
|
||||
const char* diag, const fortran_int_t* m, const fortran_int_t* n,
|
||||
const float* alpha, const float* a, const fortran_int_t* lda,
|
||||
float* b, const fortran_int_t* ldb );
|
||||
void BLAS_DTRSM( const char* side, const char* uplo, const char* transa,
|
||||
const char* diag, const fortran_int_t* m, const fortran_int_t* n,
|
||||
const double* alpha, const double* a, const fortran_int_t* lda,
|
||||
double* b, const fortran_int_t* ldb );
|
||||
void BLAS_CTRSM( const char* side, const char* uplo, const char* transa,
|
||||
const char* diag, const fortran_int_t* m, const fortran_int_t* n,
|
||||
const void* alpha, const void* a, const fortran_int_t* lda, void* b,
|
||||
const fortran_int_t* ldb );
|
||||
void BLAS_ZTRSM( const char* side, const char* uplo, const char* transa,
|
||||
const char* diag, const fortran_int_t* m, const fortran_int_t* n,
|
||||
const void* alpha, const void* a, const fortran_int_t* lda, void* b,
|
||||
const fortran_int_t* ldb );
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
275
sdk/boost/numeric/bindings/blas/detail/blas_names.h
Normal file
275
sdk/boost/numeric/bindings/blas/detail/blas_names.h
Normal file
@@ -0,0 +1,275 @@
|
||||
//
|
||||
// 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/detail/config/fortran.hpp>
|
||||
|
||||
//
|
||||
// BLAS level1 routines
|
||||
//
|
||||
|
||||
// Value-type variants of asum
|
||||
#define BLAS_SASUM FORTRAN_ID2( sasum, SASUM )
|
||||
#define BLAS_DASUM FORTRAN_ID2( dasum, DASUM )
|
||||
#define BLAS_SCASUM FORTRAN_ID2( scasum, SCASUM )
|
||||
#define BLAS_DZASUM FORTRAN_ID2( dzasum, DZASUM )
|
||||
|
||||
// Value-type variants of axpy
|
||||
#define BLAS_SAXPY FORTRAN_ID2( saxpy, SAXPY )
|
||||
#define BLAS_DAXPY FORTRAN_ID2( daxpy, DAXPY )
|
||||
#define BLAS_CAXPY FORTRAN_ID2( caxpy, CAXPY )
|
||||
#define BLAS_ZAXPY FORTRAN_ID2( zaxpy, ZAXPY )
|
||||
|
||||
// Value-type variants of copy
|
||||
#define BLAS_SCOPY FORTRAN_ID2( scopy, SCOPY )
|
||||
#define BLAS_DCOPY FORTRAN_ID2( dcopy, DCOPY )
|
||||
#define BLAS_CCOPY FORTRAN_ID2( ccopy, CCOPY )
|
||||
#define BLAS_ZCOPY FORTRAN_ID2( zcopy, ZCOPY )
|
||||
|
||||
// Value-type variants of dot
|
||||
#define BLAS_SDOT FORTRAN_ID2( sdot, SDOT )
|
||||
#define BLAS_DDOT FORTRAN_ID2( ddot, DDOT )
|
||||
#define BLAS_CDOTU FORTRAN_ID2( cdotu, CDOTU )
|
||||
#define BLAS_ZDOTU FORTRAN_ID2( zdotu, ZDOTU )
|
||||
|
||||
// Value-type variants of dotc
|
||||
#define BLAS_CDOTC FORTRAN_ID2( cdotc, CDOTC )
|
||||
#define BLAS_ZDOTC FORTRAN_ID2( zdotc, ZDOTC )
|
||||
|
||||
// Value-type variants of iamax
|
||||
#define BLAS_ISAMAX FORTRAN_ID2( isamax, ISAMAX )
|
||||
#define BLAS_IDAMAX FORTRAN_ID2( idamax, IDAMAX )
|
||||
#define BLAS_ICAMAX FORTRAN_ID2( icamax, ICAMAX )
|
||||
#define BLAS_IZAMAX FORTRAN_ID2( izamax, IZAMAX )
|
||||
|
||||
// Value-type variants of nrm2
|
||||
#define BLAS_SNRM2 FORTRAN_ID2( snrm2, SNRM2 )
|
||||
#define BLAS_DNRM2 FORTRAN_ID2( dnrm2, DNRM2 )
|
||||
#define BLAS_SCNRM2 FORTRAN_ID2( scnrm2, SCNRM2 )
|
||||
#define BLAS_DZNRM2 FORTRAN_ID2( dznrm2, DZNRM2 )
|
||||
|
||||
// Value-type variants of prec_dot
|
||||
#define BLAS_DSDOT FORTRAN_ID2( dsdot, DSDOT )
|
||||
|
||||
// Value-type variants of rot
|
||||
#define BLAS_SROT FORTRAN_ID2( srot, SROT )
|
||||
#define BLAS_DROT FORTRAN_ID2( drot, DROT )
|
||||
#define BLAS_CSROT FORTRAN_ID2( csrot, CSROT )
|
||||
#define BLAS_ZDROT FORTRAN_ID2( zdrot, ZDROT )
|
||||
|
||||
// Value-type variants of rotg
|
||||
#define BLAS_SROTG FORTRAN_ID2( srotg, SROTG )
|
||||
#define BLAS_DROTG FORTRAN_ID2( drotg, DROTG )
|
||||
#define BLAS_CROTG FORTRAN_ID2( crotg, CROTG )
|
||||
#define BLAS_ZROTG FORTRAN_ID2( zrotg, ZROTG )
|
||||
|
||||
// Value-type variants of rotm
|
||||
#define BLAS_SROTM FORTRAN_ID2( srotm, SROTM )
|
||||
#define BLAS_DROTM FORTRAN_ID2( drotm, DROTM )
|
||||
|
||||
// Value-type variants of rotmg
|
||||
#define BLAS_SROTMG FORTRAN_ID2( srotmg, SROTMG )
|
||||
#define BLAS_DROTMG FORTRAN_ID2( drotmg, DROTMG )
|
||||
|
||||
// Value-type variants of scal
|
||||
#define BLAS_SSCAL FORTRAN_ID2( sscal, SSCAL )
|
||||
#define BLAS_DSCAL FORTRAN_ID2( dscal, DSCAL )
|
||||
#define BLAS_CSSCAL FORTRAN_ID2( csscal, CSSCAL )
|
||||
#define BLAS_ZDSCAL FORTRAN_ID2( zdscal, ZDSCAL )
|
||||
#define BLAS_CSCAL FORTRAN_ID2( cscal, CSCAL )
|
||||
#define BLAS_ZSCAL FORTRAN_ID2( zscal, ZSCAL )
|
||||
|
||||
// Value-type variants of swap
|
||||
#define BLAS_SSWAP FORTRAN_ID2( sswap, SSWAP )
|
||||
#define BLAS_DSWAP FORTRAN_ID2( dswap, DSWAP )
|
||||
#define BLAS_CSWAP FORTRAN_ID2( cswap, CSWAP )
|
||||
#define BLAS_ZSWAP FORTRAN_ID2( zswap, ZSWAP )
|
||||
|
||||
//
|
||||
// BLAS level2 routines
|
||||
//
|
||||
|
||||
// Value-type variants of gbmv
|
||||
#define BLAS_SGBMV FORTRAN_ID2( sgbmv, SGBMV )
|
||||
#define BLAS_DGBMV FORTRAN_ID2( dgbmv, DGBMV )
|
||||
#define BLAS_CGBMV FORTRAN_ID2( cgbmv, CGBMV )
|
||||
#define BLAS_ZGBMV FORTRAN_ID2( zgbmv, ZGBMV )
|
||||
|
||||
// Value-type variants of gemv
|
||||
#define BLAS_SGEMV FORTRAN_ID2( sgemv, SGEMV )
|
||||
#define BLAS_DGEMV FORTRAN_ID2( dgemv, DGEMV )
|
||||
#define BLAS_CGEMV FORTRAN_ID2( cgemv, CGEMV )
|
||||
#define BLAS_ZGEMV FORTRAN_ID2( zgemv, ZGEMV )
|
||||
|
||||
// Value-type variants of ger
|
||||
#define BLAS_SGER FORTRAN_ID2( sger, SGER )
|
||||
#define BLAS_DGER FORTRAN_ID2( dger, DGER )
|
||||
|
||||
// Value-type variants of gerc
|
||||
#define BLAS_CGERC FORTRAN_ID2( cgerc, CGERC )
|
||||
#define BLAS_ZGERC FORTRAN_ID2( zgerc, ZGERC )
|
||||
|
||||
// Value-type variants of geru
|
||||
#define BLAS_CGERU FORTRAN_ID2( cgeru, CGERU )
|
||||
#define BLAS_ZGERU FORTRAN_ID2( zgeru, ZGERU )
|
||||
|
||||
// Value-type variants of hbmv
|
||||
#define BLAS_CHBMV FORTRAN_ID2( chbmv, CHBMV )
|
||||
#define BLAS_ZHBMV FORTRAN_ID2( zhbmv, ZHBMV )
|
||||
|
||||
// Value-type variants of hemv
|
||||
#define BLAS_CHEMV FORTRAN_ID2( chemv, CHEMV )
|
||||
#define BLAS_ZHEMV FORTRAN_ID2( zhemv, ZHEMV )
|
||||
|
||||
// Value-type variants of her
|
||||
#define BLAS_CHER FORTRAN_ID2( cher, CHER )
|
||||
#define BLAS_ZHER FORTRAN_ID2( zher, ZHER )
|
||||
|
||||
// Value-type variants of her2
|
||||
#define BLAS_CHER2 FORTRAN_ID2( cher2, CHER2 )
|
||||
#define BLAS_ZHER2 FORTRAN_ID2( zher2, ZHER2 )
|
||||
|
||||
// Value-type variants of hpmv
|
||||
#define BLAS_CHPMV FORTRAN_ID2( chpmv, CHPMV )
|
||||
#define BLAS_ZHPMV FORTRAN_ID2( zhpmv, ZHPMV )
|
||||
|
||||
// Value-type variants of hpr
|
||||
#define BLAS_CHPR FORTRAN_ID2( chpr, CHPR )
|
||||
#define BLAS_ZHPR FORTRAN_ID2( zhpr, ZHPR )
|
||||
|
||||
// Value-type variants of hpr2
|
||||
#define BLAS_CHPR2 FORTRAN_ID2( chpr2, CHPR2 )
|
||||
#define BLAS_ZHPR2 FORTRAN_ID2( zhpr2, ZHPR2 )
|
||||
|
||||
// Value-type variants of sbmv
|
||||
#define BLAS_SSBMV FORTRAN_ID2( ssbmv, SSBMV )
|
||||
#define BLAS_DSBMV FORTRAN_ID2( dsbmv, DSBMV )
|
||||
|
||||
// Value-type variants of spmv
|
||||
#define BLAS_SSPMV FORTRAN_ID2( sspmv, SSPMV )
|
||||
#define BLAS_DSPMV FORTRAN_ID2( dspmv, DSPMV )
|
||||
|
||||
// Value-type variants of spr
|
||||
#define BLAS_SSPR FORTRAN_ID2( sspr, SSPR )
|
||||
#define BLAS_DSPR FORTRAN_ID2( dspr, DSPR )
|
||||
|
||||
// Value-type variants of spr2
|
||||
#define BLAS_SSPR2 FORTRAN_ID2( sspr2, SSPR2 )
|
||||
#define BLAS_DSPR2 FORTRAN_ID2( dspr2, DSPR2 )
|
||||
|
||||
// Value-type variants of symv
|
||||
#define BLAS_SSYMV FORTRAN_ID2( ssymv, SSYMV )
|
||||
#define BLAS_DSYMV FORTRAN_ID2( dsymv, DSYMV )
|
||||
|
||||
// Value-type variants of syr
|
||||
#define BLAS_SSYR FORTRAN_ID2( ssyr, SSYR )
|
||||
#define BLAS_DSYR FORTRAN_ID2( dsyr, DSYR )
|
||||
|
||||
// Value-type variants of syr2
|
||||
#define BLAS_SSYR2 FORTRAN_ID2( ssyr2, SSYR2 )
|
||||
#define BLAS_DSYR2 FORTRAN_ID2( dsyr2, DSYR2 )
|
||||
|
||||
// Value-type variants of tbmv
|
||||
#define BLAS_STBMV FORTRAN_ID2( stbmv, STBMV )
|
||||
#define BLAS_DTBMV FORTRAN_ID2( dtbmv, DTBMV )
|
||||
#define BLAS_CTBMV FORTRAN_ID2( ctbmv, CTBMV )
|
||||
#define BLAS_ZTBMV FORTRAN_ID2( ztbmv, ZTBMV )
|
||||
|
||||
// Value-type variants of tbsv
|
||||
#define BLAS_STBSV FORTRAN_ID2( stbsv, STBSV )
|
||||
#define BLAS_DTBSV FORTRAN_ID2( dtbsv, DTBSV )
|
||||
#define BLAS_CTBSV FORTRAN_ID2( ctbsv, CTBSV )
|
||||
#define BLAS_ZTBSV FORTRAN_ID2( ztbsv, ZTBSV )
|
||||
|
||||
// Value-type variants of tpmv
|
||||
#define BLAS_STPMV FORTRAN_ID2( stpmv, STPMV )
|
||||
#define BLAS_DTPMV FORTRAN_ID2( dtpmv, DTPMV )
|
||||
#define BLAS_CTPMV FORTRAN_ID2( ctpmv, CTPMV )
|
||||
#define BLAS_ZTPMV FORTRAN_ID2( ztpmv, ZTPMV )
|
||||
|
||||
// Value-type variants of tpsv
|
||||
#define BLAS_STPSV FORTRAN_ID2( stpsv, STPSV )
|
||||
#define BLAS_DTPSV FORTRAN_ID2( dtpsv, DTPSV )
|
||||
#define BLAS_CTPSV FORTRAN_ID2( ctpsv, CTPSV )
|
||||
#define BLAS_ZTPSV FORTRAN_ID2( ztpsv, ZTPSV )
|
||||
|
||||
// Value-type variants of trmv
|
||||
#define BLAS_STRMV FORTRAN_ID2( strmv, STRMV )
|
||||
#define BLAS_DTRMV FORTRAN_ID2( dtrmv, DTRMV )
|
||||
#define BLAS_CTRMV FORTRAN_ID2( ctrmv, CTRMV )
|
||||
#define BLAS_ZTRMV FORTRAN_ID2( ztrmv, ZTRMV )
|
||||
|
||||
// Value-type variants of trsv
|
||||
#define BLAS_STRSV FORTRAN_ID2( strsv, STRSV )
|
||||
#define BLAS_DTRSV FORTRAN_ID2( dtrsv, DTRSV )
|
||||
#define BLAS_CTRSV FORTRAN_ID2( ctrsv, CTRSV )
|
||||
#define BLAS_ZTRSV FORTRAN_ID2( ztrsv, ZTRSV )
|
||||
|
||||
//
|
||||
// BLAS level3 routines
|
||||
//
|
||||
|
||||
// Value-type variants of gemm
|
||||
#define BLAS_SGEMM FORTRAN_ID2( sgemm, SGEMM )
|
||||
#define BLAS_DGEMM FORTRAN_ID2( dgemm, DGEMM )
|
||||
#define BLAS_CGEMM FORTRAN_ID2( cgemm, CGEMM )
|
||||
#define BLAS_ZGEMM FORTRAN_ID2( zgemm, ZGEMM )
|
||||
|
||||
// Value-type variants of hemm
|
||||
#define BLAS_CHEMM FORTRAN_ID2( chemm, CHEMM )
|
||||
#define BLAS_ZHEMM FORTRAN_ID2( zhemm, ZHEMM )
|
||||
|
||||
// Value-type variants of her2k
|
||||
#define BLAS_CHER2K FORTRAN_ID2( cher2k, CHER2K )
|
||||
#define BLAS_ZHER2K FORTRAN_ID2( zher2k, ZHER2K )
|
||||
|
||||
// Value-type variants of herk
|
||||
#define BLAS_CHERK FORTRAN_ID2( cherk, CHERK )
|
||||
#define BLAS_ZHERK FORTRAN_ID2( zherk, ZHERK )
|
||||
|
||||
// Value-type variants of symm
|
||||
#define BLAS_SSYMM FORTRAN_ID2( ssymm, SSYMM )
|
||||
#define BLAS_DSYMM FORTRAN_ID2( dsymm, DSYMM )
|
||||
#define BLAS_CSYMM FORTRAN_ID2( csymm, CSYMM )
|
||||
#define BLAS_ZSYMM FORTRAN_ID2( zsymm, ZSYMM )
|
||||
|
||||
// Value-type variants of syr2k
|
||||
#define BLAS_SSYR2K FORTRAN_ID2( ssyr2k, SSYR2K )
|
||||
#define BLAS_DSYR2K FORTRAN_ID2( dsyr2k, DSYR2K )
|
||||
#define BLAS_CSYR2K FORTRAN_ID2( csyr2k, CSYR2K )
|
||||
#define BLAS_ZSYR2K FORTRAN_ID2( zsyr2k, ZSYR2K )
|
||||
|
||||
// Value-type variants of syrk
|
||||
#define BLAS_SSYRK FORTRAN_ID2( ssyrk, SSYRK )
|
||||
#define BLAS_DSYRK FORTRAN_ID2( dsyrk, DSYRK )
|
||||
#define BLAS_CSYRK FORTRAN_ID2( csyrk, CSYRK )
|
||||
#define BLAS_ZSYRK FORTRAN_ID2( zsyrk, ZSYRK )
|
||||
|
||||
// Value-type variants of trmm
|
||||
#define BLAS_STRMM FORTRAN_ID2( strmm, STRMM )
|
||||
#define BLAS_DTRMM FORTRAN_ID2( dtrmm, DTRMM )
|
||||
#define BLAS_CTRMM FORTRAN_ID2( ctrmm, CTRMM )
|
||||
#define BLAS_ZTRMM FORTRAN_ID2( ztrmm, ZTRMM )
|
||||
|
||||
// Value-type variants of trsm
|
||||
#define BLAS_STRSM FORTRAN_ID2( strsm, STRSM )
|
||||
#define BLAS_DTRSM FORTRAN_ID2( dtrsm, DTRSM )
|
||||
#define BLAS_CTRSM FORTRAN_ID2( ctrsm, CTRSM )
|
||||
#define BLAS_ZTRSM FORTRAN_ID2( ztrsm, ZTRSM )
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
57
sdk/boost/numeric/bindings/blas/detail/blas_option.hpp
Normal file
57
sdk/boost/numeric/bindings/blas/detail/blas_option.hpp
Normal file
@@ -0,0 +1,57 @@
|
||||
//
|
||||
// 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_DETAIL_BLAS_OPTION_HPP
|
||||
#define BOOST_NUMERIC_BINDINGS_BLAS_DETAIL_BLAS_OPTION_HPP
|
||||
|
||||
#include <boost/mpl/char.hpp>
|
||||
#include <boost/numeric/bindings/tag.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace numeric {
|
||||
namespace bindings {
|
||||
namespace blas {
|
||||
namespace detail {
|
||||
|
||||
template< typename Tag >
|
||||
struct blas_option {};
|
||||
|
||||
template<>
|
||||
struct blas_option< tag::transpose >: mpl::char_< 'T' > {};
|
||||
|
||||
template<>
|
||||
struct blas_option< tag::no_transpose >: mpl::char_< 'N' > {};
|
||||
|
||||
template<>
|
||||
struct blas_option< tag::conjugate >: mpl::char_< 'C' > {};
|
||||
|
||||
template<>
|
||||
struct blas_option< tag::upper >: mpl::char_< 'U' > {};
|
||||
|
||||
template<>
|
||||
struct blas_option< tag::lower >: mpl::char_< 'L' > {};
|
||||
|
||||
template<>
|
||||
struct blas_option< tag::unit >: mpl::char_< 'U' > {};
|
||||
|
||||
template<>
|
||||
struct blas_option< tag::non_unit >: mpl::char_< 'N' > {};
|
||||
|
||||
template<>
|
||||
struct blas_option< tag::left >: mpl::char_< 'L' > {};
|
||||
|
||||
template<>
|
||||
struct blas_option< tag::right >: mpl::char_< 'R' > {};
|
||||
|
||||
} // namespace detail
|
||||
} // namespace blas
|
||||
} // namespace bindings
|
||||
} // namespace numeric
|
||||
} // namespace boost
|
||||
|
||||
#endif
|
||||
41
sdk/boost/numeric/bindings/blas/detail/cblas.h
Normal file
41
sdk/boost/numeric/bindings/blas/detail/cblas.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) Kresimir Fresl 2002
|
||||
*
|
||||
* 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)
|
||||
*
|
||||
* Author acknowledges the support of the Faculty of Civil Engineering,
|
||||
* University of Zagreb, Croatia.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef BOOST_NUMERIC_BINDINGS_BLAS_DETAIL_CBLAS_H
|
||||
#define BOOST_NUMERIC_BINDINGS_BLAS_DETAIL_CBLAS_H
|
||||
|
||||
//
|
||||
// MKL-specific CBLAS include
|
||||
//
|
||||
#if defined BOOST_NUMERIC_BINDINGS_BLAS_MKL
|
||||
|
||||
extern "C" {
|
||||
#include <mkl_cblas.h>
|
||||
#include <mkl_service.h>
|
||||
//
|
||||
// mkl_types.h defines P4 macro which breaks MPL, undefine it here.
|
||||
//
|
||||
#undef P4
|
||||
}
|
||||
|
||||
//
|
||||
// Default CBLAS include
|
||||
//
|
||||
#else
|
||||
|
||||
extern "C" {
|
||||
#include <cblas.h>
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
85
sdk/boost/numeric/bindings/blas/detail/cblas_option.hpp
Normal file
85
sdk/boost/numeric/bindings/blas/detail/cblas_option.hpp
Normal file
@@ -0,0 +1,85 @@
|
||||
//
|
||||
// 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_DETAIL_CBLAS_OPTION_HPP
|
||||
#define BOOST_NUMERIC_BINDINGS_BLAS_DETAIL_CBLAS_OPTION_HPP
|
||||
|
||||
#include <boost/numeric/bindings/blas/detail/cblas.h>
|
||||
#include <boost/numeric/bindings/tag.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace numeric {
|
||||
namespace bindings {
|
||||
namespace blas {
|
||||
namespace detail {
|
||||
|
||||
template< typename Tag >
|
||||
struct cblas_option {};
|
||||
|
||||
template<>
|
||||
struct cblas_option< tag::row_major > {
|
||||
static const CBLAS_ORDER value = CblasRowMajor;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct cblas_option< tag::column_major > {
|
||||
static const CBLAS_ORDER value = CblasColMajor;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct cblas_option< tag::transpose > {
|
||||
static const CBLAS_TRANSPOSE value = CblasTrans;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct cblas_option< tag::no_transpose > {
|
||||
static const CBLAS_TRANSPOSE value = CblasNoTrans;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct cblas_option< tag::conjugate > {
|
||||
static const CBLAS_TRANSPOSE value = CblasConjTrans;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct cblas_option< tag::upper > {
|
||||
static const CBLAS_UPLO value = CblasUpper;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct cblas_option< tag::lower > {
|
||||
static const CBLAS_UPLO value = CblasLower;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct cblas_option< tag::unit > {
|
||||
static const CBLAS_DIAG value = CblasUnit;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct cblas_option< tag::non_unit > {
|
||||
static const CBLAS_DIAG value = CblasNonUnit;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct cblas_option< tag::left > {
|
||||
static const CBLAS_SIDE value = CblasLeft;
|
||||
};
|
||||
|
||||
template<>
|
||||
struct cblas_option< tag::right > {
|
||||
static const CBLAS_SIDE value = CblasRight;
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
} // namespace blas
|
||||
} // namespace bindings
|
||||
} // namespace numeric
|
||||
} // namespace boost
|
||||
|
||||
#endif
|
||||
16
sdk/boost/numeric/bindings/blas/detail/cublas.h
Normal file
16
sdk/boost/numeric/bindings/blas/detail/cublas.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// 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_DETAIL_CUBLAS_H
|
||||
#define BOOST_NUMERIC_BINDINGS_BLAS_DETAIL_CUBLAS_H
|
||||
|
||||
extern "C" {
|
||||
#include <cublas.h>
|
||||
}
|
||||
|
||||
#endif
|
||||
38
sdk/boost/numeric/bindings/blas/detail/default_order.hpp
Normal file
38
sdk/boost/numeric/bindings/blas/detail/default_order.hpp
Normal file
@@ -0,0 +1,38 @@
|
||||
//
|
||||
// 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_DETAIL_DEFAULT_ORDER_HPP
|
||||
#define BOOST_NUMERIC_BINDINGS_BLAS_DETAIL_DEFAULT_ORDER_HPP
|
||||
|
||||
#include <boost/mpl/if.hpp>
|
||||
#include <boost/numeric/bindings/is_row_major.hpp>
|
||||
#include <boost/numeric/bindings/tag.hpp>
|
||||
#include <boost/numeric/bindings/detail/property_map.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace numeric {
|
||||
namespace bindings {
|
||||
namespace blas {
|
||||
namespace detail {
|
||||
|
||||
template< typename T >
|
||||
struct default_order {
|
||||
typedef typename mpl::if_<
|
||||
bindings::detail::is_same_at< T, tag::value_transform, tag::conjugate >,
|
||||
typename mpl::if_< is_row_major< T >, tag::column_major, tag::row_major >::type,
|
||||
tag::column_major
|
||||
>::type type;
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
} // namespace blas
|
||||
} // namespace bindings
|
||||
} // namespace numeric
|
||||
} // namespace boost
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user