[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