Teuchos::BLAS< OrdinalType, ScalarType > Class Template Reference

The Templated BLAS Wrapper Class. More...

#include <Teuchos_BLAS.hpp>

Inheritance diagram for Teuchos::BLAS< OrdinalType, ScalarType >:
Teuchos::DefaultBLASImpl< OrdinalType, ScalarType > Teuchos::SerialDenseMatrix< OrdinalType, ScalarType > Teuchos::SerialDenseSolver< OrdinalType, ScalarType > Teuchos::SerialSpdDenseSolver< OrdinalType, ScalarType > Teuchos::SerialSymDenseMatrix< OrdinalType, ScalarType > Teuchos::SerialDenseVector< OrdinalType, ScalarType >

List of all members.

Public Member Functions


 BLAS (void)
 Default constructor.
 BLAS (const BLAS< OrdinalType, ScalarType > &)
 Copy constructor.
virtual ~BLAS (void)

Detailed Description

template<typename OrdinalType, typename ScalarType>
class Teuchos::BLAS< OrdinalType, ScalarType >

The Templated BLAS Wrapper Class.

The Teuchos::BLAS class provides functionality similar to the BLAS (Basic Linear Algebra Subprograms). The BLAS provide portable, high- performance implementations of kernels such as dense std::vector multiplication, dot products, dense matrix-stdvector multiplication and dense matrix-matrix multiplication.

The standard BLAS interface is Fortran-specific. Unfortunately, the interface between C++ and Fortran is not standard across all computer platforms. The Teuchos_BLAS class provides C++ bindings for the BLAS kernels in order to insulate the rest of Petra from the details of C++ to Fortran translation.

In addition to giving access the standard BLAS functionality. Teuchos::BLAS also provide functionality for any <ScalarType> class that defines the +, - * and / operators.

Teuchos::BLAS is a single memory image interface only. This is appropriate since the standard BLAS are only specified for serial execution (or shared memory parallel).

  1. These templates are specialized to use the Fortran BLAS routines for scalar types float and double.

  2. If Teuchos is configured with --enable-teuchos-stdcomplex then these templates are specialized for scalar types std::complex<float> and std::complex<double> also.


Definition at line 222 of file Teuchos_BLAS.hpp.

Constructor & Destructor Documentation

template<typename OrdinalType, typename ScalarType>
Teuchos::BLAS< OrdinalType, ScalarType >::BLAS ( void   )  [inline]

Default constructor.

Definition at line 232 of file Teuchos_BLAS.hpp.

template<typename OrdinalType, typename ScalarType>
Teuchos::BLAS< OrdinalType, ScalarType >::BLAS ( const BLAS< OrdinalType, ScalarType > &   )  [inline]

Copy constructor.

Definition at line 235 of file Teuchos_BLAS.hpp.

template<typename OrdinalType, typename ScalarType>
virtual Teuchos::BLAS< OrdinalType, ScalarType >::~BLAS ( void   )  [inline, virtual]


Definition at line 238 of file Teuchos_BLAS.hpp.

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 09:57:45 2011 for Teuchos - Trilinos Tools Package by  doxygen 1.6.3