randompartitioner.cpp

来自「dysii is a C++ library for distributed p」· C++ 代码 · 共 36 行

CPP
36
字号
#include "RandomPartitioner.hpp"using namespace indii::ml::aux;RandomPartitioner::~RandomPartitioner() {  //}bool RandomPartitioner::init(DiracMixturePdf* p,      const std::vector<unsigned int>& is) {  /* pre-condition */  assert (is.size() >= 2);  unsigned int i;  double lower, upper, x;  /* randomly select dimension */  index = static_cast<unsigned int>(Random::uniform(0, p->getDimensions()));  /* split on midpoint of selected dimension */  lower = p->get(is[0])(index);  upper = lower;  for (i = 1; i < is.size(); i++) {    x = p->get(is[i])(index);    if (x < lower) {      lower = x;    } else if (x > upper) {      upper = x;    }  }  this->value = (lower + upper) / 2.0;    return (upper - lower > 0.0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?