Chebyshev
Unit testing for scientific software
Loading...
Searching...
No Matches
common.h File Reference

Common definitions for the framework. More...

#include <limits>
#include <vector>
#include "../prec/interval.h"

Go to the source code of this file.

Namespaces

namespace  chebyshev
 General namespace of the framework.
 

Macros

#define CHEBYSHEV_PREC_ITER   1000
 Default number of function evaluations in precision testing.
 
#define CHEBYSHEV_PREC_TOLERANCE   1E-08
 Default tolerance in precision testing.
 
#define CHEBYSHEV_BENCHMARK_ITER   1000
 Default number of benchmark iterations.
 
#define CHEBYSHEV_BENCHMARK_RUNS   10
 Default number of benchmark runs.
 
#define CHEBYSHEV_OUTPUT_WIDTH   12
 Default width of output columns.
 
#define CAST_LAMBDA(func, type)   [=](type x){ return func(static_cast<type>(x)); }
 

Typedefs

using real_t = double
 Floating-point type, used as default for function arguments.
 
using prec_t = long double
 Floating-point type of higher precision, used in computations, such as error estimation.
 
template<typename Type = double>
using chebyshev::EndoFunction = std::function< Type(Type)>
 An endofunction is a function which has the same type of input and output, such as a real function of real variable \(f: \mathbb{R} \rightarrow \mathbb{R}\).
 

Functions

template<typename FloatType = long double>
constexpr FloatType chebyshev::get_nan ()
 Get a quiet NaN of the specified floating point type.
 

Variables

const long double chebyshev::PI_CONST = 3.141592653589793238462643L
 The Pi mathematical constant.
 

Detailed Description

Common definitions for the framework.