Alexandria 2.31.0
SDC-CH common library for the Euclid project
|
#include <Function.h>
Public Types | |
template<std::size_t > | |
using | Doubles = double |
template<std::size_t > | |
using | Vectors = std::vector< double > |
Public Member Functions | |
virtual | ~NAryFunctionImpl ()=default |
Default destructor. | |
virtual double | operator() (Doubles< Is >... xn) const =0 |
virtual void | operator() (const Vectors< Is > &... xs, std::vector< double > &output) const |
Definition at line 53 of file Function.h.
using Euclid::MathUtils::NAryFunctionImpl< _index_sequence< Is... > >::Doubles = double |
Definition at line 56 of file Function.h.
using Euclid::MathUtils::NAryFunctionImpl< _index_sequence< Is... > >::Vectors = std::vector<double> |
Definition at line 59 of file Function.h.
|
virtualdefault |
Default destructor.
|
inlinevirtual |
Operate over a set of input vectors, output a vector. When a function is going to be evaluated over a grid, this can improve the performance since the tight loop does not need to do indireections.
xs | Set of input vectors |
output | Output vector. Concrete implementations must resize if needed. |
Definition at line 80 of file Function.h.
References std::array< T >::size().
|
pure virtual |
Converts the values x1,...,xm from the input domain to the output domain.
x | The value to convert |