6 #ifndef CHEBYSHEV_COMMON_H
7 #define CHEBYSHEV_COMMON_H
9 #ifndef CHEBYSHEV_PREC_ITER
12 #define CHEBYSHEV_PREC_ITER 1000
15 #ifndef CHEBYSHEV_PREC_TOLERANCE
17 #define CHEBYSHEV_PREC_TOLERANCE 1E-08
20 #ifndef CHEBYSHEV_BENCHMARK_ITER
22 #define CHEBYSHEV_BENCHMARK_ITER 1000
25 #ifndef CHEBYSHEV_BENCHMARK_RUNS
27 #define CHEBYSHEV_BENCHMARK_RUNS 10
30 #ifndef CHEBYSHEV_OUTPUT_WIDTH
32 #define CHEBYSHEV_OUTPUT_WIDTH 12
38 #include "../prec/interval.h"
41 #define CAST_LAMBDA(func, type) [=](type x){ return func(static_cast<type>(x)); }
49 template<
typename Type =
double>
54 template<
typename FloatType =
long double>
56 return std::numeric_limits<FloatType>::quiet_NaN();
61 const long double PI_CONST = 3.141592653589793238462643L;
67 #ifndef CHEBYSHEV_NO_ALIAS
General namespace of the framework.
Definition: benchmark_structures.h:16
constexpr FloatType get_nan()
Get a quiet NaN of the specified floating point type.
Definition: common.h:55
std::function< Type(Type)> EndoFunction
An endofunction is a function which has the same type of input and output (e.g.
Definition: common.h:50
const long double PI_CONST
The Pi mathematical constant.
Definition: common.h:61