Restore accidentally overwritten test
This commit is contained in:
parent
3d0610b072
commit
7548a0d77a
|
@ -1,26 +1,82 @@
|
|||
use std;
|
||||
|
||||
import std::ctypes::*;
|
||||
|
||||
fn foo_float() -> m_float { ret 0.0 as m_float; }
|
||||
fn bar_float() -> float { be foo_float() as float; }
|
||||
|
||||
fn foo_int() -> m_int { ret 0 as m_int; }
|
||||
fn bar_int() -> int { be foo_int() as int; }
|
||||
|
||||
fn foo_uint() -> m_uint { ret 0u as m_uint; }
|
||||
fn bar_uint() -> uint { be foo_uint() as uint; }
|
||||
|
||||
fn foo_long() -> long { ret 0 as long; }
|
||||
fn bar_long() -> int { be foo_long() as int; }
|
||||
|
||||
fn foo_ulong() -> ulong { ret 0u as ulong; }
|
||||
fn bar_ulong() -> uint { be foo_uint() as uint; }
|
||||
import std::float;
|
||||
|
||||
fn main() {
|
||||
assert bar_float() == 0.0;
|
||||
assert bar_int() == 0;
|
||||
assert bar_uint() == 0u;
|
||||
assert bar_long() == 0;
|
||||
assert bar_ulong() == 0u;
|
||||
}
|
||||
let nan = float::NaN;
|
||||
assert(float::isNaN(nan));
|
||||
|
||||
let inf = float::infinity;
|
||||
assert(-inf == float::neg_infinity);
|
||||
|
||||
assert( nan != nan);
|
||||
assert( nan != -nan);
|
||||
assert(-nan != -nan);
|
||||
assert(-nan != nan);
|
||||
|
||||
assert( nan != 1.);
|
||||
assert( nan != 0.);
|
||||
assert( nan != inf);
|
||||
assert( nan != -inf);
|
||||
|
||||
assert( 1. != nan);
|
||||
assert( 0. != nan);
|
||||
assert( inf != nan);
|
||||
assert(-inf != nan);
|
||||
|
||||
assert(!( nan == nan));
|
||||
assert(!( nan == -nan));
|
||||
assert(!( nan == 1.));
|
||||
assert(!( nan == 0.));
|
||||
assert(!( nan == inf));
|
||||
assert(!( nan == -inf));
|
||||
assert(!( 1. == nan));
|
||||
assert(!( 0. == nan));
|
||||
assert(!( inf == nan));
|
||||
assert(!(-inf == nan));
|
||||
assert(!(-nan == nan));
|
||||
assert(!(-nan == -nan));
|
||||
|
||||
assert(!( nan > nan));
|
||||
assert(!( nan > -nan));
|
||||
assert(!( nan > 0.));
|
||||
assert(!( nan > inf));
|
||||
assert(!( nan > -inf));
|
||||
assert(!( 0. > nan));
|
||||
assert(!( inf > nan));
|
||||
assert(!(-inf > nan));
|
||||
assert(!(-nan > nan));
|
||||
|
||||
assert(!(nan < 0.));
|
||||
assert(!(nan < 1.));
|
||||
assert(!(nan < -1.));
|
||||
assert(!(nan < inf));
|
||||
assert(!(nan < -inf));
|
||||
assert(!(nan < nan));
|
||||
assert(!(nan < -nan));
|
||||
|
||||
assert(!( 0. < nan));
|
||||
assert(!( 1. < nan));
|
||||
assert(!( -1. < nan));
|
||||
assert(!( inf < nan));
|
||||
assert(!(-inf < nan));
|
||||
assert(!(-nan < nan));
|
||||
|
||||
assert(float::isNaN(nan + inf));
|
||||
assert(float::isNaN(nan + -inf));
|
||||
assert(float::isNaN(nan + 0.));
|
||||
assert(float::isNaN(nan + 1.));
|
||||
assert(float::isNaN(nan * 1.));
|
||||
assert(float::isNaN(nan / 1.));
|
||||
assert(float::isNaN(nan / 0.));
|
||||
assert(float::isNaN(0. / 0.));
|
||||
assert(float::isNaN(-inf + inf));
|
||||
assert(float::isNaN(inf - inf));
|
||||
|
||||
assert(!float::isNaN(-1.));
|
||||
assert(!float::isNaN(0.));
|
||||
assert(!float::isNaN(0.1));
|
||||
assert(!float::isNaN(1.));
|
||||
assert(!float::isNaN(inf));
|
||||
assert(!float::isNaN(-inf));
|
||||
assert(!float::isNaN(1./-inf));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue