3 #include "../../types.hpp" 4 #include "../../utilities/evaluations.hpp" 6 #include "../bases.hpp" 17 namespace localRemainder
19 template <
class Subtype,
int N,
int D>
27 const argument_type &q )
const 29 return static_cast<const Subtype*
>(
this)->evaluate_local_remainder_at_implementation( arg, q );
32 template <
template <
typename...>
class grid_in = std::vector,
33 template <
typename...>
class grid_out = grid_in >
35 const argument_type &q )
const {
37 local_quadratic_evaluation_type,
47 template <
class DiagDifference,
class EvalImpl,
class LocQuadraticImpl,
int N,
int D>
56 typename LocQuadraticImpl::potential_type lead_pot,
57 typename LocQuadraticImpl::jacobian_type lead_jac,
58 typename LocQuadraticImpl::hessian_type lead_hess )
59 : EvalImpl(pot),
LeadingLevelOwner<LocQuadraticImpl>( lead_pot, lead_jac, lead_hess ) {}
63 const argument_type &arg,
64 const argument_type &q )
const {
66 return DiagDifference::apply(
67 EvalImpl::evaluate_at( arg ), u );
74 template <
class LocQuadImpl,
int N,
int D>
80 static local_quadratic_evaluation_type
apply(
const potential_evaluation_type& V,
const typename LocQuadImpl::local_quadratic_evaluation_type &u ) {
81 local_quadratic_evaluation_type C = V.template cast<local_quadratic_return_type>();
83 for (
int i = 0; i < N; ++i ) {
91 static local_quadratic_evaluation_type
apply(
const potential_evaluation_type& V,
const typename LocQuadImpl::local_quadratic_evaluation_type &u ) {
92 local_quadratic_evaluation_type C = V.template cast<local_quadratic_return_type>();
94 for (
int i = 0; i < N; ++i ) {
103 template <
class LocQuadImpl,
int D>
109 static local_quadratic_evaluation_type
apply(
const potential_evaluation_type& V,
const typename LocQuadImpl::local_quadratic_evaluation_type &u ) {
117 template<
class EvalImpl,
class LocQuadraticImpl,
int N,
int D>
120 template<
class EvalImpl,
class LocQuadraticImpl,
int N,
int D>
125 template<
int N,
int D>
128 template<
int N,
int D>
Definition: coefficients_file_parser.cpp:10
static local_quadratic_evaluation_type apply(const potential_evaluation_type &V, const typename LocQuadImpl::local_quadratic_evaluation_type &u)
Definition: localRemainder.hpp:91
Definition: localRemainder.hpp:79
Definition: leadingLevelOwner.hpp:16
Definition: localRemainder.hpp:20
local_quadratic_evaluation_type evaluate_local_remainder_at(const argument_type &arg, const argument_type &q) const
Definition: localRemainder.hpp:26
G_out< R > evaluate_function_in_grid(const F< R(A)> &f, const G_in< A > &g)
Evaluate a function in multiple points at once.
Definition: evaluations.hpp:130
General< typename helper::DiagonalDifference< LocQuadraticImpl, N, D >::Homogenous, EvalImpl, LocQuadraticImpl, N, D > Homogenous
Definition: localRemainder.hpp:118
static local_quadratic_evaluation_type apply(const potential_evaluation_type &V, const typename LocQuadImpl::local_quadratic_evaluation_type &u)
Definition: localRemainder.hpp:80
Definition: localRemainder.hpp:90
Definition: localRemainder.hpp:48
Helper class to ease template specialzations.
Definition: bases.hpp:25
std::function< P > function_t
Definition: types.hpp:57
local_quadratic_evaluation_type evaluate_local_remainder_at_implementation(const argument_type &arg, const argument_type &q) const
Definition: localRemainder.hpp:62
grid_out< local_quadratic_evaluation_type > evaluate_local_remainder(const grid_in< argument_type > &args, const argument_type &q) const
Definition: localRemainder.hpp:34
#define IMPORT_TYPES_FROM(B)
Definition: bases.hpp:3
static local_quadratic_evaluation_type apply(const potential_evaluation_type &V, const typename LocQuadImpl::local_quadratic_evaluation_type &u)
Definition: localRemainder.hpp:109
Owned & get_leading_level()
Definition: leadingLevelOwner.hpp:20
Helper class for easier template specialization.
Definition: localQuadratic.hpp:71
Definition: localRemainder.hpp:75