Teuchos - Trilinos Tools Package Version of the Day
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-std::vector 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 -DTeuchos_ENABLE_COMPLEX:BOOL=ON then these templates are specialized for scalar types std::complex<float> and std::complex<double> also.


Definition at line 239 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 249 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 252 of file Teuchos_BLAS.hpp.

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


Definition at line 255 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