BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
lapacktools.hpp File Reference

Shared helpers for the LAPACK wrappers, such as leading_dimension(). More...

#include <algorithm>
#include <complex>
#include <limits>
#include <type_traits>
#include "typedefs.hpp"
#include "assert.hpp"
#include "cl_Matrix.hpp"
Include dependency graph for lapacktools.hpp:

Go to the source code of this file.

Classes

struct  belfem::lapack::real_type< T >
struct  belfem::lapack::real_type< std::complex< T > >
struct  belfem::lapack::cplx_type< T >
struct  belfem::lapack::cplx_type< std::complex< T > >

Namespaces

namespace  belfem
 USER GUIDES:
namespace  belfem::lapack

Typedefs

template<typename T>
using belfem::lapack::real_t = typename real_type< T >::type
template<typename T>
using belfem::lapack::cplx_t = typename cplx_type< T >::type
typedef float belfem::lapack::cplx_float_t
typedef double belfem::lapack::cplx_double_t
typedef size_t belfem::lapack::fortran_charlen_t

Functions

template<typename T>
int_t belfem::lapack::leading_dimension (const Vector< T > &A)
 logical length of a vector operand, as passed to LAPACK as LDB; vector storage is contiguous under both backends
template<typename T>
int_t belfem::lapack::leading_dimension (const Matrix< T > &A)
 stride between the columns of an owning, column-major matrix, as passed to LAPACK as LDA/LDB/LDC.
int_t belfem::lapack::work_size (const float &aValue)
 lapack reports the optimal work size in the first entry of the work array, which stays real valued for the complex flavors
int_t belfem::lapack::work_size (const double &aValue)
int_t belfem::lapack::work_size (const std::complex< float > &aValue)
int_t belfem::lapack::work_size (const std::complex< double > &aValue)

Variables

template<typename T>
constexpr bool belfem::lapack::dependent_false = false

Detailed Description

Shared helpers for the LAPACK wrappers, such as leading_dimension().

Not a solver itself.