aGrUM  0.14.2
multiDimNoisyAND.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2005 by Pierre-Henri WUILLEMIN et Christophe GONZALES *
3  * {prenom.nom}_at_lip6.fr *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU General Public License as published by *
7  * the Free Software Foundation; either version 2 of the License, or *
8  * (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License *
16  * along with this program; if not, write to the *
17  * Free Software Foundation, Inc., *
18  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19  ***************************************************************************/
26 #ifndef GUM_MULTI_DIM_NOISY_AND_H
27 #define GUM_MULTI_DIM_NOISY_AND_H
28 
30 
31 namespace gum {
32 
33  // clang-format off
50  // clang-format on
51  template < typename GUM_SCALAR >
52  class MultiDimNoisyAND : public MultiDimICIModel< GUM_SCALAR > {
53  public:
54  // ============================================================================
56  // ============================================================================
58 
63  MultiDimNoisyAND(GUM_SCALAR external_weight,
64  GUM_SCALAR default_weight = (GUM_SCALAR)1.0);
65 
67 
76  const MultiDimNoisyAND< GUM_SCALAR >& from);
77 
81  virtual ~MultiDimNoisyAND();
82 
84 
103 
104  // ============================================================================
106  // ============================================================================
108 
109  public:
110  virtual GUM_SCALAR get(const Instantiation& i) const;
111 
112  const std::string toString() const;
113 
125  virtual const std::string& name() const;
126 
128  };
129 
130 
131 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
132  extern template class MultiDimNoisyAND< double >;
133 #endif
134 
136  template < typename GUM_SCALAR >
137  std::ostream& operator<<(std::ostream& s,
139 
140 } /* namespace gum */
141 
143 
144 #endif /* GUM_MULTI_DIM_NOISY_AND_H */
virtual const std::string & name() const
Returns the real name of the multiDimArray.
MultiDimNoisyAND(GUM_SCALAR external_weight, GUM_SCALAR default_weight=(GUM_SCALAR) 1.0)
Default constructor.
class for NoisyAND-net implementation as multiDim
gum is the global namespace for all aGrUM entities
Definition: agrum.h:25
Abstract base class for all multi dimensionnal containers.
Abstract base class for all multi dimensionnal Causal Independency models.
std::ostream & operator<<(std::ostream &output, const BayesNet< GUM_SCALAR > &bn)
Prints map&#39;s DAG in output using the Graphviz-dot format.
Definition: BayesNet_tpl.h:583
abstract class for Conditional Indepency Models
const std::string toString() const
Returns the real name of the multiDimArray.
virtual ~MultiDimNoisyAND()
Destructor.
Set of pairs of elements with fast search for both elements.
Definition: bijection.h:1803
Noisy AND representation.
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()
Class for assigning/browsing values to tuples of discrete variables.
Definition: instantiation.h:80