numeric_limits.cc (test_extrema<long double>): Remove specialization for FreeBSD systems.
* testsuite/18_support/numeric_limits.cc (test_extrema<long double>): Remove specialization for FreeBSD systems. From-SVN: r58409
This commit is contained in:
parent
8fe734a3fe
commit
312af83702
@ -1,3 +1,8 @@
|
||||
2002-10-22 Loren J. Rittle <ljrittle@acm.org>
|
||||
|
||||
* testsuite/18_support/numeric_limits.cc (test_extrema<long double>):
|
||||
Remove specialization for FreeBSD systems.
|
||||
|
||||
2002-10-18 Loren J. Rittle <ljrittle@acm.org>
|
||||
|
||||
* configure.target (freebsd*): Use abi_baseline_triplet.
|
||||
|
@ -71,34 +71,6 @@ void test_extrema()
|
||||
VERIFY( extrema_max == limits_max );
|
||||
}
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
// This specialization allows the extra precision unmentioned in
|
||||
// system headers yet supported by long double on FreeBSD or Solaris
|
||||
// to not cause a gratuitous FAIL for the entire test. Using this
|
||||
// technique to compare the residual against epsilon ensures that any
|
||||
// major breakage will still be detected (although obviously not as
|
||||
// tight as the exact equality check that would have been generated by
|
||||
// default). This replacement test is allowable by the fact that C++
|
||||
// limits should match the system provided limits for C even if they
|
||||
// were wrong verses the actual FP hardware.
|
||||
template<>
|
||||
void test_extrema<long double>()
|
||||
{
|
||||
typedef long double T;
|
||||
bool test = true;
|
||||
T limits_min = std::numeric_limits<T>::min();
|
||||
T limits_max = std::numeric_limits<T>::max();
|
||||
T extrema_min = extrema<T>::min;
|
||||
T extrema_max = extrema<T>::max;
|
||||
T epsilon = std::numeric_limits<T>::epsilon();
|
||||
|
||||
VERIFY( (extrema_min - limits_min) < epsilon );
|
||||
VERIFY( (limits_min - extrema_min) < epsilon );
|
||||
VERIFY( (extrema_max / limits_max) < (1 + epsilon) );
|
||||
VERIFY( (limits_max / extrema_max) < (1 + epsilon) );
|
||||
}
|
||||
#endif
|
||||
|
||||
template<typename T>
|
||||
void test_epsilon()
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user