From 000b2fe9a6b18cab1deee9579e8740d7c37a67b4 Mon Sep 17 00:00:00 2001 From: Matt Brubeck Date: Thu, 27 Oct 2011 22:01:30 -0700 Subject: Use IEEE 754 semantics for NaN (Issue #1084) --- src/test/stdtest/float.rs | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'src/test/stdtest') diff --git a/src/test/stdtest/float.rs b/src/test/stdtest/float.rs index 086942fb8c1..302d6b1679e 100644 --- a/src/test/stdtest/float.rs +++ b/src/test/stdtest/float.rs @@ -10,7 +10,7 @@ fn test_from_str() { assert ( float::from_str("2.5e10") == 25000000000. ); assert ( float::from_str("25000000000.E-10") == 2.5 ); assert ( float::from_str("") == 0. ); - assert ( float::from_str(" ") == 0. ); + assert ( float::isNaN(float::from_str(" ")) ); assert ( float::from_str(".") == 0. ); assert ( float::from_str("5.") == 5. ); assert ( float::from_str(".5") == 0.5 ); @@ -25,6 +25,7 @@ fn test_positive() { assert(!float::positive(-1.)); assert(!float::positive(float::neg_infinity())); assert(!float::positive(1./float::neg_infinity())); + assert(!float::positive(float::NaN())); } #[test] @@ -35,4 +36,27 @@ fn test_negative() { assert(float::negative(-1.)); assert(float::negative(float::neg_infinity())); assert(float::negative(1./float::neg_infinity())); + assert(!float::negative(float::NaN())); +} + +#[test] +fn test_nonpositive() { + assert(!float::nonpositive(float::infinity())); + assert(!float::nonpositive(1.)); + assert(!float::nonpositive(0.)); + assert(float::nonpositive(-1.)); + assert(float::nonpositive(float::neg_infinity())); + assert(float::nonpositive(1./float::neg_infinity())); + // TODO: assert(!float::nonpositive(float::NaN())); +} + +#[test] +fn test_nonnegative() { + assert(float::nonnegative(float::infinity())); + assert(float::nonnegative(1.)); + assert(float::nonnegative(0.)); + assert(!float::nonnegative(-1.)); + assert(!float::nonnegative(float::neg_infinity())); + assert(!float::nonnegative(1./float::neg_infinity())); + // TODO: assert(!float::nonnegative(float::NaN())); } -- cgit 1.4.1-3-g733a5