int main(int argc, char** argv) {
    if (argc != 2) {
        std::cerr << "Usage: " << argv[0] << " <sample size: integer>"
                  << std::endl;
        return 1;
    }

    // Build initialization memory
    std::istringstream argbuf(argv[1]);
    std::size_t        data_size;
    argbuf >> data_size;
    utils::random_engine engine(43278322);

    std::cout << "Uniform distribution:" << std::endl;
    utils::uniform_double_distribution uniform(engine, -1.0, 1.0);
    compare_libraries<3, point3_type, utils::uniform_double_distribution>(
        data_size, uniform);
    compare_libraries<9, point9_type, utils::uniform_double_distribution>(
        data_size, uniform);

    std::cout << "Normal distribution:" << std::endl;
    utils::normal_double_distribution normal(engine, -1.0, 1.0);
    compare_libraries<3, point3_type, utils::normal_double_distribution>(
        data_size, normal);
    compare_libraries<9, point9_type, utils::normal_double_distribution>(
        data_size, normal);

    std::cout << "Narrow normal distribution:" << std::endl;
    utils::narrow_double_distribution narrow(engine, -1.0, 1.0);
    compare_libraries<3, point3_type, utils::narrow_double_distribution>(
        data_size, narrow);
    compare_libraries<9, point9_type, utils::narrow_double_distribution>(
        data_size, narrow);
}
示例#2
0
int main (int argc, char **argv)
{
  if (argc != 2)
    {
      std::cerr << "Usage: " << argv[0] << " <sample size: integer>"
                << std::endl;
      return 1;
    }

  std::istringstream argbuf(argv[1]);
  std::size_t data_size;
  argbuf >> data_size;

  std::cout << "All points equal:" << std::endl;
  compare_libraries<3, point3_type>(data_size);
  compare_libraries<9, point9_type>(data_size);

  std::cout << "Total: " << total << std::endl;
}