Classes | Typedefs | Functions | Variables
ecl Namespace Reference

Embedded control libraries. More...

Classes

class  Bool
 
struct  ecl_traits
 
struct  enable_if
 
struct  enable_if_c
 
struct  enable_if_c< false, T >
 
class  EuclideanNorm
 Functor for euclidean norms. More...
 
class  FailedObject
 
struct  if_c
 
struct  if_c< false, T1, T2 >
 
class  is_byte
 
class  is_byte< char >
 
class  is_byte< signed char >
 
class  is_byte< unsigned char >
 
class  is_float
 
class  is_float< double >
 
class  is_float< float >
 
class  is_float< long double >
 
class  is_integral
 
class  is_integral< char >
 
class  is_integral< int >
 
class  is_integral< long >
 
class  is_integral< long long >
 
class  is_integral< short >
 
class  is_integral< unsigned char >
 
class  is_integral< unsigned int >
 
class  is_integral< unsigned long >
 
class  is_integral< unsigned long long >
 
class  is_integral< unsigned short >
 
class  is_signed
 
class  is_signed< char >
 
class  is_signed< int >
 
class  is_signed< long >
 
class  is_signed< long long >
 
class  is_signed< short >
 
class  is_signed_byte
 
class  is_signed_byte< char >
 
class  is_signed_byte< signed char >
 
class  is_unsigned
 
class  is_unsigned< unsigned char >
 
class  is_unsigned< unsigned int >
 
class  is_unsigned< unsigned long >
 
class  is_unsigned< unsigned long long >
 
class  is_unsigned< unsigned short >
 
class  is_unsigned_byte
 
class  is_unsigned_byte< char >
 
class  is_unsigned_byte< unsigned char >
 
class  numeric_limits
 
class  numeric_limits< char >
 
class  numeric_limits< double >
 
class  numeric_limits< float >
 
class  numeric_limits< int >
 
class  numeric_limits< long >
 
class  numeric_limits< long double >
 
class  numeric_limits< long long >
 
class  numeric_limits< short >
 
class  numeric_limits< unsigned char >
 
class  numeric_limits< unsigned int >
 
class  numeric_limits< unsigned long >
 
class  numeric_limits< unsigned long long >
 
class  numeric_limits< unsigned short >
 
struct  Unsigned
 
struct  Unsigned< char >
 
struct  Unsigned< int >
 
struct  Unsigned< long >
 
struct  Unsigned< long long >
 
struct  Unsigned< short >
 
struct  Unsigned< unsigned char >
 
struct  Unsigned< unsigned int >
 
struct  Unsigned< unsigned long >
 
struct  Unsigned< unsigned long long >
 
struct  Unsigned< unsigned short >
 

Typedefs

typedef Bool< false > False
 
typedef Bool< true > True
 

Functions

template<typename Scalar >
Scalar cube_root (const Scalar &x)
 The real solution to a cube root. More...
 
template<typename T >
euclidean_norm (const T &x1, const T &x2)
 Function for euclidean norms of dimension 2. More...
 
template<typename T >
euclidean_norm (const T &x1, const T &x2, const T &x3)
 Function for euclidean norms of dimension 3. More...
 
bool is_big_endian ()
 
bool is_char_signed ()
 
template<typename Scalar , typename OtherScalar >
bool isApprox (const Scalar &x, const OtherScalar &y, typename numeric_limits< Scalar >::Precision precision=numeric_limits< Scalar >::dummy_precision)
 Checks if two values are approximate. More...
 
template<typename Scalar , typename OtherScalar >
bool isApproxOrLessThan (const Scalar &x, const OtherScalar &y, typename numeric_limits< Scalar >::Precision precision=numeric_limits< Scalar >::dummy_precision)
 Checks if the first value is less than or approximate to the second. More...
 
template<typename Scalar >
int nsign (const Scalar &x)
 A sign function for numerical values (negative return if arg is zero). More...
 
template<typename Scalar >
int psign (const Scalar &x)
 A sign function for numerical values (positive return if arg is zero). More...
 
template<typename Scalar >
int sign (const Scalar &x)
 A sign function for numerical values. More...
 

Variables

const double pi = 4.0*std::atan(1.0)
 Mathematical constant for pi. More...
 
const double pi_2 = pi/2.0
 Mathematical constant for pi/2. More...
 
const float pi_2_f = pi_2
 Mathematical constant (float format) for pi/2. More...
 
const double pi_4 = pi/4.0
 Mathematical constant for pi/4. More...
 
const float pi_4_f = pi_4
 Mathematical constant (float format) for pi/4. More...
 
const float pi_f = pi
 Mathematical constant (float format) for pi. More...
 
const double two_pi = 2.0*pi
 Mathematical constant for 2*pi. More...
 
const float two_pi_f = two_pi
 Mathematical constant (float format) for 2*pi. More...
 

Detailed Description

Embedded control libraries.

Various core libraries useful for embedded control systems.

Function Documentation

◆ cube_root()

template<typename Scalar >
Scalar ecl::cube_root ( const Scalar &  x)
inline

The real solution to a cube root.

Parameters
x: scalar to test.
Template Parameters
Scalar: a real numerical value
Returns
Scalar : real value solution to the cubic root

Definition at line 103 of file simple.hpp.

◆ euclidean_norm() [1/2]

template<typename T >
T ecl::euclidean_norm ( const T &  x1,
const T &  x2 
)

Function for euclidean norms of dimension 2.

Parameters
x1: first argument
x2: second argument
Returns
T : result of the input.

Definition at line 88 of file norms.hpp.

◆ euclidean_norm() [2/2]

template<typename T >
T ecl::euclidean_norm ( const T &  x1,
const T &  x2,
const T &  x3 
)

Function for euclidean norms of dimension 3.

Parameters
x1: first argument
x2: second argument
x3: second argument
Returns
T : result of the input.

Definition at line 101 of file norms.hpp.

◆ isApprox()

template<typename Scalar , typename OtherScalar >
bool ecl::isApprox ( const Scalar &  x,
const OtherScalar &  y,
typename numeric_limits< Scalar >::Precision  precision = numeric_limits<Scalar>::dummy_precision 
)
inline

Checks if two values are approximate.

Note that this does not use the usual direct epsilon bound check, instead, it uses the magnitudes of the values and supplied precision to determine the epsilon bounds before carrying out the operation.

Parameters
x- first input argument
y- second input argument
precision- precision to use (default is defined by the type).
Returns
bool : true or false of the operation.

Definition at line 160 of file fuzzy.hpp.

◆ isApproxOrLessThan()

template<typename Scalar , typename OtherScalar >
bool ecl::isApproxOrLessThan ( const Scalar &  x,
const OtherScalar &  y,
typename numeric_limits< Scalar >::Precision  precision = numeric_limits<Scalar>::dummy_precision 
)
inline

Checks if the first value is less than or approximate to the second.

Note that this does not use the usual direct epsilon bound check, instead, it uses the magnitudes of the values and supplied precision to determine the epsilon bounds before carrying out the operation.

Parameters
x- first input argument
y- second input argument
precision- precision to use (default is defined by the type).
Returns
bool : true or false of the operation.

Definition at line 178 of file fuzzy.hpp.

◆ nsign()

template<typename Scalar >
int ecl::nsign ( const Scalar &  x)
inline

A sign function for numerical values (negative return if arg is zero).

Note that zero will return -1, positive numbers +1, and negative numbers -1.

Parameters
x: scalar to test.
Template Parameters
Scalar: some numerical quantity satisfying a comparison with >= 0
Returns
bool : true if x is >= 0.

Definition at line 86 of file simple.hpp.

◆ psign()

template<typename Scalar >
int ecl::psign ( const Scalar &  x)
inline

A sign function for numerical values (positive return if arg is zero).

Note that zero will return +1, positive numbers +1, and negative numbers -1.

Parameters
x: scalar to test.
Template Parameters
Scalar: some numerical quantity satisfying a comparison with >= 0
Returns
bool : true if x is >= 0.

Definition at line 67 of file simple.hpp.

◆ sign()

template<typename Scalar >
int ecl::sign ( const Scalar &  x)
inline

A sign function for numerical values.

Note that zero will return zero, positive numbers +1, and negative numbers -1.

Parameters
x: scalar to test.
Template Parameters
Scalar: some numerical quantity satisfying a comparison with >= 0
Returns
bool : true if x is >= 0.

Definition at line 44 of file simple.hpp.

Variable Documentation

◆ pi

const double ecl::pi = 4.0*std::atan(1.0)

Mathematical constant for pi.

Definition at line 43 of file constants.hpp.

◆ pi_2

const double ecl::pi_2 = pi/2.0

Mathematical constant for pi/2.

Definition at line 45 of file constants.hpp.

◆ pi_2_f

const float ecl::pi_2_f = pi_2

Mathematical constant (float format) for pi/2.

Definition at line 49 of file constants.hpp.

◆ pi_4

const double ecl::pi_4 = pi/4.0

Mathematical constant for pi/4.

Definition at line 46 of file constants.hpp.

◆ pi_4_f

const float ecl::pi_4_f = pi_4

Mathematical constant (float format) for pi/4.

Definition at line 50 of file constants.hpp.

◆ pi_f

const float ecl::pi_f = pi

Mathematical constant (float format) for pi.

Definition at line 48 of file constants.hpp.

◆ two_pi

const double ecl::two_pi = 2.0*pi

Mathematical constant for 2*pi.

Definition at line 44 of file constants.hpp.

◆ two_pi_f

const float ecl::two_pi_f = two_pi

Mathematical constant (float format) for 2*pi.

Definition at line 47 of file constants.hpp.



ecl_math
Author(s): Daniel Stonier
autogenerated on Wed Mar 2 2022 00:16:28