in reply to Re: Comparison misses a true in *some* cases
in thread Comparison misses a true in *some* cases

Yes, that is the problem.

DB<27> x $start 0 0.6 DB<28> x $store->[3] 0 0.6 DB<29> x 0.6 == $start 0 ''
jeroenes, repeat the above and do "x $start-0.6" and you may be enlightened.

Update: So we all can take part in the fun:

DB<1> $x=0.6 DB<2> x ($l,$h)=unpack"L*",pack"d",$x 0 858993459 1 1071854387 DB<3> x $y=unpack"d",pack"L*",$l+1,$h 0 0.6 DB<4> x $z=unpack"d",pack"L*",$l-1,$h 0 0.6 DB<5> x $y-$x 0 '1.11022302462516e-016' DB<6> x $x-$z 0 '1.11022302462516e-016' DB<7> x $y-$z 0 '2.22044604925031e-016' DB<8> x unpack"d",pack"L*",$l-4,$h 0 0.6 DB<9> x unpack"d",pack"L*",$l-5,$h 0 0.599999999999999 DB<10> x unpack"d",pack"L*",$l+4,$h 0 0.6 DB<11> x unpack"d",pack"L*",$l+5,$h 0 0.600000000000001
Welcome to floating point.

        - tye (but my friends call me "Tye")

Replies are listed 'Best First'.
Re: (tye)Re: Comparison misses a true in *some* cases
by jeroenes (Priest) on Apr 07, 2001 at 13:07 UTC
    merlyn, tye and tilly (in CB): thanks a lot. tye especially thanks for the warm welcome ;-). Your debug-lines clear up a lot, I must say.

    This whole thread is a nice example of a testing procedure gone that evokes it's own problems. My real-world data will, by definition, never repeat. Accidently, some datapoints may have an exact interval of one second, but that chance will be neglectable. (1 out of 1000 or less, I estimate)

    I will be on guard for the floating point arrhythmic from now on.

    Jeroen
    "We are not alone"(FZ)