]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/math/tools/digamma_data.cpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / libs / math / tools / digamma_data.cpp
CommitLineData
7c673cae
FG
1// (C) Copyright John Maddock 2006.
2// Use, modification and distribution are subject to the
3// Boost Software License, Version 1.0. (See accompanying file
4// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
20effc67 6#include "mp_t.hpp"
7c673cae
FG
7#include <boost/math/special_functions/digamma.hpp>
8#include <boost/test/included/prg_exec_monitor.hpp>
9#include <fstream>
10#include <boost/math/tools/test_data.hpp>
7c673cae
FG
11
12using namespace boost::math::tools;
13using namespace std;
14
15float external_f;
16float force_truncate(const float* f)
17{
18 external_f = *f;
19 return external_f;
20}
21
22float truncate_to_float(mp_t r)
23{
24 float f = boost::math::tools::real_cast<float>(r);
25 return force_truncate(&f);
26}
27
28int cpp_main(int argc, char*argv [])
29{
30 parameter_info<mp_t> arg1;
31 test_data<mp_t> data;
32
33 bool cont;
34 std::string line;
35
36 std::cout << "Welcome.\n"
37 "This program will generate spot tests for the digamma function:\n"
38 " digamma(z)\n\n";
39
40 do{
41 if(0 == get_user_parameter_info(arg1, "z"))
42 return 1;
43 data.insert(&boost::math::digamma<mp_t>, arg1);
44
45 std::cout << "Any more data [y/n]?";
46 std::getline(std::cin, line);
47 boost::algorithm::trim(line);
48 cont = (line == "y");
49 }while(cont);
50
51 std::cout << "Enter name of test data file [default=digamma_data.ipp]";
52 std::getline(std::cin, line);
53 boost::algorithm::trim(line);
54 if(line == "")
55 line = "digamma_data.ipp";
56 std::ofstream ofs(line.c_str());
57 ofs << std::scientific << std::setprecision(40);
58 write_code(ofs, data, "digamma_data");
59
60 return 0;
61}
62
63
64