teqp 0.23.1
Loading...
Searching...
No Matches
teqp::exp6::teqp Namespace Reference

Classes

class  InvalidArgument
 
class  InvalidValue
 
struct  is_complex_t
 
struct  is_complex_t< std::complex< T > >
 
struct  is_container
 
struct  is_container< std::valarray< Ts... > >
 
struct  is_container< std::vector< Ts... > >
 
struct  is_eigen_impl
 
struct  is_eigen_impl< Eigen::Array< T, Is... > >
 
struct  is_eigen_impl< Eigen::Matrix< T, Is... > >
 
struct  is_mcx_t
 
class  IterationFailure
 
class  JSONValidationError
 Validation of a JSON schema failed. More...
 
class  NotImplementedError
 
class  teqpcException
 
class  teqpException
 
class  Timer
 

Typedefs

using IterationError = IterationFailure
 

Functions

template<typename T>
pow2 (const T &x)
 
template<typename T>
pow3 (const T &x)
 
auto toeig (const std::vector< double > &v) -> Eigen::ArrayXd
 
template<typename T>
auto forceeval (T &&expr)
 
template<typename T>
void error_if_expr (T &&)
 
template<typename T>
auto getbaseval (const T &expr)
 
template<typename T>
powi (const T &x, int n)
 From Ulrich Deiters.
 
template<typename T>
auto powIVi (const T &x, const Eigen::ArrayXi &e)
 
template<typename T>
auto powIVd (const T &x, const Eigen::ArrayXd &e)
 
auto pow (const double &x, const double &e)
 
auto pow (const double &x, const int &e)
 
template<typename T>
auto pow (const std::complex< T > &x, const Eigen::ArrayXd &e)
 
auto contiguous_dotproduct (const auto &x, const auto &y)
 Take the dot-product of two vector-like objects that have contiguous memory and support the .size() method.
 

Typedef Documentation

◆ IterationError

Definition at line 40 of file exp6.hpp.

Function Documentation

◆ contiguous_dotproduct()

auto teqp::exp6::teqp::contiguous_dotproduct ( const auto & x,
const auto & y )

Take the dot-product of two vector-like objects that have contiguous memory and support the .size() method.

This allows to mix and match 1D Eigen arrays and vectors and STL vectors

Definition at line 235 of file exp6.hpp.

◆ error_if_expr()

template<typename T>
void teqp::exp6::teqp::error_if_expr ( T && )

A constexpr function for ensuring that an argument to a function is NOT an expr, which can have surprising behavior

Definition at line 69 of file exp6.hpp.

◆ forceeval()

template<typename T>
auto teqp::exp6::teqp::forceeval ( T && expr)

Definition at line 52 of file exp6.hpp.

◆ getbaseval()

template<typename T>
auto teqp::exp6::teqp::getbaseval ( const T & expr)

Definition at line 90 of file exp6.hpp.

◆ pow() [1/3]

auto teqp::exp6::teqp::pow ( const double & x,
const double & e )
inline

Definition at line 195 of file exp6.hpp.

◆ pow() [2/3]

auto teqp::exp6::teqp::pow ( const double & x,
const int & e )
inline

Definition at line 199 of file exp6.hpp.

◆ pow() [3/3]

template<typename T>
auto teqp::exp6::teqp::pow ( const std::complex< T > & x,
const Eigen::ArrayXd & e )

Definition at line 204 of file exp6.hpp.

◆ pow2()

template<typename T>
T teqp::exp6::teqp::pow2 ( const T & x)
inline

Definition at line 8 of file exp6.hpp.

◆ pow3()

template<typename T>
T teqp::exp6::teqp::pow3 ( const T & x)
inline

Definition at line 9 of file exp6.hpp.

◆ powi()

template<typename T>
T teqp::exp6::teqp::powi ( const T & x,
int n )

From Ulrich Deiters.

Definition at line 139 of file exp6.hpp.

◆ powIVd()

template<typename T>
auto teqp::exp6::teqp::powIVd ( const T & x,
const Eigen::ArrayXd & e )
inline

Definition at line 185 of file exp6.hpp.

◆ powIVi()

template<typename T>
auto teqp::exp6::teqp::powIVi ( const T & x,
const Eigen::ArrayXi & e )
inline

Definition at line 173 of file exp6.hpp.

◆ toeig()

auto teqp::exp6::teqp::toeig ( const std::vector< double > & v) -> Eigen::ArrayXd
inline

Definition at line 11 of file exp6.hpp.