Algorith sandbox
TestData.h
1 #pragma once
2 #include "algo/test_util/RandomNumber.h"
3 #include <boost/numeric/ublas/vector.hpp>
4 #include <boost/numeric/ublas/matrix.hpp>
5 #include <cassert>
6 
7 namespace algo { namespace test_util {
11  class TestData {
12  //private typedef
13  private:
14  //public typedef
15  public:
16  //public function
17  public:
25  static
26  boost::numeric::ublas::vector<double>
27  getRandomNumbers(const std::size_t size)
28  {
29  namespace ublas = boost::numeric::ublas;
30  static test_util::RandomNumber generator;
31 
32  ublas::vector<double> x(size);
33  std::generate(x.begin(), x.end(), generator);
34  return x;
35  }
44  static
45  boost::numeric::ublas::matrix<double>
46  getRandomMatrix(const std::size_t rowSize, const std::size_t colSize)
47  {
48  namespace ublas = boost::numeric::ublas;
49  ublas::vector<double> data
50  = TestData::getRandomNumbers(rowSize * colSize);
51 
52  ublas::matrix<double> matrix(rowSize, colSize);
53  for (std::size_t ri = 0; ri < matrix.size1(); ++ri) {
54  for (std::size_t ci = 0; ci < matrix.size2(); ++ci) {
55  matrix(ri, ci) = data(rowSize * ri + ci);
56  }
57  }
58  return matrix;
59  }
60  //private function
61  private:
62  //private members
63  private:
64  }; // class TestData {
65 } } // namespace algo { namespace test_util {
Definition: RandomNumber.h:5
static boost::numeric::ublas::vector< double > getRandomNumbers(const std::size_t size)
Definition: TestData.h:27
Common test data. Only random valued data is acceptable.
Definition: TestData.h:11
static boost::numeric::ublas::matrix< double > getRandomMatrix(const std::size_t rowSize, const std::size_t colSize)
Definition: TestData.h:46
Definition: ublas_matrix_expression_concept.hpp:5
Definition: ublas_unary_operator.hpp:13