| ▲ | wfleming 9 hours ago | |
We’re in very nitpicky terminology weeds here (and I’m not the person you’re replying to), but my understanding is “commutative” is specifically about reordering operands of one binary op (4+3 == 3+4), while “associative” is about reordering a longer chain of the same operation (1+2+3 == 1+3+2). Edit: Wikipedia actually says associativity is definitionally about changing parens[0]. Mostly amounts to the same thing for standard arithmetic operators, but it’s an interesting distinction. | ||
| ▲ | nyrikki 9 hours ago | parent [-] | |
It is not a nit it is fundamental, a•b•c is associativity, specifically operator associativity. Rounding and eventual underflow in IEEE means an expression X•Y for any algebraic operation • produces, if finite, a result (X•Y)·( 1 + ß ) + µ where |µ| cannot exceed half the smallest gap between numbers in the destination’s format, and |ß| < 2^-N , and ß·µ = 0 . ( µ ≠ 0 only when Underflow occurs.) And yes that is a binary relation only a•b•c is really (a•b)•c assuming left operator associativity, one of the properties that IEEE doesn't have. | ||