11#include <gtsam_unstable/discrete/BinaryAllDiff.h>
20 std::map<Key, size_t> cardinalities_;
33 DefaultKeyFormatter)
const override;
37 if (!
dynamic_cast<const AllDiff*
>(&other))
41 return cardinalities_.size() == f.cardinalities_.size() &&
42 std::equal(cardinalities_.begin(), cardinalities_.end(),
43 f.cardinalities_.begin());
62 bool ensureArcConsistency(
Key j, Domains* domains)
const override;
65 Constraint::shared_ptr partiallyApply(
const DiscreteValues&)
const override;
68 Constraint::shared_ptr partiallyApply(
69 const Domains&)
const override;
specialized key for discrete variables
std::pair< Key, size_t > DiscreteKey
Key type for discrete variables.
Definition DiscreteKey.h:36
Global functions in a separate testing namespace.
Definition chartTesting.h:28
Point2 operator*(double s, const Point2 &p)
multiply with scalar
Definition Point2.h:47
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition Key.h:35
std::uint64_t Key
Integer nonlinear key type.
Definition types.h:100
A discrete probabilistic factor.
Definition DecisionTreeFactor.h:45
Base class for discrete probabilistic factors The most general one is the derived DecisionTreeFactor.
Definition DiscreteFactor.h:38
DiscreteKeys is a set of keys that can be assembled using the & operator.
Definition DiscreteKey.h:39
A map from keys to values.
Definition DiscreteValues.h:34
KeyVector keys_
The keys involved in this factor.
Definition Factor.h:85
bool equals(const DiscreteFactor &other, double tol) const override
equals
Definition AllDiff.h:36
void print(const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const override
print
Definition AllDiff.cpp:22
AllDiff(const DiscreteKeys &dkeys)
Construct from keys.
Definition AllDiff.cpp:17
Constraint(Key j)
Construct unary constraint factor.
Definition Constraint.h:42