On Mon, February 3, 2014 12:10, Sven Barth wrote: > Am 03.02.2014 12:04, schrieb Michael Van Canneyt: >> On Mon, 3 Feb 2014, Sven Barth wrote: >>> Am 03.02.2014 08:58, schrieb Michael Van Canneyt: >>>> As for unary minus: this is the same as a binary minus in arithmatic >>>> expressions. >>> >>> Not quite. Take this example: >>> === output end === >>> >>> So unary minus (and also unary plus which is a valid operator as >>> well!) binds stronger than multiplication. >> >> Then that is an anomaly introduced by operator overloading. >> >> In math, -2^2 = -4 > Yes and the same is true in FPC with operator overloading. If you add a > ** operator overload (which uses Trunc(Power(aLeft.i, aRight.i)) ) and > have this expression: -t1 ** t2 with t1.i = 2 and t2.i = 2 the result > will be -4 as well. > > Please keep in mind that -2^2 is (-2) * (-2).
? -2^2 = -(2^2) = -4 <> (-2)*(-2) ? Also in FPC: --- uses Math; begin WriteLn (-2**2); end. === ...gives "-4". Tomas _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel