Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Test a bunch of trygonometric ops.
  • Loading branch information
pmurias committed Mar 9, 2016
1 parent 8f82c9a commit 75192d6
Showing 1 changed file with 70 additions and 1 deletion.
71 changes: 70 additions & 1 deletion t/nqp/83-math.t
@@ -1,4 +1,4 @@
plan(4);
plan(61);

# Basic tests for a bunch of mathematical functions

Expand All @@ -22,3 +22,72 @@ is_approx(nqp::log_n(0.1), $log_one_tenth, 'got the log of 0.1');
is_approx(nqp::exp_n(-1), 0.36787944117144233, 'nqp::exp_n(-1)');
is_approx(nqp::exp_n(1), 2.7182818284590452, 'nqp::exp_n(1)');

is_approx(nqp::sin_n(1), 0.841470984807897, "nqp::sin_n(1)");
is_approx(nqp::sin_n(2), 0.909297426825682, "nqp::sin_n(2)");
is_approx(nqp::sin_n(3), 0.141120008059867, "nqp::sin_n(3)");
is_approx(nqp::sin_n(4), -0.756802495307928, "nqp::sin_n(4)");

is_approx(nqp::cos_n(1), 0.54030230586814, "nqp::cos_n(1)");
is_approx(nqp::cos_n(2), -0.416146836547142, "nqp::cos_n(2)");
is_approx(nqp::cos_n(3), -0.989992496600445, "nqp::cos_n(3)");
is_approx(nqp::cos_n(4), -0.653643620863612, "nqp::cos_n(4)");

is_approx(nqp::tan_n(1), 1.5574077246549, "nqp::tan_n(1)");
is_approx(nqp::tan_n(2), -2.18503986326152, "nqp::tan_n(2)");
is_approx(nqp::tan_n(3), -0.142546543074278, "nqp::tan_n(3)");
is_approx(nqp::tan_n(4), 1.15782128234958, "nqp::tan_n(4)");

is_approx(nqp::sec_n(1), 1.85081571768093, "nqp::sec_n(1)");
is_approx(nqp::sec_n(2), -2.40299796172238, "nqp::sec_n(2)");
is_approx(nqp::sec_n(3), -1.01010866590799, "nqp::sec_n(3)");
is_approx(nqp::sec_n(4), -1.5298856564664, "nqp::sec_n(4)");

is_approx(nqp::atan_n(-10), -1.47112767430373, "nqp::atan_n(-10)");
is_approx(nqp::atan_n(-3), -1.24904577239825, "nqp::atan_n(-3)");
is_approx(nqp::atan_n(0), 0, "nqp::atan_n(0)");
is_approx(nqp::atan_n(3), 1.24904577239825, "nqp::atan_n(3)");
is_approx(nqp::atan_n(10), 1.47112767430373, "nqp::atan_n(10)");

is_approx(nqp::acos_n(-1), 3.14159265358979, "nqp::acos_n(-1)");
is_approx(nqp::acos_n(-0.5), 2.0943951023932, "nqp::acos_n(-0.5)");
is_approx(nqp::acos_n(0), 1.5707963267949, "nqp::acos_n(0)");
is_approx(nqp::acos_n(0.5), 1.0471975511966, "nqp::acos_n(0.5)");
is_approx(nqp::acos_n(1), 0, "nqp::acos_n(1)");

is_approx(nqp::asin_n(-1), -1.5707963267949, "nqp::asin_n(-1)");
is_approx(nqp::asin_n(-0.5), -0.523598775598299, "nqp::asin_n(-0.5)");
is_approx(nqp::asin_n(0), 0, "nqp::asin_n(0)");
is_approx(nqp::asin_n(0.5), 0.523598775598299, "nqp::asin_n(0.5)");
is_approx(nqp::asin_n(1), 1.5707963267949, "nqp::asin_n(1)");

is_approx(nqp::asec_n(-2), 2.0943951023932, "nqp::asec_n(-2)");
is_approx(nqp::asec_n(-1), 3.14159265358979, "nqp::asec_n(-1)");
is_approx(nqp::asec_n(1), 0, "nqp::asec_n(1)");
is_approx(nqp::asec_n(2), 1.0471975511966, "nqp::asec_n(2)");

is_approx(nqp::sinh_n(-7), -548.316123273246, "nqp::sinh_n(-7)");
is_approx(nqp::sinh_n(-1), -1.1752011936438, "nqp::sinh_n(-1)");
is_approx(nqp::sinh_n(0), 0, "nqp::sinh_n(0)");
is_approx(nqp::sinh_n(1), 1.1752011936438, "nqp::sinh_n(1)");
is_approx(nqp::sinh_n(7), 548.316123273246, "nqp::sinh_n(7)");

is_approx(nqp::cosh_n(-7), 548.317035155212, "nqp::cosh_n(-7)");
is_approx(nqp::cosh_n(-1), 1.54308063481524, "nqp::cosh_n(-1)");
is_approx(nqp::cosh_n(0), 1, "nqp::cosh_n(0)");
is_approx(nqp::cosh_n(1), 1.54308063481524, "nqp::cosh_n(1)");
is_approx(nqp::cosh_n(7), 548.317035155212, "nqp::cosh_n(7)");

is_approx(nqp::tanh_n(-7), -0.999998336943945, "nqp::tanh_n(-7)");
is_approx(nqp::tanh_n(-1), -0.761594155955765, "nqp::tanh_n(-1)");
is_approx(nqp::tanh_n(0), 0, "nqp::tanh_n(0)");
is_approx(nqp::tanh_n(1), 0.761594155955765, "nqp::tanh_n(1)");
is_approx(nqp::tanh_n(7), 0.999998336943945, "nqp::tanh_n(7)");

is_approx(nqp::sech_n(-2), 0.26580222883408, "nqp::sech_n(-2)");
is_approx(nqp::sech_n(-1.5), 0.42509603494228, "nqp::sech_n(-1.5)");
is_approx(nqp::sech_n(0), 1, "nqp::sech_n(0)");
is_approx(nqp::sech_n(1.5), 0.42509603494228, "nqp::sech_n(1.5)");
is_approx(nqp::sech_n(2), 0.26580222883408, "nqp::sech_n(2)");

is_approx(nqp::atan2_n(90, 15), 1.4056476493802699, "nqp::atan2_n(90, 15)");
is_approx(nqp::atan2_n(15, 90), 0.16514867741462683, "nqp::atan2_n(15, 90)");

0 comments on commit 75192d6

Please sign in to comment.