Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
language: perl
perl:
- "5.16"
- "5.14"
- "5.12"
- "5.18"
- "5.16"
- "5.14"
- "5.12"
76 changes: 2 additions & 74 deletions README
Original file line number Diff line number Diff line change
@@ -1,75 +1,3 @@
Math-Function-Interpolator

Math::Function::Interpolator helps you to do the interpolation calculation with linear, quadratic and cubic methods.

INSTALLATION

To install this module, run the following commands:

perl Makefile.PL
make
make test
make install

SUPPORT AND DOCUMENTATION

After installing, you can find documentation for this module with the
perldoc command.

perldoc Math::Function::Interpolator

You can also look for information at:

RT, CPAN's request tracker (report bugs here)
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Math-Function-Interpolator

AnnoCPAN, Annotated CPAN documentation
http://annocpan.org/dist/Math-Function-Interpolator

CPAN Ratings
http://cpanratings.perl.org/d/Math-Function-Interpolator

Search CPAN
http://search.cpan.org/dist/Math-Function-Interpolator/


LICENSE AND COPYRIGHT

Copyright (C) 2014 Binary.com

This program is free software; you can redistribute it and/or modify it
under the terms of the the Artistic License (2.0). You may obtain a
copy of the full license at:

L<http://www.perlfoundation.org/artistic_license_2_0>

Any use, modification, and distribution of the Standard or Modified
Versions is governed by this Artistic License. By using, modifying or
distributing the Package, you accept this license. Do not use, modify,
or distribute the Package, if you do not accept this license.

If your Modified Version has been derived from a Modified Version made
by someone other than you, you are nevertheless required to ensure that
your Modified Version complies with the requirements of this license.

This license does not grant you the right to use any trademark, service
mark, tradename, or logo of the Copyright Holder.

This license includes the non-exclusive, worldwide, free-of-charge
patent license to make, have made, use, offer to sell, sell, import and
otherwise transfer the Package with respect to any patent claims
licensable by the Copyright Holder that are necessarily infringed by the
Package. If you institute patent litigation (including a cross-claim or
counterclaim) against any party alleging that the Package constitutes
direct or contributory patent infringement, then this Artistic License
to you shall terminate on the date that such litigation is filed.

Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER
AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.
THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY
YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR
CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR
CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
empty readme

=for HTML <a href="https://travis-ci.org/shardiwal/perl-Math-Function-Interpolator"><img src="https://travis-ci.org/shardiwal/perl-Math-Function-Interpolator.svg?branch=master"></a>
25 changes: 24 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,32 @@
Math-Function-Interpolator
**Math-Function-Interpolator**

Math::Function::Interpolator helps you to do the interpolation calculation with linear, quadratic and cubic methods.

1. Linear method (needs more than 1 data point)
1. Quadratic method (needs more than 2 data points)
1. Cubic method, it's a Cubic Spline method (needs more than 4 data points)


[![Build Status](https://travis-ci.org/binary-com/perl-Math-Function-Interpolator.svg?branch=master)](https://travis-ci.org/binary-com/perl-Math-Function-Interpolator)

SYNOPSIS

use Math::Function::Interpolator;

my $interpolator = Math::Function::Interpolator->new(
points => {1=>2,2=>3,3=>4,4=>5,5=>6,6=>7}
);

# Should have more than 1 data points
$interpolator->linear(2.5);

# Should have more than 2 data points
$interpolator->quadratic(2.5);

# Should have more than 4 data points
$interpolator->cubic(2.5);


INSTALLATION

To install this module, run the following commands:
Expand Down
11 changes: 9 additions & 2 deletions lib/Math/Function/Interpolator.pm
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Math::Function::Interpolator - Interpolation made easy

=head1 VERSION

Version 0.09
Version 1.0

=head1 SYNOPSIS

Expand All @@ -41,6 +41,10 @@ Version 0.09

Math::Function::Interpolator helps you to do the interpolation calculation with linear, quadratic and cubic methods.

1. Linear method (needs more than 1 data point)
1. Quadratic method (needs more than 2 data points)
1. Cubic method, it's a Cubic Spline method (needs more than 4 data points)

=head1 FIELDS

=head2 points (REQUIRED)
Expand All @@ -49,7 +53,7 @@ HashRef of points for interpolations

=cut

our $VERSION = '0.09';
our $VERSION = '1.0';

=head1 METHODS

Expand Down Expand Up @@ -99,6 +103,7 @@ sub points {
=head2 linear

This method do the linear interpolation. It solves for point_y linearly given point_x and an array of points.
This method needs more than 1 data point.

=cut

Expand All @@ -117,6 +122,7 @@ sub linear {
=head2 quadratic

This method do the quadratic interpolation. It solves the interpolated_y value given point_x with 3 data points.
This method needs more than 2 data point.

=cut

Expand All @@ -135,6 +141,7 @@ sub quadratic {
=head2 cubic

This method do the cubic interpolation. It solves the interpolated_y given point_x and a minimum of 5 data points.
This method needs more than 4 data point.

=cut

Expand Down
2 changes: 1 addition & 1 deletion lib/Math/Function/Interpolator/Cubic.pm
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Math::Function::Interpolator::Cubic
use Math::Function::Interpolator::Cubic;

my $interpolator = Math::Function::Interpolator::Cubic->new(
points => {1=>2,2=>3,3=>4}
points => {1=>2,2=>3,3=>4,4=>5,5=>6,6=>7}
);

$interpolator->cubic(2.5);
Expand Down
4 changes: 2 additions & 2 deletions lib/Math/Function/Interpolator/Linear.pm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use warnings FATAL => 'all';

our @ISA = qw(Math::Function::Interpolator);

our $VERSION = '0.04';
our $VERSION = '0.05';

use Carp qw(confess);
use Number::Closest::XS qw(find_closest_numbers_around);
Expand All @@ -29,7 +29,7 @@ Math::Function::Interpolator::Linear - Interpolation made easy
=head1 DESCRIPTION

Math::Function::Interpolator::Linear helps you to do the interpolation calculation with linear method.
It solves for point_y linearly given point_x and an array of points.
It solves for point_y linearly given point_x and an array of more than 2 data points.

=head1 FIELDS

Expand Down
4 changes: 2 additions & 2 deletions lib/Math/Function/Interpolator/Quadratic.pm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use 5.006;
use strict;
use warnings FATAL => 'all';

our $VERSION = '0.05';
our $VERSION = '0.06';

our @ISA = qw(Math::Function::Interpolator);

Expand All @@ -29,7 +29,7 @@ Math::Function::Interpolator::Quadratic
=head1 DESCRIPTION

Math::Function::Interpolator::Quadratic helps you to do the interpolation calculation with quadratic method.
It solves the interpolated_y given point_x and a minimum of 5 data points.
It solves the interpolated_y given point_x and a minimum of 3 data points.

=head1 FIELDS

Expand Down