ShortFloat.st
changeset 4591 64d6624dae5e
parent 4455 2d31d0d986be
child 4593 1023fa0c779e
equal deleted inserted replaced
4590:3db3bf4615bd 4591:64d6624dae5e
   593      as 3 hash."
   593      as 3 hash."
   594 
   594 
   595     |i|
   595     |i|
   596 
   596 
   597     (self >= SmallInteger minVal and:[self <= SmallInteger maxVal]) ifTrue:[
   597     (self >= SmallInteger minVal and:[self <= SmallInteger maxVal]) ifTrue:[
   598 	i := self asInteger.
   598         i := self asInteger.
   599 	self = i ifTrue:[
   599         self = i ifTrue:[
   600 	    ^ i hash
   600             ^ i hash
   601 	].
   601         ].
   602     ].
   602     ].
   603 
   603 
   604     "
   604     "
   605      mhmh take some of my value-bits to hash on
   605      mhmh take some of my value-bits to hash on
   606     "
   606     "
   607     ^ (((self basicAt:4) bitAnd:16r3F) bitShift:24) +
   607     ^ (((self basicAt:4) bitAnd:16r1F) bitShift:24) +
   608       ((self basicAt:3) bitShift:16) +
   608       ((self basicAt:3) bitShift:16) +
   609       ((self basicAt:2) bitShift:8) +
   609       ((self basicAt:2) bitShift:8) +
   610       (self basicAt:1)
   610       (self basicAt:1)
   611 
   611 
   612     "
   612     "
   958 ! !
   958 ! !
   959 
   959 
   960 !ShortFloat class methodsFor:'documentation'!
   960 !ShortFloat class methodsFor:'documentation'!
   961 
   961 
   962 version
   962 version
   963     ^ '$Header: /cvs/stx/stx/libbasic/ShortFloat.st,v 1.48 1999-07-26 09:11:18 stefan Exp $'
   963     ^ '$Header: /cvs/stx/stx/libbasic/ShortFloat.st,v 1.49 1999-08-12 08:46:07 cg Exp $'
   964 ! !
   964 ! !