Fermat
|
This class allows to represent variables that carry associated differentials up to a specified compile-time order with respect to a predefined set of variables
ValType | the value type of the expression |
N | the number of variables the expression is differentiated against |
O | the maximum order of differentiation, i.e: 0 = no derivatives, 1 = first order derivatives / gradient, 2 = second-order derivatives / Hessian, 3 = third-order derivatives, ... |
#include <diff.h>
Public Types | |
typedef ValType | value_type |
typedef diff_var< ValType, N, O-1 > | diff_component_type |
typedef Vector< diff_component_type, N > | diff_type |
Public Methods | |
CUGAR_HOST_DEVICE | diff_var () |
CUGAR_HOST_DEVICE | diff_var (const diff_var< ValType, N, O > &_other) |
CUGAR_HOST_DEVICE | diff_var (const value_type _u, const diff_type _du) |
CUGAR_HOST_DEVICE | diff_var (value_type _u) |
CUGAR_HOST_DEVICE | operator value_type () const |
CUGAR_HOST_DEVICE diff_var & | operator= (const value_type &_u) |
CUGAR_HOST_DEVICE diff_type | diff () const |
Public Members | |
value_type | u |
diff_type | du |
|
inline |
default constructor
|
inline |
copy constructor
|
inline |
constructor
_u | scalar value |
_du | differential |
|
inlineexplicit |
constructor from scalar
_u | scalar value |
|
inline |
return the first-order differential
|
inline |
conversion to scalar
|
inline |
assignment to scalar