13 #ifndef MLPACK_CORE_TREE_RECTANGLE_TREE_X_TREE_AUXILIARY_INFORMATION_HPP 14 #define MLPACK_CORE_TREE_RECTANGLE_TREE_X_TREE_AUXILIARY_INFORMATION_HPP 23 template<
typename TreeType>
29 normalNodeMaxNumChildren(0),
39 normalNodeMaxNumChildren(node->Parent() ?
41 node->MaxNumChildren()),
42 splitHistory(node->Bound().Dim())
81 splitHistory(
std::move(other.splitHistory))
83 other.normalNodeMaxNumChildren = 0;
176 for (
int i = 0; i < dim; ++i)
181 lastDimension(other.lastDimension),
182 history(other.history)
193 lastDimension(other.lastDimension),
194 history(
std::move(other.history))
196 other.lastDimension = 0;
199 template<
typename Archive>
202 ar(CEREAL_NVP(lastDimension));
203 ar(CEREAL_NVP(history));
209 size_t normalNodeMaxNumChildren;
226 template<
typename Archive>
229 ar(CEREAL_NVP(normalNodeMaxNumChildren));
230 ar(CEREAL_NVP(splitHistory));
237 #endif // MLPACK_CORE_TREE_RECTANGLE_TREE_X_TREE_AUXILIARY_INFORMATION_HPP
Linear algebra utility functions, generally performed on matrices or vectors.
SplitHistoryStruct(int dim)
SplitHistoryStruct(SplitHistoryStruct &&other)
SplitHistoryStruct & operator=(const SplitHistoryStruct &other)
The X tree requires that the tree records it's "split history".
std::vector< bool > history
void serialize(Archive &ar, const uint32_t)
SplitHistoryStruct(const SplitHistoryStruct &other)