* This module contains several useful routines for interpolating
data sets and finding where a given value lies in a sorted list.
The first is a subroutine used to locate a position in an array
of values where a given value would fit using bisection. It has
been designed to be efficient in the common situation that it is
called repeatedly. The user can supply a different set of comparison
operators to replace the standard < and <=. For example, given a
list (1, 2, 5, 8, 15) and the number 9.5 it would return 3.
* The remaining routines all are related to interpolating sets of
(x,y) data pairs. They all take a list of (x,y) data pairs given
another x value, return a sensible y value using the list of (x,y)
data pairs. Three different interpolating functions are provided.
The first, called a constant interpolator, assumes that the
function being interpolated moves in non-linear jumps from one
value to another. The interpolated value for some value x is the
y value of the neighboring (x,y) to the left of the given x. The
second interpolator performs a linear interpolation between the
neighboring points. The third interpolator is called the robust
interpolator and interpolates a smooth curve between all of the
(x,y) pairs. To do the interpolation, it first calculates some
reasonable derivatives at the (x,y) pairs. The robust interpolator
can also use derivative information supplied by the user.
Perl module which lets you calculate with strings (specifically passwords, but
not limited to) as if they were big integers.
This package is a Perl interface to famous library PARI for
numerical/scientific/number-theoretic calculations. It allows use of most
PARI functions as Perl functions, and (almost) seamless merging of PARI
and Perl data.
This package provides cubic spline interpolation of numeric data. The
data is passed as references to two arrays containing the x and y
ordinates. It may be used as an exporter of the numerical functions or,
more easily as a class module.
Supports base-2, base-10, base-16, and base-256 numbers.
Uses the GMP or BCMath extensions, if available,
and an internal implementation, otherwise.
A package that returns all the combinations and
permutations, without repitition, of a given set
and subset size. Associative arrays are preserved.
Math::Bezier::Convert provides functions to convert quadratic bezier to
cubic, to approximate cubic bezier to quadratic, and to approximate
cubic and quadratic bezier to polyline.
Math::Prime::XS detects and calculates prime numbers by either applying Modulo
operator division, the Sieve of Eratosthenes, a Summation calculation or Trial
division.
This module extends the functionality of Math::Symbolic by offering
facilities to calculate the propagated variance of a function of variables
with variances themselves.
This module provides a simple way to extend the Math::Symbolic parser with
arbitrary functions that return any valid Math::Symbolic tree. The return
value of the function call is inserted into the complete parse tree at the
point at which the function call is parsed. Familiarity with the
Math::Symbolic module will be assumed throughout the documentation.
This module is not object oriented. It does not export anything. You
should not call any subroutines directly nor should you modify any class
data directly. The complete interface is the call to use
Math::SymbolicX::ParserExtensionFactory and its arguments. The reason for
the long module name is that you should not have to call it multiple times
in your code because it modifies the parser for good. It is intended to be
a pain to type. :-)
The aim of the module is to allow for hooks into the parser without
modifying the parser yourself because that requires rather in-depth
knowledge of the module code. By specifying key => value pairs of function
names and function implementations (code references) as arguments to the
use() call of the module, this module extends the parser that is stored in
the $Math::Symbolic::Parser variable with the specified functions and
whenever "yourfunction(any argument string not containing an unescaped \)
)" occurs in the code, the subroutine reference is called with the
argument string as argument.
The subroutine is expected to return any Math::Symbolic tree. That means,
as of version 0.133, a Math::Symbolic::Operator, a
Math::Symbolic::Variable, or a Math::Symbolic::Constant object. The
returned object will be incorporated into the Math::Symbolic tree that
results from the parse at the exact position at which the custom function
call was parsed.
Please note that the usage of this module will be quite slow at compile
time because it has to regenerate the complete Math::Symbolic parser the
first time you use this module in your code. The run time performance
penalty should be low, however.