[svn:parrot] r44867 - trunk/t/op

dukeleto at svn.parrot.org dukeleto at svn.parrot.org
Thu Mar 11 07:28:55 UTC 2010


Author: dukeleto
Date: Thu Mar 11 07:28:55 2010
New Revision: 44867
URL: https://trac.parrot.org/parrot/changeset/44867

Log:
[t] Convert some more tests for transcendental ops to PIR

Modified:
   trunk/t/op/trans.t
   trunk/t/op/trans_old.t

Modified: trunk/t/op/trans.t
==============================================================================
--- trunk/t/op/trans.t	Thu Mar 11 06:52:06 2010	(r44866)
+++ trunk/t/op/trans.t	Thu Mar 11 07:28:55 2010	(r44867)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-t/op/trans.t - Bitwise Ops
+t/op/trans.t - Trancendental Mathematical Ops
 
 =head1 SYNOPSIS
 
@@ -18,15 +18,29 @@
 
 .sub main :main
     .include 'test_more.pir'
+    .local num epsilon
+    epsilon = _epsilon()
 
-    plan(16)
+    plan(28)
 
-    test_sin_n()
-    test_sin_i()
-    test_cos_n()
-    test_cos_i()
-    test_tan_n()
-    test_tan_i()
+    test_sin_n(epsilon)
+    test_sin_i(epsilon)
+    test_cos_n(epsilon)
+    test_cos_i(epsilon)
+    test_tan_n(epsilon)
+    test_tan_i(epsilon)
+    test_sec_n(epsilon)
+    test_sec_i(epsilon)
+    test_atan_n(epsilon)
+    test_atan_i(epsilon)
+    test_asin_n(epsilon)
+    test_asin_i(epsilon)
+    test_acos_n(epsilon)
+    test_acos_i(epsilon)
+    test_asec_n(epsilon)
+    test_asec_i(epsilon)
+    test_cosh_n(epsilon)
+    test_cosh_i(epsilon)
 .end
 
 .sub _pi
@@ -42,8 +56,7 @@
 .end
 
 .sub test_sin_n
-    .local num epsilon
-    epsilon = _epsilon()
+    .param num epsilon
 
     $N0 = sin 0.0
     is($N0, 0.0, "sin(0.0)", epsilon)
@@ -62,8 +75,7 @@
 .end
 
 .sub test_sin_i
-    .local num epsilon
-    epsilon = _epsilon()
+    .param num epsilon
 
     $N0 = sin 0
     is($N0, 0.0, "sin(0)", epsilon)
@@ -73,8 +85,7 @@
 .end
 
 .sub test_cos_n
-    .local num epsilon
-    epsilon = _epsilon()
+    .param num epsilon
 
     $N0 = cos 0.0
     is($N0, 1.0, "cos(0.0)", epsilon)
@@ -93,8 +104,7 @@
 .end
 
 .sub test_cos_i
-    .local num epsilon
-    epsilon = _epsilon()
+    .param num epsilon
 
     $N0 = cos 0
     is($N0, 1.0, "cos(0)", epsilon)
@@ -104,8 +114,7 @@
 .end
 
 .sub test_tan_n
-    .local num epsilon
-    epsilon = _epsilon()
+    .param num epsilon
 
     $N0 = tan 0.0
     is($N0, 0.0, "tan(0.0)", epsilon)
@@ -115,8 +124,7 @@
 .end
 
 .sub test_tan_i
-    .local num epsilon
-    epsilon = _epsilon()
+    .param num epsilon
 
     $N0 = tan 0
     is($N0, 0.0, "tan(0)", epsilon)
@@ -125,6 +133,109 @@
     is($N0, 1.557408, "tan(1)", epsilon)
 .end
 
+.sub test_sec_n
+    .param num epsilon
+
+    $N1 = 1.0
+    $N2 = sec $N1
+    is($N2, 1.850816, "sec(1.0)", epsilon)
+.end
+
+.sub test_sec_i
+    .param num epsilon
+
+    $I1 = 1
+    $N1 = sec $I1
+    is($N1, 1.850816, "sec(1)", epsilon)
+.end
+
+.sub test_atan_n
+    .param num epsilon
+
+    $N1 = 1.0
+    $N2 = atan $N1
+    is($N2, 0.785398, "atan(1.0)", epsilon)
+.end
+
+.sub test_atan_i
+    .param num epsilon
+
+    $I1 = 1
+    $N1 = atan $I1
+    is($N1, 0.785398, "atan(1)", epsilon)
+.end
+
+.sub test_asin_n
+    .param num epsilon
+    .local num pi2
+    pi2 = _pi()
+    pi2 /= 2
+
+    $N1 = 1.0
+    $N2 = asin $N1
+    is($N2, pi2, "asin(1.0)", epsilon)
+.end
+
+.sub test_asin_i
+    .param num epsilon
+    .local num pi2
+    pi2 = _pi()
+    pi2 /= 2
+
+    $I1 = 1
+    $N1 = asin $I1
+    is($N1, pi2, "asin(1)", epsilon)
+.end
+
+.sub test_acos_n
+    .param num epsilon
+
+    $N1 = 1.0
+    $N2 = acos $N1
+    is($N2, 0.0, "acos(1.0)", epsilon)
+.end
+
+.sub test_acos_i
+    .param num epsilon
+
+    $I1 = 1
+    $N1 = acos $I1
+    is($N1, 0.0, "acos(1)", epsilon)
+.end
+
+.sub test_asec_n
+    .param num epsilon
+
+    $N1 = 1.0
+    $N2 = asec $N1
+    is($N2, 0.0, "asec(1.0)", epsilon)
+.end
+
+.sub test_asec_i
+    .param num epsilon
+
+    $I1 = 1
+    $N1 = asec $I1
+    is($N1, 0.0, "asec(1)", epsilon)
+.end
+
+.sub test_cosh_n
+    .param num epsilon
+    .local num result
+
+    $N1 = 1.0
+    $N2 = cosh $N1
+    is($N2, 1.543081, "cosh(1.0)", epsilon)
+.end
+
+.sub test_cosh_i
+    .param num epsilon
+
+    $I1 = 1
+    $N1 = cosh $I1
+    is($N1, 1.543081, "cosh(1)", epsilon)
+.end
+
 # Local Variables:
 #   mode: pir
 #   fill-column: 100

Modified: trunk/t/op/trans_old.t
==============================================================================
--- trunk/t/op/trans_old.t	Thu Mar 11 06:52:06 2010	(r44866)
+++ trunk/t/op/trans_old.t	Thu Mar 11 07:28:55 2010	(r44867)
@@ -6,7 +6,7 @@
 use warnings;
 use lib qw( . lib ../lib ../../lib );
 use Test::More;
-use Parrot::Test tests => 19;
+use Parrot::Test tests => 13;
 use Math::Trig qw( tan sec atan asin acos asec cosh sinh tanh sech );
 
 =head1 NAME
@@ -29,124 +29,6 @@
 # which will conditionally branch
 # to LABEL if abs(n,n) < epsilon
 
-pasm_output_is( <<"CODE", <<OUTPUT, "sec" );
-        .include 'fp_equality.pasm'
-        set N1, 1.0
-        sec N2, N1
-        .fp_eq_pasm  (N2, 1.850816, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 1
-        sec N2, I1
-        .fp_eq_pasm  (N2, 1.850816, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "atan" );
-        .include 'fp_equality.pasm'
-        set N1, 1.0
-        atan N2, N1
-        .fp_eq_pasm  (N2, 0.785398, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 1
-        atan N2, I1
-        .fp_eq_pasm  (N2,0.785398 , EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "asin" );
-        .include 'fp_equality.pasm'
-        set N1, 1.0
-        asin N2, N1
-        .fp_eq_pasm  (N2, 1.570796, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 1
-        asin N2, I1
-        .fp_eq_pasm  (N2, 1.570796 , EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "acos" );
-        .include 'fp_equality.pasm'
-        set N1, 1.0
-        acos N2, N1
-        .fp_eq_pasm  (N2, 0.000000, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 1
-        acos N2, I1
-        .fp_eq_pasm  (N2, 0.000000, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "asec" );
-        .include 'fp_equality.pasm'
-        set N1, 1.0
-        asec N2, N1
-        .fp_eq_pasm  (N2, 0.000000, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 1
-        asec N2, I1
-        .fp_eq_pasm  (N2, 0.000000, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "cosh" );
-        .include 'fp_equality.pasm'
-        set N1, 1.0
-        cosh N2, N1
-        .fp_eq_pasm  (N2, 1.543081, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 1
-        cosh N2, I1
-        .fp_eq_pasm  (N2, 1.543081, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
 my $runcore = $ENV{TEST_PROG_ARGS} || '';
 my @bsdtodo = (
     $runcore =~ /--runcore=jit/ &&  $^O =~ m/bsd/i


More information about the parrot-commits mailing list