1 use Test::More 'no_plan';
3 use Math::GSL::PowInt qw/:all/;
7 my $class = qw{Math::GSL::PowInt};
10 ok( gsl_pow_4(2) == gsl_pow_2(4) , q{%EXPORT_TAGS works} );
13 # SWIG takes care of arg checking, but it's still nice to check
14 Math::GSL::_assert_dies( sub { gsl_pow_2() } , 'Invalid gsl_pow args');
15 Math::GSL::_assert_dies( sub { gsl_pow_2(1,2) } , 'Invalid gsl_pow args');
16 Math::GSL::_assert_dies( sub { gsl_pow_2( () ) } , 'Invalid gsl_pow args');
17 Math::GSL::_assert_dies( sub { gsl_pow_2(qw(1 2)) } ,'Invalid gsl_pow args');
21 'gsl_pow_2(3.14)' => (3.14) ** 2,
22 'gsl_pow_2(3)' => 3 ** 2,
23 'gsl_pow_2(0)' => 0 ** 2,
24 'gsl_pow_2(-1)' => (-1) ** 2,
25 'gsl_pow_3(4)' => 4 ** 3,
26 'gsl_pow_4(5)' => 5 ** 4,
27 'gsl_pow_5(6)' => 6 ** 5,
28 'gsl_pow_6(7)' => 7 ** 6,
29 'gsl_pow_7(8)' => 8 ** 7,
30 'gsl_pow_8(-4)' => (-4) ** 8,
31 'gsl_pow_9(4)' => 4 ** 9,
32 q{gsl_pow_2('nan')} => q{nan},
33 q{gsl_pow_2('inf')} => q{inf},
34 q{gsl_pow_3('nan')} => q{nan},
35 q{gsl_pow_3('inf')} => q{inf},
36 q{gsl_pow_4('nan')} => q{nan},
37 q{gsl_pow_4('inf')} => q{inf},
38 q{gsl_pow_5('nan')} => q{nan},
39 q{gsl_pow_5('inf')} => q{inf},
40 q{gsl_pow_6('nan')} => q{nan},
41 q{gsl_pow_6('inf')} => q{inf},
42 q{gsl_pow_7('nan')} => q{nan},
43 q{gsl_pow_7('inf')} => q{inf},
44 q{gsl_pow_8('nan')} => q{nan},
45 q{gsl_pow_8('inf')} => q{inf},
46 q{gsl_pow_9('nan')} => q{nan},
47 q{gsl_pow_9('inf')} => q{inf},
48 'gsl_pow_int(5,10)' => 5 ** 10,
50 my $gsl = Math::GSL->new;
51 $gsl->verify_results($results, $class);