GNU bug report logs -
#923
In CVS Emacs, calc-eval gives multiplication higher precidence than division
Previous Next
Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>
Date: Sun, 7 Sep 2008 21:25:05 UTC
Severity: normal
Merged with 914,
915,
918,
920,
921,
924,
928,
929,
930,
932,
933,
934,
937,
941,
944
Done: Chong Yidong <cyd <at> stupidchicken.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
>>> That's not a bug. While many systems give division a higher precendence
>>> than multiplication, that isn't a universal rule.
>> Actually, I don't know of any system that gives higher precedence to
>> division.
> According to Wikipedia:
> An expression like 1/2x is interpreted as 1/(2x) by TI-82, but as
> (1/2)x by TI-83. While the first interpretation may be expected by
> some users, only the latter is in agreement with the standard rules
> stated above.
That could be due to a higher precedence, but could also be due to an
equal precedence together with left-associativity. Given that (a*b)/c
is often mathematically equal to a*(b/c), the difference is generally
hard to see, unless rounding comes into play.
All textbooks and language references I know use the "equal precedence
and left associativity" rule rather than giving higher precedence to
the division.
>> The general rule that (AFAIK) all programming languages
>> follow (other than those that don't use infix-with-precedence, such as
>> Lisp and Smalltalk) is that * and / have the same precedence (and are
>> left associative).
> That behavior is available, but you have to ask for it by setting
> `calc-multiplication-has-precedence' to nil.
I know. But we're talking about the default behavior.
Stefan
This bug report was last modified 16 years and 256 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.