home *** CD-ROM | disk | FTP | other *** search
/ Really Useful CD 1 / ReallyUsefulCD1.iso / extras / languages / smalltalk / _smalltalk / prelude / float < prev    next >
Encoding:
Text File  |  1987-12-30  |  2.1 KB  |  95 lines

  1. Class Float :Number
  2. [
  3.      = aNumber
  4.           ^ <SameTypeOfObject self aNumber>
  5.                ifTrue:  [<FloatEquality self aNumber>]
  6.                ifFalse: [super = aNumber]
  7. |
  8.      < aNumber
  9.           ^ <SameTypeOfObject self aNumber>
  10.                ifTrue:  [<FloatLessThan self aNumber>]
  11.                ifFalse: [super < aNumber]
  12. |
  13.      > aNumber
  14.           ^ <SameTypeOfObject self aNumber>
  15.                ifTrue:  [<FloatGreaterThan self aNumber>]
  16.                ifFalse: [ super > aNumber]
  17. |
  18.      + aNumber
  19.           ^ <SameTypeOfObject self aNumber>
  20.                ifTrue:  [<FloatAddition self aNumber>]
  21.                ifFalse: [super + aNumber]
  22. |
  23.      - aNumber
  24.           ^ <SameTypeOfObject self aNumber>
  25.                ifTrue:  [<FloatSubtraction self aNumber>]
  26.                ifFalse: [super - aNumber]
  27. |
  28.      * aNumber
  29.           ^ <SameTypeOfObject self aNumber>
  30.                ifTrue:  [<FloatMultiplication self aNumber>]
  31.                ifFalse: [super * aNumber]
  32. |
  33.      / aNumber
  34.           ^ <SameTypeOfObject self aNumber>
  35.                ifTrue:  [<FloatDivision self aNumber>]
  36.                ifFalse: [super / aNumber]
  37. |
  38.      ^ aNumber
  39.           ^ <SameTypeOfObject self aNumber>
  40.                ifTrue:  [<Power self aNumber>]
  41.                ifFalse: [super raisedTo: aNumber]
  42. |
  43.      arcCos
  44.           ^ Radian new: <ArcCos self>
  45. |
  46.      arcSin
  47.           ^ Radian new: <ArcSin self>
  48. |
  49.      arcTan
  50.           ^ Radian new: <ArcTan self>
  51. |
  52.      asFloat
  53.           ^ self
  54. |
  55.      asString
  56.           ^ <FloatToString self>
  57. |
  58.      ceiling
  59.           ^ <Ceiling self>
  60. |
  61.      coerce: aNumber
  62.           ^ aNumber asFloat
  63. |
  64.      exp
  65.           ^ <Exponent self>
  66. |
  67.      floor
  68.           ^ <Floor self>
  69. |
  70.      fractionPart
  71.           ^ <FractionalPart self>
  72. |
  73.      gamma
  74.           ^ <Gamma self>
  75. |
  76.      integerPart
  77.           ^ <IntegerPart self>
  78. |
  79.      ln
  80.           ^ <Log self>
  81. |
  82.      radix: aNumber
  83.           ^ <FloatRadixPrint self aNumber>
  84. |
  85.      rounded
  86.           ^ <Floor (self + 0.5)>
  87. |
  88.      sqrt
  89.           ^ <SquareRoot self>
  90. |
  91.      truncated
  92.           ^ (self < 0.0)  ifTrue:  [<Ceiling self>]
  93.                     ifFalse: [<Floor self>]
  94. ]
  95.