2008-10-21 22:51:54 -04:00
|
|
|
! Copyright (C) 2008 Doug Coleman.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2009-05-16 01:29:21 -04:00
|
|
|
USING: tools.test math.floating-point kernel
|
2010-09-06 21:42:26 -04:00
|
|
|
math.constants fry sequences math random ;
|
2008-10-21 22:51:54 -04:00
|
|
|
IN: math.floating-point.tests
|
2008-11-29 01:44:39 -05:00
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ t ] [ pi >double< >double pi = ] unit-test
|
|
|
|
[ t ] [ -1.0 >double< >double -1.0 = ] unit-test
|
2008-12-03 20:15:58 -05:00
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ t ] [ 1/0. infinity? ] unit-test
|
|
|
|
[ t ] [ -1/0. infinity? ] unit-test
|
|
|
|
[ f ] [ 0/0. infinity? ] unit-test
|
|
|
|
[ f ] [ 10. infinity? ] unit-test
|
|
|
|
[ f ] [ -10. infinity? ] unit-test
|
|
|
|
[ f ] [ 0. infinity? ] unit-test
|
2010-09-06 21:42:26 -04:00
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ 0 ] [ 0.0 double>ratio ] unit-test
|
|
|
|
[ 1 ] [ 1.0 double>ratio ] unit-test
|
|
|
|
[ 1/2 ] [ 0.5 double>ratio ] unit-test
|
|
|
|
[ 3/4 ] [ 0.75 double>ratio ] unit-test
|
|
|
|
[ 12+1/2 ] [ 12.5 double>ratio ] unit-test
|
|
|
|
[ -12-1/2 ] [ -12.5 double>ratio ] unit-test
|
|
|
|
[ 3+39854788871587/281474976710656 ] [ pi double>ratio ] unit-test
|
2010-09-06 21:42:26 -04:00
|
|
|
|
|
|
|
: roundtrip ( n -- )
|
|
|
|
[ '[ _ ] ] keep '[ _ double>ratio >float ] unit-test ;
|
|
|
|
|
|
|
|
{ 1 12 123 1234 } [ bits>double roundtrip ] each
|
|
|
|
|
|
|
|
100 [ -10.0 10.0 uniform-random-float roundtrip ] times
|