aGrUM  0.14.2
multiDimLogit.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_LOGIT_H
27 #define GUM_MULTI_DIM_LOGIT_H
28 
30 
31 namespace gum {
32 
49  template < typename GUM_SCALAR >
50  class MultiDimLogit : public MultiDimICIModel< GUM_SCALAR > {
51  public:
52  // ============================================================================
54  // ============================================================================
56 
62  MultiDimLogit(GUM_SCALAR external_weight,
63  GUM_SCALAR default_weight = (GUM_SCALAR)0.0);
64 
66 
75  const MultiDimLogit< GUM_SCALAR >& from);
76 
78  virtual ~MultiDimLogit();
79 
81 
97 
98  // ============================================================================
100  // ============================================================================
102 
103  public:
104  virtual GUM_SCALAR get(const Instantiation& i) const;
105 
106  const std::string toString() const;
107 
119  virtual const std::string& name() const;
120 
122  };
123 
124 
125 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
126  extern template class MultiDimLogit< double >;
127 #endif
128 
130  template < typename GUM_SCALAR >
131  std::ostream& operator<<(std::ostream& s, const MultiDimLogit< GUM_SCALAR >& ag);
132 
133 } /* namespace gum */
134 
136 
137 #endif /* GUM_MULTI_DIM_LOGIT_H */
virtual const std::string & name() const
Returns the real name of the multiDimArray.
gum is the global namespace for all aGrUM entities
Definition: agrum.h:25
Abstract base class for all multi dimensionnal containers.
const std::string toString() const
Returns the real name of the multiDimArray.
Abstract base class for all multi dimensionnal Causal Independency models.
Logit representation.
Definition: multiDimLogit.h:50
abstract class for Conditional Indepency Models
Set of pairs of elements with fast search for both elements.
Definition: bijection.h:1803
Class for assigning/browsing values to tuples of discrete variables.
Definition: instantiation.h:80
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()
virtual ~MultiDimLogit()
Destructor.
MultiDimLogit(GUM_SCALAR external_weight, GUM_SCALAR default_weight=(GUM_SCALAR) 0.0)
Default constructor.