![]() |
|
Helper type to facilitate the wrapping of raw LAPACKE functions for different types into a single, overloaded C++ function. This is achieved in combination with \r EIGEN_MAKE_LAPACKE_WRAPPER. More...
#include <lapacke_helpers.h>
Public Member Functions | |
| template<typename... Args> | |
| auto | call (Args &&...args) -> decltype(double_(std::forward< Args >(args)...)) |
| template<typename... Args> | |
| auto | call (Args &&...args) -> decltype(single_(std::forward< Args >(args)...)) |
| template<typename... Args> | |
| auto | call (Args &&...args) -> decltype(double_cpx_(std::forward< Args >(args)...)) |
| template<typename... Args> | |
| auto | call (Args &&...args) -> decltype(single_cpx_(std::forward< Args >(args)...)) |
Public Attributes | |
| DoubleFn | double_ |
| SingleFn | single_ |
| DoubleCpxFn | double_cpx_ |
| SingleCpxFn | single_cpx_ |
Helper type to facilitate the wrapping of raw LAPACKE functions for different types into a single, overloaded C++ function. This is achieved in combination with \r EIGEN_MAKE_LAPACKE_WRAPPER.
This implementation works by providing an overloaded call function that just forwards its arguments to the underlying lapack function. Each of these overloads is enabled only if the call is actually well formed. Because these lapack functions take pointers to the underlying scalar type as arguments, even though the actual Scalars would be implicitly convertible, the pointers are not and therefore only a single overload can be valid at the same time. Thus, despite all functions taking fully generic Args&&... args as arguments, there is never any ambiguity.
|
inline |
References compute_granudrum_aor::args, and Eigen::internal::lapacke_helpers::WrappingHelper< DoubleFn, SingleFn, DoubleCpxFn, SingleCpxFn >::double_.
Referenced by Eigen::internal::lapacke_helpers::call_wrapper().
|
inline |
References compute_granudrum_aor::args, and Eigen::internal::lapacke_helpers::WrappingHelper< DoubleFn, SingleFn, DoubleCpxFn, SingleCpxFn >::double_cpx_.
|
inline |
References compute_granudrum_aor::args, and Eigen::internal::lapacke_helpers::WrappingHelper< DoubleFn, SingleFn, DoubleCpxFn, SingleCpxFn >::single_.
|
inline |
References compute_granudrum_aor::args, and Eigen::internal::lapacke_helpers::WrappingHelper< DoubleFn, SingleFn, DoubleCpxFn, SingleCpxFn >::single_cpx_.
| DoubleFn Eigen::internal::lapacke_helpers::WrappingHelper< DoubleFn, SingleFn, DoubleCpxFn, SingleCpxFn >::double_ |
| DoubleCpxFn Eigen::internal::lapacke_helpers::WrappingHelper< DoubleFn, SingleFn, DoubleCpxFn, SingleCpxFn >::double_cpx_ |
| SingleFn Eigen::internal::lapacke_helpers::WrappingHelper< DoubleFn, SingleFn, DoubleCpxFn, SingleCpxFn >::single_ |
| SingleCpxFn Eigen::internal::lapacke_helpers::WrappingHelper< DoubleFn, SingleFn, DoubleCpxFn, SingleCpxFn >::single_cpx_ |