2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-19 04:22:09 +00:00

Minor fixes: added needed declaration of "two", upped tolerance slightly.

[SVN r31662]
This commit is contained in:
John Maddock
2005-11-15 11:39:35 +00:00
parent 3a4b7be9a9
commit 48eb2d3f9b
2 changed files with 5 additions and 3 deletions

View File

@@ -204,6 +204,7 @@ void check_spots(const T&)
{
typedef std::complex<T> ct;
ct result;
static const T two = 2.0;
T eps = std::pow(two, 1-std::numeric_limits<T>::digits); // numeric_limits<>::epsilon way too small to be useful on Darwin.
static const T zero = 0;
static const T mzero = -zero;

View File

@@ -538,7 +538,7 @@ void test(T)
{
//static const T factor = std::numeric_limits<T>::epsilon() * 100;
static const T two = 2;
static const T factor = std::pow(two, 1-std::numeric_limits<T>::digits) * 100;
static const T factor = std::pow(two, 1-std::numeric_limits<T>::digits) * 110;
for(unsigned i = 0; i < sizeof(data)/sizeof(data[0]); ++i)
{
T input_value = static_cast<T>(data[i][0]);
@@ -569,9 +569,10 @@ int test_main(int, char* [])
test(double(0));
//
// The long double version of these tests fails on some platforms
// due to poor std lib support:
// due to poor std lib support (not enough digits returned from
// std::log and std::exp):
//
#if !defined(__CYGWIN__)
#if !defined(__CYGWIN__) && !defined(__FreeBSD__)
std::cout << "Running long double tests" << std::endl;
test((long double)(0));
#endif