<br />Hi, Stef and Boris,<br /><br /> We know from 1997-99 discussions that VA implementation is not good.<br />It computes hash code fast, but handle Set of Float inefficiently.<br />Example:<br />&nbsp;&nbsp;&nbsp; ((1 to: 100) collect: [:i | 10.0 raisedTo: i negated]) asSet.<br />All elements have same hash code (0 hash) and access performance turn to linear search.<br /><br />In other dialects,<br />&nbsp;&nbsp;&nbsp; self=self truncated ifFalse: [...]<br />is also here to handle fraction/float equality (3/2) hash = 1.5 hash<br /><br />VW used to convert everything to Fraction (and had nasty bugs because their imperfect asRational algorithm sometimes have (aDouble = aDouble asRational asDouble) answering false, see SYSBUG-asRational at cincom public store).<br />Now they convert everything to Float, then to Double if anything fail (Overflow) then to old Fraction hash (Large Fraction can also overflow max IEEE754 Double). I think new implementation is faster, and also cove
 rs other nasty bugs of aFloat=aDouble answering true, but having different fractional representations. This also cover scaled numbers.<br /><br /> I do not have Dolphin, ST/X, ... image here, but i imagine they follow one of the above paths.<br /><br />Sorry, I have no original solution in mind, but borrow solutions of our Smalltalk cousins.<br /><blockquote style="border-left: 1px solid blue; border-right: 1px solid blue; margin: 10px"><br /> <br /> </blockquote>
<br><br><hr style="border:0;height:1px;color:#d1d1db;background-color:#d1d1db;">
<table cellpadding=0 cellspacing=0><tr><td><a href="http://web.ifrance.com/"><img border=0 align=left src="http://image.ifrance.com/mail/colibri.gif"></a></td>
<td style="line-height:7px"><a href="http://web.ifrance.com/" style="line-height:11px;font-family:arial;font-size:11px;color:#1b174a;text-decoration:none"><b><span style="color:#9b90d5">i</span>FRANCE</b></a>
<br><a href="http://web.ifrance.com/services/" style="line-height:6px;font-family:arial;font-size:11px;color:#1b174a;text-decoration:none">exprimez-vous !</a></td></tr></table>