Jpp
|
Auxiliary classes and methods for mathematical operations. More...
Classes | |
struct | JCalculator |
Auxiliary class for arithmetic operations on objects. More... | |
class | JGauss |
Data structure for Gaussian function on top of a flat background. More... | |
struct | JLimits |
Auxiliary class for minimum and maximum values for any class. More... | |
struct | JLimits< T, false > |
Template spacialisation of JMATH::JRandom for other data types. More... | |
struct | JLimits< T, true > |
Template spacialisation of JMATH::JLimits for numerical values. More... | |
struct | JMath |
Auxiliary base class for aritmetic operations of derived class types. More... | |
struct | JMath< T, JNullType > |
Template class for data structures with arithmetic capabilities. More... | |
class | JMatrix1D |
1 x 1 matrix More... | |
class | JMatrix1S |
1 x 1 symmetric matrix More... | |
class | JMatrix2D |
2 x 2 matrix More... | |
class | JMatrix2S |
2 x 2 symmetric matrix More... | |
class | JMatrix3D |
3 x 3 matrix More... | |
class | JMatrix3S |
3 x 3 symmetric matrix More... | |
class | JMatrix4D |
4 x 4 matrix More... | |
class | JMatrix4S |
4 x 4 symmetric matrix More... | |
class | JMatrix5D |
5 x 5 matrix More... | |
class | JMatrix5S |
5 x 5 symmetric matrix More... | |
class | JMatrixND |
N x N matrix. More... | |
struct | JMatrixND_t |
Type definition of a NxN matrix. More... | |
class | JMatrixNS |
N x N symmetric matrix. More... | |
struct | JNumber |
Simple wrapper around template data type to ensure that zero is the default value. More... | |
class | JPolynome |
Polynome function object. More... | |
class | JPower |
Power law function object. More... | |
struct | JRandom |
Template definition of random value generator. More... | |
struct | JRandom< T, false > |
Template spacialisation of JMATH::JRandom for non-numerical data types. More... | |
struct | JRandom< T, true > |
Template spacialisation of JMATH::JRandom for numerical values. More... | |
class | JTrigonometric |
Trigonometric function object for sin and cos . More... | |
struct | JZero |
Auxiliary class to assign zero value. More... | |
Typedefs | |
typedef std::vector< std::pair< int, int > > | JPermutationMatrix |
Type definition of permutation matrix. More... | |
Functions | |
template<class T > | |
const JCalculator< T, 1 > & | operator* (const T &first, const T &second) |
Product evaluation of objects. More... | |
template<class T , int N> | |
const JCalculator< T, N+1 > & | operator* (const T &first, const JCalculator< T, N > &second) |
Recursive product evaluation of objects. More... | |
template<class T , int N> | |
const JCalculator< T, N+1 > & | operator* (const JCalculator< T, N > &first, const T &second) |
Recursive product evaluation of objects. More... | |
long long int | factorial (const long long int n) |
Determine factorial. More... | |
long long int | factorial (const long long int n, const long long int m) |
Determine combinatorics. More... | |
template<class JFirst_t , class JSecond_t > | |
bool | equals (const JFirst_t &first, const JSecond_t &second, const double precision=std::numeric_limits< double >::min()) |
Check equality. More... | |
template<class JFirst_t , class JSecond_t > | |
double | getDistanceSquared (const JFirst_t &first, const JSecond_t &second) |
Get square of distance between objects. More... | |
template<class JFirst_t , class JSecond_t > | |
double | getDistance (const JFirst_t &first, const JSecond_t &second) |
Get distance between objects. More... | |
template<class JFirst_t , class JSecond_t > | |
double | getDot (const JFirst_t &first, const JSecond_t &second) |
Get dot product of objects. More... | |
template<class JFirst_t , class JSecond_t > | |
double | getAngle (const JFirst_t &first, const JSecond_t &second) |
Get space angle between objects. More... | |
template<class JFirst_t , class JSecond_t > | |
double | getPerpDot (const JFirst_t &first, const JSecond_t &second) |
Get perpendicular dot product of objects. More... | |
template<class T > | |
T | interpolate (const T &first, const T &second, const double alpha) |
Interpolation between objects. More... | |
template<class T > | |
double | getDot (T __begin, T __end, const JMatrixND &V) |
Determine dot product Y^T x V x Y , where. More... | |
template<class T > | |
T | getRandom () |
Get random value. More... | |
template<class T > | |
T | getRandom (const T min, const T max) |
Get uniformly distributed random value between given limits. More... | |
template<class T > | |
T | getRandom (const T min, const T max, const T precision) |
Get uniformly distributed random value between given limits. More... | |
template<> | |
double | getRandom (const double min, const double max, const double precision) |
Template specialisation for data type double . More... | |
template<class T > | |
T | getZero () |
Get zero value for a given data type. More... | |
template<> | |
float | getZero< float > () |
Get zero value for float. More... | |
template<> | |
double | getZero< double > () |
Get zero value for double. More... | |
template<> | |
long double | getZero< long double > () |
Get zero value for long double. More... | |
Variables | |
static const JZero | zero |
Function object to assign zero value. More... | |
Auxiliary classes and methods for mathematical operations.
typedef std::vector< std::pair<int,int> > JMATH::JPermutationMatrix |
Type definition of permutation matrix.
Definition at line 57 of file JMatrixND.hh.
|
inline |
Product evaluation of objects.
Multiply objects.
first | first object |
second | second object |
Definition at line 53 of file JCalculator.hh.
|
inline |
Recursive product evaluation of objects.
first | first object |
second | second object |
Definition at line 69 of file JCalculator.hh.
|
inline |
Recursive product evaluation of objects.
first | first object |
second | second object |
Definition at line 85 of file JCalculator.hh.
|
inline |
|
inline |
Determine combinatorics.
n | number |
m | number |
Definition at line 61 of file JMathToolkit.hh.
|
inline |
Check equality.
first | first object |
second | second object |
precision | precision |
Definition at line 85 of file JMathToolkit.hh.
|
inline |
Get square of distance between objects.
first | first object |
second | second object |
Definition at line 101 of file JMathToolkit.hh.
|
inline |
Get distance between objects.
first | first object |
second | second object |
Definition at line 116 of file JMathToolkit.hh.
|
inline |
Get dot product of objects.
first | first object |
second | second object |
Definition at line 131 of file JMathToolkit.hh.
|
inline |
Get space angle between objects.
first | first object |
second | second object |
Definition at line 146 of file JMathToolkit.hh.
|
inline |
Get perpendicular dot product of objects.
first | first object |
second | second object |
Definition at line 168 of file JMathToolkit.hh.
|
inline |
Interpolation between objects.
The result is equal to result = (1 - alpha) x (first) + (alpha) x (second)
.
first | first object |
second | second object |
alpha | interpolation factor (normally between 0 and 1) |
Definition at line 185 of file JMathToolkit.hh.
|
inline |
Determine dot product Y^T x V x Y
, where.
Y
is a 1xN
matrix; andV
is a NxN
matrix.__begin | begin of data |
__end | end of data |
V | matrix |
Definition at line 647 of file JMatrixND.hh.
|
inline |
|
inline |
Get uniformly distributed random value between given limits.
min | minimal value |
max | maximal value |
Definition at line 127 of file JRandom.hh.
|
inline |
Get uniformly distributed random value between given limits.
min | minimal value |
max | maximal value |
precision | precision |
Definition at line 143 of file JRandom.hh.
|
inline |
Template specialisation for data type double
.
Definition at line 155 of file JRandom.hh.
|
inline |
Get zero value for a given data type.
The default implementation of this method returns an object which is created with the default constructor. This method should be specialised if this value does not correspond to the equivalent of a zero result.
|
inline |
|
inline |
|
inline |