add class-level GTSAM_EXPORT
parent
e8e4bea84c
commit
af598abc04
|
@ -19,6 +19,8 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <gtsam/base/types.h>
|
||||
|
||||
#include <gtsam/discrete/Assignment.h>
|
||||
|
||||
#include <boost/function.hpp>
|
||||
|
@ -35,7 +37,7 @@ namespace gtsam {
|
|||
* Y = function range (any algebra), e.g., bool, int, double
|
||||
*/
|
||||
template<typename L, typename Y>
|
||||
class DecisionTree {
|
||||
class GTSAM_EXPORT DecisionTree {
|
||||
|
||||
public:
|
||||
|
||||
|
|
|
@ -34,32 +34,32 @@ namespace gtsam {
|
|||
using DiscreteKey = std::pair<Key,size_t>;
|
||||
|
||||
/// DiscreteKeys is a set of keys that can be assembled using the & operator
|
||||
struct DiscreteKeys: public std::vector<DiscreteKey> {
|
||||
struct GTSAM_EXPORT DiscreteKeys: public std::vector<DiscreteKey> {
|
||||
|
||||
// Forward all constructors.
|
||||
using std::vector<DiscreteKey>::vector;
|
||||
|
||||
/// Constructor for serialization
|
||||
GTSAM_EXPORT DiscreteKeys() : std::vector<DiscreteKey>::vector() {}
|
||||
DiscreteKeys() : std::vector<DiscreteKey>::vector() {}
|
||||
|
||||
/// Construct from a key
|
||||
GTSAM_EXPORT DiscreteKeys(const DiscreteKey& key) {
|
||||
DiscreteKeys(const DiscreteKey& key) {
|
||||
push_back(key);
|
||||
}
|
||||
|
||||
/// Construct from a vector of keys
|
||||
GTSAM_EXPORT DiscreteKeys(const std::vector<DiscreteKey>& keys) :
|
||||
DiscreteKeys(const std::vector<DiscreteKey>& keys) :
|
||||
std::vector<DiscreteKey>(keys) {
|
||||
}
|
||||
|
||||
/// Construct from cardinalities with default names
|
||||
GTSAM_EXPORT DiscreteKeys(const std::vector<int>& cs);
|
||||
DiscreteKeys(const std::vector<int>& cs);
|
||||
|
||||
/// Return a vector of indices
|
||||
GTSAM_EXPORT KeyVector indices() const;
|
||||
KeyVector indices() const;
|
||||
|
||||
/// Return a map from index to cardinality
|
||||
GTSAM_EXPORT std::map<Key,size_t> cardinalities() const;
|
||||
std::map<Key,size_t> cardinalities() const;
|
||||
|
||||
/// Add a key (non-const!)
|
||||
DiscreteKeys& operator&(const DiscreteKey& key) {
|
||||
|
@ -69,5 +69,5 @@ namespace gtsam {
|
|||
}; // DiscreteKeys
|
||||
|
||||
/// Create a list from two keys
|
||||
GTSAM_EXPORT DiscreteKeys operator&(const DiscreteKey& key1, const DiscreteKey& key2);
|
||||
DiscreteKeys operator&(const DiscreteKey& key1, const DiscreteKey& key2);
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace gtsam {
|
|||
/**
|
||||
* A class for computing marginals of variables in a DiscreteFactorGraph
|
||||
*/
|
||||
class DiscreteMarginals {
|
||||
class GTSAM_EXPORT DiscreteMarginals {
|
||||
|
||||
protected:
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace gtsam {
|
|||
/**
|
||||
* A base class for both DiscreteFactor and DiscreteConditional
|
||||
*/
|
||||
class Potentials: public AlgebraicDecisionTree<Key> {
|
||||
class GTSAM_EXPORT Potentials: public AlgebraicDecisionTree<Key> {
|
||||
|
||||
public:
|
||||
|
||||
|
@ -46,7 +46,7 @@ namespace gtsam {
|
|||
}
|
||||
|
||||
// Safe division for probabilities
|
||||
GTSAM_EXPORT static double safe_div(const double& a, const double& b);
|
||||
static double safe_div(const double& a, const double& b);
|
||||
|
||||
// // Apply either a permutation or a reduction
|
||||
// template<class P>
|
||||
|
@ -55,10 +55,10 @@ namespace gtsam {
|
|||
public:
|
||||
|
||||
/** Default constructor for I/O */
|
||||
GTSAM_EXPORT Potentials();
|
||||
Potentials();
|
||||
|
||||
/** Constructor from Indices and ADT */
|
||||
GTSAM_EXPORT Potentials(const DiscreteKeys& keys, const ADT& decisionTree);
|
||||
Potentials(const DiscreteKeys& keys, const ADT& decisionTree);
|
||||
|
||||
/** Constructor from Indices and (string or doubles) */
|
||||
template<class SOURCE>
|
||||
|
@ -67,8 +67,8 @@ namespace gtsam {
|
|||
}
|
||||
|
||||
// Testable
|
||||
GTSAM_EXPORT bool equals(const Potentials& other, double tol = 1e-9) const;
|
||||
GTSAM_EXPORT void print(const std::string& s = "Potentials: ",
|
||||
bool equals(const Potentials& other, double tol = 1e-9) const;
|
||||
void print(const std::string& s = "Potentials: ",
|
||||
const KeyFormatter& formatter = DefaultKeyFormatter) const;
|
||||
|
||||
size_t cardinality(Key j) const { return cardinalities_.at(j);}
|
||||
|
|
Loading…
Reference in New Issue