]> gitweb.factorcode.org Git - factor.git/commitdiff
math.floats.env: Make sure answers are array. So much metapgramming in these unit...
authorDoug Coleman <doug.coleman@gmail.com>
Thu, 2 Jul 2015 22:58:51 +0000 (15:58 -0700)
committerDoug Coleman <doug.coleman@gmail.com>
Thu, 2 Jul 2015 23:05:42 +0000 (16:05 -0700)
basis/math/floats/env/env-tests.factor

index af02a9ddd00da7f261bd0b58821b9823581abd12..81ee34a26ab7bf6d2b6b5014e9c78d1fc51e599e 100755 (executable)
@@ -16,37 +16,37 @@ set-default-fp-env
 : test-fp-exception-compiled ( exception inputs quot -- quot' )
     '[ _ @ [ _ collect-fp-exceptions ] compile-call nip member? ] ;
 
-[ t ] +fp-zero-divide+ [ 1.0 0.0 ] [ /f ] test-fp-exception unit-test
-[ t ] +fp-inexact+ [ 1.0 3.0 ] [ /f ] test-fp-exception unit-test
-[ t ] +fp-overflow+ [ 1.0e250 1.0e100 ] [ * ] test-fp-exception unit-test
-[ t ] +fp-underflow+ [ 1.0e-250 1.0e-100 ] [ * ] test-fp-exception unit-test
-[ t ] +fp-overflow+ [ 2.0 100,000.0 ] [ fpow ] test-fp-exception unit-test
-[ t ] +fp-invalid-operation+ [ 0.0 0.0 ] [ /f ] test-fp-exception unit-test
-[ t ] +fp-invalid-operation+ [ -1.0 ] [ fsqrt ] test-fp-exception unit-test
-
-[ t ] +fp-zero-divide+ [ 1.0 0.0 ] [ /f ] test-fp-exception-compiled unit-test
-[ t ] +fp-inexact+ [ 1.0 3.0 ] [ /f ] test-fp-exception-compiled unit-test
-[ t ] +fp-overflow+ [ 1.0e250 1.0e100 ] [ * ] test-fp-exception-compiled unit-test
-[ t ] +fp-underflow+ [ 1.0e-250 1.0e-100 ] [ * ] test-fp-exception-compiled unit-test
-[ t ] +fp-overflow+ [ 2.0 100,000.0 ] [ fpow ] test-fp-exception-compiled unit-test
-[ t ] +fp-invalid-operation+ [ 2.0 0/0. 1.0e-9 ] [ ~ ] test-fp-exception-compiled unit-test
+{ t } +fp-zero-divide+ [ 1.0 0.0 ] [ /f ] test-fp-exception unit-test
+{ t } +fp-inexact+ [ 1.0 3.0 ] [ /f ] test-fp-exception unit-test
+{ t } +fp-overflow+ [ 1.0e250 1.0e100 ] [ * ] test-fp-exception unit-test
+{ t } +fp-underflow+ [ 1.0e-250 1.0e-100 ] [ * ] test-fp-exception unit-test
+{ t } +fp-overflow+ [ 2.0 100,000.0 ] [ fpow ] test-fp-exception unit-test
+{ t } +fp-invalid-operation+ [ 0.0 0.0 ] [ /f ] test-fp-exception unit-test
+{ t } +fp-invalid-operation+ [ -1.0 ] [ fsqrt ] test-fp-exception unit-test
+
+{ t } +fp-zero-divide+ [ 1.0 0.0 ] [ /f ] test-fp-exception-compiled unit-test
+{ t } +fp-inexact+ [ 1.0 3.0 ] [ /f ] test-fp-exception-compiled unit-test
+{ t } +fp-overflow+ [ 1.0e250 1.0e100 ] [ * ] test-fp-exception-compiled unit-test
+{ t } +fp-underflow+ [ 1.0e-250 1.0e-100 ] [ * ] test-fp-exception-compiled unit-test
+{ t } +fp-overflow+ [ 2.0 100,000.0 ] [ fpow ] test-fp-exception-compiled unit-test
+{ t } +fp-invalid-operation+ [ 2.0 0/0. 1.0e-9 ] [ ~ ] test-fp-exception-compiled unit-test
 
 ! No underflow on Linux with this test, just inexact. Reported as an Ubuntu bug:
 ! https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/429113
 os linux? cpu x86.64? and [
-    [ t ] +fp-underflow+ [ 2.0 -100,000.0 ] [ fpow ] test-fp-exception unit-test
-    [ t ] +fp-underflow+ [ 2.0 -100,000.0 ] [ fpow ] test-fp-exception-compiled unit-test
+    { t } +fp-underflow+ [ 2.0 -100,000.0 ] [ fpow ] test-fp-exception unit-test
+    { t } +fp-underflow+ [ 2.0 -100,000.0 ] [ fpow ] test-fp-exception-compiled unit-test
 ] unless
 
-[ t ] +fp-invalid-operation+ [ 0.0 0.0 ] [ /f ] test-fp-exception-compiled unit-test
-[ t ] +fp-invalid-operation+ [ -1.0 ] [ fsqrt ] test-fp-exception-compiled unit-test
+{ t } +fp-invalid-operation+ [ 0.0 0.0 ] [ /f ] test-fp-exception-compiled unit-test
+{ t } +fp-invalid-operation+ [ -1.0 ] [ fsqrt ] test-fp-exception-compiled unit-test
 
-[
+{
     0x3fd5,5555,5555,5555
     0x3fc9,9999,9999,999a
     0xbfc9,9999,9999,999a
     0xbfd5,5555,5555,5555
-] [
+} [
     +round-nearest+ [
          1.0 3.0 /f double>bits
          1.0 5.0 /f double>bits
@@ -55,12 +55,12 @@ os linux? cpu x86.64? and [
     ] with-rounding-mode
 ] unit-test
 
-[
+{
     0x3fd5,5555,5555,5555
     0x3fc9,9999,9999,9999
     0xbfc9,9999,9999,999a
     0xbfd5,5555,5555,5556
-] [
+} [
     +round-down+ [
          1.0 3.0 /f double>bits
          1.0 5.0 /f double>bits
@@ -69,12 +69,12 @@ os linux? cpu x86.64? and [
     ] with-rounding-mode
 ] unit-test
 
-[
+{
     0x3fd5,5555,5555,5556
     0x3fc9,9999,9999,999a
     0xbfc9,9999,9999,9999
     0xbfd5,5555,5555,5555
-] [
+} [
     +round-up+ [
          1.0 3.0 /f double>bits
          1.0 5.0 /f double>bits
@@ -83,12 +83,12 @@ os linux? cpu x86.64? and [
     ] with-rounding-mode
 ] unit-test
 
-[
+{
     0x3fd5,5555,5555,5555
     0x3fc9,9999,9999,9999
     0xbfc9,9999,9999,9999
     0xbfd5,5555,5555,5555
-] [
+} [
     +round-zero+ [
          1.0 3.0 /f double>bits
          1.0 5.0 /f double>bits
@@ -98,12 +98,12 @@ os linux? cpu x86.64? and [
 ] unit-test
 
 ! ensure rounding mode is restored to +round-nearest+
-[
+{
     0x3fd5,5555,5555,5555
     0x3fc9,9999,9999,999a
     0xbfc9,9999,9999,999a
     0xbfd5,5555,5555,5555
-] [
+} [
      1.0 3.0 /f double>bits
      1.0 5.0 /f double>bits
     -1.0 5.0 /f double>bits
@@ -181,14 +181,14 @@ os linux? cpu x86.64? and [
 ] when
 
 ! Ensure traps get cleared
-[ 1/0. ] [ 1.0 0.0 /f ] unit-test
+{ 1/0. } [ 1.0 0.0 /f ] unit-test
 
 ! Ensure state is back to normal
-[ +round-nearest+ ] [ rounding-mode ] unit-test
-[ +denormal-keep+ ] [ denormal-mode ] unit-test
-[ { } ] [ fp-traps ] unit-test
+{ +round-nearest+ } [ rounding-mode ] unit-test
+{ +denormal-keep+ } [ denormal-mode ] unit-test
+{ { } } [ fp-traps ] unit-test
 
-[ ] [
+{ } [
     all-fp-exceptions [ compact-gc ] with-fp-traps
 ] unit-test