Skip to content
Snippets Groups Projects
blasWrappers.h 1.81 KiB
Newer Older
  • Learn to ignore specific revisions
  • #pragma once
    
    #ifdef HAVE_BLAS
    
    #include <cblas.h>
    
    inline int blasIgamax( int n, const float *x, int incx )
    {
       return cblas_isamax( n, x, incx );
    }
    
    inline int blasIgamax( int n, const double *x, int incx )
    {
       return cblas_idamax( n, x, incx );
    }
    
    
    
    /*inline int blasIgamin( int n, const float *x, int incx )
    
       return cblas_isamin( n, x, incx );
    
    }
    
    inline int blasIgamin( int n, const double *x, int incx )
    {
    
       return cblas_idamin( n, x, incx );
    }*/
    
    
    
    inline float blasGasum( int n, const float *x, int incx )
    {
       return cblas_sasum( n, x, incx );
    }
    
    inline double blasGasum( int n, const double *x, int incx )
    {
       return cblas_dasum( n, x, incx );
    }
    
    
    
    inline void blasGaxpy( int n, const float alpha,
                           const float *x, int incx,
                           float *y, int incy )
    
    {
       cblas_saxpy( n, alpha, x, incx, y, incy );
    }
    
    
    inline void blasGaxpy( int n, const double alpha,
                           const double* x, int incx,
                           double *y, int incy )
    
       cblas_daxpy( n, alpha, x, incx, y, incy );
    
    inline float blasGdot( int n, const float* x, int incx,
                           const float* y, int incy )
    
       return cblas_sdot( n, x, incx, y, incy );
    
    inline double blasGdot( int n, const double* x, int incx,
                            const double* y, int incy )
    
       return cblas_ddot( n, x, incx, y, incy );
    
    inline float blasGnrm2( int n, const float* x, int incx )
    
       return cblas_snrm2( n, x, incx );
    
    inline double blasGnrm2( int n, const double* x, int incx )
    
       return cblas_dnrm2( n, x, incx );
    
    inline void blasGscal( int n, const float alpha,
                           float* x, int incx )
    
       cblas_sscal( n, alpha, x, incx );
    
    inline void blasGscal( int n, const double alpha,
                           double* x, int incx )
    
       cblas_dscal( n, alpha, x, incx );