List of all members | Static Public Member Functions | Static Public Attributes
casadi::casadi_limits< T > Class Template Reference

casadi_limits class More...

#include <casadi_limits.hpp>

Detailed Description

template<class T>
class casadi::casadi_limits< T >

The following class, which acts as a complements to the standard std::numeric_limits class, allows specifying certain properties of scalar objects. The template can be specialized for e.g. symbolic scalars

Author
Joel Andersson
Date
2011
Extra doc: https://github.com/casadi/casadi/wiki/L_1ak 

Definition at line 48 of file casadi_limits.hpp.

Static Public Member Functions

static bool is_zero (const T &val)
 
static bool is_equal (const T &x, const T &y, casadi_int depth)
 
static bool is_almost_zero (const T &val, double tol)
 
static bool is_one (const T &val)
 
static bool is_minus_one (const T &val)
 
static bool is_constant (const T &val)
 
static bool is_integer (const T &val)
 
static bool is_inf (const T &val)
 
static bool is_minus_inf (const T &val)
 
static bool is_nan (const T &val)
 

Static Public Attributes

static const T zero = T(0)
 
static const T one = 1
 
static const T two = 2
 
static const T minus_one = -1
 

Member Function Documentation

◆ is_almost_zero()

template<class T >
static bool casadi::casadi_limits< T >::is_almost_zero ( const T &  val,
double  tol 
)
inlinestatic

Definition at line 56 of file casadi_limits.hpp.

56  {
57  return val<=tol && val>=-tol;
58  }

◆ is_constant()

template<class T >
static bool casadi::casadi_limits< T >::is_constant ( const T &  val)
inlinestatic

Definition at line 65 of file casadi_limits.hpp.

65  {
66  return true;
67  }

◆ is_equal()

template<class T >
static bool casadi::casadi_limits< T >::is_equal ( const T &  x,
const T &  y,
casadi_int  depth 
)
inlinestatic

Definition at line 53 of file casadi_limits.hpp.

53  {
54  return x==y;
55  }

◆ is_inf()

template<class T >
static bool casadi::casadi_limits< T >::is_inf ( const T &  val)
inlinestatic

Definition at line 71 of file casadi_limits.hpp.

71  {
72  return std::numeric_limits<T>::has_infinity && val==std::numeric_limits<T>::infinity();
73  }

◆ is_integer()

template<class T >
static bool casadi::casadi_limits< T >::is_integer ( const T &  val)
inlinestatic

Definition at line 68 of file casadi_limits.hpp.

68  {
69  return val==static_cast<casadi_int>(val);
70  }

◆ is_minus_inf()

template<class T >
static bool casadi::casadi_limits< T >::is_minus_inf ( const T &  val)
inlinestatic

Definition at line 74 of file casadi_limits.hpp.

74  {
75  return std::numeric_limits<T>::has_infinity && val==-std::numeric_limits<T>::infinity();
76  }

◆ is_minus_one()

template<class T >
static bool casadi::casadi_limits< T >::is_minus_one ( const T &  val)
inlinestatic

Definition at line 62 of file casadi_limits.hpp.

62  {
63  return val==-1;
64  }

◆ is_nan()

template<class T >
static bool casadi::casadi_limits< T >::is_nan ( const T &  val)
inlinestatic

Definition at line 77 of file casadi_limits.hpp.

77  {
78  return std::numeric_limits<T>::has_quiet_NaN && val!=val;
79  }

◆ is_one()

template<class T >
static bool casadi::casadi_limits< T >::is_one ( const T &  val)
inlinestatic

Definition at line 59 of file casadi_limits.hpp.

59  {
60  return val==1;
61  }

◆ is_zero()

template<class T >
static bool casadi::casadi_limits< T >::is_zero ( const T &  val)
inlinestatic

Definition at line 50 of file casadi_limits.hpp.

50  {
51  return val==0;
52  }

Referenced by casadi::is_zero().

Member Data Documentation

◆ minus_one

template<class T >
const T casadi::casadi_limits< T >::minus_one = -1
static

Definition at line 83 of file casadi_limits.hpp.

◆ one

template<class T >
const T casadi::casadi_limits< T >::one = 1
static

Definition at line 81 of file casadi_limits.hpp.

◆ two

template<class T >
const T casadi::casadi_limits< T >::two = 2
static

Definition at line 82 of file casadi_limits.hpp.

◆ zero

template<class T >
const T casadi::casadi_limits< T >::zero = T(0)
static

Definition at line 80 of file casadi_limits.hpp.


The documentation for this class was generated from the following file: