Greetings!
I have a need to create a module to perform calculations with
intervals. Since I was unable to find anything on CPAN that fit I
thought I would package up my code and submit it so that others can
benefit from my work.
First I need to explain a bit about intervals. In this context an
interval is a new type of number just like a complex. Intervals are
used to represent values in calculations where the answer can not be
exactly represented. For example, the quantity 1/3 does not have an
exact binary representation so you must round the answer to the
nearest representable value. When evaluating calculations with an
interval the results are "rounded out" so that the real answer is
somewhere between a lower and upper bound. (The lower bound is
rounded down toward negative infinity and the upper bound is rounded
up to positive infinity.) So dividing 1 by 3 could result in the
interval [0.333; 0.334]. If you want to learn more the best place to
start is at: http://www.cs.utep.edu/interval-comp/
Being a type of number like complex numbers I used Math::Complex as
the inspiration for naming my module Math::Interval. This module
would contain the basic definition and support functions for
intervals. I think it should also include the basic arithmetic
operations (+, -, *, /) but I have received the suggestion to break
those out into a separate module (Math::Interval::Arithmetic). That
would allow other people to add their own extensions.
So, does my naming choice make sense? If not, what would you suggest?
Should I create one module Math::Interval or a hierarchy such as:
Math::Interval
Math::Interval::Arithmetic
Math::Interval::Trigonometric
Math::Interval::Logarithmic
Thanks for your time. Please be gentle, this is my first time. ;)
B
--
Brendan Leber
[EMAIL PROTECTED]
Love is omni-inclusive, progressively exquisite, understanding and
tender and compassionately attuned to other than self. -- R.
Buckminster Fuller