diff -r 859c010edb47 -r c396c6640868 Float.st --- a/Float.st Fri Jun 23 20:57:24 2000 +0200 +++ b/Float.st Fri Jun 23 21:03:30 2000 +0200 @@ -10,6 +10,8 @@ hereby transferred. " +"{ Package: 'stx:libbasic' }" + LimitedPrecisionReal variableByteSubclass:#Float instanceVariableNames:'' classVariableNames:'DefaultPrintFormat' @@ -675,6 +677,31 @@ ^ aNumber quotientFromFloat:self ! +abs + "return the absolute value of the receiver + reimplemented here for speed" + +%{ /* NOCONTEXT */ + + OBJ newFloat; + double val =__floatVal(self); + double rslt; + + if (val < 0.0) { + rslt = -val; + __qMKFLOAT(newFloat, rslt); + RETURN ( newFloat ); + } + RETURN (self); +%}. + ^ super abs + + " + 3.0 abs + -3.0 abs + " +! + negated "return myself negated" @@ -685,7 +712,8 @@ __qMKFLOAT(newFloat, rslt); RETURN ( newFloat ); -%} +%}. + ^ 0.0 - self ! uncheckedDivide:aNumber @@ -1734,7 +1762,8 @@ %{ /* NOCONTEXT */ RETURN ( (__floatVal(self) < 0.0) ? true : false ); -%} +%}. + ^ self < 0.0 ! numberOfBits @@ -2046,6 +2075,6 @@ !Float class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic/Float.st,v 1.108 2000-04-04 10:21:07 ps Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/Float.st,v 1.109 2000-06-23 19:02:38 cg Exp $' ! ! Float initialize!