29 #ifndef GUM_MULTI_DIM_NOISY_OR_COMPOUND_H 30 #define GUM_MULTI_DIM_NOISY_OR_COMPOUND_H 32 #include <agrum/tools/multidim/ICIModels/multiDimICIModel.h> 57 template <
typename GUM_SCALAR >
68 GUM_SCALAR default_weight = (GUM_SCALAR)1.0);
79 const Bijection<
const DiscreteVariable*,
const DiscreteVariable* >& bij,
108 virtual GUM_SCALAR
get(
const Instantiation& i)
const;
129 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 134 template <
typename GUM_SCALAR >
139 #include <agrum/tools/multidim/ICIModels/multiDimNoisyORCompound_tpl.h> virtual const std::string & name() const
returns the real name of the multiDimArray
INLINE void emplace(Args &&... args)
MultiDimNoisyORCompound(const Bijection< const DiscreteVariable *, const DiscreteVariable * > &bij, const MultiDimNoisyORCompound< GUM_SCALAR > &from)
Copy constructor using a bijection to swap variables from source.
MultiDimNoisyORCompound(const MultiDimNoisyORCompound< GUM_SCALAR > &from)
Default constructor.
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 : MultiDimArray<double> y; MultiDimContainer<double>* x = y.newFactory(); Then x is a MultiDimArray<double>*.
std::string toString() const
returns the real name of the multiDimArray
std::ostream & operator<<(std::ostream &s, const MultiDimNoisyORCompound< GUM_SCALAR > &ag)
For friendly displaying the content of the array.
virtual ~MultiDimNoisyORCompound()
Destructor.
MultiDimNoisyORCompound(GUM_SCALAR external_weight, GUM_SCALAR default_weight=(GUM_SCALAR) 1.0)
Default constructor.
virtual GUM_SCALAR get(const Instantiation &i) const
returns the real name of the multiDimArray