All is good [Software]

posted by Helmut Homepage – Vienna, Austria, 2020-12-11 00:36 (44 d 11:55 ago) – Posting: # 22137
Views: 1,106

Hi Ohlbe,

» … the same happens in [image]:

So you installed this goody at last? :-D

»

0==(0.5-0.4-0.1)
» [1] FALSE
» 0==(-0.4-0.1+0.5)
» [1] TRUE


» Are they first calculating -0.4-0.1=-0.5, which is nicely binarily coded, then -0.5+0.5=0 ?

Would have to dive into the [image] lexer of the source of base-[image]. Likely not clever enough anyway. If you want to explore the matter, type ?Syntax, ?Arithmetic, ?Comparison, and their relatives. See also the FAQ 7.31. However, the `==` operator should not be used to compare two objects for identity. Otherwise we fall into the binary trap:

x1 <- (0.5-0.4-0.1)
x2 <- (-0.4-0.1+0.5)
x1; x2
[1] -2.775558e-17
[1] 0

x1 == x2
[1] FALSE
identical(x1, x2)
[1] FALSE
all.equal(x1, x2)
[1] TRUE

Only the last function compares to the numeric precision of the machine* and this is what we want and the best we can hope for…



Dif-tor heh smusma 🖖
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes

Complete thread:

Activity
 Admin contact
21,310 posts in 4,445 threads, 1,489 registered users;
online 4 (1 registered, 3 guests [including 2 identified bots]).
Forum time: Sunday 12:32 CET (Europe/Vienna)

Every man gets a narrower and narrower field of knowledge
in which he must be an expert in order to compete with other people.
The specialist knows more and more about less and less
and finally knows everything about nothing.    Konrad Lorenz

The Bioequivalence and Bioavailability Forum is hosted by
BEBAC Ing. Helmut Schütz
HTML5