After lots of searching, I finally located a copy of Annex G on the web here
http://dev.unicals.com/papers/c99-draft.html#G.1

There is no mention of equals, as this is a C language spec and what is 
being defined is a Complex C type and specs for arithmetic operations. There 
is vague wording to the effect that "infinities" should be identified, even 
when a part is NaN (G4.1#4), so the implication is that the equivalence 
classes would be

An equivalence class for each x + iy where x, y are (finite) real numbers
once class for all values that have one or more infinite parts
one class for all values that have NaN parts, but no infinite parts

I am not sure this setup would be consistent with the way we have defined 
the arithmetic operations, which do I don't think conform fully to the rest 
of the spec.

I would appreciate it if other [math] contributors would review the spec and 
weigh in on both the implementation of equals and whether we should modify 
the arithmetic function to conform fully to the spec. 

Phil

Reply via email to