RegressionTests__LargeFloatTest.st
changeset 204 7a02eaf7f06b
child 1070 3a47933aea21
equal deleted inserted replaced
203:10c8e5197b62 204:7a02eaf7f06b
       
     1 "{ Package: 'exept:regression' }"
       
     2 
       
     3 "{ NameSpace: RegressionTests }"
       
     4 
       
     5 TestCase subclass:#LargeFloatTest
       
     6 	instanceVariableNames:''
       
     7 	classVariableNames:''
       
     8 	poolDictionaries:''
       
     9 	category:'tests-Regression'
       
    10 !
       
    11 
       
    12 
       
    13 !LargeFloatTest methodsFor:'helpers'!
       
    14 
       
    15 actualPrecisionOf:aFloatClass
       
    16     "get the actual number of valid bits in the mantissa.
       
    17      This does a real test (i.e. does not believe the compiled-in ifdefs)"
       
    18 
       
    19     |one half x count|
       
    20 
       
    21     one := aFloatClass unity.  "/ 1.0 in this class
       
    22     half := one coerce:0.5.
       
    23     x := one.    
       
    24     count := 0.
       
    25 
       
    26     [ one + x ~= one] whileTrue:[
       
    27         x := x * half.
       
    28         count := count + 1.
       
    29     ].
       
    30     ^ count
       
    31 
       
    32     "
       
    33      self basicNew actualPrecisionOf:ShortFloat 
       
    34      self basicNew actualPrecisionOf:Float      
       
    35      self basicNew actualPrecisionOf:LongFloat   
       
    36     "
       
    37 ! !
       
    38 
       
    39 !LargeFloatTest methodsFor:'tests'!
       
    40 
       
    41 test01_Nan
       
    42     "NaN in all avaliable formats."
       
    43 
       
    44     |shouldBeNaN|
       
    45 
       
    46     shouldBeNaN := 0.0 asLargeFloat uncheckedDivide: 0.0.
       
    47     self assert:( shouldBeNaN isMemberOf:LargeFloat ).
       
    48     self assert:( shouldBeNaN isNaN ).
       
    49     self assert:( shouldBeNaN isFinite not ).
       
    50 
       
    51 
       
    52     shouldBeNaN := 0.0 asLargeFloat uncheckedDivide: 0.0.
       
    53     self assert:( shouldBeNaN asShortFloat isNaN ).
       
    54     self assert:( shouldBeNaN asLongFloat isNaN ).
       
    55     self should:[ shouldBeNaN asInteger ] raise:DomainError.
       
    56 
       
    57 
       
    58     self assert:( shouldBeNaN + 1 ) isNaN.
       
    59     self assert:( shouldBeNaN + 1.0 ) isNaN.
       
    60     self assert:( shouldBeNaN + 1.0 asShortFloat ) isNaN.
       
    61     self assert:( shouldBeNaN + 1.0 asLongFloat ) isNaN.
       
    62     self assert:( shouldBeNaN + 1.0 asLargeFloat ) isNaN.
       
    63 
       
    64     self assert:( 1 + shouldBeNaN ) isNaN.
       
    65     self assert:( 1.0 + shouldBeNaN ) isNaN.
       
    66     self assert:( 1.0 asShortFloat + shouldBeNaN ) isNaN.
       
    67     self assert:( 1.0 asLongFloat + shouldBeNaN ) isNaN.
       
    68     self assert:( 1.0 asLargeFloat + shouldBeNaN ) isNaN.
       
    69 
       
    70     self assert:( shouldBeNaN - 1 ) isNaN.
       
    71     self assert:( shouldBeNaN - 1.0 ) isNaN.
       
    72     self assert:( shouldBeNaN - 1.0 asShortFloat ) isNaN.
       
    73     self assert:( shouldBeNaN - 1.0 asLongFloat ) isNaN.
       
    74     self assert:( shouldBeNaN - 1.0 asLargeFloat ) isNaN.
       
    75 
       
    76     self assert:( 1 - shouldBeNaN ) isNaN.
       
    77     self assert:( 1.0 - shouldBeNaN ) isNaN.
       
    78     self assert:( 1.0 asShortFloat - shouldBeNaN ) isNaN.
       
    79     self assert:( 1.0 asLongFloat - shouldBeNaN ) isNaN.
       
    80     self assert:( 1.0 asLargeFloat - shouldBeNaN ) isNaN.
       
    81 
       
    82     "
       
    83      self basicNew test01_Nan
       
    84     "
       
    85 !
       
    86 
       
    87 test02_Inf
       
    88     "Infinity in all avaliable formats."
       
    89 
       
    90     |check posInf negInf|
       
    91 
       
    92     check := 
       
    93         [:v1 :v2 |
       
    94 
       
    95             posInf := v1 uncheckedDivide: v2.
       
    96 
       
    97             self assert:( posInf isMemberOf:v1 class ).
       
    98             self assert:( posInf isNaN not ).
       
    99             self assert:( posInf isFinite not ).
       
   100             self assert:( posInf isInfinite ).
       
   101             self assert:( posInf positive ).
       
   102             self assert:( posInf negative not ).
       
   103             self assert:( posInf isNegativeInfinity not).
       
   104             self assert:( posInf isPositiveInfinity ).
       
   105 
       
   106             negInf := v1 negated uncheckedDivide: v2.
       
   107 
       
   108             self assert:( negInf isMemberOf:v1 class ).
       
   109             self assert:( negInf isNaN not ).
       
   110             self assert:( negInf isFinite not ).
       
   111             self assert:( negInf isInfinite ).
       
   112             self assert:( negInf positive not).
       
   113             self assert:( negInf negative ).
       
   114             self assert:( negInf isNegativeInfinity ).
       
   115             self assert:( negInf isPositiveInfinity not ).
       
   116 
       
   117             self assert:( negInf + negInf = negInf).
       
   118             self assert:( posInf + posInf = posInf).
       
   119             self assert:( negInf + posInf) isNaN.
       
   120             self assert:( posInf + negInf) isNaN.
       
   121 
       
   122             self assert:( negInf - posInf = negInf).
       
   123             self assert:( negInf - negInf) isNaN.
       
   124             self assert:( posInf - negInf = posInf).
       
   125             self assert:( posInf - posInf) isNaN.
       
   126 
       
   127             self assert:( posInf + v1) = posInf.
       
   128             self assert:( posInf - v1) = posInf.
       
   129             self assert:( negInf + v1) = negInf.
       
   130             self assert:( negInf - v1) = negInf.
       
   131         ].
       
   132 
       
   133     check value: 1.0 asLargeFloat value: 0.0 asLargeFloat.
       
   134 
       
   135     "
       
   136      self basicNew test02_Inf
       
   137     "
       
   138 !
       
   139 
       
   140 test03_Conversion
       
   141     self assert:( 1.0 asLargeFloat asTrueFraction == 1 ).
       
   142     self assert:( 2.0 asLargeFloat asTrueFraction == 2 ).
       
   143     self assert:( 4.0 asLargeFloat asTrueFraction == 4 ).
       
   144     self assert:( 8.0 asLargeFloat asTrueFraction == 8 ).
       
   145     self assert:( 16.0 asLargeFloat asTrueFraction == 16 ).
       
   146     self assert:( 1048576.0 asLargeFloat asTrueFraction == 1048576 ).
       
   147     self assert:( 0.5 asLargeFloat asTrueFraction = (1/2) ).
       
   148     self assert:( 0.25 asLargeFloat asTrueFraction = (1/4) ).
       
   149     self assert:( 0.125 asLargeFloat asTrueFraction = (1/8) ).
       
   150 
       
   151     "
       
   152      self basicNew test03_Conversion
       
   153     "
       
   154 !
       
   155 
       
   156 test04_Arithmetic
       
   157     self assert:( 1.0 asLargeFloat + 1.0 ) class == LargeFloat.
       
   158     self assert:( 1.0 asLargeFloat + 1.0 asShortFloat ) class == LargeFloat.
       
   159     self assert:( 1.0 asLargeFloat + 1.0 asFloat ) class == LargeFloat.
       
   160     self assert:( 1.0 asLargeFloat + 1 ) class == LargeFloat.
       
   161 
       
   162     self assert:( 1.0 asLargeFloat - 1.0 ) class == LargeFloat.
       
   163     self assert:( 1.0 asLargeFloat - 1.0 asShortFloat ) class == LargeFloat.
       
   164     self assert:( 1.0 asLargeFloat - 1.0 asFloat ) class == LargeFloat.
       
   165     self assert:( 1.0 asLargeFloat - 1 ) class == LargeFloat.
       
   166 
       
   167     self assert:( 1.0 asLargeFloat * 1.0 ) class == LargeFloat.
       
   168     self assert:( 1.0 asLargeFloat * 1.0 asShortFloat ) class == LargeFloat.
       
   169     self assert:( 1.0 asLargeFloat * 1.0 asFloat ) class == LargeFloat.
       
   170     self assert:( 1.0 asLargeFloat * 1 ) class == LargeFloat.
       
   171 
       
   172     self assert:( 1.0 asLargeFloat / 1.0 ) class == LargeFloat.
       
   173     self assert:( 1.0 asLargeFloat / 1.0 asShortFloat ) class == LargeFloat.
       
   174     self assert:( 1.0 asLargeFloat / 1.0 asFloat ) class == LargeFloat.
       
   175     self assert:( 1.0 asLargeFloat / 1 ) class == LargeFloat.
       
   176 
       
   177     self assert:( 1.0 asLargeFloat + 1.0 asLargeFloat) = 2.0 asLargeFloat.
       
   178     self assert:( 1.0 asLargeFloat + 0.0 asLargeFloat) = 1.0 asLargeFloat.
       
   179     self assert:( 1.0 asLargeFloat + 2.0 asLargeFloat) = 3.0 asLargeFloat.
       
   180     self assert:( 1.0 asLargeFloat + 3.0 asLargeFloat) = 4.0 asLargeFloat.
       
   181     self assert:( 1.0 asLargeFloat + 1.0 asLargeFloat negated) = 0.0 asLargeFloat.
       
   182     self assert:( 1.0 asLargeFloat + 2.0 asLargeFloat negated) = -1.0 asLargeFloat.
       
   183     self assert:( 1.0 asLargeFloat + -1.0 asLargeFloat negated) = 2.0 asLargeFloat.
       
   184 
       
   185     self assert:( 1.0 asLargeFloat - 1.0 asLargeFloat) = 0.0 asLargeFloat.
       
   186     self assert:( 1.0 asLargeFloat - 0.0 asLargeFloat) = 1.0 asLargeFloat.
       
   187     self assert:( 1.0 asLargeFloat - 2.0 asLargeFloat) = -1.0 asLargeFloat.
       
   188     self assert:( 1.0 asLargeFloat - 3.0 asLargeFloat) = -2.0 asLargeFloat.
       
   189     self assert:( 1.0 asLargeFloat - 1.0 asLargeFloat negated) = 2.0 asLargeFloat.
       
   190     self assert:( 1.0 asLargeFloat - 2.0 asLargeFloat negated) = 3.0 asLargeFloat.
       
   191     self assert:( 1.0 asLargeFloat - -1.0 asLargeFloat negated) = 0.0 asLargeFloat.
       
   192 
       
   193     self assert:( 1.0 asLargeFloat * 1.0 asLargeFloat) = 1.0 asLargeFloat.
       
   194     self assert:( 1.0 asLargeFloat * 0.0 asLargeFloat) = 0.0 asLargeFloat.
       
   195     self assert:( 1.0 asLargeFloat * 2.0 asLargeFloat) = 2.0 asLargeFloat.
       
   196     self assert:( 1.0 asLargeFloat * 3.0 asLargeFloat) = 3.0 asLargeFloat.
       
   197     self assert:( 2.0 asLargeFloat * 3.0 asLargeFloat) = 6.0 asLargeFloat.
       
   198     self assert:( 1.0 asLargeFloat * 1.0 asLargeFloat negated) = -1.0 asLargeFloat.
       
   199     self assert:( 1.0 asLargeFloat * 2.0 asLargeFloat negated) = -2.0 asLargeFloat.
       
   200     self assert:( 1.0 asLargeFloat * -1.0 asLargeFloat negated) = 1.0 asLargeFloat.
       
   201 
       
   202     self assert:( 1.0 asLargeFloat / 1.0 asLargeFloat) = 1.0 asLargeFloat.
       
   203     self assert:( 1.0 asLargeFloat / 2.0 asLargeFloat) = 0.5 asLargeFloat.
       
   204     self assert:( 3.0 asLargeFloat / 2.0 asLargeFloat) = (3/2) asLargeFloat.
       
   205 
       
   206     "
       
   207      self basicNew test04_Arithmetic
       
   208     "
       
   209 !
       
   210 
       
   211 test05_Comparing
       
   212     self assert:( 2.0 asLargeFloat = 2 ).
       
   213     self assert:( 2.0 asLargeFloat = 2.0 asShortFloat ).
       
   214     self assert:( 2.0 asLargeFloat = 2.0 ).
       
   215     self assert:( 2.0 asLargeFloat = 2.0 asLongFloat ).
       
   216     self assert:( 2.0 asLargeFloat = 2.0 asLargeFloat ).
       
   217 
       
   218     self assert:( 2.0 asLargeFloat = 3 ) not.
       
   219     self assert:( 2.0 asLargeFloat = 3.0 asShortFloat ) not.
       
   220     self assert:( 2.0 asLargeFloat = 3.0 ) not.
       
   221     self assert:( 2.0 asLargeFloat = 3.0 asLongFloat ) not.
       
   222     self assert:( 2.0 asLargeFloat = 3.0 asLargeFloat ) not.
       
   223 
       
   224     self assert:( 2.0 asLargeFloat < 3 ).
       
   225     self assert:( 2.0 asLargeFloat < 3.0 asShortFloat ).
       
   226     self assert:( 2.0 asLargeFloat < 3.0 asLargeFloat ).
       
   227 
       
   228     self assert:( 200000000000000000000.0 asLargeFloat < 200000000000100000000 ).
       
   229 
       
   230     self assert:( 200000000000000000000 < 200001000000000000000.0 asLargeFloat ).
       
   231 
       
   232 
       
   233     self assert:( 2.0 asLargeFloat <= 3 ).
       
   234     self assert:( 2.0 asLargeFloat <= 2 ).
       
   235     self assert:( 2.0 asLargeFloat <= 3.0 asShortFloat ).
       
   236     self assert:( 2.0 asLargeFloat <= 2.0 asShortFloat ).
       
   237     self assert:( 2.0 asLargeFloat <= 3.0 asLongFloat ).
       
   238     self assert:( 2.0 asLargeFloat <= 2.0 asLongFloat ).
       
   239     self assert:( 2.0 asLargeFloat <= 3.0 asLargeFloat ).
       
   240     self assert:( 2.0 asLargeFloat <= 2.0 asLargeFloat ).
       
   241 
       
   242     self assert:( 200000000000000000000.0 asLargeFloat <= 200000000000000000001 ).
       
   243     self assert:( 200000000000000000000.0 asLargeFloat <= 200000000000000000000 ).
       
   244 
       
   245     self assert:( 200000000000000000000 <= 200001000000000000000.0 asLargeFloat ).
       
   246     self assert:( 200000000000000000000 <= 200000000000000000000.0 asLargeFloat ).
       
   247 
       
   248     "
       
   249      self basicNew test05_Comparing
       
   250     "
       
   251 !
       
   252 
       
   253 test06_MiscMath
       
   254     #(
       
   255 "/        sqrt       0.5
       
   256 "/        exp        0.5
       
   257 "/        ln         0.5
       
   258 "/        log10      0.5
       
   259 "/        sin        0.5
       
   260 "/        cos        0.5
       
   261 "/        tan        0.5
       
   262 "/        arcSin     0.5
       
   263 "/        arcCos     0.5
       
   264 "/        arcTan     0.5
       
   265 
       
   266         sinh       0.5 
       
   267         cosh       0.5
       
   268         tanh       0.5
       
   269         arcSinh    0.5
       
   270         arcCosh    1.5
       
   271         arcTanh    0.5
       
   272     ) pairWiseDo:[:op :arg |
       
   273 "/        self assert:( arg asLargeFloat perform:op ) class == LargeFloat.
       
   274         ( arg asLargeFloat perform:op ) class == LargeFloat ifFalse:[
       
   275             Transcript showCR:'warning: missing LargeFloat function: ' , op.
       
   276         ].
       
   277 
       
   278         self assert:( (arg perform:op) - (arg asLargeFloat perform:op) ) < 0.000001.
       
   279         self assert:( (arg perform:op) - (arg perform:op) asLargeFloat ) < 0.000001.
       
   280     ].
       
   281 
       
   282     "
       
   283      self basicNew test06_MiscMath
       
   284     "
       
   285 !
       
   286 
       
   287 test07_Truncation
       
   288     |check|
       
   289 
       
   290     check := [:num |
       
   291         self assert:( num fractionPart + num truncated ) = num.
       
   292         self assert:( num fractionPart + num truncated ) class == num class.
       
   293     ].
       
   294 
       
   295     check value:1.6 asLargeFloat.
       
   296     check value:-1.6 asLargeFloat.
       
   297 
       
   298 
       
   299     self assert:( 1.6 asLargeFloat ceiling ) = 2.
       
   300 
       
   301     self assert:( 1.6 asLargeFloat ceilingAsFloat ) = 2.0 asLargeFloat.
       
   302     self assert:( 1.6 asLargeFloat ceilingAsFloat ) class == LargeFloat.
       
   303 
       
   304 
       
   305     self assert:( 1.6 asLargeFloat floor ) = 1.
       
   306 
       
   307     self assert:( 1.6 asLargeFloat floorAsFloat ) = 1.0 asLargeFloat.
       
   308     self assert:( 1.6 asLargeFloat floorAsFloat ) class == LargeFloat.
       
   309 
       
   310 
       
   311     self assert:( 0.4 asLargeFloat rounded ) class == SmallInteger.    
       
   312     self assert:( 0.4 asLargeFloat rounded = 0 ).    
       
   313     self assert:( 0.5 asLargeFloat rounded = 1 ).     
       
   314     self assert:( 0.6 asLargeFloat rounded = 1 ).     
       
   315     self assert:( -0.4 asLargeFloat rounded = 0 ).    
       
   316     self assert:( -0.5 asLargeFloat rounded = -1 ).    
       
   317     self assert:( -0.6 asLargeFloat rounded = -1 ).    
       
   318 
       
   319     self assert:( 0.4 asLargeFloat roundedAsFloat ) class == LargeFloat.    
       
   320     self assert:( 0.4 asLargeFloat roundedAsFloat  = 0.0 ).    
       
   321     self assert:( 0.5 asLargeFloat roundedAsFloat  = 1.0 ).    
       
   322     self assert:( 0.6 asLargeFloat roundedAsFloat  = 1.0 ).    
       
   323     self assert:( -0.4 asLargeFloat roundedAsFloat = 0 ).    
       
   324     self assert:( -0.5 asLargeFloat roundedAsFloat = -1.0 ).    
       
   325     self assert:( -0.6 asLargeFloat roundedAsFloat = -1.0 ).    
       
   326 
       
   327     self assert:( 0.4 truncated ) class == SmallInteger.    
       
   328     self assert:( 0.4 truncated = 0 ).    
       
   329     self assert:( 0.5 truncated = 0 ).     
       
   330     self assert:( 0.6 truncated = 0 ).     
       
   331     self assert:( -0.4 truncated = 0 ).    
       
   332     self assert:( -0.5 truncated = 0 ).    
       
   333     self assert:( -0.6 truncated = 0 ).    
       
   334 
       
   335     self assert:( 0.4 truncatedAsFloat ) class == Float.    
       
   336     self assert:( 0.4 truncatedAsFloat  = 0.0 ).    
       
   337     self assert:( 0.5 truncatedAsFloat  = 0.0 ).    
       
   338     self assert:( 0.6 truncatedAsFloat  = 0.0 ).    
       
   339     self assert:( -0.4 truncatedAsFloat = 0 ).    
       
   340     self assert:( -0.5 truncatedAsFloat = 0.0 ).    
       
   341     self assert:( -0.6 truncatedAsFloat = 0.0 ).    
       
   342 
       
   343     self assert:( 0.4 asShortFloat truncated ) class == SmallInteger.    
       
   344     self assert:( 0.4 asShortFloat truncated = 0 ).    
       
   345     self assert:( 0.5 asShortFloat truncated = 0 ).     
       
   346     self assert:( 0.6 asShortFloat truncated = 0 ).     
       
   347     self assert:( -0.4 asShortFloat truncated = 0 ).    
       
   348     self assert:( -0.5 asShortFloat truncated = 0 ).    
       
   349     self assert:( -0.6 asShortFloat truncated = 0 ).    
       
   350 
       
   351     self assert:( 0.4 asShortFloat truncatedAsFloat ) class == ShortFloat.    
       
   352     self assert:( 0.4 asShortFloat truncatedAsFloat  = 0.0 ).    
       
   353     self assert:( 0.5 asShortFloat truncatedAsFloat  = 0.0 ).    
       
   354     self assert:( 0.6 asShortFloat truncatedAsFloat  = 0.0 ).    
       
   355     self assert:( -0.4 asShortFloat truncatedAsFloat = 0 ).    
       
   356     self assert:( -0.5 asShortFloat truncatedAsFloat = 0.0 ).    
       
   357     self assert:( -0.6 asShortFloat truncatedAsFloat = 0.0 ).    
       
   358 
       
   359     self assert:( 0.4 asLargeFloat truncated ) class == SmallInteger.    
       
   360     self assert:( 0.4 asLargeFloat truncated = 0 ).    
       
   361     self assert:( 0.5 asLargeFloat truncated = 0 ).     
       
   362     self assert:( 0.6 asLargeFloat truncated = 0 ).     
       
   363     self assert:( -0.4 asLargeFloat truncated = 0 ).    
       
   364     self assert:( -0.5 asLargeFloat truncated = 0 ).    
       
   365     self assert:( -0.6 asLargeFloat truncated = 0 ).    
       
   366 
       
   367     self assert:( 0.4 asLargeFloat truncatedAsFloat ) class == LargeFloat.    
       
   368     self assert:( 0.4 asLargeFloat truncatedAsFloat  = 0.0 ).    
       
   369     self assert:( 0.5 asLargeFloat truncatedAsFloat  = 0.0 ).    
       
   370     self assert:( 0.6 asLargeFloat truncatedAsFloat  = 0.0 ).    
       
   371     self assert:( -0.4 asLargeFloat truncatedAsFloat = 0 ).    
       
   372     self assert:( -0.5 asLargeFloat truncatedAsFloat = 0.0 ).    
       
   373     self assert:( -0.6 asLargeFloat truncatedAsFloat = 0.0 ).    
       
   374 
       
   375     "
       
   376      self basicNew test07_Truncation
       
   377     "
       
   378 !
       
   379 
       
   380 test08_Representation
       
   381 "/    self assert:( 0.0 asLargeFloat exponent = 0 ).      
       
   382 "/    self assert:( 1.0 asLargeFloat exponent = 0 "1" ).
       
   383 "/    self assert:( 2.0 asLargeFloat exponent = 1 "2" ).
       
   384 "/    self assert:( 3.0 asLargeFloat exponent = 2 ).
       
   385 "/    self assert:( 4.0 asLargeFloat exponent = 3 ).
       
   386 "/    self assert:( 0.5 asLargeFloat exponent = 0 ).
       
   387 "/    self assert:( 0.4 asLargeFloat exponent = -1 ).
       
   388 "/    self assert:( 0.25 asLargeFloat exponent = -1 ).
       
   389 "/    self assert:( 0.125 asLargeFloat exponent = -2 ).
       
   390 "/    self assert:( 0.00000011111 asLargeFloat exponent = -23 ).
       
   391 
       
   392     "
       
   393      self basicNew test08_Representation
       
   394     "
       
   395 !
       
   396 
       
   397 test09_Testing
       
   398     self assert:( 0.0 asLargeFloat isZero ).      
       
   399     self assert:( 1.0 asLargeFloat isZero not ).      
       
   400 
       
   401     self assert:( 0.0 asLargeFloat negative not ).      
       
   402     self assert:( 1.0 asLargeFloat negative not ).      
       
   403     self assert:( -1.0 asLargeFloat negative ).      
       
   404 
       
   405     self assert:( 0.0 asLargeFloat positive ).      
       
   406     self assert:( 1.0 asLargeFloat positive ).      
       
   407     self assert:( -1.0 asLargeFloat positive not ).      
       
   408 
       
   409     self assert:( 0.0 asLargeFloat strictlyPositive not ).      
       
   410     self assert:( 1.0 asLargeFloat strictlyPositive ).      
       
   411     self assert:( -1.0 asLargeFloat strictlyPositive not ).      
       
   412 
       
   413     self assert:( 0.0 asLargeFloat sign == 0 ).      
       
   414     self assert:( 1.0 asLargeFloat sign == 1 ).      
       
   415     self assert:( -1.0 asLargeFloat sign == -1 ).      
       
   416 
       
   417     "
       
   418      self basicNew test09_Testing
       
   419     "
       
   420 ! !
       
   421 
       
   422 !LargeFloatTest class methodsFor:'documentation'!
       
   423 
       
   424 version
       
   425     ^ '$Header$'
       
   426 ! !