<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi,</div><div>does anyone really need a fuzzy Interval indexOf:startingAt: ?</div><div>Right now, we have this:</div><div><div><br></div><div>    ((0.1 to: 0.9 by: 0.1) indexOf: 0.3) = 3.</div></div><div>    ((0.1 to: 0.9 by: 0.1) includes: 0.3) = true.</div><br><div>While this can sound nice, I don't think it is.</div><div>No other collection behaves like that.<br></div><div><br><div>    ((0.1 to: 0.9 by: 0.1) asArray includes: 0.3) = false.<br><div>    ((0.1 to: 0.9 by: 0.1) asSet includes: 0.3) = false.</div></div><div><br></div></div><div>Even Interval itself does not behave consitently:</div><div><br>    ((0.1 to: 0.9 by: 0.1) lastIndexOf: 0.3) = 0.<br></div><div>    ((0.1 to: 0.9 by: 0.1) occurrencesOf: 0.3) = 0.<br>    ((0.1 to: 0.9 by: 0.1) copyWithout: 0.3) = #(0.1 0.2 0.30000000000000004 0.4 0.5 0.6 0.7000000000000001 0.8 0.9).</div><div><br></div><div>We have ScaledDecimal and Fraction which are less surprising, so IMO we should better use them when we really want to play with equality rather than trying to cheat with Float equality.<br></div><div><br></div></div></div></div></div></div>