All is good [Software]

posted by Helmut Homepage – Vienna, Austria, 2020-12-11 00:36 (225 d 13:38 ago) – Posting: # 22137
Views: 3,343

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,589 posts in 4,512 threads, 1,530 registered users;
online 8 (0 registered, 8 guests [including 3 identified bots]).
Forum time: Saturday 15:15 CEST (Europe/Vienna)

There are no dangerous thoughts;
thinking itself is dangerous.    Hannah Arendt

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