Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: General pow(xx,yy) function in Motion 10



George Corliss wrote:
> In most applications, we are lucky to know 3 digits.
> By implication, all intervals are thick.

ALL non-degenerate intervals are "thick" as far as pow(xx,yy)
is concerned, REGARDLESS of precision.  Only singletons can
be rational (and, indeed, are).  That is because (per Motion 3)
intervals are *real* intervals and are presumed to contain all
reals between the bounds, not just floating-point numbers.
Even a 1-ulp interval is "thick".

That's why there really are only two choices for a pow(xx,yy)
with two interval arguments:  exclude negative values from xx,
or compute the proper interval hull.  What Dan observed was that
this hull can be defined unambiguously, because it is the union
of only two arbitrarily-narrow intervals for any narrow source
intervals where xx contains negative points.

The other way around this quandary uses families of single-argument
pow_r(xx) interval functions, parameterized by a rational exponent 'r'
that is exact -- whether a floating-point number or, more transparently,
a pair of integers.  For convenience we might also have pow_n() and
root_n() families, where the rational parameter has either a
denominator of 1 or a numerator of 1 (and 'n' is an integer).

We may of course have both, giving the programmer a choice of approach.
Motion 10 makes pow(xx,yy) mandatory and recommends the parametrized
families.

Michel.
---Sent: 2009-12-07 03:00:44 UTC