RegressionTests__MetaNumbersTest.st
author mawalch
Tue, 22 Aug 2017 17:55:02 +0200
changeset 1680 f4f1a21fca10
parent 1447 2351db93aa5b
child 1500 d406a10b2965
child 1706 5a6d4c85ea80
permissions -rw-r--r--
New RegressionTests class ImageTests
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
     1
"{ Package: 'stx:goodies/regression' }"
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: RegressionTests }"
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
TestCase subclass:#MetaNumbersTest
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:''
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
1071
4a02a41dce21 category
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
     9
	category:'tests-Regression-Numbers'
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
!MetaNumbersTest methodsFor:'tests'!
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
test01_Nan
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    "NaN in all avaliable formats."
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    |check|
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
    check := [:nan |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    21
	self assert:( nan isNaN ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    22
	self assert:( nan isFinite not ).
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    24
	nan isLimitedPrecisionReal ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    25
	    self assert:( nan asFloat isNaN ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    26
	    self assert:( nan asLargeFloat isNaN ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    27
	    self assert:( nan asShortFloat isNaN ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    28
	    self assert:( nan asLongFloat isNaN ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    29
	].
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    31
	"/ self assert:( nan asFraction isNaN ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    32
	"/ self assert:( nan asInteger isNaN ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    33
	self should:[ nan asFraction ] raise:DomainError.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    34
	self should:[ nan asInteger ] raise:DomainError.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    36
	self assert:( nan + 1 ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    37
	self assert:( nan + 1.0 ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    38
	self assert:( nan + 1.0 asShortFloat ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    39
	self assert:( nan + 1.0 asLongFloat ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    40
	self assert:( nan + 1.0 asLargeFloat ) isNaN.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    42
	self assert:( 1 + nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    43
	self assert:( 1.0 + nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    44
	self assert:( 1.0 asShortFloat + nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    45
	self assert:( 1.0 asLongFloat + nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    46
	self assert:( 1.0 asLargeFloat + nan ) isNaN.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    48
	self assert:( nan - 1 ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    49
	self assert:( nan - 1.0 ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    50
	self assert:( nan - 1.0 asShortFloat ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    51
	self assert:( nan - 1.0 asLongFloat ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    52
	self assert:( nan - 1.0 asLargeFloat ) isNaN.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    54
	self assert:( 1 - nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    55
	self assert:( 1.0 - nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    56
	self assert:( 1.0 asShortFloat - nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    57
	self assert:( 1.0 asLongFloat - nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    58
	self assert:( 1.0 asLargeFloat - nan ) isNaN.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    60
	self assert:( nan * 1 ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    61
	self assert:( nan * 1.0 ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    62
	self assert:( nan * 1.0 asShortFloat ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    63
	self assert:( nan * 1.0 asLongFloat ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    64
	self assert:( nan * 1.0 asLargeFloat ) isNaN.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    66
	self assert:( 1 * nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    67
	self assert:( 1.0 * nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    68
	self assert:( 1.0 asShortFloat * nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    69
	self assert:( 1.0 asLongFloat * nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    70
	self assert:( 1.0 asLargeFloat * nan ) isNaN.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    72
	self assert:( nan / 1 ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    73
	self assert:( nan / 1.0 ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    74
	self assert:( nan / 1.0 asShortFloat ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    75
	self assert:( nan / 1.0 asLongFloat ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    76
	self assert:( nan / 1.0 asLargeFloat ) isNaN.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    78
	self assert:( 1 / nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    79
	self assert:( 1.0 / nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    80
	self assert:( 1.0 asShortFloat / nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    81
	self assert:( 1.0 asLongFloat / nan ) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
    82
	self assert:( 1.0 asLargeFloat / nan ) isNaN.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    ].
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    check value:(0.0 uncheckedDivide: 0.0).
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    check value:(0.0 asShortFloat uncheckedDivide: 0.0).
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    check value:(0.0 asLongFloat uncheckedDivide: 0.0).
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    check value:(0.0 asLargeFloat uncheckedDivide: 0.0).
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
    check value:(0 uncheckedDivide: 0).
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
    "
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
     self basicNew test01_Nan
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
    "
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
!
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
test02_Inf
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
    "Infinity in all avaliable formats."
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
    |check posInf negInf|
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   101
    check :=
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   102
	[:v1 :v2 |
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   104
	    posInf := v1 uncheckedDivide: v2.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   105
	    negInf := v1 negated uncheckedDivide: v2.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   107
	    v1 isLimitedPrecisionReal ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   108
		self assert:( posInf isMemberOf:v1 class ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   109
		self assert:( negInf isMemberOf:v1 class ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   110
	    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   111
	    self assert:( posInf isNaN not ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   112
	    self assert:( posInf isFinite not ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   113
	    self assert:( posInf isInfinite ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   114
	    self assert:( posInf positive ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   115
	    self assert:( posInf negative not ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   116
	    self assert:( posInf isNegativeInfinity not).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   117
	    self assert:( posInf isPositiveInfinity ).
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   119
	    self assert:( negInf isNaN not ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   120
	    self assert:( negInf isFinite not ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   121
	    self assert:( negInf isInfinite ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   122
	    self assert:( negInf positive not).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   123
	    self assert:( negInf negative ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   124
	    self assert:( negInf isNegativeInfinity ).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   125
	    self assert:( negInf isPositiveInfinity not ).
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   127
	    self assert:( negInf + negInf = negInf).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   128
	    self assert:( posInf + posInf = posInf).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   129
	    "/ self assert:( negInf + posInf) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   130
	    self assert:( Number undefinedResultSignal ignoreIn:[ negInf + posInf]) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   131
	    "/ self should:[ negInf + posInf ] raise:Number undefinedResultSignal.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   132
	    self assert:( Number undefinedResultSignal ignoreIn:[ posInf + negInf]) isNaN.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   134
	    self assert:( negInf - posInf = negInf).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   135
	    self assert:( Number undefinedResultSignal ignoreIn:[ negInf - negInf]) isNaN.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   136
	    self assert:( posInf - negInf = posInf).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   137
	    self assert:( Number undefinedResultSignal ignoreIn:[ posInf - posInf]) isNaN.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   139
	    self assert:( posInf + v1) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   140
	    self assert:( posInf - v1) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   141
	    self assert:( negInf + v1) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   142
	    self assert:( negInf - v1) = negInf.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   144
	    self assert:( posInf + 1) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   145
	    self assert:( posInf + 1.0) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   146
	    self assert:( posInf + 1.0 asShortFloat) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   147
	    self assert:( posInf + 1.0 asLongFloat) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   148
	    self assert:( posInf + 1.0 asLargeFloat) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   149
	    self assert:( posInf + (1/2)) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   150
	    self assert:( posInf + 100 factorial) = posInf.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   152
	    self assert:( negInf + 1) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   153
	    self assert:( negInf + 1.0) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   154
	    self assert:( negInf + 1.0 asShortFloat) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   155
	    self assert:( negInf + 1.0 asLongFloat) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   156
	    self assert:( negInf + 1.0 asLargeFloat) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   157
	    self assert:( negInf + (1/2)) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   158
	    "take care, that the factorial is not poitive infinite when converting"
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   159
	    self assert:( negInf + 20 factorial asShortFloat) = negInf.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   161
	    self assert:( 1 + posInf) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   162
	    self assert:( 1.0 + posInf) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   163
	    self assert:( 1.0 asShortFloat + posInf) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   164
	    self assert:( 1.0 asLongFloat + posInf) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   165
	    self assert:( 1.0 asLargeFloat + posInf) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   166
	    self assert:( (1/2) + posInf) = posInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   167
	    self assert:( 20 factorial + posInf) = posInf.
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   169
	    self assert:( 1 + negInf) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   170
	    self assert:( 1.0 + negInf) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   171
	    self assert:( 1.0 asShortFloat + negInf) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   172
	    self assert:( 1.0 asLongFloat + negInf) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   173
	    self assert:( 1.0 asLargeFloat + negInf) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   174
	    self assert:( (1/2) + negInf) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   175
	    "take care, that the factorial is not poitive infinite when converting"
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   176
	    self assert:( 20 factorial + negInf) = negInf.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1071
diff changeset
   177
	].
204
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
    check value: 1.0 value: 0.0.
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
    check value: 1.0 asShortFloat value: 0.0 asShortFloat.
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
    check value: 1.0 asLongFloat value: 0.0 asLongFloat.
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
    check value: 1.0 asLargeFloat value: 0.0 asLargeFloat.
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
    check value: 1 value: 0.
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
    "
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
     self basicNew test02_Inf
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
    "
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
! !
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
!MetaNumbersTest class methodsFor:'documentation'!
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
version
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
    ^ '$Header$'
7a02eaf7f06b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
! !
1071
4a02a41dce21 category
Claus Gittinger <cg@exept.de>
parents: 672
diff changeset
   196