![]() |
latest version v1.9 - last update 10 Apr 2010 |
![]() |
Interface object for LAPACK functions. More...
#include <ltiLapackInterface.h>
Classes | |
class | matrixNotConnected |
Exception class denoting an illegal matrix format (non-connected) All matrices used by LAPACK routines must be connected. More... | |
Public Member Functions | |
virtual const char * | getTypeName () const |
Protected Member Functions | |
lapackInterface () | |
virtual | ~lapackInterface () |
void | lockInterface () const |
void | unlockInterface () const |
Interface object for LAPACK functions.
This class contains locking methods for LAPACK. If you implement an interface class for a LAPACK method, you should inherit from this class. As an example for such a method, see the lti::generalEigenVectors class.
When implementing an interface, you obviously need the prototype of the LAPACK method. There are two methods for this:
lti::lapackInterface::lapackInterface | ( | ) | [protected] |
Default constructor.
virtual lti::lapackInterface::~lapackInterface | ( | ) | [protected, virtual] |
Destructor.
virtual const char* lti::lapackInterface::getTypeName | ( | void | ) | const [inline, virtual] |
returns the name of this type
Reimplemented in lti::qrDecomposition< T >, lti::fastEigenSystem< T >, lti::fastGeneralizedEigenSystem< T >, lti::fastSVD< T >, and lti::generalEigenVectors< T >.
void lti::lapackInterface::lockInterface | ( | ) | const [inline, protected] |
Lock the LAPack interface.
Unfortunately, LAPACK is not thread-safe. Therefore we must use a mutex to protect threads from concurrent execution.
References lti::mutex::lock().
void lti::lapackInterface::unlockInterface | ( | ) | const [inline, protected] |
Unlock the LAPack interface.
Unfortunately, LAPACK is not thread-safe. Therefore we must use a mutex to protect threads from concurrent execution.
References lti::mutex::unlock().