last update 20 Sep 2009 |
#include <cvrLapackInterface.h>
Public Member Functions | |
virtual const std::string & | name () const |
Protected Member Functions | |
lapackInterface () | |
virtual | ~lapackInterface () |
void | lockInterface () const |
void | unlockInterface () const |
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 cvr::generalEigenVectors class.
When implementing an interface, you obviously need the prototype of the LAPACK method. There are two methods for this:
cvr::lapackInterface::lapackInterface | ( | ) | [protected] |
Default constructor.
virtual cvr::lapackInterface::~lapackInterface | ( | ) | [protected, virtual] |
Destructor.
void cvr::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 cvr::mutex::lock().
virtual const std::string& cvr::lapackInterface::name | ( | ) | const [inline, virtual] |
returns the name of this type
Reimplemented in cvr::luDecomposition< T >, cvr::qrDecomposition< T >, and cvr::symmetricEigenSystem< T >.
void cvr::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 cvr::mutex::unlock().