Loading...
Searching...
No Matches
stencil_weight.hpp
90 template<typename W = weight_t, typename V = value_t, std::size_t D = std::tuple_size<W>::value, typename std::enable_if<std::is_same<std::array<V, D>, W>::value>::type * = nullptr>
91 bool isNegligible(const std::array<V, D> &weight, const weight_t &zero, double tolerance = 1e-12) const;
92 template<typename W = weight_t, typename V = value_t, typename std::enable_if<std::is_same<std::vector<V>, W>::value>::type * = nullptr>
93 bool isNegligible(const std::vector<V> &weight, const weight_t &zero, double tolerance = 1e-12) const;
97 template<typename W = weight_t, typename V = value_t, std::size_t D = std::tuple_size<W>::value, typename std::enable_if<std::is_same<std::array<V, D>, W>::value>::type * = nullptr>
99 template<typename W = weight_t, typename V = value_t, typename std::enable_if<std::is_same<std::vector<V>, W>::value>::type * = nullptr>
104 template<typename W = weight_t, typename V = value_t, std::size_t D = std::tuple_size<W>::value, typename std::enable_if<std::is_same<std::array<V, D>, W>::value>::type * = nullptr>
106 template<typename W = weight_t, typename V = value_t, typename std::enable_if<std::is_same<std::vector<V>, W>::value>::type * = nullptr>
116 template<typename W = weight_t, typename V, std::size_t D = std::tuple_size<W>::value, typename std::enable_if<std::is_same<std::array<V, D>, W>::value>::type * = nullptr>
118 template<typename W = weight_t, typename V, std::size_t D = std::tuple_size<W>::value, typename std::enable_if<std::is_same<std::array<V, D>, W>::value>::type * = nullptr>
120 template<typename W = weight_t, typename V, typename std::enable_if<std::is_same<std::vector<V>, W>::value>::type * = nullptr>
129typedef DiscreteStencilWeightManager<std::array<double, 3>, double> DiscreteStencilVectorWeightManager;
130typedef DiscreteStencilWeightManager<std::vector<double>, double> DiscreteStencilBlockWeightManager;
void sum(const std::vector< V > &weight, double factor, std::vector< V > *target) const
Definition stencil_weight.tpp:246
const value_t & at(const std::array< V, D > &weight, std::size_t index) const
Definition stencil_weight.tpp:382
const value_t & at(const std::vector< V > &weight, int index) const
Definition stencil_weight.tpp:408
const value_t & at(const W &weight, std::size_t index) const
Definition stencil_weight.tpp:354
void copy(const std::vector< V > &weight, std::vector< V > *target) const
Definition stencil_weight.tpp:305
bool isNegligible(const W &weight, const weight_t &zero, double tolerance=1e-12) const
Definition stencil_weight.tpp:151
void copy(const std::array< V, D > &weight, std::array< V, D > *target) const
Definition stencil_weight.tpp:290
void copy(const W &weight, W *target) const
Definition stencil_weight.tpp:277
bool isNegligible(const std::vector< V > &weight, const weight_t &zero, double tolerance=1e-12) const
Definition stencil_weight.tpp:187
value_t & at(const W &weight, std::size_t index)
Definition stencil_weight.tpp:341
void sum(const std::array< V, D > &weight, double factor, std::array< V, D > *target) const
Definition stencil_weight.tpp:225
bool isNegligible(const std::array< V, D > &weight, const weight_t &zero, double tolerance=1e-12) const
Definition stencil_weight.tpp:166
void move(W &&weight, W *target) const
Definition stencil_weight.tpp:328
void sum(const W &weight, double factor, W *target) const
Definition stencil_weight.tpp:210
value_t & at(const std::vector< V > &weight, std::size_t index)
Definition stencil_weight.tpp:395
value_t & at(const std::array< V, D > &weight, std::size_t index)
Definition stencil_weight.tpp:369
void store(weight_t &&weight)
Definition stencil_weight.tpp:114
DiscreteStencilWeightPool(std::size_t capacity=128)
Definition stencil_weight.tpp:37
std::size_t capacity() const
Definition stencil_weight.tpp:64
