29 #ifndef GUM_AMPLITUDE_AGGREGATOR_H 30 #define GUM_AMPLITUDE_AGGREGATOR_H 32 #include <agrum/tools/multidim/aggregators/multiDimAggregator.h> 53 template <
typename GUM_SCALAR >
95 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 96 extern template class Amplitude<
double >;
102 #include <agrum/tools/multidim/aggregators/amplitude_tpl.h>
INLINE void emplace(Args &&... args)
virtual Idx buildValue_(const gum::Instantiation &i) const
by default, buildValue_ uses a "fold" scheme and the user has to implement neutralElt_ and fold_ but ...
Amplitude(const Amplitude< GUM_SCALAR > &from)
virtual MultiDimContainer< GUM_SCALAR > * newFactory() const
This method creates a clone of this object, withouth its content (including variable), you must use this method if you want to ensure that the generated object has the same type than the object containing the called newFactory() For example :
virtual Idx neutralElt_() const
neutralElt_() is the result value for the first application of fold_
INLINE std::ostream & operator<<(std::ostream &s, const MultiDimAggregator< GUM_SCALAR > &ag)
For friendly displaying the content of the array.
virtual Idx fold_(const DiscreteVariable &v, Idx i1, Idx i2, bool &stop_iteration) const
fold_ is applied on value i1 for variable v. the actual result for precedent applications is i2...
virtual std::string aggregatorName() const