BLAS1_S is a library of C++ routines, using single precision real arithmetic, which implement the Level 1 BLAS, or Basic Linear Algebra Subprograms.
The BLAS are a small core library of linear algebra utilities, which can be highly optimized for various architectures. Software that relies on the BLAS is thus highly portable, and will typically run very efficiently.
The Level 1 BLAS are primarily for use in vector operations. In certain cases, they may also be used to operate on the rows or columns of a two-dimensional array.
On the SGI, a precompiled optimized BLAS library may be linked to via a command like:
g++ myprog.C -lblas
On the Compaq ALPHA, a precompiled optimized BLAS library is available in CXML, the "Compaq Extended Math Library". A C++ program can link with the CXML library, but the CXML routine names must have an underscore appended to them, and they must be declared as extern "C" to avoid the dreaded C++ name-mangling. The linking command would be something like:
g++ myprog.C -lcxmlSee the example test code.
BLAS1_C is a C++ library which is the single precision complex arithmetic version of BLAS1.
BLAS1_D is a C++ library which is the double precision real arithmetic version of BLAS1.
BLAS1_S is also available in a C version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.
BLAS1_Z is a C++ library which is the double precision complex arithmetic version of BLAS1.
BLAS2 is a FORTRAN90 library which is the Level 2 BLAS, for matrix-vector operations.
BLAS3 is a FORTRAN90 library which is the Level 3 BLAS, for matrix-matrix operations.
GSL is the Gnu Scientific Library which includes an implementation of the BLAS1 routines.
LAPACK is a FORTRAN90 library of linear algebra routines that uses BLAS1 routines
LINPACK is a C++ linear algebra library that uses the BLAS1 routines
SUPER_BLAS is a C library which is a version of some of the BLAS1 routines.
You can go up one level to the C++ source codes.