On 01/12/08 08:39, Bill McCarthy wrote:
[...]
> My C docs say a negative number produces a domain error.  A
> zero produces a range error.  Assuming these Open Watcom
> docs are correct, I've specified the argument must be a
> positive NUMBER or FLOAT, hence my notation (0,inf] - you
> correctly assumed my "(" means open and "]" means closed for
> ranges.  Of course it may be better to always consider "inf"
> as open.
>
> Please let me know if you spot any errors or a need for
> clarification.
>

Not sure if it was an error, a need for clarification, or both, or neither.

":echo log(0)" answers -inf
":echo log(log(0))" answers nan
":echo log(log(log(0)))" still answers nan
":echo log( 1. / 0. ) gives three Vim errors (the first of which is 
"E15: Invalid expression: / 0. )"

IOW, specific floating-point errors are not handled the same way as 
errors on operators which were primarily designed for integers (even if, 
like "/", they were later extended to floats). I suppose generating INF 
and NaN results, and no exceptions, is correct from the point of view of 
the IEEE floating-point standards.

<digression>
And about the interval, I didn't spot it, or my old latin-math high 
school teachings would have kicked in, where, indeed, infinity used to 
be supposed to be always an open bound. Strictly speaking, log(0) is 
undefined and the log function has a minus-infinity limit when its 
argument tends towards zero by positive values. In common language, one 
could say (except, maybe, at a math exam) that the logarithm of zero 
"is" minus infinity, and that's obviously what the IEEE standard (or at 
least my gcc version's implementation of it) is following.

However, I learnt algebra (and calculus) on number sets the fullest of 
which is the field of complex numbers, which has no infinity element; in 
projective geometry I "sort of used" lines with one infinity point 
(actually, "infinity" had no meaning from a projective POV but the 
"completed affine plane" used to map the projective plane onto the 
affine has one line at infinity -- one of my math teachers used to say: 
"take a projective plane, remove one line, and what you get is an affine 
plane. If instead of removing it you paint it red, what you get is the 
completed affine plane". When using analytical geometry, real or complex 
numbers (still with no "infinity" number) were still used, the trick 
being that instead of using N cartesian coordinates (where N is the 
dimension, 2 for a plane, later 3 for 3-dimensional "space") one would 
use N+1 real (or complex) coordinates, not all zero and given (how does 
one say in English?) "à un facteur près" (modulo an arbitrary common 
factor? I don't like using "modulo" in this sense because "modulo", in 
math, is usually the arithmetic remainder operation).
</digression>

So a number set with two infinity elements is, I guess, as far as one 
could go from the math I learnt and still remain [somewhat] understandable.

I suppose the previous digression is out of place here: if you like math 
you probably already knew all of it, and if you don't you probably 
skipped it (and rightly so). Ah, well... maybe I just didn't teach math 
long enough to lose my passion for analytical geometry (as taught in 
upper high school and lower college years, on second-degree curves and 
surfaces using, mostly, real polynomials on complex number sets) -- but 
i'm starting to digress again. Let's stop before I lose my current 
audience. ;-)


Best regards,
Tony.
-- 
It is something to be able to paint a particular picture, or to carve a
statue, and so to make a few objects beautiful; but it is far more
glorious to carve and paint the very atmosphere and medium through
which we look, which morally we can do.  To affect the quality of the
day, that is the highest of arts.
                -- Henry David Thoreau, "Where I Live"

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui