#REFACTORING by cg
authorClaus Gittinger <cg@exept.de>
Mon, 25 Nov 2019 15:24:20 +0100
changeset 24982 f64317156f40
parent 24981 2bf781ee06db
child 24983 332e7e32dea9
#REFACTORING by cg x
Fraction.st
--- a/Fraction.st	Mon Nov 25 15:24:14 2019 +0100
+++ b/Fraction.st	Mon Nov 25 15:24:20 2019 +0100
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
 "
  COPYRIGHT (c) 1989 by Claus Gittinger
 	      All Rights Reserved
@@ -819,61 +817,6 @@
     "
 !
 
-asQuadFloat
-    "return a QuadFloat with (approximately) my value.
-     Since floats have a limited precision, you usually loose bits when doing this."
-
-    |num den numShift denShift numBits rslt|
-
-    (numerator class == SmallInteger and:[denominator class == SmallInteger]) ifTrue:[
-        ^ (numerator asQuadFloat) / (denominator asQuadFloat)
-    ].
-
-    "Do it the hard way: reduce magnitude and undo reduction on the quotient"
-
-    numBits := QuadFloat precision * 2.    "number of bits to preserve (conservative)"
-    num := numerator abs.
-    numShift := numBits - num highBit. "(num highBit - bits) negated"
-    numShift < 0 ifTrue:[num := num bitShift:numShift] ifFalse:[ numShift := 0].
-
-    den :=  denominator.
-    denShift := numBits - den highBit. "(den highBit - bits) negated"
-    denShift < 0 ifTrue:[den := den bitShift:denShift] ifFalse:[denShift := 0].
-
-    rslt := (num asQuadFloat / den asQuadFloat) * (2 raisedToInteger:denShift-numShift).
-    numerator negative ifTrue:[ ^ rslt negated ].
-    ^ rslt.
-
-    "
-      (5/9) asQuadFloat
-      (-5/9) asQuadFloat
-      (Fraction basicNew setNumerator:500000000000 denominator:900000000000) asQuadFloat = (5/9) asQuadFloat
-      (Fraction basicNew setNumerator:500000000001 denominator:900000000000) asQuadFloat = (5/9) asQuadFloat
-      (500000000001/900000000000) asQuadFloat
-      (-500000000001/900000000000) asQuadFloat
-      (500000000001/900000000000) asQuadFloat = (5/9) asQuadFloat
-
-      (500000000000/9) asQuadFloat
-      (5/900000000000) asQuadFloat
-      89012345678901234567 asFloat / 123456789123456789 asQuadFloat
-      (89012345678901234567 / 123456789123456789) asQuadFloat
-      (-89012345678901234567 / 123456789123456789) asQuadFloat
-
-      (
-       180338700661043257034670206806167960222709397862806840937993331366591676308781197477183367018067356365812757479444845320188679437752013593674158587947149815441890236037219685250845721864713487208757788709113534916165172927384095182655935222723385253851776639985379367854545495930551624041981995105743408203125
-        /
-       180331613628627651967947866455016278082980736719853750685591387625058011528928110602436691256100991596843001549483950600930062886280582766771424470965440873615557144641435276844465734361353086032476712374317224249252177316815544331763696909434844464464323192083930469387098582956241443753242492675781250
-      ) asQuadFloat
-
-      180338700661043257034670206806167960222709397862806840937993331366591676308781197477183367018067356365812757479444845320188679437752013593674158587947149815441890236037219685250845721864713487208757788709113534916165172927384095182655935222723385253851776639985379367854545495930551624041981995105743408203125
-         asQuadFloat /
-      180331613628627651967947866455016278082980736719853750685591387625058011528928110602436691256100991596843001549483950600930062886280582766771424470965440873615557144641435276844465734361353086032476712374317224249252177316815544331763696909434844464464323192083930469387098582956241443753242492675781250
-         asQuadFloat
-    "
-
-    "Created: / 07-06-2019 / 02:32:19 / Claus Gittinger"
-!
-
 asShortFloat
     "return a short float with (approximately) my value"