sigma
0.0.0
|
The primary namespace for the sigma library. More...
Namespaces | |
namespace | detail_ |
The namespace that contains the implementation details of the library. | |
Classes | |
class | Uncertain |
Models an unceratin variable. More... | |
Typedefs | |
using | UFloat = Uncertain<float> |
Typedef for an uncertain float. | |
using | UDouble = Uncertain<double> |
Typedef for an uncertain double. | |
Functions | |
template<typename T> | |
Uncertain< T > | operator- (const Uncertain< T > &a) |
Negation Operation. | |
template<typename T> | |
Uncertain< T > | operator+ (const Uncertain< T > &lhs, const Uncertain< T > &rhs) |
Addition Operation. | |
template<typename T> | |
Uncertain< T > | operator+ (const Uncertain< T > &lhs, double rhs) |
template<typename T> | |
Uncertain< T > | operator+ (double lhs, const Uncertain< T > &rhs) |
template<typename T> | |
Uncertain< T > & | operator+= (Uncertain< T > &lhs, const Uncertain< T > &rhs) |
Inplace Addition Operation. | |
template<typename T> | |
Uncertain< T > & | operator+= (Uncertain< T > &lhs, double rhs) |
template<typename T> | |
Uncertain< T > | operator- (const Uncertain< T > &lhs, const Uncertain< T > &rhs) |
Subtraction Operation. | |
template<typename T> | |
Uncertain< T > | operator- (const Uncertain< T > &lhs, double rhs) |
template<typename T> | |
Uncertain< T > | operator- (double lhs, const Uncertain< T > &rhs) |
template<typename T> | |
Uncertain< T > & | operator-= (Uncertain< T > &lhs, const Uncertain< T > &rhs) |
Inplace Subtraction Operation. | |
template<typename T> | |
Uncertain< T > & | operator-= (Uncertain< T > &lhs, double rhs) |
template<typename T> | |
Uncertain< T > | operator* (const Uncertain< T > &lhs, const Uncertain< T > &rhs) |
Multiplication Operation. | |
template<typename T> | |
Uncertain< T > | operator* (const Uncertain< T > &lhs, double rhs) |
template<typename T> | |
Uncertain< T > | operator* (double lhs, const Uncertain< T > &rhs) |
template<typename T> | |
Uncertain< T > & | operator*= (Uncertain< T > &lhs, const Uncertain< T > &rhs) |
Inplace Multiplication Operation. | |
template<typename T> | |
Uncertain< T > & | operator*= (Uncertain< T > &lhs, double rhs) |
template<typename T> | |
Uncertain< T > | operator/ (const Uncertain< T > &lhs, const Uncertain< T > &rhs) |
Division Operation. | |
template<typename T> | |
Uncertain< T > | operator/ (double lhs, const Uncertain< T > &rhs) |
template<typename T> | |
Uncertain< T > | operator/ (const Uncertain< T > &lhs, double rhs) |
template<typename T> | |
Uncertain< T > & | operator/= (Uncertain< T > &lhs, const Uncertain< T > &rhs) |
Inplace Division Operation. | |
template<typename T> | |
Uncertain< T > & | operator/= (Uncertain< T > &lhs, double rhs) |
template<typename T> | |
Uncertain< T > | abs (const Uncertain< T > &a) |
Absolute Value. | |
template<typename T> | |
Uncertain< T > | fabs (const Uncertain< T > &a) |
Absolute Value. | |
template<typename T> | |
Uncertain< T > | abs2 (const Uncertain< T > &a) |
The Square of the Absolute Value. | |
template<typename T> | |
Uncertain< T > | ceil (const Uncertain< T > &a) |
Nearest integer not less than the given value. | |
template<typename T> | |
Uncertain< T > | floor (const Uncertain< T > &a) |
Nearest integer not greater than the given value. | |
template<typename T> | |
Uncertain< T > | fmod (const Uncertain< T > &a, const Uncertain< T > &b) |
Floating point module. | |
template<typename T> | |
Uncertain< T > | fmod (const Uncertain< T > &a, double b) |
template<typename T> | |
Uncertain< T > | fmod (double a, const Uncertain< T > &b) |
template<typename T> | |
Uncertain< T > | copysign (const Uncertain< T > &a, const Uncertain< T > &b) |
Copy the sign of one value to another. | |
template<typename T, typename U> | |
Uncertain< T > | copysign (const Uncertain< T > &a, const U &b) |
Copy the sign of one value to another. | |
template<typename T, typename U> | |
U | copysign (const U &a, const Uncertain< T > &b) |
Copy the sign of one value to another. | |
template<typename T> | |
Uncertain< T > | trunc (const Uncertain< T > &a) |
Remove the fractional part from a variable. | |
template<typename T> | |
Uncertain< T > | round (const Uncertain< T > &a) |
Round to the nearest integar, away from zero in halfway case. | |
template<typename T> | |
const Uncertain< T > & | conj (const Uncertain< T > &a) |
Complex Conjugate. | |
template<typename T> | |
const Uncertain< T > & | real (const Uncertain< T > &a) |
Get the real part of a value. | |
template<typename T> | |
Uncertain< T > | imag (const Uncertain< T > &a) |
Get the imaginary part of a value. | |
template<typename T> | |
Uncertain< T > | erf (const Uncertain< T > &a) |
Error function. | |
template<typename T> | |
Uncertain< T > | erfc (const Uncertain< T > &a) |
Complementary error function. | |
template<typename T> | |
Uncertain< T > | tgamma (const Uncertain< T > &a) |
Gamma function. | |
template<typename T> | |
Uncertain< T > | lgamma (const Uncertain< T > &a) |
Gamma function Natural Logarithm. | |
template<typename T, typename U> | |
Uncertain< T > | pow (const Uncertain< T > &a, const U &exp) |
Exponentiation of a variable. | |
template<typename T> | |
Uncertain< T > | pow (const Uncertain< T > &a, const Uncertain< T > &exp) |
Exponentiation of a variable by an uncertain variable. | |
template<typename T> | |
Uncertain< T > | sqrt (const Uncertain< T > &a) |
Calculate the square root of an uncertain variable. | |
template<typename T> | |
Uncertain< T > | cbrt (const Uncertain< T > &a) |
Calculate the cube root of an uncertain variable. | |
template<typename T> | |
Uncertain< T > | exp (const Uncertain< T > &a) |
Calculate the Euler's number raised to the power of an uncertain variable. | |
template<typename T> | |
Uncertain< T > | exp2 (const Uncertain< T > &a) |
Calculate 2 raised to the power of an uncertain variable. | |
template<typename T> | |
Uncertain< T > | expm1 (const Uncertain< T > &a) |
Calculate the Euler's number raised to the power of an uncertain variable, then subtract 1. | |
template<typename T> | |
Uncertain< T > | log (const Uncertain< T > &a) |
Calculate the natural logarithm of a variable. | |
template<typename T> | |
Uncertain< T > | log10 (const Uncertain< T > &a) |
Calculate the base 10 logarithm of a variable. | |
template<typename T> | |
Uncertain< T > | log2 (const Uncertain< T > &a) |
Calculate the base 2 logarithm of a variable. | |
template<typename T> | |
Uncertain< T > | log1p (const Uncertain< T > &a) |
Calculate the natural logarithm of one plus a variable. | |
template<typename T> | |
Uncertain< T > | hypot (const Uncertain< T > &a, const Uncertain< T > &b) |
Calculate the square root of the sum of squared arguments. | |
template<typename T, typename U> | |
Uncertain< T > | hypot (const Uncertain< T > &a, const U &b) |
Calculate the square root of the sum of squared arguments. | |
template<typename T, typename U> | |
Uncertain< T > | hypot (const U &a, const Uncertain< T > &b) |
Calculate the square root of the sum of squared arguments. | |
template<typename T> | |
Uncertain< T > | sinh (const Uncertain< T > &a) |
Hyperbolic sine of the variable. | |
template<typename T> | |
Uncertain< T > | cosh (const Uncertain< T > &a) |
Hyperbolic cosine of the variable. | |
template<typename T> | |
Uncertain< T > | tanh (const Uncertain< T > &a) |
Hyperbolic tangent of the variable. | |
template<typename T> | |
Uncertain< T > | asinh (const Uncertain< T > &a) |
Hyperbolic arcsine of the variable. | |
template<typename T> | |
Uncertain< T > | acosh (const Uncertain< T > &a) |
Hyperbolic arccosine of the variable. | |
template<typename T> | |
Uncertain< T > | atanh (const Uncertain< T > &a) |
Hyperbolic arctangent of the variable. | |
template<typename T> | |
Uncertain< T > | degrees (const Uncertain< T > &a) |
Convert from radians to degrees. | |
template<typename T> | |
Uncertain< T > | radians (const Uncertain< T > &a) |
Convert from degrees to radians. | |
template<typename T> | |
Uncertain< T > | sin (const Uncertain< T > &a) |
Sine of the variable. | |
template<typename T> | |
Uncertain< T > | cos (const Uncertain< T > &a) |
Cosine of the variable. | |
template<typename T> | |
Uncertain< T > | tan (const Uncertain< T > &a) |
Tangent of the variable. | |
template<typename T> | |
Uncertain< T > | asin (const Uncertain< T > &a) |
Arcsine of the variable. | |
template<typename T> | |
Uncertain< T > | acos (const Uncertain< T > &a) |
Arccosine of the variable. | |
template<typename T> | |
Uncertain< T > | atan (const Uncertain< T > &a) |
Arctangent of the variable. | |
template<typename T> | |
Uncertain< T > | atan2 (const Uncertain< T > &y, const Uncertain< T > &x) |
Two argument arctangent. | |
template<typename T, typename U> | |
Uncertain< T > | atan2 (const Uncertain< T > &y, const U &x) |
Two argument arctangent. | |
template<typename T, typename U> | |
Uncertain< T > | atan2 (const U &y, const Uncertain< T > &x) |
Two argument arctangent. | |
template<typename ValueType> | |
std::ostream & | operator<< (std::ostream &os, const Uncertain< ValueType > &u) |
Overload stream insertion to print uncertain variable. | |
template<typename ValueType1, typename ValueType2> | |
bool | operator== (const Uncertain< ValueType1 > &lhs, const Uncertain< ValueType2 > &rhs) |
Compare two variables for equality. | |
template<typename ValueType1, typename ValueType2> | |
bool | operator!= (const Uncertain< ValueType1 > &lhs, const Uncertain< ValueType2 > &rhs) |
Compare two variables for inequality. | |
template<typename ValueType1, typename ValueType2> | |
bool | operator< (const Uncertain< ValueType1 > &lhs, const Uncertain< ValueType2 > &rhs) |
Whether one variable is less than another. | |
template<typename ValueType1, typename ValueType2> | |
bool | operator> (const Uncertain< ValueType1 > &lhs, const Uncertain< ValueType2 > &rhs) |
Whether one variable is greater than another. | |
template<typename ValueType1, typename ValueType2> | |
bool | operator<= (const Uncertain< ValueType1 > &lhs, const Uncertain< ValueType2 > &rhs) |
Whether one variable is less than or equal to another. | |
template<typename ValueType1, typename ValueType2> | |
bool | operator>= (const Uncertain< ValueType1 > &lhs, const Uncertain< ValueType2 > &rhs) |
Whether one variable is greater than or equal to another. | |
The primary namespace for the sigma library.
This is the primary namespace that contains the class used to represent uncertain variables and the functions that act on them.
Absolute Value.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
The Square of the Absolute Value.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Arccosine of the variable.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Hyperbolic arccosine of the variable.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Arcsine of the variable.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Hyperbolic arcsine of the variable.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Arctangent of the variable.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Uncertain< T > sigma::atan2 | ( | const U & | y, |
const Uncertain< T > & | x ) |
Two argument arctangent.
T | The value type of the variable |
U | The numeric type of y |
y | The first variable |
x | The first variable |
y
and x
none | No throw guarantee |
Uncertain< T > sigma::atan2 | ( | const Uncertain< T > & | y, |
const U & | x ) |
Two argument arctangent.
T | The value type of the variable |
U | The numeric type of x |
y | The first variable |
x | The first variable |
y
and x
none | No throw guarantee |
Uncertain< T > sigma::atan2 | ( | const Uncertain< T > & | y, |
const Uncertain< T > & | x ) |
Two argument arctangent.
T | The value type of the variable |
y | The first variable |
x | The first variable |
y
and x
none | No throw guarantee |
Hyperbolic arctangent of the variable.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Calculate the cube root of an uncertain variable.
T | The value type of the variable |
a | The variable whose root is computed |
a
none | No throw guarantee |
Nearest integer not less than the given value.
Note that this returns an Uncertain<T> value with no dependencies
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Complex Conjugate.
This is a stub to satisfy Eigen
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
U sigma::copysign | ( | const U & | a, |
const Uncertain< T > & | b ) |
Copy the sign of one value to another.
T | The value type of b |
U | The numeric type of a |
a | The variable whose magnitude is copied |
b | The variable whose sign is copied |
a
with the sign of b
none | No throw guarantee |
Uncertain< T > sigma::copysign | ( | const Uncertain< T > & | a, |
const U & | b ) |
Copy the sign of one value to another.
T | The value type of a |
U | The numeric type of b |
a | The variable whose magnitude is copied |
b | The variable whose sign is copied |
a
with the sign of b
none | No throw guarantee |
Uncertain< T > sigma::copysign | ( | const Uncertain< T > & | a, |
const Uncertain< T > & | b ) |
Copy the sign of one value to another.
T | The value type of the variable |
a | The variable whose magnitude is copied |
b | The variable whose sign is copied |
a
with the sign of b
none | No throw guarantee |
Cosine of the variable.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Hyperbolic cosine of the variable.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Convert from radians to degrees.
T | The value type of the variable |
a | The variable |
a
in degreesnone | No throw guarantee |
Error function.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Complementary error function.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Calculate the Euler's number raised to the power of an uncertain variable.
T | The value type of the variable |
a | The variable that is the exponent |
a
none | No throw guarantee |
Calculate 2 raised to the power of an uncertain variable.
T | The value type of the variable |
a | The variable that is the exponent |
a
none | No throw guarantee |
Calculate the Euler's number raised to the power of an uncertain variable, then subtract 1.
T | The value type of the variable |
a | The variable that is the exponent |
a
, then subtract 1.none | No throw guarantee |
Absolute Value.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Nearest integer not greater than the given value.
Note that this returns an Uncertain<T> value with no dependencies
T | The value type of the variable |
a | The variable |
u
none | No throw guarantee |
Uncertain< T > sigma::fmod | ( | const Uncertain< T > & | a, |
const Uncertain< T > & | b ) |
Floating point module.
T | The value type of the variable |
a | The first variable |
b | The first variable |
a
/ b
none | No throw guarantee |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Uncertain< T > sigma::hypot | ( | const U & | a, |
const Uncertain< T > & | b ) |
Calculate the square root of the sum of squared arguments.
T | The value type of the variable |
U | The numeric type of a |
a | The first variable |
b | The second variable |
a
none | No throw guarantee |
Uncertain< T > sigma::hypot | ( | const Uncertain< T > & | a, |
const U & | b ) |
Calculate the square root of the sum of squared arguments.
T | The value type of the variable |
U | The numeric type of b |
a | The first variable |
b | The second variable |
a
none | No throw guarantee |
Uncertain< T > sigma::hypot | ( | const Uncertain< T > & | a, |
const Uncertain< T > & | b ) |
Calculate the square root of the sum of squared arguments.
T | The value type of the variable |
a | The first variable |
b | The second variable |
a
none | No throw guarantee |
Get the imaginary part of a value.
This is a stub to satisfy Eigen
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Gamma function Natural Logarithm.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Calculate the natural logarithm of a variable.
T | The value type of the variable |
a | The variable whose logarithm is determined |
a
none | No throw guarantee |
Calculate the base 10 logarithm of a variable.
T | The value type of the variable |
a | The variable whose logarithm is determined |
a
none | No throw guarantee |
Calculate the natural logarithm of one plus a variable.
T | The value type of the variable |
a | The variable whose logarithm is determined |
a
+ 1none | No throw guarantee |
Calculate the base 2 logarithm of a variable.
T | The value type of the variable |
a | The variable whose logarithm is determined |
a
none | No throw guarantee |
Uncertain< T > sigma::operator* | ( | const Uncertain< T > & | lhs, |
const Uncertain< T > & | rhs ) |
Multiplication Operation.
T | The value type of the variables |
lhs | The left-hand variable |
rhs | The right-hand variable |
lhs
and rhs
none | No throw guarantee |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Uncertain< T > & sigma::operator*= | ( | Uncertain< T > & | lhs, |
const Uncertain< T > & | rhs ) |
Inplace Multiplication Operation.
T | The value type of the variables |
lhs | The left-hand variable being modified |
rhs | The right-hand variable |
lhs
as the product of itself and rhs
none | No throw guarantee |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Uncertain< T > sigma::operator+ | ( | const Uncertain< T > & | lhs, |
const Uncertain< T > & | rhs ) |
Addition Operation.
T | The value type of the variables |
lhs | The left-hand variable |
rhs | The right-hand variable |
lhs
and rhs
none | No throw guarantee |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Uncertain< T > & sigma::operator+= | ( | Uncertain< T > & | lhs, |
const Uncertain< T > & | rhs ) |
Inplace Addition Operation.
T | The value type of the variables |
lhs | The left-hand variable being modified |
rhs | The right-hand variable |
lhs
as the sum of itself and rhs
none | No throw guarantee |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Negation Operation.
T | The value type of the variable |
a | The variable being negated |
a
, but with the sign of the mean reversednone | No throw guarantee |
Uncertain< T > sigma::operator- | ( | const Uncertain< T > & | lhs, |
const Uncertain< T > & | rhs ) |
Subtraction Operation.
T | The value type of the variables |
lhs | The left-hand variable |
rhs | The right-hand variable |
lhs
and rhs
none | No throw guarantee |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Uncertain< T > & sigma::operator-= | ( | Uncertain< T > & | lhs, |
const Uncertain< T > & | rhs ) |
Inplace Subtraction Operation.
T | The value type of the variables |
lhs | The left-hand variable being modified |
rhs | The right-hand variable |
lhs
as the difference of itself and rhs
none | No throw guarantee |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Uncertain< T > sigma::operator/ | ( | const Uncertain< T > & | lhs, |
const Uncertain< T > & | rhs ) |
Division Operation.
T | The value type of the variables |
lhs | The left-hand variable |
rhs | The right-hand variable |
lhs
and rhs
none | No throw guarantee |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Uncertain< T > & sigma::operator/= | ( | Uncertain< T > & | lhs, |
const Uncertain< T > & | rhs ) |
Inplace Division Operation.
T | The value type of the variables |
lhs | The left-hand variable being modified |
rhs | The right-hand variable |
lhs
as the quotient of itself and rhs
none | No throw guarantee |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Uncertain< T > sigma::pow | ( | const Uncertain< T > & | a, |
const U & | exp ) |
Exponentiation of a variable.
T | The value type of the variable |
U | The numeric type of the exponent |
a | The base variable |
exp | The exponent to raise the base by |
a
raise to the power exp
none | No throw guarantee |
Uncertain< T > sigma::pow | ( | const Uncertain< T > & | a, |
const Uncertain< T > & | exp ) |
Exponentiation of a variable by an uncertain variable.
T | The value type of the variables |
a | The base variable |
exp | The uncertain exponent to raise the base by |
a
raise to the power exp
none | No throw guarantee |
Convert from degrees to radians.
T | The value type of the variable |
a | The variable |
a
in radiansnone | No throw guarantee |
Get the real part of a value.
This is a stub to satisfy Eigen
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Round to the nearest integar, away from zero in halfway case.
T | The value type of the variable |
a | The variable whose value is truncated |
a
none | No throw guarantee |
Sine of the variable.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Hyperbolic sine of the variable.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Calculate the square root of an uncertain variable.
T | The value type of the variable |
a | The variable whose root is computed |
a
none | No throw guarantee |
Tangent of the variable.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Hyperbolic tangent of the variable.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Gamma function.
T | The value type of the variable |
a | The variable |
a
none | No throw guarantee |
Remove the fractional part from a variable.
T | The value type of the variable |
a | The variable whose value is truncated |
a
none | No throw guarantee |