Template Struct Combined

Struct Documentation

template<typename Scalar>
struct Combined

Public Types

using cref_t = const Eigen::Ref<const Eigen::Matrix<Scalar, -1, 1>>&
using ref_t = Eigen::Ref<Eigen::Matrix<Scalar, -1, 1>>
using Space = std::variant<RnL1<Scalar>, Rn<Scalar>, RnSquared<Scalar>, SO2<Scalar>, SO2Squared<Scalar>, SO3<Scalar>, SO3Squared<Scalar>>

Public Functions

inline void set_weights(cref_t weights_)
inline int get_runtime_dim()
Combined() = default
inline Combined(const std::vector<Space> &spaces, const std::vector<int> &dims)
inline void print(std::ostream &out)
inline Combined(const std::vector<std::string> &spaces_str)
inline void choose_split_dimension(cref_t lb, cref_t ub, int &ii, Scalar &width)
inline bool check_bounds(cref_t x) const
inline void set_bounds(cref_t &lbs, cref_t &ubs)
inline void set_bounds(const std::vector<Eigen::VectorXd> &lbs, const std::vector<Eigen::VectorXd> &ubs)
inline void sample_uniform(ref_t x) const
inline void interpolate(cref_t from, cref_t to, Scalar t, ref_t out) const
inline Scalar distance(cref_t x, cref_t y) const
inline Scalar distance_to_rectangle(cref_t x, cref_t lb, cref_t ub) const

Public Members

std::vector<Space> spaces
std::vector<int> dims
Eigen::Matrix<Scalar, -1, 1> weights
bool use_weights = false
std::vector<std::string> spaces_names
Eigen::VectorXd lb
Eigen::VectorXd ub