本文整理汇总了C++中arma::mat::swap_cols方法的典型用法代码示例。如果您正苦于以下问题:C++ mat::swap_cols方法的具体用法?C++ mat::swap_cols怎么用?C++ mat::swap_cols使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类arma::mat
的用法示例。
在下文中一共展示了mat::swap_cols方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SplitData
size_t DTree::SplitData(arma::mat& data,
const size_t splitDim,
const double splitValue,
arma::Col<size_t>& oldFromNew) const
{
// Swap all columns such that any columns with value in dimension splitDim
// less than or equal to splitValue are on the left side, and all others are
// on the right side. A similar sort to this is also performed in
// BinarySpaceTree construction (its comments are more detailed).
size_t left = start;
size_t right = end - 1;
for (;;)
{
while (data(splitDim, left) <= splitValue)
++left;
while (data(splitDim, right) > splitValue)
--right;
if (left > right)
break;
data.swap_cols(left, right);
// Store the mapping from old to new.
const size_t tmp = oldFromNew[left];
oldFromNew[left] = oldFromNew[right];
oldFromNew[right] = tmp;
}
// This now refers to the first index of the "right" side.
return left;
}