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


Reply via email to