#include <Eigen/Core>#include <limits>#include <vector>Go to the source code of this file.
Classes | |
| struct | proxsuite::nlp::math_types< _Scalar > |
| Typedefs for math (Eigen vectors, matrices) depending on scalar type. More... | |
Namespaces | |
| namespace | proxsuite |
| Main package namespace. | |
| namespace | proxsuite::nlp::math |
| Math utilities. | |
Macros | |
| #define | PROXSUITE_NLP_DYNAMIC_TYPEDEFS(Scalar) |
Typedefs | |
| template<typename T, typename T2 = void> | |
| using | proxsuite::nlp::enable_if_eigen_dense = std::enable_if_t<is_eigen_dense_type<T>, T2> |
Functions | |
| template<typename MatType> | |
| MatType::Scalar | proxsuite::nlp::math::infty_norm (const Eigen::MatrixBase< MatType > &z) |
| template<typename MatType> | |
| MatType::Scalar | proxsuite::nlp::math::infty_norm (const std::vector< MatType > &z) |
| template<typename Scalar> | |
| bool | proxsuite::nlp::math::check_scalar (const Scalar value) |
| Check that a scalar is neither inf, nor NaN. | |
| template<typename Scalar> | |
| bool | proxsuite::nlp::math::scalar_close (const Scalar a, const Scalar b, const Scalar prec=std::numeric_limits< Scalar >::epsilon()) |
Tests whether a and b are close, within absolute and relative precision prec. | |
| template<typename T, typename = std::enable_if_t<std::is_scalar<T>::value>> | |
| bool | proxsuite::nlp::math::check_value (const T &x) |
| template<typename MatrixType> | |
| bool | proxsuite::nlp::math::check_value (const Eigen::MatrixBase< MatrixType > &x) |
| template<typename T> | |
| T | proxsuite::nlp::math::sign (const T &x) |
Variables | |
| template<typename T> | |
| constexpr bool | proxsuite::nlp::is_eigen_dense_type |
| template<typename T> | |
| constexpr bool | proxsuite::nlp::is_eigen_matrix_type |
Definition in file math.hpp.
| #define PROXSUITE_NLP_DYNAMIC_TYPEDEFS | ( | Scalar | ) |
Macro typedefs for dynamic-sized vectors/matrices, used for cost funcs, merit funcs because we don't CRTP them and virtual members funcs can't be templated.
| using proxsuite::nlp::enable_if_eigen_dense = std::enable_if_t<is_eigen_dense_type<T>, T2> |
|
constexpr |