Math-Interpolator
view release on metacpan or search on metacpan
use warnings;
use strict;
use Test::More tests => 12;
BEGIN { use_ok "Math::Interpolator::Linear"; }
BEGIN { use_ok "Math::Interpolator::Knot"; }
BEGIN { use_ok "Math::Interpolator::Source"; }
sub pt(@) { Math::Interpolator::Knot->new(@_) }
sub proto(@) { Math::Interpolator::Source->new(@_) }
my $a5_called = 0;
sub a5() {
$a5_called++;
return [];
}
my $ipl = Math::Interpolator::Linear->new(pt(0, 1), pt(1, 0), pt(3, 5),
proto(\&a5, 5), pt(9, 8));
is $ipl->y(0.25), 0.75;
is $ipl->y(2), 2.5;
is $a5_called, 0;
is $ipl->y(3.5), 5.25;
is $a5_called, 1;
is $ipl->y(5), 6;
is $ipl->y(7), 7;
is $ipl->y(0.25), 0.75;
is $a5_called, 1;
1;
( run in 0.863 second using v1.01-cache-2.11-cpan-524268b4103 )