Re: [csswg-drafts] [css-values] mod(−0, +∞) and mod(+0, −∞) not handled correctly (#4723)

That floating point arithmetic is not the same as real-number arithmetic is sort of my point. It tends to break down at edge cases.

I think it’s fine to make `mod(-0, 5)` return `0` as long as that is documented, and I am not arguing that should be changed, even though this is in some contexts going to cause categorical errors. I am just pointing out that the alternative interpretation about what to do at the edge case is also arguably valid for some situations; whatever choice you pick is going to cause a violation of expectations and some failures in calculations done without careful reading of the specification. 

`-0 ≡ 5 (mod 5)` is a somewhat strange notation, since modular arithmetic with this notation as used in mathematics only applies to integers, not real numbers.

Sorry I said “divide by 0”, what I meant was “multiply 0 by ∞”, as I fixed slightly afterward. cotpi(*x*) = cot(*πx*), the cotangent of *π* times the argument. Trigonometric functions with a factor of *π* included can save some grief in many practical situations, since *π* cannot be exactly represented in floating point.

A clearer way to state my original point is: I can’t think of any practical computation where a person would ever end up with `mod(x, ∞)`. I don’t think it really makes much sense. We *can’t* break the real number line into locally-metric-preserving equivalence classes with 0 ≡ ∞.

-- 
GitHub Notification of comment by jrus
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/4723#issuecomment-583907332 using your GitHub account

Received on Sunday, 9 February 2020 23:28:37 UTC