eis/TestProject/RNG/BaseData.h

28 lines
732 B
C++

#pragma once
#include <mlpack/core.hpp>
#include <mlpack/core/data/split_data.hpp>
namespace BaseData {
using namespace mlpack;
using namespace arma;
const size_t MaxNum = 36000;
struct BaseData {
static arma::vec vec1;
struct Init {
static arma::vec init(double x0, double xn) {
arma::vec vec2;
vec2.ones(MaxNum*2);
for (int i = 0; i < MaxNum; i++) {
vec2[i] = x0 + i * (xn - x0) / (double)MaxNum;
vec2[MaxNum+i] = xn - i * (xn - x0) / (double)MaxNum;
}
return vec2;
}
};
double operator()(size_t index) { return vec1[index % (2*MaxNum)]; }
};
// arma::vec BaseData::BaseData::vec1
arma::vec BaseData::vec1 = BaseData::Init::init(600, 300);
}; // namespace BaseData