On 12/3/2012 1:27 PM, Henry Baker wrote:
> My email was sent more as a warning: "abandon hope, all ye who enter here", because normal algebraic facts about 0.0=-0.0 no longer hold true.
>
> Everything about -0.0 needs to be special-cased.
>
> If you admit -0.0, then plan on grepping the entire Maxima corpus & finding all tests for zero; then find all places in Maxima where you now have to _add_ tests for -0.0.
I think the way to do this is to use (zerop x) which is true for 0,
0.0, -0.0.
For maxima we should extend this for bigfloats, rational expressions, .....
I've been fiddling around with Allegro CL 9.0 and can't seem to produce
a -0.0,
so maybe I'm being overly optimistic about support for negative zero.
It seems that
CMU CL might provide support though.
>
> At 12:08 PM 12/3/2012, Robert Dodier wrote:
>> On 2012-12-03, Henry Baker <hbaker1 at pipeline.com> wrote:
>>
>>> More succinctly, -0.0 violates the concept of "referential
>>> transparency"; i.e., the ability to substitute equals for equals.
>> I agree that signed zero is algebraically strange, and also that it
>> might be useful in some contexts. But that general discussion is beyond
>> consideration, so long as we remain within the scope of portable Common
>> Lisp code.
>>
>> best
>>
>> Robert Dodier
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima