1 2(********************************************************************) 3(* *) 4(* chkflt.sd7 Checks float literals and operations *) 5(* Copyright (C) 2007, 2008, 2010 - 2017 Thomas Mertes *) 6(* *) 7(* This program is free software; you can redistribute it and/or *) 8(* modify it under the terms of the GNU General Public License as *) 9(* published by the Free Software Foundation; either version 2 of *) 10(* the License, or (at your option) any later version. *) 11(* *) 12(* This program is distributed in the hope that it will be useful, *) 13(* but WITHOUT ANY WARRANTY; without even the implied warranty of *) 14(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *) 15(* GNU General Public License for more details. *) 16(* *) 17(* You should have received a copy of the GNU General Public *) 18(* License along with this program; if not, write to the *) 19(* Free Software Foundation, Inc., 51 Franklin Street, *) 20(* Fifth Floor, Boston, MA 02110-1301, USA. *) 21(* *) 22(********************************************************************) 23 24 25$ include "seed7_05.s7i"; 26 include "stdio.s7i"; 27 include "float.s7i"; 28 include "math.s7i"; 29 include "bin64.s7i"; 30 31 32const float: FLOAT_MIN is 2.22507385850720138309e-308; 33const float: FLOAT_MAX is 1.79769313486231570815e+308; 34 35 36const func string: striExpr (in string: stri) is 37 return stri & str(rand(1, 9))[2 ..]; 38 39 40const func float: floatExpr (in float: number) is 41 return number; 42 43 44const func integer: intExpr (in integer: number) is 45 return number + length(str(rand(1, 9))[2 ..]); 46 47 48const func boolean: boolExpr (in boolean: okay) is 49 return boolean(ord(okay) + length(str(rand(1, 9))[2 ..])); 50 51 52const func boolean: raisesRangeError (ref func string: expression) is func 53 result 54 var boolean: raisesRangeError is FALSE; 55 local 56 var string: exprResult is ""; 57 begin 58 block 59 exprResult := expression; 60 exception 61 catch RANGE_ERROR: 62 raisesRangeError := TRUE; 63 end block; 64 end func; 65 66 67const func boolean: raisesRangeError (ref func float: expression) is func 68 result 69 var boolean: raisesRangeError is FALSE; 70 local 71 var float: exprResult is 0.0; 72 begin 73 block 74 exprResult := expression; 75 exception 76 catch RANGE_ERROR: 77 raisesRangeError := TRUE; 78 end block; 79 end func; 80 81 82const func boolean: raisesRangeError (ref func integer: expression) is func 83 result 84 var boolean: raisesRangeError is FALSE; 85 local 86 var integer: exprResult is 0; 87 begin 88 block 89 exprResult := expression; 90 exception 91 catch RANGE_ERROR: 92 raisesRangeError := TRUE; 93 end block; 94 end func; 95 96 97const proc: check_literal is func 98 local 99 var boolean: okay is TRUE; 100 begin 101 if bin64( 0.0) <> bin64(16#0000000000000000) or 102 bin64( -0.0) <> bin64(16#8000000000000000_) or 103 bin64( 1.0) <> bin64(16#3ff0000000000000) or 104 bin64( -1.0) <> bin64(16#bff0000000000000_) or 105 bin64( 123.456000000000000000000000000000000) <> bin64(16#405edd2f1a9fbe77) or 106 bin64(+123.456000000000000000000000000000000) <> bin64(16#405edd2f1a9fbe77) or 107 bin64(-123.456000000000000000000000000000000) <> bin64(16#c05edd2f1a9fbe77_) or 108 bin64( 0.00000000000000000000000000000000001) <> bin64(16#38aa95a5b7f87a0f) or 109 bin64(+0.00000000000000000000000000000000001) <> bin64(16#38aa95a5b7f87a0f) or 110 bin64(-0.00000000000000000000000000000000001) <> bin64(16#b8aa95a5b7f87a0f_) or 111 bin64( 00000000000000000000000000000000000.5) <> bin64(16#3fe0000000000000) or 112 bin64(+00000000000000000000000000000000000.5) <> bin64(16#3fe0000000000000) or 113 bin64(-00000000000000000000000000000000000.5) <> bin64(16#bfe0000000000000_) or 114 bin64( 9007199254740991.0) <> bin64(16#433fffffffffffff) or 115 bin64(-9007199254740991.0) <> bin64(16#c33fffffffffffff_) or 116 bin64(-9223372036854777856.0) <> bin64(16#c3e0000000000001_) or 117 bin64(-9223372036854775808.0) <> bin64(16#c3e0000000000000_) or 118 bin64(-9223372036854775807.0) <> bin64(16#c3e0000000000000_) or 119 bin64(-9223372036854774784.0) <> bin64(16#c3dfffffffffffff_) or 120 bin64(-9223372036854773760.0) <> bin64(16#c3dffffffffffffe_) or 121 bin64( 9223372036854773760.0) <> bin64(16#43dffffffffffffe) or 122 bin64( 9223372036854774784.0) <> bin64(16#43dfffffffffffff) or 123 bin64( 9223372036854775807.0) <> bin64(16#43e0000000000000) or 124 bin64( 9223372036854775808.0) <> bin64(16#43e0000000000000) or 125 bin64( 9223372036854777856.0) <> bin64(16#43e0000000000001) then 126 writeln(" ***** Float literals do not work correct."); 127 okay := FALSE; 128 end if; 129 130 if bin64( 1.0) <> bin64(16#3ff0000000000000) or 131 bin64( 2.0) <> bin64(16#4000000000000000) or 132 bin64( 4.0) <> bin64(16#4010000000000000) or 133 bin64( 8.0) <> bin64(16#4020000000000000) or 134 bin64( 16.0) <> bin64(16#4030000000000000) or 135 bin64( 32.0) <> bin64(16#4040000000000000) or 136 bin64( 64.0) <> bin64(16#4050000000000000) or 137 bin64( 128.0) <> bin64(16#4060000000000000) or 138 bin64( 256.0) <> bin64(16#4070000000000000) or 139 bin64( 512.0) <> bin64(16#4080000000000000) or 140 bin64( 1024.0) <> bin64(16#4090000000000000) or 141 bin64( 2048.0) <> bin64(16#40a0000000000000) or 142 bin64( 4096.0) <> bin64(16#40b0000000000000) or 143 bin64( 8192.0) <> bin64(16#40c0000000000000) or 144 bin64( 16384.0) <> bin64(16#40d0000000000000) or 145 bin64( 32768.0) <> bin64(16#40e0000000000000) or 146 bin64( 65536.0) <> bin64(16#40f0000000000000) or 147 bin64( 131072.0) <> bin64(16#4100000000000000) or 148 bin64( 262144.0) <> bin64(16#4110000000000000) or 149 bin64( 524288.0) <> bin64(16#4120000000000000) or 150 bin64( 1048576.0) <> bin64(16#4130000000000000) or 151 bin64( 2097152.0) <> bin64(16#4140000000000000) or 152 bin64( 4194304.0) <> bin64(16#4150000000000000) or 153 bin64( 8388608.0) <> bin64(16#4160000000000000) or 154 bin64( 16777216.0) <> bin64(16#4170000000000000) or 155 bin64( 33554432.0) <> bin64(16#4180000000000000) or 156 bin64( 67108864.0) <> bin64(16#4190000000000000) or 157 bin64( 134217728.0) <> bin64(16#41a0000000000000) or 158 bin64( 268435456.0) <> bin64(16#41b0000000000000) or 159 bin64( 536870912.0) <> bin64(16#41c0000000000000) or 160 bin64( 1073741824.0) <> bin64(16#41d0000000000000) or 161 bin64( 2147483648.0) <> bin64(16#41e0000000000000) or 162 bin64( 4294967296.0) <> bin64(16#41f0000000000000) or 163 bin64( 8589934592.0) <> bin64(16#4200000000000000) or 164 bin64( 17179869184.0) <> bin64(16#4210000000000000) or 165 bin64( 34359738368.0) <> bin64(16#4220000000000000) or 166 bin64( 68719476736.0) <> bin64(16#4230000000000000) or 167 bin64( 137438953472.0) <> bin64(16#4240000000000000) or 168 bin64( 274877906944.0) <> bin64(16#4250000000000000) or 169 bin64( 549755813888.0) <> bin64(16#4260000000000000) or 170 bin64( 1099511627776.0) <> bin64(16#4270000000000000) or 171 bin64( 2199023255552.0) <> bin64(16#4280000000000000) or 172 bin64( 4398046511104.0) <> bin64(16#4290000000000000) or 173 bin64( 8796093022208.0) <> bin64(16#42a0000000000000) or 174 bin64( 17592186044416.0) <> bin64(16#42b0000000000000) or 175 bin64( 35184372088832.0) <> bin64(16#42c0000000000000) or 176 bin64( 70368744177664.0) <> bin64(16#42d0000000000000) or 177 bin64( 140737488355328.0) <> bin64(16#42e0000000000000) or 178 bin64( 281474976710656.0) <> bin64(16#42f0000000000000) or 179 bin64( 562949953421312.0) <> bin64(16#4300000000000000) or 180 bin64( 1125899906842624.0) <> bin64(16#4310000000000000) or 181 bin64( 2251799813685248.0) <> bin64(16#4320000000000000) or 182 bin64( 4503599627370496.0) <> bin64(16#4330000000000000) or 183 bin64( 9007199254740992.0) <> bin64(16#4340000000000000) or 184 bin64( 18014398509481984.0) <> bin64(16#4350000000000000) or 185 bin64( 36028797018963968.0) <> bin64(16#4360000000000000) or 186 bin64( 72057594037927936.0) <> bin64(16#4370000000000000) or 187 bin64( 144115188075855872.0) <> bin64(16#4380000000000000) or 188 bin64( 288230376151711744.0) <> bin64(16#4390000000000000) or 189 bin64( 576460752303423488.0) <> bin64(16#43a0000000000000) or 190 bin64( 1152921504606846976.0) <> bin64(16#43b0000000000000) or 191 bin64( 2305843009213693952.0) <> bin64(16#43c0000000000000) or 192 bin64( 4611686018427387904.0) <> bin64(16#43d0000000000000) or 193 bin64( 9223372036854775808.0) <> bin64(16#43e0000000000000) or 194 bin64( 18446744073709551616.0) <> bin64(16#43f0000000000000) or 195 bin64( 36893488147419103232.0) <> bin64(16#4400000000000000) or 196 bin64( 73786976294838206464.0) <> bin64(16#4410000000000000) or 197 bin64( 147573952589676412928.0) <> bin64(16#4420000000000000) or 198 bin64( 295147905179352825856.0) <> bin64(16#4430000000000000) or 199 bin64( 590295810358705651712.0) <> bin64(16#4440000000000000) or 200 bin64( 1180591620717411303424.0) <> bin64(16#4450000000000000) or 201 bin64( 2361183241434822606848.0) <> bin64(16#4460000000000000) or 202 bin64( 4722366482869645213696.0) <> bin64(16#4470000000000000) or 203 bin64( 9444732965739290427392.0) <> bin64(16#4480000000000000) or 204 bin64( 18889465931478580854784.0) <> bin64(16#4490000000000000) or 205 bin64( 37778931862957161709568.0) <> bin64(16#44a0000000000000) or 206 bin64( 75557863725914323419136.0) <> bin64(16#44b0000000000000) or 207 bin64( 151115727451828646838272.0) <> bin64(16#44c0000000000000) or 208 bin64( 302231454903657293676544.0) <> bin64(16#44d0000000000000) or 209 bin64( 604462909807314587353088.0) <> bin64(16#44e0000000000000) or 210 bin64( 1208925819614629174706176.0) <> bin64(16#44f0000000000000) or 211 bin64( 2417851639229258349412352.0) <> bin64(16#4500000000000000) or 212 bin64( 4835703278458516698824704.0) <> bin64(16#4510000000000000) or 213 bin64( 9671406556917033397649408.0) <> bin64(16#4520000000000000) or 214 bin64( 19342813113834066795298816.0) <> bin64(16#4530000000000000) or 215 bin64( 38685626227668133590597632.0) <> bin64(16#4540000000000000) or 216 bin64( 77371252455336267181195264.0) <> bin64(16#4550000000000000) or 217 bin64( 15474250491067253436239052.0) <> bin64(16#452999999999999a) or 218 bin64( 30948500982134506872478105.0) <> bin64(16#453999999999999a) or 219 bin64( 618970019642690137449562112.0) <> bin64(16#4580000000000000) or 220 bin64( 1237940039285380274899124224.0) <> bin64(16#4590000000000000) or 221 bin64( 2475880078570760549798248448.0) <> bin64(16#45a0000000000000) or 222 bin64( 4951760157141521099596496896.0) <> bin64(16#45b0000000000000) or 223 bin64( 9903520314283042199192993792.0) <> bin64(16#45c0000000000000) or 224 bin64( 19807040628566084398385987584.0) <> bin64(16#45d0000000000000) or 225 bin64( 39614081257132168796771975168.0) <> bin64(16#45e0000000000000) or 226 bin64( 79228162514264337593543950336.0) <> bin64(16#45f0000000000000) or 227 bin64( 158456325028528675187087900672.0) <> bin64(16#4600000000000000) or 228 bin64( 316912650057057350374175801344.0) <> bin64(16#4610000000000000) or 229 bin64( 633825300114114700748351602688.0) <> bin64(16#4620000000000000) or 230 bin64(1267650600228229401496703205376.0) <> bin64(16#4630000000000000) then 231 writeln(" ***** Float literals with power of two do not work correct. (1)"); 232 okay := FALSE; 233 end if; 234 235 if bin64(0.5) <> bin64(16#3fe0000000000000) or 236 bin64(0.25) <> bin64(16#3fd0000000000000) or 237 bin64(0.125) <> bin64(16#3fc0000000000000) or 238 bin64(0.0625) <> bin64(16#3fb0000000000000) or 239 bin64(0.03125) <> bin64(16#3fa0000000000000) or 240 bin64(0.015625) <> bin64(16#3f90000000000000) or 241 bin64(0.0078125) <> bin64(16#3f80000000000000) or 242 bin64(0.00390625) <> bin64(16#3f70000000000000) or 243 bin64(0.001953125) <> bin64(16#3f60000000000000) or 244 bin64(0.0009765625) <> bin64(16#3f50000000000000) or 245 bin64(0.00048828125) <> bin64(16#3f40000000000000) or 246 bin64(0.000244140625) <> bin64(16#3f30000000000000) or 247 bin64(0.0001220703125) <> bin64(16#3f20000000000000) or 248 bin64(0.00006103515625) <> bin64(16#3f10000000000000) or 249 bin64(0.000030517578125) <> bin64(16#3f00000000000000) or 250 bin64(0.0000152587890625) <> bin64(16#3ef0000000000000) or 251 bin64(0.00000762939453125) <> bin64(16#3ee0000000000000) or 252 bin64(0.000003814697265625) <> bin64(16#3ed0000000000000) or 253 bin64(0.0000019073486328125) <> bin64(16#3ec0000000000000) or 254 bin64(0.00000095367431640625) <> bin64(16#3eb0000000000000) or 255 bin64(0.000000476837158203125) <> bin64(16#3ea0000000000000) or 256 bin64(0.0000002384185791015625) <> bin64(16#3e90000000000000) or 257 bin64(0.00000011920928955078125) <> bin64(16#3e80000000000000) or 258 bin64(0.000000059604644775390625) <> bin64(16#3e70000000000000) or 259 bin64(0.0000000298023223876953125) <> bin64(16#3e60000000000000) or 260 bin64(0.00000001490116119384765625) <> bin64(16#3e50000000000000) or 261 bin64(0.000000007450580596923828125) <> bin64(16#3e40000000000000) or 262 bin64(0.0000000037252902984619140625) <> bin64(16#3e30000000000000) or 263 bin64(0.00000000186264514923095703125) <> bin64(16#3e20000000000000) or 264 bin64(0.000000000931322574615478515625) <> bin64(16#3e10000000000000) or 265 bin64(0.0000000004656612873077392578125) <> bin64(16#3e00000000000000) or 266 bin64(0.00000000023283064365386962890625) <> bin64(16#3df0000000000000) or 267 bin64(0.000000000116415321826934814453125) <> bin64(16#3de0000000000000) or 268 bin64(0.0000000000582076609134674072265625) <> bin64(16#3dd0000000000000) or 269 bin64(0.00000000002910383045673370361328125) <> bin64(16#3dc0000000000000) or 270 bin64(0.000000000014551915228366851806640625) <> bin64(16#3db0000000000000) or 271 bin64(0.0000000000072759576141834259033203125) <> bin64(16#3da0000000000000) or 272 bin64(0.00000000000363797880709171295166015625) <> bin64(16#3d90000000000000) or 273 bin64(0.000000000001818989403545856475830078125) <> bin64(16#3d80000000000000) or 274 bin64(0.0000000000009094947017729282379150390625) <> bin64(16#3d70000000000000) or 275 bin64(0.00000000000045474735088646411895751953125) <> bin64(16#3d60000000000000) or 276 bin64(0.000000000000227373675443232059478759765625) <> bin64(16#3d50000000000000) or 277 bin64(0.0000000000001136868377216160297393798828125) <> bin64(16#3d40000000000000) or 278 bin64(0.00000000000005684341886080801486968994140625) <> bin64(16#3d30000000000000) or 279 bin64(0.000000000000028421709430404007434844970703125) <> bin64(16#3d20000000000000) or 280 bin64(0.0000000000000142108547152020037174224853515625) <> bin64(16#3d10000000000000) or 281 bin64(0.00000000000000710542735760100185871124267578125) <> bin64(16#3d00000000000000) or 282 bin64(0.000000000000003552713678800500929355621337890625) <> bin64(16#3cf0000000000000) or 283 bin64(0.0000000000000017763568394002504646778106689453125) <> bin64(16#3ce0000000000000) or 284 bin64(0.00000000000000088817841970012523233890533447265625) <> bin64(16#3cd0000000000000) or 285 bin64(0.000000000000000444089209850062616169452667236328125) <> bin64(16#3cc0000000000000) or 286 bin64(0.0000000000000002220446049250313080847263336181640625) <> bin64(16#3cb0000000000000) or 287 bin64(0.00000000000000011102230246251565404236316680908203125) <> bin64(16#3ca0000000000000) or 288 bin64(0.000000000000000055511151231257827021181583404541015625) <> bin64(16#3c90000000000000) or 289 bin64(0.0000000000000000277555756156289135105907917022705078125) <> bin64(16#3c80000000000000) or 290 bin64(0.00000000000000001387778780781445675529539585113525390625) <> bin64(16#3c70000000000000) or 291 bin64(0.000000000000000006938893903907228377647697925567626953125) <> bin64(16#3c60000000000000) or 292 bin64(0.0000000000000000034694469519536141888238489627838134765625) <> bin64(16#3c50000000000000) or 293 bin64(0.00000000000000000173472347597680709441192448139190673828125) <> bin64(16#3c40000000000000) or 294 bin64(0.000000000000000000867361737988403547205962240695953369140625) <> bin64(16#3c30000000000000) or 295 bin64(0.0000000000000000004336808689942017736029811203479766845703125) <> bin64(16#3c20000000000000) or 296 bin64(0.00000000000000000021684043449710088680149056017398834228515625) <> bin64(16#3c10000000000000) or 297 bin64(0.000000000000000000108420217248550443400745280086994171142578125) <> bin64(16#3c00000000000000) or 298 bin64(0.0000000000000000000542101086242752217003726400434970855712890625) <> bin64(16#3bf0000000000000) or 299 bin64(0.00000000000000000002710505431213761085018632002174854278564453125) <> bin64(16#3be0000000000000) or 300 bin64(0.000000000000000000013552527156068805425093160010874271392822265625) <> bin64(16#3bd0000000000000) or 301 bin64(0.0000000000000000000067762635780344027125465800054371356964111328125) <> bin64(16#3bc0000000000000) or 302 bin64(0.00000000000000000000338813178901720135627329000271856784820556640625) <> bin64(16#3bb0000000000000) or 303 bin64(0.000000000000000000001694065894508600678136645001359283924102783203125) <> bin64(16#3ba0000000000000) or 304 bin64(0.0000000000000000000008470329472543003390683225006796419620513916015625) <> bin64(16#3b90000000000000) or 305 bin64(0.00000000000000000000042351647362715016953416125033982098102569580078125) <> bin64(16#3b80000000000000) or 306 bin64(0.000000000000000000000211758236813575084767080625169910490512847900390625) <> bin64(16#3b70000000000000) or 307 bin64(0.0000000000000000000001058791184067875423835403125849552452564239501953125) <> bin64(16#3b60000000000000) or 308 bin64(0.00000000000000000000005293955920339377119177015629247762262821197509765625) <> bin64(16#3b50000000000000) or 309 bin64(0.000000000000000000000026469779601696885595885078146238811314105987548828125) <> bin64(16#3b40000000000000) then 310 writeln(" ***** Float literals with power of two do not work correct. (2)"); 311 okay := FALSE; 312 end if; 313 314 if bin64(1.0e-324) <> bin64(16#0000000000000000) or 315 bin64(1.0e-323) <> bin64(16#0000000000000002) or 316 bin64(1.0e-322) <> bin64(16#0000000000000014) or 317 bin64(1.0e-321) <> bin64(16#00000000000000ca) or 318 bin64(1.0e-320) <> bin64(16#00000000000007e8) or 319 bin64(1.0e-315) <> bin64(16#000000000c1069cd) or 320 bin64(1.0e-310) <> bin64(16#000012688b70e62b) or 321 # bin64(1.0e-309) <> bin64(16#0000b8157268fdaf) or # Problem with MSVC 322 bin64(1.0e-308) <> bin64(16#000730d67819e8d2) or 323 bin64(1.0e-307) <> bin64(16#0031fa182c40c60d) or 324 bin64(1.0e-300) <> bin64(16#01a56e1fc2f8f359) or 325 bin64(1.0e-275) <> bin64(16#06d62884f31e93ff) or 326 bin64(1.0e-250) <> bin64(16#0c06e93f5da2824c) or 327 bin64(1.0e-225) <> bin64(16#1137b08617a104ee) or 328 bin64(1.0e-200) <> bin64(16#16687e92154ef7ac) or 329 bin64(1.0e-175) <> bin64(16#1b99539e3a40dfb8) or 330 bin64(1.0e-150) <> bin64(16#20ca2fe76a3f9475) or 331 bin64(1.0e-125) <> bin64(16#25fb13ac9aaf4c0f) or 332 bin64(1.0e-101) <> bin64(16#2af665bf1d3e6a8d) or 333 bin64(1.0e-100) <> bin64(16#2b2bff2ee48e0530) or 334 bin64(1.0e-99 ) <> bin64(16#2b617f7d4ed8c33e) or 335 bin64(1.0e-75 ) <> bin64(16#305cf2b1970e7258) or 336 bin64(1.0e-50 ) <> bin64(16#358dee7a4ad4b81f) or 337 bin64(1.0e-25 ) <> bin64(16#3abef2d0f5da7dd9) or 338 bin64(1.0e-20 ) <> bin64(16#3bc79ca10c924223) or 339 bin64(1.0e-15 ) <> bin64(16#3cd203af9ee75616) or 340 bin64(1.0e-11 ) <> bin64(16#3da5fd7fe1796495) or 341 bin64(1.0e-10 ) <> bin64(16#3ddb7cdfd9d7bdbb) or 342 bin64(1.0e-9 ) <> bin64(16#3e112e0be826d695) or 343 bin64(1.0e-2 ) <> bin64(16#3f847ae147ae147b) or 344 bin64(1.0e-1 ) <> bin64(16#3fb999999999999a) or 345 bin64(1.0e0 ) <> bin64(16#3ff0000000000000) or 346 bin64(1.0e1 ) <> bin64(16#4024000000000000) or 347 bin64(1.0e2 ) <> bin64(16#4059000000000000) or 348 bin64(1.0e9 ) <> bin64(16#41cdcd6500000000) or 349 bin64(1.0e10 ) <> bin64(16#4202a05f20000000) or 350 bin64(1.0e11 ) <> bin64(16#42374876e8000000) or 351 bin64(1.0e15 ) <> bin64(16#430c6bf526340000) or 352 bin64(1.0e20 ) <> bin64(16#4415af1d78b58c40) or 353 bin64(1.0e25 ) <> bin64(16#45208b2a2c280291) or 354 bin64(1.0e50 ) <> bin64(16#4a511b0ec57e649a) or 355 bin64(1.0e75 ) <> bin64(16#4f81afd6ec0e1411) or 356 bin64(1.0e99 ) <> bin64(16#547d42aea2879f2e) or 357 bin64(1.0e100 ) <> bin64(16#54b249ad2594c37d) or 358 bin64(1.0e101 ) <> bin64(16#54e6dc186ef9f45c) or 359 bin64(1.0e125 ) <> bin64(16#59e2e8bd69aa19cc) or 360 bin64(1.0e150 ) <> bin64(16#5f138d352e5096af) or 361 bin64(1.0e175 ) <> bin64(16#6444374374f3c2c6) or 362 bin64(1.0e200 ) <> bin64(16#6974e718d7d7625a) or 363 bin64(1.0e225 ) <> bin64(16#6ea59ce797fb817f) or 364 bin64(1.0e250 ) <> bin64(16#73d658e3ab795204) or 365 bin64(1.0e275 ) <> bin64(16#79071b42cc5cf601) or 366 bin64(1.0e300 ) <> bin64(16#7e37e43c8800759c) or 367 bin64(1.0e307 ) <> bin64(16#7fac7b1f3cac7433) or 368 # bin64(1.0e308 ) <> bin64(16#7fe1ccf385ebc8a0) or # Problem with BCC v5 369 bin64(1.0e309 ) <> bin64(16#7ff0000000000000) then 370 writeln(" ***** Float literals with exponent do not work correct."); 371 okay := FALSE; 372 end if; 373 374 if okay then 375 writeln("Float literals work correct."); 376 end if; 377 end func; 378 379 380const proc: check_comparison is func 381 local 382 var boolean: okay is TRUE; 383 begin 384 if not -Infinity = -Infinity or 385 -Infinity = -1.0E37 or 386 -Infinity = -1000.0 or 387 -Infinity = -0.0 or 388 -Infinity = 0.0 or 389 -Infinity = 1000.0 or 390 -Infinity = 1.0E37 or 391 -Infinity = Infinity or 392 -1.0E37 = -Infinity or 393 not -1.0E37 = -1.0E37 or 394 -1.0E37 = -1000.0 or 395 -1.0E37 = -0.0 or 396 -1.0E37 = 0.0 or 397 -1.0E37 = 1000.0 or 398 -1.0E37 = 1.0E37 or 399 -1.0E37 = Infinity or 400 -1000.0 = -Infinity or 401 -1000.0 = -1.0E37 or 402 not -1000.0 = -1000.0 or 403 -1000.0 = -0.0 or 404 -1000.0 = 0.0 or 405 -1000.0 = 1000.0 or 406 -1000.0 = 1.0E37 or 407 -1000.0 = Infinity or 408 -0.0 = -Infinity or 409 -0.0 = -1.0E37 or 410 -0.0 = -1000.0 or 411 not -0.0 = -0.0 or 412 not -0.0 = 0.0 or 413 -0.0 = 1000.0 or 414 -0.0 = 1.0E37 or 415 -0.0 = Infinity or 416 0.0 = -Infinity or 417 0.0 = -1.0E37 or 418 0.0 = -1000.0 or 419 not 0.0 = -0.0 or 420 not 0.0 = 0.0 or 421 0.0 = 1000.0 or 422 0.0 = 1.0E37 or 423 0.0 = Infinity or 424 1000.0 = -Infinity or 425 1000.0 = -1.0E37 or 426 1000.0 = -1000.0 or 427 1000.0 = -0.0 or 428 1000.0 = 0.0 or 429 not 1000.0 = 1000.0 or 430 1000.0 = 1.0E37 or 431 1000.0 = Infinity or 432 1.0E37 = -Infinity or 433 1.0E37 = -1.0E37 or 434 1.0E37 = -1000.0 or 435 1.0E37 = -0.0 or 436 1.0E37 = 0.0 or 437 1.0E37 = 1000.0 or 438 not 1.0E37 = 1.0E37 or 439 1.0E37 = Infinity or 440 Infinity = -Infinity or 441 Infinity = -1.0E37 or 442 Infinity = -1000.0 or 443 Infinity = -0.0 or 444 Infinity = 0.0 or 445 Infinity = 1000.0 or 446 Infinity = 1.0E37 or 447 not Infinity = Infinity or 448 not floatExpr(-Infinity) = -Infinity or 449 floatExpr(-Infinity) = -1.0E37 or 450 floatExpr(-Infinity) = -1000.0 or 451 floatExpr(-Infinity) = -0.0 or 452 floatExpr(-Infinity) = 0.0 or 453 floatExpr(-Infinity) = 1000.0 or 454 floatExpr(-Infinity) = 1.0E37 or 455 floatExpr(-Infinity) = Infinity or 456 floatExpr( -1.0E37) = -Infinity or 457 not floatExpr( -1.0E37) = -1.0E37 or 458 floatExpr( -1.0E37) = -1000.0 or 459 floatExpr( -1.0E37) = -0.0 or 460 floatExpr( -1.0E37) = 0.0 or 461 floatExpr( -1.0E37) = 1000.0 or 462 floatExpr( -1.0E37) = 1.0E37 or 463 floatExpr( -1.0E37) = Infinity or 464 floatExpr( -1000.0) = -Infinity or 465 floatExpr( -1000.0) = -1.0E37 or 466 not floatExpr( -1000.0) = -1000.0 or 467 floatExpr( -1000.0) = -0.0 or 468 floatExpr( -1000.0) = 0.0 or 469 floatExpr( -1000.0) = 1000.0 or 470 floatExpr( -1000.0) = 1.0E37 or 471 floatExpr( -1000.0) = Infinity or 472 floatExpr( -0.0) = -Infinity or 473 floatExpr( -0.0) = -1.0E37 or 474 floatExpr( -0.0) = -1000.0 or 475 not floatExpr( -0.0) = -0.0 or 476 not floatExpr( -0.0) = 0.0 or 477 floatExpr( -0.0) = 1000.0 or 478 floatExpr( -0.0) = 1.0E37 or 479 floatExpr( -0.0) = Infinity or 480 floatExpr( 0.0) = -Infinity or 481 floatExpr( 0.0) = -1.0E37 or 482 floatExpr( 0.0) = -1000.0 or 483 not floatExpr( 0.0) = -0.0 or 484 not floatExpr( 0.0) = 0.0 or 485 floatExpr( 0.0) = 1000.0 or 486 floatExpr( 0.0) = 1.0E37 or 487 floatExpr( 0.0) = Infinity or 488 floatExpr( 1000.0) = -Infinity or 489 floatExpr( 1000.0) = -1.0E37 or 490 floatExpr( 1000.0) = -1000.0 or 491 floatExpr( 1000.0) = -0.0 or 492 floatExpr( 1000.0) = 0.0 or 493 not floatExpr( 1000.0) = 1000.0 or 494 floatExpr( 1000.0) = 1.0E37 or 495 floatExpr( 1000.0) = Infinity or 496 floatExpr( 1.0E37) = -Infinity or 497 floatExpr( 1.0E37) = -1.0E37 or 498 floatExpr( 1.0E37) = -1000.0 or 499 floatExpr( 1.0E37) = -0.0 or 500 floatExpr( 1.0E37) = 0.0 or 501 floatExpr( 1.0E37) = 1000.0 or 502 not floatExpr( 1.0E37) = 1.0E37 or 503 floatExpr( 1.0E37) = Infinity or 504 floatExpr( Infinity) = -Infinity or 505 floatExpr( Infinity) = -1.0E37 or 506 floatExpr( Infinity) = -1000.0 or 507 floatExpr( Infinity) = -0.0 or 508 floatExpr( Infinity) = 0.0 or 509 floatExpr( Infinity) = 1000.0 or 510 floatExpr( Infinity) = 1.0E37 or 511 not floatExpr( Infinity) = Infinity or 512 not -Infinity = floatExpr(-Infinity) or 513 -Infinity = floatExpr( -1.0E37) or 514 -Infinity = floatExpr( -1000.0) or 515 -Infinity = floatExpr( -0.0) or 516 -Infinity = floatExpr( 0.0) or 517 -Infinity = floatExpr( 1000.0) or 518 -Infinity = floatExpr( 1.0E37) or 519 -Infinity = floatExpr( Infinity) or 520 -1.0E37 = floatExpr(-Infinity) or 521 not -1.0E37 = floatExpr( -1.0E37) or 522 -1.0E37 = floatExpr( -1000.0) or 523 -1.0E37 = floatExpr( -0.0) or 524 -1.0E37 = floatExpr( 0.0) or 525 -1.0E37 = floatExpr( 1000.0) or 526 -1.0E37 = floatExpr( 1.0E37) or 527 -1.0E37 = floatExpr( Infinity) or 528 -1000.0 = floatExpr(-Infinity) or 529 -1000.0 = floatExpr( -1.0E37) or 530 not -1000.0 = floatExpr( -1000.0) or 531 -1000.0 = floatExpr( -0.0) or 532 -1000.0 = floatExpr( 0.0) or 533 -1000.0 = floatExpr( 1000.0) or 534 -1000.0 = floatExpr( 1.0E37) or 535 -1000.0 = floatExpr( Infinity) or 536 -0.0 = floatExpr(-Infinity) or 537 -0.0 = floatExpr( -1.0E37) or 538 -0.0 = floatExpr( -1000.0) or 539 not -0.0 = floatExpr( -0.0) or 540 not -0.0 = floatExpr( 0.0) or 541 -0.0 = floatExpr( 1000.0) or 542 -0.0 = floatExpr( 1.0E37) or 543 -0.0 = floatExpr( Infinity) or 544 0.0 = floatExpr(-Infinity) or 545 0.0 = floatExpr( -1.0E37) or 546 0.0 = floatExpr( -1000.0) or 547 not 0.0 = floatExpr( -0.0) or 548 not 0.0 = floatExpr( 0.0) or 549 0.0 = floatExpr( 1000.0) or 550 0.0 = floatExpr( 1.0E37) or 551 0.0 = floatExpr( Infinity) or 552 1000.0 = floatExpr(-Infinity) or 553 1000.0 = floatExpr( -1.0E37) or 554 1000.0 = floatExpr( -1000.0) or 555 1000.0 = floatExpr( -0.0) or 556 1000.0 = floatExpr( 0.0) or 557 not 1000.0 = floatExpr( 1000.0) or 558 1000.0 = floatExpr( 1.0E37) or 559 1000.0 = floatExpr( Infinity) or 560 1.0E37 = floatExpr(-Infinity) or 561 1.0E37 = floatExpr( -1.0E37) or 562 1.0E37 = floatExpr( -1000.0) or 563 1.0E37 = floatExpr( -0.0) or 564 1.0E37 = floatExpr( 0.0) or 565 1.0E37 = floatExpr( 1000.0) or 566 not 1.0E37 = floatExpr( 1.0E37) or 567 1.0E37 = floatExpr( Infinity) or 568 Infinity = floatExpr(-Infinity) or 569 Infinity = floatExpr( -1.0E37) or 570 Infinity = floatExpr( -1000.0) or 571 Infinity = floatExpr( -0.0) or 572 Infinity = floatExpr( 0.0) or 573 Infinity = floatExpr( 1000.0) or 574 Infinity = floatExpr( 1.0E37) or 575 not Infinity = floatExpr( Infinity) or 576 not floatExpr(-Infinity) = floatExpr(-Infinity) or 577 floatExpr(-Infinity) = floatExpr( -1.0E37) or 578 floatExpr(-Infinity) = floatExpr( -1000.0) or 579 floatExpr(-Infinity) = floatExpr( -0.0) or 580 floatExpr(-Infinity) = floatExpr( 0.0) or 581 floatExpr(-Infinity) = floatExpr( 1000.0) or 582 floatExpr(-Infinity) = floatExpr( 1.0E37) or 583 floatExpr(-Infinity) = floatExpr( Infinity) or 584 floatExpr( -1.0E37) = floatExpr(-Infinity) or 585 not floatExpr( -1.0E37) = floatExpr( -1.0E37) or 586 floatExpr( -1.0E37) = floatExpr( -1000.0) or 587 floatExpr( -1.0E37) = floatExpr( -0.0) or 588 floatExpr( -1.0E37) = floatExpr( 0.0) or 589 floatExpr( -1.0E37) = floatExpr( 1000.0) or 590 floatExpr( -1.0E37) = floatExpr( 1.0E37) or 591 floatExpr( -1.0E37) = floatExpr( Infinity) or 592 floatExpr( -1000.0) = floatExpr(-Infinity) or 593 floatExpr( -1000.0) = floatExpr( -1.0E37) or 594 not floatExpr( -1000.0) = floatExpr( -1000.0) or 595 floatExpr( -1000.0) = floatExpr( -0.0) or 596 floatExpr( -1000.0) = floatExpr( 0.0) or 597 floatExpr( -1000.0) = floatExpr( 1000.0) or 598 floatExpr( -1000.0) = floatExpr( 1.0E37) or 599 floatExpr( -1000.0) = floatExpr( Infinity) or 600 floatExpr( -0.0) = floatExpr(-Infinity) or 601 floatExpr( -0.0) = floatExpr( -1.0E37) or 602 floatExpr( -0.0) = floatExpr( -1000.0) or 603 not floatExpr( -0.0) = floatExpr( -0.0) or 604 not floatExpr( -0.0) = floatExpr( 0.0) or 605 floatExpr( -0.0) = floatExpr( 1000.0) or 606 floatExpr( -0.0) = floatExpr( 1.0E37) or 607 floatExpr( -0.0) = floatExpr( Infinity) or 608 floatExpr( 0.0) = floatExpr(-Infinity) or 609 floatExpr( 0.0) = floatExpr( -1.0E37) or 610 floatExpr( 0.0) = floatExpr( -1000.0) or 611 not floatExpr( 0.0) = floatExpr( -0.0) or 612 not floatExpr( 0.0) = floatExpr( 0.0) or 613 floatExpr( 0.0) = floatExpr( 1000.0) or 614 floatExpr( 0.0) = floatExpr( 1.0E37) or 615 floatExpr( 0.0) = floatExpr( Infinity) or 616 floatExpr( 1000.0) = floatExpr(-Infinity) or 617 floatExpr( 1000.0) = floatExpr( -1.0E37) or 618 floatExpr( 1000.0) = floatExpr( -1000.0) or 619 floatExpr( 1000.0) = floatExpr( -0.0) or 620 floatExpr( 1000.0) = floatExpr( 0.0) or 621 not floatExpr( 1000.0) = floatExpr( 1000.0) or 622 floatExpr( 1000.0) = floatExpr( 1.0E37) or 623 floatExpr( 1000.0) = floatExpr( Infinity) or 624 floatExpr( 1.0E37) = floatExpr(-Infinity) or 625 floatExpr( 1.0E37) = floatExpr( -1.0E37) or 626 floatExpr( 1.0E37) = floatExpr( -1000.0) or 627 floatExpr( 1.0E37) = floatExpr( -0.0) or 628 floatExpr( 1.0E37) = floatExpr( 0.0) or 629 floatExpr( 1.0E37) = floatExpr( 1000.0) or 630 not floatExpr( 1.0E37) = floatExpr( 1.0E37) or 631 floatExpr( 1.0E37) = floatExpr( Infinity) or 632 floatExpr( Infinity) = floatExpr(-Infinity) or 633 floatExpr( Infinity) = floatExpr( -1.0E37) or 634 floatExpr( Infinity) = floatExpr( -1000.0) or 635 floatExpr( Infinity) = floatExpr( -0.0) or 636 floatExpr( Infinity) = floatExpr( 0.0) or 637 floatExpr( Infinity) = floatExpr( 1000.0) or 638 floatExpr( Infinity) = floatExpr( 1.0E37) or 639 not floatExpr( Infinity) = floatExpr( Infinity) then 640 writeln(" ***** Equal for float values does not work correct."); 641 okay := FALSE; 642 end if; 643 644 if -Infinity <> -Infinity or 645 not -Infinity <> -1.0E37 or 646 not -Infinity <> -1000.0 or 647 not -Infinity <> -0.0 or 648 not -Infinity <> 0.0 or 649 not -Infinity <> 1000.0 or 650 not -Infinity <> 1.0E37 or 651 not -Infinity <> Infinity or 652 not -1.0E37 <> -Infinity or 653 -1.0E37 <> -1.0E37 or 654 not -1.0E37 <> -1000.0 or 655 not -1.0E37 <> -0.0 or 656 not -1.0E37 <> 0.0 or 657 not -1.0E37 <> 1000.0 or 658 not -1.0E37 <> 1.0E37 or 659 not -1.0E37 <> Infinity or 660 not -1000.0 <> -Infinity or 661 not -1000.0 <> -1.0E37 or 662 -1000.0 <> -1000.0 or 663 not -1000.0 <> -0.0 or 664 not -1000.0 <> 0.0 or 665 not -1000.0 <> 1000.0 or 666 not -1000.0 <> 1.0E37 or 667 not -1000.0 <> Infinity or 668 not -0.0 <> -Infinity or 669 not -0.0 <> -1.0E37 or 670 not -0.0 <> -1000.0 or 671 -0.0 <> -0.0 or 672 -0.0 <> 0.0 or 673 not -0.0 <> 1000.0 or 674 not -0.0 <> 1.0E37 or 675 not -0.0 <> Infinity or 676 not 0.0 <> -Infinity or 677 not 0.0 <> -1.0E37 or 678 not 0.0 <> -1000.0 or 679 0.0 <> -0.0 or 680 0.0 <> 0.0 or 681 not 0.0 <> 1000.0 or 682 not 0.0 <> 1.0E37 or 683 not 0.0 <> Infinity or 684 not 1000.0 <> -Infinity or 685 not 1000.0 <> -1.0E37 or 686 not 1000.0 <> -1000.0 or 687 not 1000.0 <> -0.0 or 688 not 1000.0 <> 0.0 or 689 1000.0 <> 1000.0 or 690 not 1000.0 <> 1.0E37 or 691 not 1000.0 <> Infinity or 692 not 1.0E37 <> -Infinity or 693 not 1.0E37 <> -1.0E37 or 694 not 1.0E37 <> -1000.0 or 695 not 1.0E37 <> -0.0 or 696 not 1.0E37 <> 0.0 or 697 not 1.0E37 <> 1000.0 or 698 1.0E37 <> 1.0E37 or 699 not 1.0E37 <> Infinity or 700 not Infinity <> -Infinity or 701 not Infinity <> -1.0E37 or 702 not Infinity <> -1000.0 or 703 not Infinity <> -0.0 or 704 not Infinity <> 0.0 or 705 not Infinity <> 1000.0 or 706 not Infinity <> 1.0E37 or 707 Infinity <> Infinity or 708 floatExpr(-Infinity) <> -Infinity or 709 not floatExpr(-Infinity) <> -1.0E37 or 710 not floatExpr(-Infinity) <> -1000.0 or 711 not floatExpr(-Infinity) <> -0.0 or 712 not floatExpr(-Infinity) <> 0.0 or 713 not floatExpr(-Infinity) <> 1000.0 or 714 not floatExpr(-Infinity) <> 1.0E37 or 715 not floatExpr(-Infinity) <> Infinity or 716 not floatExpr( -1.0E37) <> -Infinity or 717 floatExpr( -1.0E37) <> -1.0E37 or 718 not floatExpr( -1.0E37) <> -1000.0 or 719 not floatExpr( -1.0E37) <> -0.0 or 720 not floatExpr( -1.0E37) <> 0.0 or 721 not floatExpr( -1.0E37) <> 1000.0 or 722 not floatExpr( -1.0E37) <> 1.0E37 or 723 not floatExpr( -1.0E37) <> Infinity or 724 not floatExpr( -1000.0) <> -Infinity or 725 not floatExpr( -1000.0) <> -1.0E37 or 726 floatExpr( -1000.0) <> -1000.0 or 727 not floatExpr( -1000.0) <> -0.0 or 728 not floatExpr( -1000.0) <> 0.0 or 729 not floatExpr( -1000.0) <> 1000.0 or 730 not floatExpr( -1000.0) <> 1.0E37 or 731 not floatExpr( -1000.0) <> Infinity or 732 not floatExpr( -0.0) <> -Infinity or 733 not floatExpr( -0.0) <> -1.0E37 or 734 not floatExpr( -0.0) <> -1000.0 or 735 floatExpr( -0.0) <> -0.0 or 736 floatExpr( -0.0) <> 0.0 or 737 not floatExpr( -0.0) <> 1000.0 or 738 not floatExpr( -0.0) <> 1.0E37 or 739 not floatExpr( -0.0) <> Infinity or 740 not floatExpr( 0.0) <> -Infinity or 741 not floatExpr( 0.0) <> -1.0E37 or 742 not floatExpr( 0.0) <> -1000.0 or 743 floatExpr( 0.0) <> -0.0 or 744 floatExpr( 0.0) <> 0.0 or 745 not floatExpr( 0.0) <> 1000.0 or 746 not floatExpr( 0.0) <> 1.0E37 or 747 not floatExpr( 0.0) <> Infinity or 748 not floatExpr( 1000.0) <> -Infinity or 749 not floatExpr( 1000.0) <> -1.0E37 or 750 not floatExpr( 1000.0) <> -1000.0 or 751 not floatExpr( 1000.0) <> -0.0 or 752 not floatExpr( 1000.0) <> 0.0 or 753 floatExpr( 1000.0) <> 1000.0 or 754 not floatExpr( 1000.0) <> 1.0E37 or 755 not floatExpr( 1000.0) <> Infinity or 756 not floatExpr( 1.0E37) <> -Infinity or 757 not floatExpr( 1.0E37) <> -1.0E37 or 758 not floatExpr( 1.0E37) <> -1000.0 or 759 not floatExpr( 1.0E37) <> -0.0 or 760 not floatExpr( 1.0E37) <> 0.0 or 761 not floatExpr( 1.0E37) <> 1000.0 or 762 floatExpr( 1.0E37) <> 1.0E37 or 763 not floatExpr( 1.0E37) <> Infinity or 764 not floatExpr( Infinity) <> -Infinity or 765 not floatExpr( Infinity) <> -1.0E37 or 766 not floatExpr( Infinity) <> -1000.0 or 767 not floatExpr( Infinity) <> -0.0 or 768 not floatExpr( Infinity) <> 0.0 or 769 not floatExpr( Infinity) <> 1000.0 or 770 not floatExpr( Infinity) <> 1.0E37 or 771 floatExpr( Infinity) <> Infinity or 772 -Infinity <> floatExpr(-Infinity) or 773 not -Infinity <> floatExpr( -1.0E37) or 774 not -Infinity <> floatExpr( -1000.0) or 775 not -Infinity <> floatExpr( -0.0) or 776 not -Infinity <> floatExpr( 0.0) or 777 not -Infinity <> floatExpr( 1000.0) or 778 not -Infinity <> floatExpr( 1.0E37) or 779 not -Infinity <> floatExpr( Infinity) or 780 not -1.0E37 <> floatExpr(-Infinity) or 781 -1.0E37 <> floatExpr( -1.0E37) or 782 not -1.0E37 <> floatExpr( -1000.0) or 783 not -1.0E37 <> floatExpr( -0.0) or 784 not -1.0E37 <> floatExpr( 0.0) or 785 not -1.0E37 <> floatExpr( 1000.0) or 786 not -1.0E37 <> floatExpr( 1.0E37) or 787 not -1.0E37 <> floatExpr( Infinity) or 788 not -1000.0 <> floatExpr(-Infinity) or 789 not -1000.0 <> floatExpr( -1.0E37) or 790 -1000.0 <> floatExpr( -1000.0) or 791 not -1000.0 <> floatExpr( -0.0) or 792 not -1000.0 <> floatExpr( 0.0) or 793 not -1000.0 <> floatExpr( 1000.0) or 794 not -1000.0 <> floatExpr( 1.0E37) or 795 not -1000.0 <> floatExpr( Infinity) or 796 not -0.0 <> floatExpr(-Infinity) or 797 not -0.0 <> floatExpr( -1.0E37) or 798 not -0.0 <> floatExpr( -1000.0) or 799 -0.0 <> floatExpr( -0.0) or 800 -0.0 <> floatExpr( 0.0) or 801 not -0.0 <> floatExpr( 1000.0) or 802 not -0.0 <> floatExpr( 1.0E37) or 803 not -0.0 <> floatExpr( Infinity) or 804 not 0.0 <> floatExpr(-Infinity) or 805 not 0.0 <> floatExpr( -1.0E37) or 806 not 0.0 <> floatExpr( -1000.0) or 807 0.0 <> floatExpr( -0.0) or 808 0.0 <> floatExpr( 0.0) or 809 not 0.0 <> floatExpr( 1000.0) or 810 not 0.0 <> floatExpr( 1.0E37) or 811 not 0.0 <> floatExpr( Infinity) or 812 not 1000.0 <> floatExpr(-Infinity) or 813 not 1000.0 <> floatExpr( -1.0E37) or 814 not 1000.0 <> floatExpr( -1000.0) or 815 not 1000.0 <> floatExpr( -0.0) or 816 not 1000.0 <> floatExpr( 0.0) or 817 1000.0 <> floatExpr( 1000.0) or 818 not 1000.0 <> floatExpr( 1.0E37) or 819 not 1000.0 <> floatExpr( Infinity) or 820 not 1.0E37 <> floatExpr(-Infinity) or 821 not 1.0E37 <> floatExpr( -1.0E37) or 822 not 1.0E37 <> floatExpr( -1000.0) or 823 not 1.0E37 <> floatExpr( -0.0) or 824 not 1.0E37 <> floatExpr( 0.0) or 825 not 1.0E37 <> floatExpr( 1000.0) or 826 1.0E37 <> floatExpr( 1.0E37) or 827 not 1.0E37 <> floatExpr( Infinity) or 828 not Infinity <> floatExpr(-Infinity) or 829 not Infinity <> floatExpr( -1.0E37) or 830 not Infinity <> floatExpr( -1000.0) or 831 not Infinity <> floatExpr( -0.0) or 832 not Infinity <> floatExpr( 0.0) or 833 not Infinity <> floatExpr( 1000.0) or 834 not Infinity <> floatExpr( 1.0E37) or 835 Infinity <> floatExpr( Infinity) or 836 floatExpr(-Infinity) <> floatExpr(-Infinity) or 837 not floatExpr(-Infinity) <> floatExpr( -1.0E37) or 838 not floatExpr(-Infinity) <> floatExpr( -1000.0) or 839 not floatExpr(-Infinity) <> floatExpr( -0.0) or 840 not floatExpr(-Infinity) <> floatExpr( 0.0) or 841 not floatExpr(-Infinity) <> floatExpr( 1000.0) or 842 not floatExpr(-Infinity) <> floatExpr( 1.0E37) or 843 not floatExpr(-Infinity) <> floatExpr( Infinity) or 844 not floatExpr( -1.0E37) <> floatExpr(-Infinity) or 845 floatExpr( -1.0E37) <> floatExpr( -1.0E37) or 846 not floatExpr( -1.0E37) <> floatExpr( -1000.0) or 847 not floatExpr( -1.0E37) <> floatExpr( -0.0) or 848 not floatExpr( -1.0E37) <> floatExpr( 0.0) or 849 not floatExpr( -1.0E37) <> floatExpr( 1000.0) or 850 not floatExpr( -1.0E37) <> floatExpr( 1.0E37) or 851 not floatExpr( -1.0E37) <> floatExpr( Infinity) or 852 not floatExpr( -1000.0) <> floatExpr(-Infinity) or 853 not floatExpr( -1000.0) <> floatExpr( -1.0E37) or 854 floatExpr( -1000.0) <> floatExpr( -1000.0) or 855 not floatExpr( -1000.0) <> floatExpr( -0.0) or 856 not floatExpr( -1000.0) <> floatExpr( 0.0) or 857 not floatExpr( -1000.0) <> floatExpr( 1000.0) or 858 not floatExpr( -1000.0) <> floatExpr( 1.0E37) or 859 not floatExpr( -1000.0) <> floatExpr( Infinity) or 860 not floatExpr( -0.0) <> floatExpr(-Infinity) or 861 not floatExpr( -0.0) <> floatExpr( -1.0E37) or 862 not floatExpr( -0.0) <> floatExpr( -1000.0) or 863 floatExpr( -0.0) <> floatExpr( -0.0) or 864 floatExpr( -0.0) <> floatExpr( 0.0) or 865 not floatExpr( -0.0) <> floatExpr( 1000.0) or 866 not floatExpr( -0.0) <> floatExpr( 1.0E37) or 867 not floatExpr( -0.0) <> floatExpr( Infinity) or 868 not floatExpr( 0.0) <> floatExpr(-Infinity) or 869 not floatExpr( 0.0) <> floatExpr( -1.0E37) or 870 not floatExpr( 0.0) <> floatExpr( -1000.0) or 871 floatExpr( 0.0) <> floatExpr( -0.0) or 872 floatExpr( 0.0) <> floatExpr( 0.0) or 873 not floatExpr( 0.0) <> floatExpr( 1000.0) or 874 not floatExpr( 0.0) <> floatExpr( 1.0E37) or 875 not floatExpr( 0.0) <> floatExpr( Infinity) or 876 not floatExpr( 1000.0) <> floatExpr(-Infinity) or 877 not floatExpr( 1000.0) <> floatExpr( -1.0E37) or 878 not floatExpr( 1000.0) <> floatExpr( -1000.0) or 879 not floatExpr( 1000.0) <> floatExpr( -0.0) or 880 not floatExpr( 1000.0) <> floatExpr( 0.0) or 881 floatExpr( 1000.0) <> floatExpr( 1000.0) or 882 not floatExpr( 1000.0) <> floatExpr( 1.0E37) or 883 not floatExpr( 1000.0) <> floatExpr( Infinity) or 884 not floatExpr( 1.0E37) <> floatExpr(-Infinity) or 885 not floatExpr( 1.0E37) <> floatExpr( -1.0E37) or 886 not floatExpr( 1.0E37) <> floatExpr( -1000.0) or 887 not floatExpr( 1.0E37) <> floatExpr( -0.0) or 888 not floatExpr( 1.0E37) <> floatExpr( 0.0) or 889 not floatExpr( 1.0E37) <> floatExpr( 1000.0) or 890 floatExpr( 1.0E37) <> floatExpr( 1.0E37) or 891 not floatExpr( 1.0E37) <> floatExpr( Infinity) or 892 not floatExpr( Infinity) <> floatExpr(-Infinity) or 893 not floatExpr( Infinity) <> floatExpr( -1.0E37) or 894 not floatExpr( Infinity) <> floatExpr( -1000.0) or 895 not floatExpr( Infinity) <> floatExpr( -0.0) or 896 not floatExpr( Infinity) <> floatExpr( 0.0) or 897 not floatExpr( Infinity) <> floatExpr( 1000.0) or 898 not floatExpr( Infinity) <> floatExpr( 1.0E37) or 899 floatExpr( Infinity) <> floatExpr( Infinity) then 900 writeln(" ***** Not equal for float values does not work correct."); 901 okay := FALSE; 902 end if; 903 904 if -Infinity < -Infinity or 905 not -Infinity < -1.0E37 or 906 not -Infinity < -1000.0 or 907 not -Infinity < -0.0 or 908 not -Infinity < 0.0 or 909 not -Infinity < 1000.0 or 910 not -Infinity < 1.0E37 or 911 not -Infinity < Infinity or 912 -1.0E37 < -Infinity or 913 -1.0E37 < -1.0E37 or 914 not -1.0E37 < -1000.0 or 915 not -1.0E37 < -0.0 or 916 not -1.0E37 < 0.0 or 917 not -1.0E37 < 1000.0 or 918 not -1.0E37 < 1.0E37 or 919 not -1.0E37 < Infinity or 920 -1000.0 < -Infinity or 921 -1000.0 < -1.0E37 or 922 -1000.0 < -1000.0 or 923 not -1000.0 < -0.0 or 924 not -1000.0 < 0.0 or 925 not -1000.0 < 1000.0 or 926 not -1000.0 < 1.0E37 or 927 not -1000.0 < Infinity or 928 -0.0 < -Infinity or 929 -0.0 < -1.0E37 or 930 -0.0 < -1000.0 or 931 -0.0 < -0.0 or 932 -0.0 < 0.0 or 933 not -0.0 < 1000.0 or 934 not -0.0 < 1.0E37 or 935 not -0.0 < Infinity or 936 0.0 < -Infinity or 937 0.0 < -1.0E37 or 938 0.0 < -1000.0 or 939 0.0 < -0.0 or 940 0.0 < 0.0 or 941 not 0.0 < 1000.0 or 942 not 0.0 < 1.0E37 or 943 not 0.0 < Infinity or 944 1000.0 < -Infinity or 945 1000.0 < -1.0E37 or 946 1000.0 < -1000.0 or 947 1000.0 < -0.0 or 948 1000.0 < 0.0 or 949 1000.0 < 1000.0 or 950 not 1000.0 < 1.0E37 or 951 not 1000.0 < Infinity or 952 1.0E37 < -Infinity or 953 1.0E37 < -1.0E37 or 954 1.0E37 < -1000.0 or 955 1.0E37 < -0.0 or 956 1.0E37 < 0.0 or 957 1.0E37 < 1000.0 or 958 1.0E37 < 1.0E37 or 959 not 1.0E37 < Infinity or 960 Infinity < -Infinity or 961 Infinity < -1.0E37 or 962 Infinity < -1000.0 or 963 Infinity < -0.0 or 964 Infinity < 0.0 or 965 Infinity < 1000.0 or 966 Infinity < 1.0E37 or 967 Infinity < Infinity or 968 floatExpr(-Infinity) < -Infinity or 969 not floatExpr(-Infinity) < -1.0E37 or 970 not floatExpr(-Infinity) < -1000.0 or 971 not floatExpr(-Infinity) < -0.0 or 972 not floatExpr(-Infinity) < 0.0 or 973 not floatExpr(-Infinity) < 1000.0 or 974 not floatExpr(-Infinity) < 1.0E37 or 975 not floatExpr(-Infinity) < Infinity or 976 floatExpr( -1.0E37) < -Infinity or 977 floatExpr( -1.0E37) < -1.0E37 or 978 not floatExpr( -1.0E37) < -1000.0 or 979 not floatExpr( -1.0E37) < -0.0 or 980 not floatExpr( -1.0E37) < 0.0 or 981 not floatExpr( -1.0E37) < 1000.0 or 982 not floatExpr( -1.0E37) < 1.0E37 or 983 not floatExpr( -1.0E37) < Infinity or 984 floatExpr( -1000.0) < -Infinity or 985 floatExpr( -1000.0) < -1.0E37 or 986 floatExpr( -1000.0) < -1000.0 or 987 not floatExpr( -1000.0) < -0.0 or 988 not floatExpr( -1000.0) < 0.0 or 989 not floatExpr( -1000.0) < 1000.0 or 990 not floatExpr( -1000.0) < 1.0E37 or 991 not floatExpr( -1000.0) < Infinity or 992 floatExpr( -0.0) < -Infinity or 993 floatExpr( -0.0) < -1.0E37 or 994 floatExpr( -0.0) < -1000.0 or 995 floatExpr( -0.0) < -0.0 or 996 floatExpr( -0.0) < 0.0 or 997 not floatExpr( -0.0) < 1000.0 or 998 not floatExpr( -0.0) < 1.0E37 or 999 not floatExpr( -0.0) < Infinity or 1000 floatExpr( 0.0) < -Infinity or 1001 floatExpr( 0.0) < -1.0E37 or 1002 floatExpr( 0.0) < -1000.0 or 1003 floatExpr( 0.0) < -0.0 or 1004 floatExpr( 0.0) < 0.0 or 1005 not floatExpr( 0.0) < 1000.0 or 1006 not floatExpr( 0.0) < 1.0E37 or 1007 not floatExpr( 0.0) < Infinity or 1008 floatExpr( 1000.0) < -Infinity or 1009 floatExpr( 1000.0) < -1.0E37 or 1010 floatExpr( 1000.0) < -1000.0 or 1011 floatExpr( 1000.0) < -0.0 or 1012 floatExpr( 1000.0) < 0.0 or 1013 floatExpr( 1000.0) < 1000.0 or 1014 not floatExpr( 1000.0) < 1.0E37 or 1015 not floatExpr( 1000.0) < Infinity or 1016 floatExpr( 1.0E37) < -Infinity or 1017 floatExpr( 1.0E37) < -1.0E37 or 1018 floatExpr( 1.0E37) < -1000.0 or 1019 floatExpr( 1.0E37) < -0.0 or 1020 floatExpr( 1.0E37) < 0.0 or 1021 floatExpr( 1.0E37) < 1000.0 or 1022 floatExpr( 1.0E37) < 1.0E37 or 1023 not floatExpr( 1.0E37) < Infinity or 1024 floatExpr( Infinity) < -Infinity or 1025 floatExpr( Infinity) < -1.0E37 or 1026 floatExpr( Infinity) < -1000.0 or 1027 floatExpr( Infinity) < -0.0 or 1028 floatExpr( Infinity) < 0.0 or 1029 floatExpr( Infinity) < 1000.0 or 1030 floatExpr( Infinity) < 1.0E37 or 1031 floatExpr( Infinity) < Infinity or 1032 -Infinity < floatExpr(-Infinity) or 1033 not -Infinity < floatExpr( -1.0E37) or 1034 not -Infinity < floatExpr( -1000.0) or 1035 not -Infinity < floatExpr( -0.0) or 1036 not -Infinity < floatExpr( 0.0) or 1037 not -Infinity < floatExpr( 1000.0) or 1038 not -Infinity < floatExpr( 1.0E37) or 1039 not -Infinity < floatExpr( Infinity) or 1040 -1.0E37 < floatExpr(-Infinity) or 1041 -1.0E37 < floatExpr( -1.0E37) or 1042 not -1.0E37 < floatExpr( -1000.0) or 1043 not -1.0E37 < floatExpr( -0.0) or 1044 not -1.0E37 < floatExpr( 0.0) or 1045 not -1.0E37 < floatExpr( 1000.0) or 1046 not -1.0E37 < floatExpr( 1.0E37) or 1047 not -1.0E37 < floatExpr( Infinity) or 1048 -1000.0 < floatExpr(-Infinity) or 1049 -1000.0 < floatExpr( -1.0E37) or 1050 -1000.0 < floatExpr( -1000.0) or 1051 not -1000.0 < floatExpr( -0.0) or 1052 not -1000.0 < floatExpr( 0.0) or 1053 not -1000.0 < floatExpr( 1000.0) or 1054 not -1000.0 < floatExpr( 1.0E37) or 1055 not -1000.0 < floatExpr( Infinity) or 1056 -0.0 < floatExpr(-Infinity) or 1057 -0.0 < floatExpr( -1.0E37) or 1058 -0.0 < floatExpr( -1000.0) or 1059 -0.0 < floatExpr( -0.0) or 1060 -0.0 < floatExpr( 0.0) or 1061 not -0.0 < floatExpr( 1000.0) or 1062 not -0.0 < floatExpr( 1.0E37) or 1063 not -0.0 < floatExpr( Infinity) or 1064 0.0 < floatExpr(-Infinity) or 1065 0.0 < floatExpr( -1.0E37) or 1066 0.0 < floatExpr( -1000.0) or 1067 0.0 < floatExpr( -0.0) or 1068 0.0 < floatExpr( 0.0) or 1069 not 0.0 < floatExpr( 1000.0) or 1070 not 0.0 < floatExpr( 1.0E37) or 1071 not 0.0 < floatExpr( Infinity) or 1072 1000.0 < floatExpr(-Infinity) or 1073 1000.0 < floatExpr( -1.0E37) or 1074 1000.0 < floatExpr( -1000.0) or 1075 1000.0 < floatExpr( -0.0) or 1076 1000.0 < floatExpr( 0.0) or 1077 1000.0 < floatExpr( 1000.0) or 1078 not 1000.0 < floatExpr( 1.0E37) or 1079 not 1000.0 < floatExpr( Infinity) or 1080 1.0E37 < floatExpr(-Infinity) or 1081 1.0E37 < floatExpr( -1.0E37) or 1082 1.0E37 < floatExpr( -1000.0) or 1083 1.0E37 < floatExpr( -0.0) or 1084 1.0E37 < floatExpr( 0.0) or 1085 1.0E37 < floatExpr( 1000.0) or 1086 1.0E37 < floatExpr( 1.0E37) or 1087 not 1.0E37 < floatExpr( Infinity) or 1088 Infinity < floatExpr(-Infinity) or 1089 Infinity < floatExpr( -1.0E37) or 1090 Infinity < floatExpr( -1000.0) or 1091 Infinity < floatExpr( -0.0) or 1092 Infinity < floatExpr( 0.0) or 1093 Infinity < floatExpr( 1000.0) or 1094 Infinity < floatExpr( 1.0E37) or 1095 Infinity < floatExpr( Infinity) or 1096 floatExpr(-Infinity) < floatExpr(-Infinity) or 1097 not floatExpr(-Infinity) < floatExpr( -1.0E37) or 1098 not floatExpr(-Infinity) < floatExpr( -1000.0) or 1099 not floatExpr(-Infinity) < floatExpr( -0.0) or 1100 not floatExpr(-Infinity) < floatExpr( 0.0) or 1101 not floatExpr(-Infinity) < floatExpr( 1000.0) or 1102 not floatExpr(-Infinity) < floatExpr( 1.0E37) or 1103 not floatExpr(-Infinity) < floatExpr( Infinity) or 1104 floatExpr( -1.0E37) < floatExpr(-Infinity) or 1105 floatExpr( -1.0E37) < floatExpr( -1.0E37) or 1106 not floatExpr( -1.0E37) < floatExpr( -1000.0) or 1107 not floatExpr( -1.0E37) < floatExpr( -0.0) or 1108 not floatExpr( -1.0E37) < floatExpr( 0.0) or 1109 not floatExpr( -1.0E37) < floatExpr( 1000.0) or 1110 not floatExpr( -1.0E37) < floatExpr( 1.0E37) or 1111 not floatExpr( -1.0E37) < floatExpr( Infinity) or 1112 floatExpr( -1000.0) < floatExpr(-Infinity) or 1113 floatExpr( -1000.0) < floatExpr( -1.0E37) or 1114 floatExpr( -1000.0) < floatExpr( -1000.0) or 1115 not floatExpr( -1000.0) < floatExpr( -0.0) or 1116 not floatExpr( -1000.0) < floatExpr( 0.0) or 1117 not floatExpr( -1000.0) < floatExpr( 1000.0) or 1118 not floatExpr( -1000.0) < floatExpr( 1.0E37) or 1119 not floatExpr( -1000.0) < floatExpr( Infinity) or 1120 floatExpr( -0.0) < floatExpr(-Infinity) or 1121 floatExpr( -0.0) < floatExpr( -1.0E37) or 1122 floatExpr( -0.0) < floatExpr( -1000.0) or 1123 floatExpr( -0.0) < floatExpr( -0.0) or 1124 floatExpr( -0.0) < floatExpr( 0.0) or 1125 not floatExpr( -0.0) < floatExpr( 1000.0) or 1126 not floatExpr( -0.0) < floatExpr( 1.0E37) or 1127 not floatExpr( -0.0) < floatExpr( Infinity) or 1128 floatExpr( 0.0) < floatExpr(-Infinity) or 1129 floatExpr( 0.0) < floatExpr( -1.0E37) or 1130 floatExpr( 0.0) < floatExpr( -1000.0) or 1131 floatExpr( 0.0) < floatExpr( -0.0) or 1132 floatExpr( 0.0) < floatExpr( 0.0) or 1133 not floatExpr( 0.0) < floatExpr( 1000.0) or 1134 not floatExpr( 0.0) < floatExpr( 1.0E37) or 1135 not floatExpr( 0.0) < floatExpr( Infinity) or 1136 floatExpr( 1000.0) < floatExpr(-Infinity) or 1137 floatExpr( 1000.0) < floatExpr( -1.0E37) or 1138 floatExpr( 1000.0) < floatExpr( -1000.0) or 1139 floatExpr( 1000.0) < floatExpr( -0.0) or 1140 floatExpr( 1000.0) < floatExpr( 0.0) or 1141 floatExpr( 1000.0) < floatExpr( 1000.0) or 1142 not floatExpr( 1000.0) < floatExpr( 1.0E37) or 1143 not floatExpr( 1000.0) < floatExpr( Infinity) or 1144 floatExpr( 1.0E37) < floatExpr(-Infinity) or 1145 floatExpr( 1.0E37) < floatExpr( -1.0E37) or 1146 floatExpr( 1.0E37) < floatExpr( -1000.0) or 1147 floatExpr( 1.0E37) < floatExpr( -0.0) or 1148 floatExpr( 1.0E37) < floatExpr( 0.0) or 1149 floatExpr( 1.0E37) < floatExpr( 1000.0) or 1150 floatExpr( 1.0E37) < floatExpr( 1.0E37) or 1151 not floatExpr( 1.0E37) < floatExpr( Infinity) or 1152 floatExpr( Infinity) < floatExpr(-Infinity) or 1153 floatExpr( Infinity) < floatExpr( -1.0E37) or 1154 floatExpr( Infinity) < floatExpr( -1000.0) or 1155 floatExpr( Infinity) < floatExpr( -0.0) or 1156 floatExpr( Infinity) < floatExpr( 0.0) or 1157 floatExpr( Infinity) < floatExpr( 1000.0) or 1158 floatExpr( Infinity) < floatExpr( 1.0E37) or 1159 floatExpr( Infinity) < floatExpr( Infinity) then 1160 writeln(" ***** Less than for float values does not work correct."); 1161 okay := FALSE; 1162 end if; 1163 1164 if -Infinity > -Infinity or 1165 -Infinity > -1.0E37 or 1166 -Infinity > -1000.0 or 1167 -Infinity > -0.0 or 1168 -Infinity > 0.0 or 1169 -Infinity > 1000.0 or 1170 -Infinity > 1.0E37 or 1171 -Infinity > Infinity or 1172 not -1.0E37 > -Infinity or 1173 -1.0E37 > -1.0E37 or 1174 -1.0E37 > -1000.0 or 1175 -1.0E37 > -0.0 or 1176 -1.0E37 > 0.0 or 1177 -1.0E37 > 1000.0 or 1178 -1.0E37 > 1.0E37 or 1179 -1.0E37 > Infinity or 1180 not -1000.0 > -Infinity or 1181 not -1000.0 > -1.0E37 or 1182 -1000.0 > -1000.0 or 1183 -1000.0 > -0.0 or 1184 -1000.0 > 0.0 or 1185 -1000.0 > 1000.0 or 1186 -1000.0 > 1.0E37 or 1187 -1000.0 > Infinity or 1188 not -0.0 > -Infinity or 1189 not -0.0 > -1.0E37 or 1190 not -0.0 > -1000.0 or 1191 -0.0 > -0.0 or 1192 -0.0 > 0.0 or 1193 -0.0 > 1000.0 or 1194 -0.0 > 1.0E37 or 1195 -0.0 > Infinity or 1196 not 0.0 > -Infinity or 1197 not 0.0 > -1.0E37 or 1198 not 0.0 > -1000.0 or 1199 0.0 > -0.0 or 1200 0.0 > 0.0 or 1201 0.0 > 1000.0 or 1202 0.0 > 1.0E37 or 1203 0.0 > Infinity or 1204 not 1000.0 > -Infinity or 1205 not 1000.0 > -1.0E37 or 1206 not 1000.0 > -1000.0 or 1207 not 1000.0 > -0.0 or 1208 not 1000.0 > 0.0 or 1209 1000.0 > 1000.0 or 1210 1000.0 > 1.0E37 or 1211 1000.0 > Infinity or 1212 not 1.0E37 > -Infinity or 1213 not 1.0E37 > -1.0E37 or 1214 not 1.0E37 > -1000.0 or 1215 not 1.0E37 > -0.0 or 1216 not 1.0E37 > 0.0 or 1217 not 1.0E37 > 1000.0 or 1218 1.0E37 > 1.0E37 or 1219 1.0E37 > Infinity or 1220 not Infinity > -Infinity or 1221 not Infinity > -1.0E37 or 1222 not Infinity > -1000.0 or 1223 not Infinity > -0.0 or 1224 not Infinity > 0.0 or 1225 not Infinity > 1000.0 or 1226 not Infinity > 1.0E37 or 1227 Infinity > Infinity or 1228 floatExpr(-Infinity) > -Infinity or 1229 floatExpr(-Infinity) > -1.0E37 or 1230 floatExpr(-Infinity) > -1000.0 or 1231 floatExpr(-Infinity) > -0.0 or 1232 floatExpr(-Infinity) > 0.0 or 1233 floatExpr(-Infinity) > 1000.0 or 1234 floatExpr(-Infinity) > 1.0E37 or 1235 floatExpr(-Infinity) > Infinity or 1236 not floatExpr( -1.0E37) > -Infinity or 1237 floatExpr( -1.0E37) > -1.0E37 or 1238 floatExpr( -1.0E37) > -1000.0 or 1239 floatExpr( -1.0E37) > -0.0 or 1240 floatExpr( -1.0E37) > 0.0 or 1241 floatExpr( -1.0E37) > 1000.0 or 1242 floatExpr( -1.0E37) > 1.0E37 or 1243 floatExpr( -1.0E37) > Infinity or 1244 not floatExpr( -1000.0) > -Infinity or 1245 not floatExpr( -1000.0) > -1.0E37 or 1246 floatExpr( -1000.0) > -1000.0 or 1247 floatExpr( -1000.0) > -0.0 or 1248 floatExpr( -1000.0) > 0.0 or 1249 floatExpr( -1000.0) > 1000.0 or 1250 floatExpr( -1000.0) > 1.0E37 or 1251 floatExpr( -1000.0) > Infinity or 1252 not floatExpr( -0.0) > -Infinity or 1253 not floatExpr( -0.0) > -1.0E37 or 1254 not floatExpr( -0.0) > -1000.0 or 1255 floatExpr( -0.0) > -0.0 or 1256 floatExpr( -0.0) > 0.0 or 1257 floatExpr( -0.0) > 1000.0 or 1258 floatExpr( -0.0) > 1.0E37 or 1259 floatExpr( -0.0) > Infinity or 1260 not floatExpr( 0.0) > -Infinity or 1261 not floatExpr( 0.0) > -1.0E37 or 1262 not floatExpr( 0.0) > -1000.0 or 1263 floatExpr( 0.0) > -0.0 or 1264 floatExpr( 0.0) > 0.0 or 1265 floatExpr( 0.0) > 1000.0 or 1266 floatExpr( 0.0) > 1.0E37 or 1267 floatExpr( 0.0) > Infinity or 1268 not floatExpr( 1000.0) > -Infinity or 1269 not floatExpr( 1000.0) > -1.0E37 or 1270 not floatExpr( 1000.0) > -1000.0 or 1271 not floatExpr( 1000.0) > -0.0 or 1272 not floatExpr( 1000.0) > 0.0 or 1273 floatExpr( 1000.0) > 1000.0 or 1274 floatExpr( 1000.0) > 1.0E37 or 1275 floatExpr( 1000.0) > Infinity or 1276 not floatExpr( 1.0E37) > -Infinity or 1277 not floatExpr( 1.0E37) > -1.0E37 or 1278 not floatExpr( 1.0E37) > -1000.0 or 1279 not floatExpr( 1.0E37) > -0.0 or 1280 not floatExpr( 1.0E37) > 0.0 or 1281 not floatExpr( 1.0E37) > 1000.0 or 1282 floatExpr( 1.0E37) > 1.0E37 or 1283 floatExpr( 1.0E37) > Infinity or 1284 not floatExpr( Infinity) > -Infinity or 1285 not floatExpr( Infinity) > -1.0E37 or 1286 not floatExpr( Infinity) > -1000.0 or 1287 not floatExpr( Infinity) > -0.0 or 1288 not floatExpr( Infinity) > 0.0 or 1289 not floatExpr( Infinity) > 1000.0 or 1290 not floatExpr( Infinity) > 1.0E37 or 1291 floatExpr( Infinity) > Infinity or 1292 -Infinity > floatExpr(-Infinity) or 1293 -Infinity > floatExpr( -1.0E37) or 1294 -Infinity > floatExpr( -1000.0) or 1295 -Infinity > floatExpr( -0.0) or 1296 -Infinity > floatExpr( 0.0) or 1297 -Infinity > floatExpr( 1000.0) or 1298 -Infinity > floatExpr( 1.0E37) or 1299 -Infinity > floatExpr( Infinity) or 1300 not -1.0E37 > floatExpr(-Infinity) or 1301 -1.0E37 > floatExpr( -1.0E37) or 1302 -1.0E37 > floatExpr( -1000.0) or 1303 -1.0E37 > floatExpr( -0.0) or 1304 -1.0E37 > floatExpr( 0.0) or 1305 -1.0E37 > floatExpr( 1000.0) or 1306 -1.0E37 > floatExpr( 1.0E37) or 1307 -1.0E37 > floatExpr( Infinity) or 1308 not -1000.0 > floatExpr(-Infinity) or 1309 not -1000.0 > floatExpr( -1.0E37) or 1310 -1000.0 > floatExpr( -1000.0) or 1311 -1000.0 > floatExpr( -0.0) or 1312 -1000.0 > floatExpr( 0.0) or 1313 -1000.0 > floatExpr( 1000.0) or 1314 -1000.0 > floatExpr( 1.0E37) or 1315 -1000.0 > floatExpr( Infinity) or 1316 not -0.0 > floatExpr(-Infinity) or 1317 not -0.0 > floatExpr( -1.0E37) or 1318 not -0.0 > floatExpr( -1000.0) or 1319 -0.0 > floatExpr( -0.0) or 1320 -0.0 > floatExpr( 0.0) or 1321 -0.0 > floatExpr( 1000.0) or 1322 -0.0 > floatExpr( 1.0E37) or 1323 -0.0 > floatExpr( Infinity) or 1324 not 0.0 > floatExpr(-Infinity) or 1325 not 0.0 > floatExpr( -1.0E37) or 1326 not 0.0 > floatExpr( -1000.0) or 1327 0.0 > floatExpr( -0.0) or 1328 0.0 > floatExpr( 0.0) or 1329 0.0 > floatExpr( 1000.0) or 1330 0.0 > floatExpr( 1.0E37) or 1331 0.0 > floatExpr( Infinity) or 1332 not 1000.0 > floatExpr(-Infinity) or 1333 not 1000.0 > floatExpr( -1.0E37) or 1334 not 1000.0 > floatExpr( -1000.0) or 1335 not 1000.0 > floatExpr( -0.0) or 1336 not 1000.0 > floatExpr( 0.0) or 1337 1000.0 > floatExpr( 1000.0) or 1338 1000.0 > floatExpr( 1.0E37) or 1339 1000.0 > floatExpr( Infinity) or 1340 not 1.0E37 > floatExpr(-Infinity) or 1341 not 1.0E37 > floatExpr( -1.0E37) or 1342 not 1.0E37 > floatExpr( -1000.0) or 1343 not 1.0E37 > floatExpr( -0.0) or 1344 not 1.0E37 > floatExpr( 0.0) or 1345 not 1.0E37 > floatExpr( 1000.0) or 1346 1.0E37 > floatExpr( 1.0E37) or 1347 1.0E37 > floatExpr( Infinity) or 1348 not Infinity > floatExpr(-Infinity) or 1349 not Infinity > floatExpr( -1.0E37) or 1350 not Infinity > floatExpr( -1000.0) or 1351 not Infinity > floatExpr( -0.0) or 1352 not Infinity > floatExpr( 0.0) or 1353 not Infinity > floatExpr( 1000.0) or 1354 not Infinity > floatExpr( 1.0E37) or 1355 Infinity > floatExpr( Infinity) or 1356 floatExpr(-Infinity) > floatExpr(-Infinity) or 1357 floatExpr(-Infinity) > floatExpr( -1.0E37) or 1358 floatExpr(-Infinity) > floatExpr( -1000.0) or 1359 floatExpr(-Infinity) > floatExpr( -0.0) or 1360 floatExpr(-Infinity) > floatExpr( 0.0) or 1361 floatExpr(-Infinity) > floatExpr( 1000.0) or 1362 floatExpr(-Infinity) > floatExpr( 1.0E37) or 1363 floatExpr(-Infinity) > floatExpr( Infinity) or 1364 not floatExpr( -1.0E37) > floatExpr(-Infinity) or 1365 floatExpr( -1.0E37) > floatExpr( -1.0E37) or 1366 floatExpr( -1.0E37) > floatExpr( -1000.0) or 1367 floatExpr( -1.0E37) > floatExpr( -0.0) or 1368 floatExpr( -1.0E37) > floatExpr( 0.0) or 1369 floatExpr( -1.0E37) > floatExpr( 1000.0) or 1370 floatExpr( -1.0E37) > floatExpr( 1.0E37) or 1371 floatExpr( -1.0E37) > floatExpr( Infinity) or 1372 not floatExpr( -1000.0) > floatExpr(-Infinity) or 1373 not floatExpr( -1000.0) > floatExpr( -1.0E37) or 1374 floatExpr( -1000.0) > floatExpr( -1000.0) or 1375 floatExpr( -1000.0) > floatExpr( -0.0) or 1376 floatExpr( -1000.0) > floatExpr( 0.0) or 1377 floatExpr( -1000.0) > floatExpr( 1000.0) or 1378 floatExpr( -1000.0) > floatExpr( 1.0E37) or 1379 floatExpr( -1000.0) > floatExpr( Infinity) or 1380 not floatExpr( -0.0) > floatExpr(-Infinity) or 1381 not floatExpr( -0.0) > floatExpr( -1.0E37) or 1382 not floatExpr( -0.0) > floatExpr( -1000.0) or 1383 floatExpr( -0.0) > floatExpr( -0.0) or 1384 floatExpr( -0.0) > floatExpr( 0.0) or 1385 floatExpr( -0.0) > floatExpr( 1000.0) or 1386 floatExpr( -0.0) > floatExpr( 1.0E37) or 1387 floatExpr( -0.0) > floatExpr( Infinity) or 1388 not floatExpr( 0.0) > floatExpr(-Infinity) or 1389 not floatExpr( 0.0) > floatExpr( -1.0E37) or 1390 not floatExpr( 0.0) > floatExpr( -1000.0) or 1391 floatExpr( 0.0) > floatExpr( -0.0) or 1392 floatExpr( 0.0) > floatExpr( 0.0) or 1393 floatExpr( 0.0) > floatExpr( 1000.0) or 1394 floatExpr( 0.0) > floatExpr( 1.0E37) or 1395 floatExpr( 0.0) > floatExpr( Infinity) or 1396 not floatExpr( 1000.0) > floatExpr(-Infinity) or 1397 not floatExpr( 1000.0) > floatExpr( -1.0E37) or 1398 not floatExpr( 1000.0) > floatExpr( -1000.0) or 1399 not floatExpr( 1000.0) > floatExpr( -0.0) or 1400 not floatExpr( 1000.0) > floatExpr( 0.0) or 1401 floatExpr( 1000.0) > floatExpr( 1000.0) or 1402 floatExpr( 1000.0) > floatExpr( 1.0E37) or 1403 floatExpr( 1000.0) > floatExpr( Infinity) or 1404 not floatExpr( 1.0E37) > floatExpr(-Infinity) or 1405 not floatExpr( 1.0E37) > floatExpr( -1.0E37) or 1406 not floatExpr( 1.0E37) > floatExpr( -1000.0) or 1407 not floatExpr( 1.0E37) > floatExpr( -0.0) or 1408 not floatExpr( 1.0E37) > floatExpr( 0.0) or 1409 not floatExpr( 1.0E37) > floatExpr( 1000.0) or 1410 floatExpr( 1.0E37) > floatExpr( 1.0E37) or 1411 floatExpr( 1.0E37) > floatExpr( Infinity) or 1412 not floatExpr( Infinity) > floatExpr(-Infinity) or 1413 not floatExpr( Infinity) > floatExpr( -1.0E37) or 1414 not floatExpr( Infinity) > floatExpr( -1000.0) or 1415 not floatExpr( Infinity) > floatExpr( -0.0) or 1416 not floatExpr( Infinity) > floatExpr( 0.0) or 1417 not floatExpr( Infinity) > floatExpr( 1000.0) or 1418 not floatExpr( Infinity) > floatExpr( 1.0E37) or 1419 floatExpr( Infinity) > floatExpr( Infinity) then 1420 writeln(" ***** Greater than for float values does not work correct."); 1421 okay := FALSE; 1422 end if; 1423 1424 if not -Infinity <= -Infinity or 1425 not -Infinity <= -1.0E37 or 1426 not -Infinity <= -1000.0 or 1427 not -Infinity <= -0.0 or 1428 not -Infinity <= 0.0 or 1429 not -Infinity <= 1000.0 or 1430 not -Infinity <= 1.0E37 or 1431 not -Infinity <= Infinity or 1432 -1.0E37 <= -Infinity or 1433 not -1.0E37 <= -1.0E37 or 1434 not -1.0E37 <= -1000.0 or 1435 not -1.0E37 <= -0.0 or 1436 not -1.0E37 <= 0.0 or 1437 not -1.0E37 <= 1000.0 or 1438 not -1.0E37 <= 1.0E37 or 1439 not -1.0E37 <= Infinity or 1440 -1000.0 <= -Infinity or 1441 -1000.0 <= -1.0E37 or 1442 not -1000.0 <= -1000.0 or 1443 not -1000.0 <= -0.0 or 1444 not -1000.0 <= 0.0 or 1445 not -1000.0 <= 1000.0 or 1446 not -1000.0 <= 1.0E37 or 1447 not -1000.0 <= Infinity or 1448 -0.0 <= -Infinity or 1449 -0.0 <= -1.0E37 or 1450 -0.0 <= -1000.0 or 1451 not -0.0 <= -0.0 or 1452 not -0.0 <= 0.0 or 1453 not -0.0 <= 1000.0 or 1454 not -0.0 <= 1.0E37 or 1455 not -0.0 <= Infinity or 1456 0.0 <= -Infinity or 1457 0.0 <= -1.0E37 or 1458 0.0 <= -1000.0 or 1459 not 0.0 <= -0.0 or 1460 not 0.0 <= 0.0 or 1461 not 0.0 <= 1000.0 or 1462 not 0.0 <= 1.0E37 or 1463 not 0.0 <= Infinity or 1464 1000.0 <= -Infinity or 1465 1000.0 <= -1.0E37 or 1466 1000.0 <= -1000.0 or 1467 1000.0 <= -0.0 or 1468 1000.0 <= 0.0 or 1469 not 1000.0 <= 1000.0 or 1470 not 1000.0 <= 1.0E37 or 1471 not 1000.0 <= Infinity or 1472 1.0E37 <= -Infinity or 1473 1.0E37 <= -1.0E37 or 1474 1.0E37 <= -1000.0 or 1475 1.0E37 <= -0.0 or 1476 1.0E37 <= 0.0 or 1477 1.0E37 <= 1000.0 or 1478 not 1.0E37 <= 1.0E37 or 1479 not 1.0E37 <= Infinity or 1480 Infinity <= -Infinity or 1481 Infinity <= -1.0E37 or 1482 Infinity <= -1000.0 or 1483 Infinity <= -0.0 or 1484 Infinity <= 0.0 or 1485 Infinity <= 1000.0 or 1486 Infinity <= 1.0E37 or 1487 not Infinity <= Infinity or 1488 not floatExpr(-Infinity) <= -Infinity or 1489 not floatExpr(-Infinity) <= -1.0E37 or 1490 not floatExpr(-Infinity) <= -1000.0 or 1491 not floatExpr(-Infinity) <= -0.0 or 1492 not floatExpr(-Infinity) <= 0.0 or 1493 not floatExpr(-Infinity) <= 1000.0 or 1494 not floatExpr(-Infinity) <= 1.0E37 or 1495 not floatExpr(-Infinity) <= Infinity or 1496 floatExpr( -1.0E37) <= -Infinity or 1497 not floatExpr( -1.0E37) <= -1.0E37 or 1498 not floatExpr( -1.0E37) <= -1000.0 or 1499 not floatExpr( -1.0E37) <= -0.0 or 1500 not floatExpr( -1.0E37) <= 0.0 or 1501 not floatExpr( -1.0E37) <= 1000.0 or 1502 not floatExpr( -1.0E37) <= 1.0E37 or 1503 not floatExpr( -1.0E37) <= Infinity or 1504 floatExpr( -1000.0) <= -Infinity or 1505 floatExpr( -1000.0) <= -1.0E37 or 1506 not floatExpr( -1000.0) <= -1000.0 or 1507 not floatExpr( -1000.0) <= -0.0 or 1508 not floatExpr( -1000.0) <= 0.0 or 1509 not floatExpr( -1000.0) <= 1000.0 or 1510 not floatExpr( -1000.0) <= 1.0E37 or 1511 not floatExpr( -1000.0) <= Infinity or 1512 floatExpr( -0.0) <= -Infinity or 1513 floatExpr( -0.0) <= -1.0E37 or 1514 floatExpr( -0.0) <= -1000.0 or 1515 not floatExpr( -0.0) <= -0.0 or 1516 not floatExpr( -0.0) <= 0.0 or 1517 not floatExpr( -0.0) <= 1000.0 or 1518 not floatExpr( -0.0) <= 1.0E37 or 1519 not floatExpr( -0.0) <= Infinity or 1520 floatExpr( 0.0) <= -Infinity or 1521 floatExpr( 0.0) <= -1.0E37 or 1522 floatExpr( 0.0) <= -1000.0 or 1523 not floatExpr( 0.0) <= -0.0 or 1524 not floatExpr( 0.0) <= 0.0 or 1525 not floatExpr( 0.0) <= 1000.0 or 1526 not floatExpr( 0.0) <= 1.0E37 or 1527 not floatExpr( 0.0) <= Infinity or 1528 floatExpr( 1000.0) <= -Infinity or 1529 floatExpr( 1000.0) <= -1.0E37 or 1530 floatExpr( 1000.0) <= -1000.0 or 1531 floatExpr( 1000.0) <= -0.0 or 1532 floatExpr( 1000.0) <= 0.0 or 1533 not floatExpr( 1000.0) <= 1000.0 or 1534 not floatExpr( 1000.0) <= 1.0E37 or 1535 not floatExpr( 1000.0) <= Infinity or 1536 floatExpr( 1.0E37) <= -Infinity or 1537 floatExpr( 1.0E37) <= -1.0E37 or 1538 floatExpr( 1.0E37) <= -1000.0 or 1539 floatExpr( 1.0E37) <= -0.0 or 1540 floatExpr( 1.0E37) <= 0.0 or 1541 floatExpr( 1.0E37) <= 1000.0 or 1542 not floatExpr( 1.0E37) <= 1.0E37 or 1543 not floatExpr( 1.0E37) <= Infinity or 1544 floatExpr( Infinity) <= -Infinity or 1545 floatExpr( Infinity) <= -1.0E37 or 1546 floatExpr( Infinity) <= -1000.0 or 1547 floatExpr( Infinity) <= -0.0 or 1548 floatExpr( Infinity) <= 0.0 or 1549 floatExpr( Infinity) <= 1000.0 or 1550 floatExpr( Infinity) <= 1.0E37 or 1551 not floatExpr( Infinity) <= Infinity or 1552 not -Infinity <= floatExpr(-Infinity) or 1553 not -Infinity <= floatExpr( -1.0E37) or 1554 not -Infinity <= floatExpr( -1000.0) or 1555 not -Infinity <= floatExpr( -0.0) or 1556 not -Infinity <= floatExpr( 0.0) or 1557 not -Infinity <= floatExpr( 1000.0) or 1558 not -Infinity <= floatExpr( 1.0E37) or 1559 not -Infinity <= floatExpr( Infinity) or 1560 -1.0E37 <= floatExpr(-Infinity) or 1561 not -1.0E37 <= floatExpr( -1.0E37) or 1562 not -1.0E37 <= floatExpr( -1000.0) or 1563 not -1.0E37 <= floatExpr( -0.0) or 1564 not -1.0E37 <= floatExpr( 0.0) or 1565 not -1.0E37 <= floatExpr( 1000.0) or 1566 not -1.0E37 <= floatExpr( 1.0E37) or 1567 not -1.0E37 <= floatExpr( Infinity) or 1568 -1000.0 <= floatExpr(-Infinity) or 1569 -1000.0 <= floatExpr( -1.0E37) or 1570 not -1000.0 <= floatExpr( -1000.0) or 1571 not -1000.0 <= floatExpr( -0.0) or 1572 not -1000.0 <= floatExpr( 0.0) or 1573 not -1000.0 <= floatExpr( 1000.0) or 1574 not -1000.0 <= floatExpr( 1.0E37) or 1575 not -1000.0 <= floatExpr( Infinity) or 1576 -0.0 <= floatExpr(-Infinity) or 1577 -0.0 <= floatExpr( -1.0E37) or 1578 -0.0 <= floatExpr( -1000.0) or 1579 not -0.0 <= floatExpr( -0.0) or 1580 not -0.0 <= floatExpr( 0.0) or 1581 not -0.0 <= floatExpr( 1000.0) or 1582 not -0.0 <= floatExpr( 1.0E37) or 1583 not -0.0 <= floatExpr( Infinity) or 1584 0.0 <= floatExpr(-Infinity) or 1585 0.0 <= floatExpr( -1.0E37) or 1586 0.0 <= floatExpr( -1000.0) or 1587 not 0.0 <= floatExpr( -0.0) or 1588 not 0.0 <= floatExpr( 0.0) or 1589 not 0.0 <= floatExpr( 1000.0) or 1590 not 0.0 <= floatExpr( 1.0E37) or 1591 not 0.0 <= floatExpr( Infinity) or 1592 1000.0 <= floatExpr(-Infinity) or 1593 1000.0 <= floatExpr( -1.0E37) or 1594 1000.0 <= floatExpr( -1000.0) or 1595 1000.0 <= floatExpr( -0.0) or 1596 1000.0 <= floatExpr( 0.0) or 1597 not 1000.0 <= floatExpr( 1000.0) or 1598 not 1000.0 <= floatExpr( 1.0E37) or 1599 not 1000.0 <= floatExpr( Infinity) or 1600 1.0E37 <= floatExpr(-Infinity) or 1601 1.0E37 <= floatExpr( -1.0E37) or 1602 1.0E37 <= floatExpr( -1000.0) or 1603 1.0E37 <= floatExpr( -0.0) or 1604 1.0E37 <= floatExpr( 0.0) or 1605 1.0E37 <= floatExpr( 1000.0) or 1606 not 1.0E37 <= floatExpr( 1.0E37) or 1607 not 1.0E37 <= floatExpr( Infinity) or 1608 Infinity <= floatExpr(-Infinity) or 1609 Infinity <= floatExpr( -1.0E37) or 1610 Infinity <= floatExpr( -1000.0) or 1611 Infinity <= floatExpr( -0.0) or 1612 Infinity <= floatExpr( 0.0) or 1613 Infinity <= floatExpr( 1000.0) or 1614 Infinity <= floatExpr( 1.0E37) or 1615 not Infinity <= floatExpr( Infinity) or 1616 not floatExpr(-Infinity) <= floatExpr(-Infinity) or 1617 not floatExpr(-Infinity) <= floatExpr( -1.0E37) or 1618 not floatExpr(-Infinity) <= floatExpr( -1000.0) or 1619 not floatExpr(-Infinity) <= floatExpr( -0.0) or 1620 not floatExpr(-Infinity) <= floatExpr( 0.0) or 1621 not floatExpr(-Infinity) <= floatExpr( 1000.0) or 1622 not floatExpr(-Infinity) <= floatExpr( 1.0E37) or 1623 not floatExpr(-Infinity) <= floatExpr( Infinity) or 1624 floatExpr( -1.0E37) <= floatExpr(-Infinity) or 1625 not floatExpr( -1.0E37) <= floatExpr( -1.0E37) or 1626 not floatExpr( -1.0E37) <= floatExpr( -1000.0) or 1627 not floatExpr( -1.0E37) <= floatExpr( -0.0) or 1628 not floatExpr( -1.0E37) <= floatExpr( 0.0) or 1629 not floatExpr( -1.0E37) <= floatExpr( 1000.0) or 1630 not floatExpr( -1.0E37) <= floatExpr( 1.0E37) or 1631 not floatExpr( -1.0E37) <= floatExpr( Infinity) or 1632 floatExpr( -1000.0) <= floatExpr(-Infinity) or 1633 floatExpr( -1000.0) <= floatExpr( -1.0E37) or 1634 not floatExpr( -1000.0) <= floatExpr( -1000.0) or 1635 not floatExpr( -1000.0) <= floatExpr( -0.0) or 1636 not floatExpr( -1000.0) <= floatExpr( 0.0) or 1637 not floatExpr( -1000.0) <= floatExpr( 1000.0) or 1638 not floatExpr( -1000.0) <= floatExpr( 1.0E37) or 1639 not floatExpr( -1000.0) <= floatExpr( Infinity) or 1640 floatExpr( -0.0) <= floatExpr(-Infinity) or 1641 floatExpr( -0.0) <= floatExpr( -1.0E37) or 1642 floatExpr( -0.0) <= floatExpr( -1000.0) or 1643 not floatExpr( -0.0) <= floatExpr( -0.0) or 1644 not floatExpr( -0.0) <= floatExpr( 0.0) or 1645 not floatExpr( -0.0) <= floatExpr( 1000.0) or 1646 not floatExpr( -0.0) <= floatExpr( 1.0E37) or 1647 not floatExpr( -0.0) <= floatExpr( Infinity) or 1648 floatExpr( 0.0) <= floatExpr(-Infinity) or 1649 floatExpr( 0.0) <= floatExpr( -1.0E37) or 1650 floatExpr( 0.0) <= floatExpr( -1000.0) or 1651 not floatExpr( 0.0) <= floatExpr( -0.0) or 1652 not floatExpr( 0.0) <= floatExpr( 0.0) or 1653 not floatExpr( 0.0) <= floatExpr( 1000.0) or 1654 not floatExpr( 0.0) <= floatExpr( 1.0E37) or 1655 not floatExpr( 0.0) <= floatExpr( Infinity) or 1656 floatExpr( 1000.0) <= floatExpr(-Infinity) or 1657 floatExpr( 1000.0) <= floatExpr( -1.0E37) or 1658 floatExpr( 1000.0) <= floatExpr( -1000.0) or 1659 floatExpr( 1000.0) <= floatExpr( -0.0) or 1660 floatExpr( 1000.0) <= floatExpr( 0.0) or 1661 not floatExpr( 1000.0) <= floatExpr( 1000.0) or 1662 not floatExpr( 1000.0) <= floatExpr( 1.0E37) or 1663 not floatExpr( 1000.0) <= floatExpr( Infinity) or 1664 floatExpr( 1.0E37) <= floatExpr(-Infinity) or 1665 floatExpr( 1.0E37) <= floatExpr( -1.0E37) or 1666 floatExpr( 1.0E37) <= floatExpr( -1000.0) or 1667 floatExpr( 1.0E37) <= floatExpr( -0.0) or 1668 floatExpr( 1.0E37) <= floatExpr( 0.0) or 1669 floatExpr( 1.0E37) <= floatExpr( 1000.0) or 1670 not floatExpr( 1.0E37) <= floatExpr( 1.0E37) or 1671 not floatExpr( 1.0E37) <= floatExpr( Infinity) or 1672 floatExpr( Infinity) <= floatExpr(-Infinity) or 1673 floatExpr( Infinity) <= floatExpr( -1.0E37) or 1674 floatExpr( Infinity) <= floatExpr( -1000.0) or 1675 floatExpr( Infinity) <= floatExpr( -0.0) or 1676 floatExpr( Infinity) <= floatExpr( 0.0) or 1677 floatExpr( Infinity) <= floatExpr( 1000.0) or 1678 floatExpr( Infinity) <= floatExpr( 1.0E37) or 1679 not floatExpr( Infinity) <= floatExpr( Infinity) then 1680 writeln(" ***** Less equal for float values does not work correct."); 1681 okay := FALSE; 1682 end if; 1683 1684 if not -Infinity >= -Infinity or 1685 -Infinity >= -1.0E37 or 1686 -Infinity >= -1000.0 or 1687 -Infinity >= -0.0 or 1688 -Infinity >= 0.0 or 1689 -Infinity >= 1000.0 or 1690 -Infinity >= 1.0E37 or 1691 -Infinity >= Infinity or 1692 not -1.0E37 >= -Infinity or 1693 not -1.0E37 >= -1.0E37 or 1694 -1.0E37 >= -1000.0 or 1695 -1.0E37 >= -0.0 or 1696 -1.0E37 >= 0.0 or 1697 -1.0E37 >= 1000.0 or 1698 -1.0E37 >= 1.0E37 or 1699 -1.0E37 >= Infinity or 1700 not -1000.0 >= -Infinity or 1701 not -1000.0 >= -1.0E37 or 1702 not -1000.0 >= -1000.0 or 1703 -1000.0 >= -0.0 or 1704 -1000.0 >= 0.0 or 1705 -1000.0 >= 1000.0 or 1706 -1000.0 >= 1.0E37 or 1707 -1000.0 >= Infinity or 1708 not -0.0 >= -Infinity or 1709 not -0.0 >= -1.0E37 or 1710 not -0.0 >= -1000.0 or 1711 not -0.0 >= -0.0 or 1712 not -0.0 >= 0.0 or 1713 -0.0 >= 1000.0 or 1714 -0.0 >= 1.0E37 or 1715 -0.0 >= Infinity or 1716 not 0.0 >= -Infinity or 1717 not 0.0 >= -1.0E37 or 1718 not 0.0 >= -1000.0 or 1719 not 0.0 >= -0.0 or 1720 not 0.0 >= 0.0 or 1721 0.0 >= 1000.0 or 1722 0.0 >= 1.0E37 or 1723 0.0 >= Infinity or 1724 not 1000.0 >= -Infinity or 1725 not 1000.0 >= -1.0E37 or 1726 not 1000.0 >= -1000.0 or 1727 not 1000.0 >= -0.0 or 1728 not 1000.0 >= 0.0 or 1729 not 1000.0 >= 1000.0 or 1730 1000.0 >= 1.0E37 or 1731 1000.0 >= Infinity or 1732 not 1.0E37 >= -Infinity or 1733 not 1.0E37 >= -1.0E37 or 1734 not 1.0E37 >= -1000.0 or 1735 not 1.0E37 >= -0.0 or 1736 not 1.0E37 >= 0.0 or 1737 not 1.0E37 >= 1000.0 or 1738 not 1.0E37 >= 1.0E37 or 1739 1.0E37 >= Infinity or 1740 not Infinity >= -Infinity or 1741 not Infinity >= -1.0E37 or 1742 not Infinity >= -1000.0 or 1743 not Infinity >= -0.0 or 1744 not Infinity >= 0.0 or 1745 not Infinity >= 1000.0 or 1746 not Infinity >= 1.0E37 or 1747 not Infinity >= Infinity or 1748 not floatExpr(-Infinity) >= -Infinity or 1749 floatExpr(-Infinity) >= -1.0E37 or 1750 floatExpr(-Infinity) >= -1000.0 or 1751 floatExpr(-Infinity) >= -0.0 or 1752 floatExpr(-Infinity) >= 0.0 or 1753 floatExpr(-Infinity) >= 1000.0 or 1754 floatExpr(-Infinity) >= 1.0E37 or 1755 floatExpr(-Infinity) >= Infinity or 1756 not floatExpr( -1.0E37) >= -Infinity or 1757 not floatExpr( -1.0E37) >= -1.0E37 or 1758 floatExpr( -1.0E37) >= -1000.0 or 1759 floatExpr( -1.0E37) >= -0.0 or 1760 floatExpr( -1.0E37) >= 0.0 or 1761 floatExpr( -1.0E37) >= 1000.0 or 1762 floatExpr( -1.0E37) >= 1.0E37 or 1763 floatExpr( -1.0E37) >= Infinity or 1764 not floatExpr( -1000.0) >= -Infinity or 1765 not floatExpr( -1000.0) >= -1.0E37 or 1766 not floatExpr( -1000.0) >= -1000.0 or 1767 floatExpr( -1000.0) >= -0.0 or 1768 floatExpr( -1000.0) >= 0.0 or 1769 floatExpr( -1000.0) >= 1000.0 or 1770 floatExpr( -1000.0) >= 1.0E37 or 1771 floatExpr( -1000.0) >= Infinity or 1772 not floatExpr( -0.0) >= -Infinity or 1773 not floatExpr( -0.0) >= -1.0E37 or 1774 not floatExpr( -0.0) >= -1000.0 or 1775 not floatExpr( -0.0) >= -0.0 or 1776 not floatExpr( -0.0) >= 0.0 or 1777 floatExpr( -0.0) >= 1000.0 or 1778 floatExpr( -0.0) >= 1.0E37 or 1779 floatExpr( -0.0) >= Infinity or 1780 not floatExpr( 0.0) >= -Infinity or 1781 not floatExpr( 0.0) >= -1.0E37 or 1782 not floatExpr( 0.0) >= -1000.0 or 1783 not floatExpr( 0.0) >= -0.0 or 1784 not floatExpr( 0.0) >= 0.0 or 1785 floatExpr( 0.0) >= 1000.0 or 1786 floatExpr( 0.0) >= 1.0E37 or 1787 floatExpr( 0.0) >= Infinity or 1788 not floatExpr( 1000.0) >= -Infinity or 1789 not floatExpr( 1000.0) >= -1.0E37 or 1790 not floatExpr( 1000.0) >= -1000.0 or 1791 not floatExpr( 1000.0) >= -0.0 or 1792 not floatExpr( 1000.0) >= 0.0 or 1793 not floatExpr( 1000.0) >= 1000.0 or 1794 floatExpr( 1000.0) >= 1.0E37 or 1795 floatExpr( 1000.0) >= Infinity or 1796 not floatExpr( 1.0E37) >= -Infinity or 1797 not floatExpr( 1.0E37) >= -1.0E37 or 1798 not floatExpr( 1.0E37) >= -1000.0 or 1799 not floatExpr( 1.0E37) >= -0.0 or 1800 not floatExpr( 1.0E37) >= 0.0 or 1801 not floatExpr( 1.0E37) >= 1000.0 or 1802 not floatExpr( 1.0E37) >= 1.0E37 or 1803 floatExpr( 1.0E37) >= Infinity or 1804 not floatExpr( Infinity) >= -Infinity or 1805 not floatExpr( Infinity) >= -1.0E37 or 1806 not floatExpr( Infinity) >= -1000.0 or 1807 not floatExpr( Infinity) >= -0.0 or 1808 not floatExpr( Infinity) >= 0.0 or 1809 not floatExpr( Infinity) >= 1000.0 or 1810 not floatExpr( Infinity) >= 1.0E37 or 1811 not floatExpr( Infinity) >= Infinity or 1812 not -Infinity >= floatExpr(-Infinity) or 1813 -Infinity >= floatExpr( -1.0E37) or 1814 -Infinity >= floatExpr( -1000.0) or 1815 -Infinity >= floatExpr( -0.0) or 1816 -Infinity >= floatExpr( 0.0) or 1817 -Infinity >= floatExpr( 1000.0) or 1818 -Infinity >= floatExpr( 1.0E37) or 1819 -Infinity >= floatExpr( Infinity) or 1820 not -1.0E37 >= floatExpr(-Infinity) or 1821 not -1.0E37 >= floatExpr( -1.0E37) or 1822 -1.0E37 >= floatExpr( -1000.0) or 1823 -1.0E37 >= floatExpr( -0.0) or 1824 -1.0E37 >= floatExpr( 0.0) or 1825 -1.0E37 >= floatExpr( 1000.0) or 1826 -1.0E37 >= floatExpr( 1.0E37) or 1827 -1.0E37 >= floatExpr( Infinity) or 1828 not -1000.0 >= floatExpr(-Infinity) or 1829 not -1000.0 >= floatExpr( -1.0E37) or 1830 not -1000.0 >= floatExpr( -1000.0) or 1831 -1000.0 >= floatExpr( -0.0) or 1832 -1000.0 >= floatExpr( 0.0) or 1833 -1000.0 >= floatExpr( 1000.0) or 1834 -1000.0 >= floatExpr( 1.0E37) or 1835 -1000.0 >= floatExpr( Infinity) or 1836 not -0.0 >= floatExpr(-Infinity) or 1837 not -0.0 >= floatExpr( -1.0E37) or 1838 not -0.0 >= floatExpr( -1000.0) or 1839 not -0.0 >= floatExpr( -0.0) or 1840 not -0.0 >= floatExpr( 0.0) or 1841 -0.0 >= floatExpr( 1000.0) or 1842 -0.0 >= floatExpr( 1.0E37) or 1843 -0.0 >= floatExpr( Infinity) or 1844 not 0.0 >= floatExpr(-Infinity) or 1845 not 0.0 >= floatExpr( -1.0E37) or 1846 not 0.0 >= floatExpr( -1000.0) or 1847 not 0.0 >= floatExpr( -0.0) or 1848 not 0.0 >= floatExpr( 0.0) or 1849 0.0 >= floatExpr( 1000.0) or 1850 0.0 >= floatExpr( 1.0E37) or 1851 0.0 >= floatExpr( Infinity) or 1852 not 1000.0 >= floatExpr(-Infinity) or 1853 not 1000.0 >= floatExpr( -1.0E37) or 1854 not 1000.0 >= floatExpr( -1000.0) or 1855 not 1000.0 >= floatExpr( -0.0) or 1856 not 1000.0 >= floatExpr( 0.0) or 1857 not 1000.0 >= floatExpr( 1000.0) or 1858 1000.0 >= floatExpr( 1.0E37) or 1859 1000.0 >= floatExpr( Infinity) or 1860 not 1.0E37 >= floatExpr(-Infinity) or 1861 not 1.0E37 >= floatExpr( -1.0E37) or 1862 not 1.0E37 >= floatExpr( -1000.0) or 1863 not 1.0E37 >= floatExpr( -0.0) or 1864 not 1.0E37 >= floatExpr( 0.0) or 1865 not 1.0E37 >= floatExpr( 1000.0) or 1866 not 1.0E37 >= floatExpr( 1.0E37) or 1867 1.0E37 >= floatExpr( Infinity) or 1868 not Infinity >= floatExpr(-Infinity) or 1869 not Infinity >= floatExpr( -1.0E37) or 1870 not Infinity >= floatExpr( -1000.0) or 1871 not Infinity >= floatExpr( -0.0) or 1872 not Infinity >= floatExpr( 0.0) or 1873 not Infinity >= floatExpr( 1000.0) or 1874 not Infinity >= floatExpr( 1.0E37) or 1875 not Infinity >= floatExpr( Infinity) or 1876 not floatExpr(-Infinity) >= floatExpr(-Infinity) or 1877 floatExpr(-Infinity) >= floatExpr( -1.0E37) or 1878 floatExpr(-Infinity) >= floatExpr( -1000.0) or 1879 floatExpr(-Infinity) >= floatExpr( -0.0) or 1880 floatExpr(-Infinity) >= floatExpr( 0.0) or 1881 floatExpr(-Infinity) >= floatExpr( 1000.0) or 1882 floatExpr(-Infinity) >= floatExpr( 1.0E37) or 1883 floatExpr(-Infinity) >= floatExpr( Infinity) or 1884 not floatExpr( -1.0E37) >= floatExpr(-Infinity) or 1885 not floatExpr( -1.0E37) >= floatExpr( -1.0E37) or 1886 floatExpr( -1.0E37) >= floatExpr( -1000.0) or 1887 floatExpr( -1.0E37) >= floatExpr( -0.0) or 1888 floatExpr( -1.0E37) >= floatExpr( 0.0) or 1889 floatExpr( -1.0E37) >= floatExpr( 1000.0) or 1890 floatExpr( -1.0E37) >= floatExpr( 1.0E37) or 1891 floatExpr( -1.0E37) >= floatExpr( Infinity) or 1892 not floatExpr( -1000.0) >= floatExpr(-Infinity) or 1893 not floatExpr( -1000.0) >= floatExpr( -1.0E37) or 1894 not floatExpr( -1000.0) >= floatExpr( -1000.0) or 1895 floatExpr( -1000.0) >= floatExpr( -0.0) or 1896 floatExpr( -1000.0) >= floatExpr( 0.0) or 1897 floatExpr( -1000.0) >= floatExpr( 1000.0) or 1898 floatExpr( -1000.0) >= floatExpr( 1.0E37) or 1899 floatExpr( -1000.0) >= floatExpr( Infinity) or 1900 not floatExpr( -0.0) >= floatExpr(-Infinity) or 1901 not floatExpr( -0.0) >= floatExpr( -1.0E37) or 1902 not floatExpr( -0.0) >= floatExpr( -1000.0) or 1903 not floatExpr( -0.0) >= floatExpr( -0.0) or 1904 not floatExpr( -0.0) >= floatExpr( 0.0) or 1905 floatExpr( -0.0) >= floatExpr( 1000.0) or 1906 floatExpr( -0.0) >= floatExpr( 1.0E37) or 1907 floatExpr( -0.0) >= floatExpr( Infinity) or 1908 not floatExpr( 0.0) >= floatExpr(-Infinity) or 1909 not floatExpr( 0.0) >= floatExpr( -1.0E37) or 1910 not floatExpr( 0.0) >= floatExpr( -1000.0) or 1911 not floatExpr( 0.0) >= floatExpr( -0.0) or 1912 not floatExpr( 0.0) >= floatExpr( 0.0) or 1913 floatExpr( 0.0) >= floatExpr( 1000.0) or 1914 floatExpr( 0.0) >= floatExpr( 1.0E37) or 1915 floatExpr( 0.0) >= floatExpr( Infinity) or 1916 not floatExpr( 1000.0) >= floatExpr(-Infinity) or 1917 not floatExpr( 1000.0) >= floatExpr( -1.0E37) or 1918 not floatExpr( 1000.0) >= floatExpr( -1000.0) or 1919 not floatExpr( 1000.0) >= floatExpr( -0.0) or 1920 not floatExpr( 1000.0) >= floatExpr( 0.0) or 1921 not floatExpr( 1000.0) >= floatExpr( 1000.0) or 1922 floatExpr( 1000.0) >= floatExpr( 1.0E37) or 1923 floatExpr( 1000.0) >= floatExpr( Infinity) or 1924 not floatExpr( 1.0E37) >= floatExpr(-Infinity) or 1925 not floatExpr( 1.0E37) >= floatExpr( -1.0E37) or 1926 not floatExpr( 1.0E37) >= floatExpr( -1000.0) or 1927 not floatExpr( 1.0E37) >= floatExpr( -0.0) or 1928 not floatExpr( 1.0E37) >= floatExpr( 0.0) or 1929 not floatExpr( 1.0E37) >= floatExpr( 1000.0) or 1930 not floatExpr( 1.0E37) >= floatExpr( 1.0E37) or 1931 floatExpr( 1.0E37) >= floatExpr( Infinity) or 1932 not floatExpr( Infinity) >= floatExpr(-Infinity) or 1933 not floatExpr( Infinity) >= floatExpr( -1.0E37) or 1934 not floatExpr( Infinity) >= floatExpr( -1000.0) or 1935 not floatExpr( Infinity) >= floatExpr( -0.0) or 1936 not floatExpr( Infinity) >= floatExpr( 0.0) or 1937 not floatExpr( Infinity) >= floatExpr( 1000.0) or 1938 not floatExpr( Infinity) >= floatExpr( 1.0E37) or 1939 not floatExpr( Infinity) >= floatExpr( Infinity) then 1940 writeln(" ***** Greater equal for float values does not work correct."); 1941 okay := FALSE; 1942 end if; 1943 1944 if okay then 1945 writeln("Comparison of float values works correct."); 1946 else 1947 writeln(" ***** Comparison of float values does not work correct."); 1948 end if; 1949 end func; 1950 1951 1952const proc: check_compare is func 1953 local 1954 var boolean: okay is TRUE; 1955 begin 1956 if compare(-Infinity, -Infinity) <> 0 or 1957 compare(-Infinity, -1.0E37) <> -1 or 1958 compare(-Infinity, -1000.0) <> -1 or 1959 compare(-Infinity, -0.0) <> -1 or 1960 compare(-Infinity, 0.0) <> -1 or 1961 compare(-Infinity, 1000.0) <> -1 or 1962 compare(-Infinity, 1.0E37) <> -1 or 1963 compare(-Infinity, Infinity) <> -1 or 1964 compare(-Infinity, NaN) <> -1 or 1965 compare( -1.0E37, -Infinity) <> 1 or 1966 compare( -1.0E37, -1.0E37) <> 0 or 1967 compare( -1.0E37, -1000.0) <> -1 or 1968 compare( -1.0E37, -0.0) <> -1 or 1969 compare( -1.0E37, 0.0) <> -1 or 1970 compare( -1.0E37, 1000.0) <> -1 or 1971 compare( -1.0E37, 1.0E37) <> -1 or 1972 compare( -1.0E37, Infinity) <> -1 or 1973 compare( -1.0E37, NaN) <> -1 or 1974 compare( -1000.0, -Infinity) <> 1 or 1975 compare( -1000.0, -1.0E37) <> 1 or 1976 compare( -1000.0, -1000.0) <> 0 or 1977 compare( -1000.0, -0.0) <> -1 or 1978 compare( -1000.0, 0.0) <> -1 or 1979 compare( -1000.0, 1000.0) <> -1 or 1980 compare( -1000.0, 1.0E37) <> -1 or 1981 compare( -1000.0, Infinity) <> -1 or 1982 compare( -1000.0, NaN) <> -1 or 1983 compare( -0.0, -Infinity) <> 1 or 1984 compare( -0.0, -1.0E37) <> 1 or 1985 compare( -0.0, -1000.0) <> 1 or 1986 compare( -0.0, -0.0) <> 0 or 1987 compare( -0.0, 0.0) <> 0 or 1988 compare( -0.0, 1000.0) <> -1 or 1989 compare( -0.0, 1.0E37) <> -1 or 1990 compare( -0.0, Infinity) <> -1 or 1991 compare( -0.0, NaN) <> -1 or 1992 compare( 0.0, -Infinity) <> 1 or 1993 compare( 0.0, -1.0E37) <> 1 or 1994 compare( 0.0, -1000.0) <> 1 or 1995 compare( 0.0, -0.0) <> 0 or 1996 compare( 0.0, 0.0) <> 0 or 1997 compare( 0.0, 1000.0) <> -1 or 1998 compare( 0.0, 1.0E37) <> -1 or 1999 compare( 0.0, Infinity) <> -1 or 2000 compare( 0.0, NaN) <> -1 or 2001 compare( 1000.0, -Infinity) <> 1 or 2002 compare( 1000.0, -1.0E37) <> 1 or 2003 compare( 1000.0, -1000.0) <> 1 or 2004 compare( 1000.0, -0.0) <> 1 or 2005 compare( 1000.0, 0.0) <> 1 or 2006 compare( 1000.0, 1000.0) <> 0 or 2007 compare( 1000.0, 1.0E37) <> -1 or 2008 compare( 1000.0, Infinity) <> -1 or 2009 compare( 1000.0, NaN) <> -1 or 2010 compare( 1.0E37, -Infinity) <> 1 or 2011 compare( 1.0E37, -1.0E37) <> 1 or 2012 compare( 1.0E37, -1000.0) <> 1 or 2013 compare( 1.0E37, -0.0) <> 1 or 2014 compare( 1.0E37, 0.0) <> 1 or 2015 compare( 1.0E37, 1000.0) <> 1 or 2016 compare( 1.0E37, 1.0E37) <> 0 or 2017 compare( 1.0E37, Infinity) <> -1 or 2018 compare( 1.0E37, NaN) <> -1 or 2019 compare( Infinity, -Infinity) <> 1 or 2020 compare( Infinity, -1.0E37) <> 1 or 2021 compare( Infinity, -1000.0) <> 1 or 2022 compare( Infinity, -0.0) <> 1 or 2023 compare( Infinity, 0.0) <> 1 or 2024 compare( Infinity, 1000.0) <> 1 or 2025 compare( Infinity, 1.0E37) <> 1 or 2026 compare( Infinity, Infinity) <> 0 or 2027 compare( Infinity, NaN) <> -1 or 2028 compare( NaN, -Infinity) <> 1 or 2029 compare( NaN, -1.0E37) <> 1 or 2030 compare( NaN, -1000.0) <> 1 or 2031 compare( NaN, -0.0) <> 1 or 2032 compare( NaN, 0.0) <> 1 or 2033 compare( NaN, 1000.0) <> 1 or 2034 compare( NaN, 1.0E37) <> 1 or 2035 compare( NaN, Infinity) <> 1 or 2036 compare( NaN, NaN) <> 0 then 2037 writeln(" ***** Compare of float values does not work correct. (1)"); 2038 okay := FALSE; 2039 end if; 2040 2041 if compare(floatExpr(-Infinity), -Infinity) <> 0 or 2042 compare(floatExpr(-Infinity), -1.0E37) <> -1 or 2043 compare(floatExpr(-Infinity), -1000.0) <> -1 or 2044 compare(floatExpr(-Infinity), -0.0) <> -1 or 2045 compare(floatExpr(-Infinity), 0.0) <> -1 or 2046 compare(floatExpr(-Infinity), 1000.0) <> -1 or 2047 compare(floatExpr(-Infinity), 1.0E37) <> -1 or 2048 compare(floatExpr(-Infinity), Infinity) <> -1 or 2049 compare(floatExpr(-Infinity), NaN) <> -1 or 2050 compare(floatExpr( -1.0E37), -Infinity) <> 1 or 2051 compare(floatExpr( -1.0E37), -1.0E37) <> 0 or 2052 compare(floatExpr( -1.0E37), -1000.0) <> -1 or 2053 compare(floatExpr( -1.0E37), -0.0) <> -1 or 2054 compare(floatExpr( -1.0E37), 0.0) <> -1 or 2055 compare(floatExpr( -1.0E37), 1000.0) <> -1 or 2056 compare(floatExpr( -1.0E37), 1.0E37) <> -1 or 2057 compare(floatExpr( -1.0E37), Infinity) <> -1 or 2058 compare(floatExpr( -1.0E37), NaN) <> -1 or 2059 compare(floatExpr( -1000.0), -Infinity) <> 1 or 2060 compare(floatExpr( -1000.0), -1.0E37) <> 1 or 2061 compare(floatExpr( -1000.0), -1000.0) <> 0 or 2062 compare(floatExpr( -1000.0), -0.0) <> -1 or 2063 compare(floatExpr( -1000.0), 0.0) <> -1 or 2064 compare(floatExpr( -1000.0), 1000.0) <> -1 or 2065 compare(floatExpr( -1000.0), 1.0E37) <> -1 or 2066 compare(floatExpr( -1000.0), Infinity) <> -1 or 2067 compare(floatExpr( -1000.0), NaN) <> -1 or 2068 compare(floatExpr( -0.0), -Infinity) <> 1 or 2069 compare(floatExpr( -0.0), -1.0E37) <> 1 or 2070 compare(floatExpr( -0.0), -1000.0) <> 1 or 2071 compare(floatExpr( -0.0), -0.0) <> 0 or 2072 compare(floatExpr( -0.0), 0.0) <> 0 or 2073 compare(floatExpr( -0.0), 1000.0) <> -1 or 2074 compare(floatExpr( -0.0), 1.0E37) <> -1 or 2075 compare(floatExpr( -0.0), Infinity) <> -1 or 2076 compare(floatExpr( -0.0), NaN) <> -1 or 2077 compare(floatExpr( 0.0), -Infinity) <> 1 or 2078 compare(floatExpr( 0.0), -1.0E37) <> 1 or 2079 compare(floatExpr( 0.0), -1000.0) <> 1 or 2080 compare(floatExpr( 0.0), -0.0) <> 0 or 2081 compare(floatExpr( 0.0), 0.0) <> 0 or 2082 compare(floatExpr( 0.0), 1000.0) <> -1 or 2083 compare(floatExpr( 0.0), 1.0E37) <> -1 or 2084 compare(floatExpr( 0.0), Infinity) <> -1 or 2085 compare(floatExpr( 0.0), NaN) <> -1 or 2086 compare(floatExpr( 1000.0), -Infinity) <> 1 or 2087 compare(floatExpr( 1000.0), -1.0E37) <> 1 or 2088 compare(floatExpr( 1000.0), -1000.0) <> 1 or 2089 compare(floatExpr( 1000.0), -0.0) <> 1 or 2090 compare(floatExpr( 1000.0), 0.0) <> 1 or 2091 compare(floatExpr( 1000.0), 1000.0) <> 0 or 2092 compare(floatExpr( 1000.0), 1.0E37) <> -1 or 2093 compare(floatExpr( 1000.0), Infinity) <> -1 or 2094 compare(floatExpr( 1000.0), NaN) <> -1 or 2095 compare(floatExpr( 1.0E37), -Infinity) <> 1 or 2096 compare(floatExpr( 1.0E37), -1.0E37) <> 1 or 2097 compare(floatExpr( 1.0E37), -1000.0) <> 1 or 2098 compare(floatExpr( 1.0E37), -0.0) <> 1 or 2099 compare(floatExpr( 1.0E37), 0.0) <> 1 or 2100 compare(floatExpr( 1.0E37), 1000.0) <> 1 or 2101 compare(floatExpr( 1.0E37), 1.0E37) <> 0 or 2102 compare(floatExpr( 1.0E37), Infinity) <> -1 or 2103 compare(floatExpr( 1.0E37), NaN) <> -1 or 2104 compare(floatExpr( Infinity), -Infinity) <> 1 or 2105 compare(floatExpr( Infinity), -1.0E37) <> 1 or 2106 compare(floatExpr( Infinity), -1000.0) <> 1 or 2107 compare(floatExpr( Infinity), -0.0) <> 1 or 2108 compare(floatExpr( Infinity), 0.0) <> 1 or 2109 compare(floatExpr( Infinity), 1000.0) <> 1 or 2110 compare(floatExpr( Infinity), 1.0E37) <> 1 or 2111 compare(floatExpr( Infinity), Infinity) <> 0 or 2112 compare(floatExpr( Infinity), NaN) <> -1 or 2113 compare(floatExpr( NaN), -Infinity) <> 1 or 2114 compare(floatExpr( NaN), -1.0E37) <> 1 or 2115 compare(floatExpr( NaN), -1000.0) <> 1 or 2116 compare(floatExpr( NaN), -0.0) <> 1 or 2117 compare(floatExpr( NaN), 0.0) <> 1 or 2118 compare(floatExpr( NaN), 1000.0) <> 1 or 2119 compare(floatExpr( NaN), 1.0E37) <> 1 or 2120 compare(floatExpr( NaN), Infinity) <> 1 or 2121 compare(floatExpr( NaN), NaN) <> 0 then 2122 writeln(" ***** Compare of float values does not work correct. (2)"); 2123 okay := FALSE; 2124 end if; 2125 2126 if compare(-Infinity, floatExpr(-Infinity)) <> 0 or 2127 compare(-Infinity, floatExpr( -1.0E37)) <> -1 or 2128 compare(-Infinity, floatExpr( -1000.0)) <> -1 or 2129 compare(-Infinity, floatExpr( -0.0)) <> -1 or 2130 compare(-Infinity, floatExpr( 0.0)) <> -1 or 2131 compare(-Infinity, floatExpr( 1000.0)) <> -1 or 2132 compare(-Infinity, floatExpr( 1.0E37)) <> -1 or 2133 compare(-Infinity, floatExpr( Infinity)) <> -1 or 2134 compare(-Infinity, floatExpr( NaN)) <> -1 or 2135 compare( -1.0E37, floatExpr(-Infinity)) <> 1 or 2136 compare( -1.0E37, floatExpr( -1.0E37)) <> 0 or 2137 compare( -1.0E37, floatExpr( -1000.0)) <> -1 or 2138 compare( -1.0E37, floatExpr( -0.0)) <> -1 or 2139 compare( -1.0E37, floatExpr( 0.0)) <> -1 or 2140 compare( -1.0E37, floatExpr( 1000.0)) <> -1 or 2141 compare( -1.0E37, floatExpr( 1.0E37)) <> -1 or 2142 compare( -1.0E37, floatExpr( Infinity)) <> -1 or 2143 compare( -1.0E37, floatExpr( NaN)) <> -1 or 2144 compare( -1000.0, floatExpr(-Infinity)) <> 1 or 2145 compare( -1000.0, floatExpr( -1.0E37)) <> 1 or 2146 compare( -1000.0, floatExpr( -1000.0)) <> 0 or 2147 compare( -1000.0, floatExpr( -0.0)) <> -1 or 2148 compare( -1000.0, floatExpr( 0.0)) <> -1 or 2149 compare( -1000.0, floatExpr( 1000.0)) <> -1 or 2150 compare( -1000.0, floatExpr( 1.0E37)) <> -1 or 2151 compare( -1000.0, floatExpr( Infinity)) <> -1 or 2152 compare( -1000.0, floatExpr( NaN)) <> -1 or 2153 compare( -0.0, floatExpr(-Infinity)) <> 1 or 2154 compare( -0.0, floatExpr( -1.0E37)) <> 1 or 2155 compare( -0.0, floatExpr( -1000.0)) <> 1 or 2156 compare( -0.0, floatExpr( -0.0)) <> 0 or 2157 compare( -0.0, floatExpr( 0.0)) <> 0 or 2158 compare( -0.0, floatExpr( 1000.0)) <> -1 or 2159 compare( -0.0, floatExpr( 1.0E37)) <> -1 or 2160 compare( -0.0, floatExpr( Infinity)) <> -1 or 2161 compare( -0.0, floatExpr( NaN)) <> -1 or 2162 compare( 0.0, floatExpr(-Infinity)) <> 1 or 2163 compare( 0.0, floatExpr( -1.0E37)) <> 1 or 2164 compare( 0.0, floatExpr( -1000.0)) <> 1 or 2165 compare( 0.0, floatExpr( -0.0)) <> 0 or 2166 compare( 0.0, floatExpr( 0.0)) <> 0 or 2167 compare( 0.0, floatExpr( 1000.0)) <> -1 or 2168 compare( 0.0, floatExpr( 1.0E37)) <> -1 or 2169 compare( 0.0, floatExpr( Infinity)) <> -1 or 2170 compare( 0.0, floatExpr( NaN)) <> -1 or 2171 compare( 1000.0, floatExpr(-Infinity)) <> 1 or 2172 compare( 1000.0, floatExpr( -1.0E37)) <> 1 or 2173 compare( 1000.0, floatExpr( -1000.0)) <> 1 or 2174 compare( 1000.0, floatExpr( -0.0)) <> 1 or 2175 compare( 1000.0, floatExpr( 0.0)) <> 1 or 2176 compare( 1000.0, floatExpr( 1000.0)) <> 0 or 2177 compare( 1000.0, floatExpr( 1.0E37)) <> -1 or 2178 compare( 1000.0, floatExpr( Infinity)) <> -1 or 2179 compare( 1000.0, floatExpr( NaN)) <> -1 or 2180 compare( 1.0E37, floatExpr(-Infinity)) <> 1 or 2181 compare( 1.0E37, floatExpr( -1.0E37)) <> 1 or 2182 compare( 1.0E37, floatExpr( -1000.0)) <> 1 or 2183 compare( 1.0E37, floatExpr( -0.0)) <> 1 or 2184 compare( 1.0E37, floatExpr( 0.0)) <> 1 or 2185 compare( 1.0E37, floatExpr( 1000.0)) <> 1 or 2186 compare( 1.0E37, floatExpr( 1.0E37)) <> 0 or 2187 compare( 1.0E37, floatExpr( Infinity)) <> -1 or 2188 compare( 1.0E37, floatExpr( NaN)) <> -1 or 2189 compare( Infinity, floatExpr(-Infinity)) <> 1 or 2190 compare( Infinity, floatExpr( -1.0E37)) <> 1 or 2191 compare( Infinity, floatExpr( -1000.0)) <> 1 or 2192 compare( Infinity, floatExpr( -0.0)) <> 1 or 2193 compare( Infinity, floatExpr( 0.0)) <> 1 or 2194 compare( Infinity, floatExpr( 1000.0)) <> 1 or 2195 compare( Infinity, floatExpr( 1.0E37)) <> 1 or 2196 compare( Infinity, floatExpr( Infinity)) <> 0 or 2197 compare( Infinity, floatExpr( NaN)) <> -1 or 2198 compare( NaN, floatExpr(-Infinity)) <> 1 or 2199 compare( NaN, floatExpr( -1.0E37)) <> 1 or 2200 compare( NaN, floatExpr( -1000.0)) <> 1 or 2201 compare( NaN, floatExpr( -0.0)) <> 1 or 2202 compare( NaN, floatExpr( 0.0)) <> 1 or 2203 compare( NaN, floatExpr( 1000.0)) <> 1 or 2204 compare( NaN, floatExpr( 1.0E37)) <> 1 or 2205 compare( NaN, floatExpr( Infinity)) <> 1 or 2206 compare( NaN, floatExpr( NaN)) <> 0 then 2207 writeln(" ***** Compare of float values does not work correct. (3)"); 2208 okay := FALSE; 2209 end if; 2210 2211 if compare(floatExpr(-Infinity), floatExpr(-Infinity)) <> 0 or 2212 compare(floatExpr(-Infinity), floatExpr( -1.0E37)) <> -1 or 2213 compare(floatExpr(-Infinity), floatExpr( -1000.0)) <> -1 or 2214 compare(floatExpr(-Infinity), floatExpr( -0.0)) <> -1 or 2215 compare(floatExpr(-Infinity), floatExpr( 0.0)) <> -1 or 2216 compare(floatExpr(-Infinity), floatExpr( 1000.0)) <> -1 or 2217 compare(floatExpr(-Infinity), floatExpr( 1.0E37)) <> -1 or 2218 compare(floatExpr(-Infinity), floatExpr( Infinity)) <> -1 or 2219 compare(floatExpr(-Infinity), floatExpr( NaN)) <> -1 or 2220 compare(floatExpr( -1.0E37), floatExpr(-Infinity)) <> 1 or 2221 compare(floatExpr( -1.0E37), floatExpr( -1.0E37)) <> 0 or 2222 compare(floatExpr( -1.0E37), floatExpr( -1000.0)) <> -1 or 2223 compare(floatExpr( -1.0E37), floatExpr( -0.0)) <> -1 or 2224 compare(floatExpr( -1.0E37), floatExpr( 0.0)) <> -1 or 2225 compare(floatExpr( -1.0E37), floatExpr( 1000.0)) <> -1 or 2226 compare(floatExpr( -1.0E37), floatExpr( 1.0E37)) <> -1 or 2227 compare(floatExpr( -1.0E37), floatExpr( Infinity)) <> -1 or 2228 compare(floatExpr( -1.0E37), floatExpr( NaN)) <> -1 or 2229 compare(floatExpr( -1000.0), floatExpr(-Infinity)) <> 1 or 2230 compare(floatExpr( -1000.0), floatExpr( -1.0E37)) <> 1 or 2231 compare(floatExpr( -1000.0), floatExpr( -1000.0)) <> 0 or 2232 compare(floatExpr( -1000.0), floatExpr( -0.0)) <> -1 or 2233 compare(floatExpr( -1000.0), floatExpr( 0.0)) <> -1 or 2234 compare(floatExpr( -1000.0), floatExpr( 1000.0)) <> -1 or 2235 compare(floatExpr( -1000.0), floatExpr( 1.0E37)) <> -1 or 2236 compare(floatExpr( -1000.0), floatExpr( Infinity)) <> -1 or 2237 compare(floatExpr( -1000.0), floatExpr( NaN)) <> -1 or 2238 compare(floatExpr( -0.0), floatExpr(-Infinity)) <> 1 or 2239 compare(floatExpr( -0.0), floatExpr( -1.0E37)) <> 1 or 2240 compare(floatExpr( -0.0), floatExpr( -1000.0)) <> 1 or 2241 compare(floatExpr( -0.0), floatExpr( -0.0)) <> 0 or 2242 compare(floatExpr( -0.0), floatExpr( 0.0)) <> 0 or 2243 compare(floatExpr( -0.0), floatExpr( 1000.0)) <> -1 or 2244 compare(floatExpr( -0.0), floatExpr( 1.0E37)) <> -1 or 2245 compare(floatExpr( -0.0), floatExpr( Infinity)) <> -1 or 2246 compare(floatExpr( -0.0), floatExpr( NaN)) <> -1 or 2247 compare(floatExpr( 0.0), floatExpr(-Infinity)) <> 1 or 2248 compare(floatExpr( 0.0), floatExpr( -1.0E37)) <> 1 or 2249 compare(floatExpr( 0.0), floatExpr( -1000.0)) <> 1 or 2250 compare(floatExpr( 0.0), floatExpr( -0.0)) <> 0 or 2251 compare(floatExpr( 0.0), floatExpr( 0.0)) <> 0 or 2252 compare(floatExpr( 0.0), floatExpr( 1000.0)) <> -1 or 2253 compare(floatExpr( 0.0), floatExpr( 1.0E37)) <> -1 or 2254 compare(floatExpr( 0.0), floatExpr( Infinity)) <> -1 or 2255 compare(floatExpr( 0.0), floatExpr( NaN)) <> -1 or 2256 compare(floatExpr( 1000.0), floatExpr(-Infinity)) <> 1 or 2257 compare(floatExpr( 1000.0), floatExpr( -1.0E37)) <> 1 or 2258 compare(floatExpr( 1000.0), floatExpr( -1000.0)) <> 1 or 2259 compare(floatExpr( 1000.0), floatExpr( -0.0)) <> 1 or 2260 compare(floatExpr( 1000.0), floatExpr( 0.0)) <> 1 or 2261 compare(floatExpr( 1000.0), floatExpr( 1000.0)) <> 0 or 2262 compare(floatExpr( 1000.0), floatExpr( 1.0E37)) <> -1 or 2263 compare(floatExpr( 1000.0), floatExpr( Infinity)) <> -1 or 2264 compare(floatExpr( 1000.0), floatExpr( NaN)) <> -1 or 2265 compare(floatExpr( 1.0E37), floatExpr(-Infinity)) <> 1 or 2266 compare(floatExpr( 1.0E37), floatExpr( -1.0E37)) <> 1 or 2267 compare(floatExpr( 1.0E37), floatExpr( -1000.0)) <> 1 or 2268 compare(floatExpr( 1.0E37), floatExpr( -0.0)) <> 1 or 2269 compare(floatExpr( 1.0E37), floatExpr( 0.0)) <> 1 or 2270 compare(floatExpr( 1.0E37), floatExpr( 1000.0)) <> 1 or 2271 compare(floatExpr( 1.0E37), floatExpr( 1.0E37)) <> 0 or 2272 compare(floatExpr( 1.0E37), floatExpr( Infinity)) <> -1 or 2273 compare(floatExpr( 1.0E37), floatExpr( NaN)) <> -1 or 2274 compare(floatExpr( Infinity), floatExpr(-Infinity)) <> 1 or 2275 compare(floatExpr( Infinity), floatExpr( -1.0E37)) <> 1 or 2276 compare(floatExpr( Infinity), floatExpr( -1000.0)) <> 1 or 2277 compare(floatExpr( Infinity), floatExpr( -0.0)) <> 1 or 2278 compare(floatExpr( Infinity), floatExpr( 0.0)) <> 1 or 2279 compare(floatExpr( Infinity), floatExpr( 1000.0)) <> 1 or 2280 compare(floatExpr( Infinity), floatExpr( 1.0E37)) <> 1 or 2281 compare(floatExpr( Infinity), floatExpr( Infinity)) <> 0 or 2282 compare(floatExpr( Infinity), floatExpr( NaN)) <> -1 or 2283 compare(floatExpr( NaN), floatExpr(-Infinity)) <> 1 or 2284 compare(floatExpr( NaN), floatExpr( -1.0E37)) <> 1 or 2285 compare(floatExpr( NaN), floatExpr( -1000.0)) <> 1 or 2286 compare(floatExpr( NaN), floatExpr( -0.0)) <> 1 or 2287 compare(floatExpr( NaN), floatExpr( 0.0)) <> 1 or 2288 compare(floatExpr( NaN), floatExpr( 1000.0)) <> 1 or 2289 compare(floatExpr( NaN), floatExpr( 1.0E37)) <> 1 or 2290 compare(floatExpr( NaN), floatExpr( Infinity)) <> 1 or 2291 compare(floatExpr( NaN), floatExpr( NaN)) <> 0 then 2292 writeln(" ***** Compare of float values does not work correct. (4)"); 2293 okay := FALSE; 2294 end if; 2295 2296 if okay then 2297 writeln("Compare of float values works correct."); 2298 else 2299 writeln(" ***** Compare of float values does not work correct."); 2300 end if; 2301 end func; 2302 2303 2304const proc: check_parse is func 2305 local 2306 var boolean: okay is TRUE; 2307 begin 2308 if float parse "0.0" <> 0.0 or 2309 float parse "-0.0" <> 0.0 or 2310 float parse "1.0" <> 1.0 or 2311 float parse "-1.0" <> -1.0 or 2312 float parse "Infinity" <> Infinity or 2313 float parse "-Infinity" <> -Infinity or 2314 not isNaN(float parse "NaN") or 2315 float parse striExpr( "0.0") <> 0.0 or 2316 float parse striExpr( "-0.0") <> 0.0 or 2317 float parse striExpr( "1.0") <> 1.0 or 2318 float parse striExpr( "-1.0") <> -1.0 or 2319 float parse striExpr( "Infinity") <> Infinity or 2320 float parse striExpr( "-Infinity") <> -Infinity or 2321 not isNaN(float parse striExpr("NaN")) or 2322 float parse "123.456000000000000000000000000000000" <> 123.456 or 2323 float parse "+123.456000000000000000000000000000000" <> 123.456 or 2324 float parse "-123.456000000000000000000000000000000" <> -123.456 or 2325 float parse "0.00000000000000000000000000000000001" <> 1.0e-35 or 2326 float parse "+0.00000000000000000000000000000000001" <> 1.0e-35 or 2327 float parse "-0.00000000000000000000000000000000001" <> -1.0e-35 or 2328 float parse "00000000000000000000000000000000000.5" <> 0.5 or 2329 float parse "+00000000000000000000000000000000000.5" <> 0.5 or 2330 float parse "-00000000000000000000000000000000000.5" <> -0.5 or 2331 float parse striExpr( "123.456000000000000000000000000000000") <> 123.456 or 2332 float parse striExpr("+123.456000000000000000000000000000000") <> 123.456 or 2333 float parse striExpr("-123.456000000000000000000000000000000") <> -123.456 or 2334 float parse striExpr( "0.00000000000000000000000000000000001") <> 1.0e-35 or 2335 float parse striExpr("+0.00000000000000000000000000000000001") <> 1.0e-35 or 2336 float parse striExpr("-0.00000000000000000000000000000000001") <> -1.0e-35 or 2337 float parse striExpr( "00000000000000000000000000000000000.5") <> 0.5 or 2338 float parse striExpr("+00000000000000000000000000000000000.5") <> 0.5 or 2339 float parse striExpr("-00000000000000000000000000000000000.5") <> -0.5 or 2340 float parse "1.0" <> 1.0 or 2341 float parse "2.0" <> 2.0 or 2342 float parse "4.0" <> 4.0 or 2343 float parse "8.0" <> 8.0 or 2344 float parse "16.0" <> 16.0 or 2345 float parse "32.0" <> 32.0 or 2346 float parse "64.0" <> 64.0 or 2347 float parse "128.0" <> 128.0 or 2348 float parse "256.0" <> 256.0 or 2349 float parse "512.0" <> 512.0 or 2350 float parse "1024.0" <> 1024.0 or 2351 float parse "2048.0" <> 2048.0 or 2352 float parse "4096.0" <> 4096.0 or 2353 float parse "8192.0" <> 8192.0 or 2354 float parse "16384.0" <> 16384.0 or 2355 float parse "32768.0" <> 32768.0 or 2356 float parse "65536.0" <> 65536.0 or 2357 float parse "131072.0" <> 131072.0 or 2358 float parse "262144.0" <> 262144.0 or 2359 float parse "524288.0" <> 524288.0 or 2360 float parse "1048576.0" <> 1048576.0 or 2361 float parse "2097152.0" <> 2097152.0 or 2362 float parse "4194304.0" <> 4194304.0 or 2363 float parse "8388608.0" <> 8388608.0 or 2364 float parse "16777216.0" <> 16777216.0 or 2365 float parse "33554432.0" <> 33554432.0 or 2366 float parse "67108864.0" <> 67108864.0 or 2367 float parse "134217728.0" <> 134217728.0 or 2368 float parse "268435456.0" <> 268435456.0 or 2369 float parse "536870912.0" <> 536870912.0 or 2370 float parse "1073741824.0" <> 1073741824.0 or 2371 float parse "2147483648.0" <> 2147483648.0 or 2372 float parse "4294967296.0" <> 4294967296.0 or 2373 float parse "8589934592.0" <> 8589934592.0 or 2374 float parse "17179869184.0" <> 17179869184.0 or 2375 float parse "34359738368.0" <> 34359738368.0 or 2376 float parse "68719476736.0" <> 68719476736.0 or 2377 float parse "137438953472.0" <> 137438953472.0 or 2378 float parse "274877906944.0" <> 274877906944.0 or 2379 float parse "549755813888.0" <> 549755813888.0 or 2380 float parse "1099511627776.0" <> 1099511627776.0 or 2381 float parse "2199023255552.0" <> 2199023255552.0 or 2382 float parse "4398046511104.0" <> 4398046511104.0 or 2383 float parse "8796093022208.0" <> 8796093022208.0 or 2384 float parse "17592186044416.0" <> 17592186044416.0 or 2385 float parse "35184372088832.0" <> 35184372088832.0 or 2386 float parse "70368744177664.0" <> 70368744177664.0 or 2387 float parse "140737488355328.0" <> 140737488355328.0 or 2388 float parse "281474976710656.0" <> 281474976710656.0 or 2389 float parse "562949953421312.0" <> 562949953421312.0 or 2390 float parse "1125899906842624.0" <> 1125899906842624.0 or 2391 float parse "2251799813685248.0" <> 2251799813685248.0 or 2392 float parse "4503599627370496.0" <> 4503599627370496.0 or 2393 float parse "9007199254740992.0" <> 9007199254740992.0 or 2394 float parse "18014398509481984.0" <> 18014398509481984.0 or 2395 float parse "36028797018963968.0" <> 36028797018963968.0 or 2396 float parse "72057594037927936.0" <> 72057594037927936.0 or 2397 float parse "144115188075855872.0" <> 144115188075855872.0 or 2398 float parse "288230376151711744.0" <> 288230376151711744.0 or 2399 float parse "576460752303423488.0" <> 576460752303423488.0 or 2400 float parse "1152921504606846976.0" <> 1152921504606846976.0 or 2401 float parse "2305843009213693952.0" <> 2305843009213693952.0 or 2402 float parse "4611686018427387904.0" <> 4611686018427387904.0 or 2403 float parse "9223372036854775808.0" <> 9223372036854775808.0 or 2404 float parse "18446744073709551616.0" <> 18446744073709551616.0 or 2405 float parse "36893488147419103232.0" <> 36893488147419103232.0 or 2406 float parse "73786976294838206464.0" <> 73786976294838206464.0 or 2407 float parse "147573952589676412928.0" <> 147573952589676412928.0 or 2408 float parse "295147905179352825856.0" <> 295147905179352825856.0 or 2409 float parse "590295810358705651712.0" <> 590295810358705651712.0 or 2410 float parse "1180591620717411303424.0" <> 1180591620717411303424.0 or 2411 float parse "2361183241434822606848.0" <> 2361183241434822606848.0 or 2412 float parse "4722366482869645213696.0" <> 4722366482869645213696.0 or 2413 float parse "9444732965739290427392.0" <> 9444732965739290427392.0 or 2414 float parse "18889465931478580854784.0" <> 18889465931478580854784.0 or 2415 float parse "37778931862957161709568.0" <> 37778931862957161709568.0 or 2416 float parse "75557863725914323419136.0" <> 75557863725914323419136.0 or 2417 float parse "151115727451828646838272.0" <> 151115727451828646838272.0 or 2418 float parse "302231454903657293676544.0" <> 302231454903657293676544.0 or 2419 float parse "604462909807314587353088.0" <> 604462909807314587353088.0 or 2420 float parse "1208925819614629174706176.0" <> 1208925819614629174706176.0 or 2421 float parse "2417851639229258349412352.0" <> 2417851639229258349412352.0 or 2422 float parse "4835703278458516698824704.0" <> 4835703278458516698824704.0 or 2423 float parse "9671406556917033397649408.0" <> 9671406556917033397649408.0 or 2424 float parse "19342813113834066795298816.0" <> 19342813113834066795298816.0 or 2425 float parse "38685626227668133590597632.0" <> 38685626227668133590597632.0 or 2426 float parse "77371252455336267181195264.0" <> 77371252455336267181195264.0 or 2427 float parse "15474250491067253436239052.0" <> 15474250491067253436239052.0 or 2428 float parse "30948500982134506872478105.0" <> 30948500982134506872478105.0 or 2429 float parse "618970019642690137449562112.0" <> 618970019642690137449562112.0 or 2430 float parse "1237940039285380274899124224.0" <> 1237940039285380274899124224.0 or 2431 float parse "2475880078570760549798248448.0" <> 2475880078570760549798248448.0 or 2432 float parse "4951760157141521099596496896.0" <> 4951760157141521099596496896.0 or 2433 float parse "9903520314283042199192993792.0" <> 9903520314283042199192993792.0 or 2434 float parse "19807040628566084398385987584.0" <> 19807040628566084398385987584.0 or 2435 float parse "39614081257132168796771975168.0" <> 39614081257132168796771975168.0 or 2436 float parse "79228162514264337593543950336.0" <> 79228162514264337593543950336.0 or 2437 float parse "158456325028528675187087900672.0" <> 158456325028528675187087900672.0 or 2438 float parse "316912650057057350374175801344.0" <> 316912650057057350374175801344.0 or 2439 float parse "633825300114114700748351602688.0" <> 633825300114114700748351602688.0 or 2440 float parse "1267650600228229401496703205376.0" <> 1267650600228229401496703205376.0 or 2441 float parse "0.5" <> 0.5 or 2442 float parse "0.25" <> 0.25 or 2443 float parse "0.125" <> 0.125 or 2444 float parse "0.0625" <> 0.0625 or 2445 float parse "0.03125" <> 0.03125 or 2446 float parse "0.015625" <> 0.015625 or 2447 float parse "0.0078125" <> 0.0078125 or 2448 float parse "0.00390625" <> 0.00390625 or 2449 float parse "0.001953125" <> 0.001953125 or 2450 float parse "0.0009765625" <> 0.0009765625 or 2451 float parse "0.00048828125" <> 0.00048828125 or 2452 float parse "0.000244140625" <> 0.000244140625 or 2453 float parse "0.0001220703125" <> 0.0001220703125 or 2454 float parse "0.00006103515625" <> 0.00006103515625 or 2455 float parse "0.000030517578125" <> 0.000030517578125 or 2456 float parse "0.0000152587890625" <> 0.0000152587890625 or 2457 float parse "0.00000762939453125" <> 0.00000762939453125 or 2458 float parse "0.000003814697265625" <> 0.000003814697265625 or 2459 float parse "0.0000019073486328125" <> 0.0000019073486328125 or 2460 float parse "0.00000095367431640625" <> 0.00000095367431640625 or 2461 float parse "0.000000476837158203125" <> 0.000000476837158203125 or 2462 float parse "0.0000002384185791015625" <> 0.0000002384185791015625 or 2463 float parse "0.00000011920928955078125" <> 0.00000011920928955078125 or 2464 float parse "0.000000059604644775390625" <> 0.000000059604644775390625 or 2465 float parse "0.0000000298023223876953125" <> 0.0000000298023223876953125 or 2466 float parse "0.00000001490116119384765625" <> 0.00000001490116119384765625 or 2467 float parse "0.000000007450580596923828125" <> 0.000000007450580596923828125 or 2468 float parse "0.0000000037252902984619140625" <> 0.0000000037252902984619140625 or 2469 float parse "0.00000000186264514923095703125" <> 0.00000000186264514923095703125 or 2470 float parse "0.000000000931322574615478515625" <> 0.000000000931322574615478515625 or 2471 float parse "0.0000000004656612873077392578125" <> 0.0000000004656612873077392578125 or 2472 float parse "0.00000000023283064365386962890625" <> 0.00000000023283064365386962890625 or 2473 float parse "0.000000000116415321826934814453125" <> 2474 0.000000000116415321826934814453125 or 2475 float parse "0.0000000000582076609134674072265625" <> 2476 0.0000000000582076609134674072265625 or 2477 float parse "0.00000000002910383045673370361328125" <> 2478 0.00000000002910383045673370361328125 or 2479 float parse "0.000000000014551915228366851806640625" <> 2480 0.000000000014551915228366851806640625 or 2481 float parse "0.0000000000072759576141834259033203125" <> 2482 0.0000000000072759576141834259033203125 or 2483 float parse "0.00000000000363797880709171295166015625" <> 2484 0.00000000000363797880709171295166015625 or 2485 float parse "0.000000000001818989403545856475830078125" <> 2486 0.000000000001818989403545856475830078125 or 2487 float parse "0.0000000000009094947017729282379150390625" <> 2488 0.0000000000009094947017729282379150390625 or 2489 float parse "0.00000000000045474735088646411895751953125" <> 2490 0.00000000000045474735088646411895751953125 or 2491 float parse "0.000000000000227373675443232059478759765625" <> 2492 0.000000000000227373675443232059478759765625 or 2493 float parse "0.0000000000001136868377216160297393798828125" <> 2494 0.0000000000001136868377216160297393798828125 or 2495 float parse "0.00000000000005684341886080801486968994140625" <> 2496 0.00000000000005684341886080801486968994140625 or 2497 float parse "0.000000000000028421709430404007434844970703125" <> 2498 0.000000000000028421709430404007434844970703125 or 2499 float parse "0.0000000000000142108547152020037174224853515625" <> 2500 0.0000000000000142108547152020037174224853515625 or 2501 float parse "0.00000000000000710542735760100185871124267578125" <> 2502 0.00000000000000710542735760100185871124267578125 or 2503 float parse "0.000000000000003552713678800500929355621337890625" <> 2504 0.000000000000003552713678800500929355621337890625 or 2505 float parse "0.0000000000000017763568394002504646778106689453125" <> 2506 0.0000000000000017763568394002504646778106689453125 or 2507 float parse "0.00000000000000088817841970012523233890533447265625" <> 2508 0.00000000000000088817841970012523233890533447265625 or 2509 float parse "0.000000000000000444089209850062616169452667236328125" <> 2510 0.000000000000000444089209850062616169452667236328125 or 2511 float parse "0.0000000000000002220446049250313080847263336181640625" <> 2512 0.0000000000000002220446049250313080847263336181640625 or 2513 float parse "0.00000000000000011102230246251565404236316680908203125" <> 2514 0.00000000000000011102230246251565404236316680908203125 or 2515 float parse "0.000000000000000055511151231257827021181583404541015625" <> 2516 0.000000000000000055511151231257827021181583404541015625 or 2517 float parse "0.0000000000000000277555756156289135105907917022705078125" <> 2518 0.0000000000000000277555756156289135105907917022705078125 or 2519 float parse "0.00000000000000001387778780781445675529539585113525390625" <> 2520 0.00000000000000001387778780781445675529539585113525390625 or 2521 float parse "0.000000000000000006938893903907228377647697925567626953125" <> 2522 0.000000000000000006938893903907228377647697925567626953125 or 2523 float parse "0.0000000000000000034694469519536141888238489627838134765625" <> 2524 0.0000000000000000034694469519536141888238489627838134765625 or 2525 float parse "0.00000000000000000173472347597680709441192448139190673828125" <> 2526 0.00000000000000000173472347597680709441192448139190673828125 or 2527 float parse "0.000000000000000000867361737988403547205962240695953369140625" <> 2528 0.000000000000000000867361737988403547205962240695953369140625 or 2529 float parse "0.0000000000000000004336808689942017736029811203479766845703125" <> 2530 0.0000000000000000004336808689942017736029811203479766845703125 or 2531 float parse "0.00000000000000000021684043449710088680149056017398834228515625" <> 2532 0.00000000000000000021684043449710088680149056017398834228515625 or 2533 float parse "0.000000000000000000108420217248550443400745280086994171142578125" <> 2534 0.000000000000000000108420217248550443400745280086994171142578125 or 2535 float parse "0.0000000000000000000542101086242752217003726400434970855712890625" <> 2536 0.0000000000000000000542101086242752217003726400434970855712890625 or 2537 float parse "0.00000000000000000002710505431213761085018632002174854278564453125" <> 2538 0.00000000000000000002710505431213761085018632002174854278564453125 or 2539 float parse "0.000000000000000000013552527156068805425093160010874271392822265625" <> 2540 0.000000000000000000013552527156068805425093160010874271392822265625 or 2541 float parse "0.0000000000000000000067762635780344027125465800054371356964111328125" <> 2542 0.0000000000000000000067762635780344027125465800054371356964111328125 or 2543 float parse "0.00000000000000000000338813178901720135627329000271856784820556640625" <> 2544 0.00000000000000000000338813178901720135627329000271856784820556640625 or 2545 float parse "0.000000000000000000001694065894508600678136645001359283924102783203125" <> 2546 0.000000000000000000001694065894508600678136645001359283924102783203125 or 2547 float parse "0.0000000000000000000008470329472543003390683225006796419620513916015625" <> 2548 0.0000000000000000000008470329472543003390683225006796419620513916015625 or 2549 float parse "0.00000000000000000000042351647362715016953416125033982098102569580078125" <> 2550 0.00000000000000000000042351647362715016953416125033982098102569580078125 or 2551 float parse "0.000000000000000000000211758236813575084767080625169910490512847900390625" <> 2552 0.000000000000000000000211758236813575084767080625169910490512847900390625 or 2553 float parse "0.0000000000000000000001058791184067875423835403125849552452564239501953125" <> 2554 0.0000000000000000000001058791184067875423835403125849552452564239501953125 or 2555 float parse "0.00000000000000000000005293955920339377119177015629247762262821197509765625" <> 2556 0.00000000000000000000005293955920339377119177015629247762262821197509765625 or 2557 float parse "0.000000000000000000000026469779601696885595885078146238811314105987548828125" <> 2558 0.000000000000000000000026469779601696885595885078146238811314105987548828125 then 2559 writeln(" ***** Parse operator for float does not work correct."); 2560 okay := FALSE; 2561 end if; 2562 2563 if float parse "9007199254740991.0" <> 9007199254740991.0 or 2564 float parse "-9007199254740991.0" <> -9007199254740991.0 or 2565 float parse "9007199254740991.0" <> 9007199254740990.0 + 1.0 or 2566 float parse "-9007199254740991.0" <> -9007199254740990.0 - 1.0 or 2567 float parse striExpr( "9007199254740991.0") <> 9007199254740991.0 or 2568 float parse striExpr("-9007199254740991.0") <> -9007199254740991.0 or 2569 float parse striExpr( "9007199254740991.0") <> 9007199254740990.0 + 1.0 or 2570 float parse striExpr("-9007199254740991.0") <> -9007199254740990.0 - 1.0 then 2571 writeln(" ***** Parse operator for maximum or minimum odd value does not work correct."); 2572 okay := FALSE; 2573 end if; 2574 2575 if float parse "1.0e-308" <> 1.0e-308 or 2576 float parse "1.0e-307" <> 1.0e-307 or 2577 float parse "1.0e-300" <> 1.0e-300 or 2578 float parse "1.0e-275" <> 1.0e-275 or 2579 float parse "1.0e-250" <> 1.0e-250 or 2580 float parse "1.0e-225" <> 1.0e-225 or 2581 float parse "1.0e-200" <> 1.0e-200 or 2582 float parse "1.0e-175" <> 1.0e-175 or 2583 float parse "1.0e-150" <> 1.0e-150 or 2584 float parse "1.0e-125" <> 1.0e-125 or 2585 float parse "1.0e-101" <> 1.0e-101 or 2586 float parse "1.0e-100" <> 1.0e-100 or 2587 float parse "1.0e-99" <> 1.0e-99 or 2588 float parse "1.0e-75" <> 1.0e-75 or 2589 float parse "1.0e-50" <> 1.0e-50 or 2590 float parse "1.0e-25" <> 1.0e-25 or 2591 float parse "1.0e-20" <> 1.0e-20 or 2592 float parse "1.0e-15" <> 1.0e-15 or 2593 float parse "1.0e-11" <> 1.0e-11 or 2594 float parse "1.0e-10" <> 1.0e-10 or 2595 float parse "1.0e-9" <> 1.0e-9 or 2596 float parse "1.0e-2" <> 1.0e-2 or 2597 float parse "1.0e-1" <> 1.0e-1 or 2598 float parse "1.0e0" <> 1.0e0 or 2599 float parse "1.0e1" <> 1.0e1 or 2600 float parse "1.0e2" <> 1.0e2 or 2601 float parse "1.0e9" <> 1.0e9 or 2602 float parse "1.0e10" <> 1.0e10 or 2603 float parse "1.0e11" <> 1.0e11 or 2604 float parse "1.0e15" <> 1.0e15 or 2605 float parse "1.0e20" <> 1.0e20 or 2606 float parse "1.0e25" <> 1.0e25 or 2607 float parse "1.0e50" <> 1.0e50 or 2608 float parse "1.0e75" <> 1.0e75 or 2609 float parse "1.0e99" <> 1.0e99 or 2610 float parse "1.0e100" <> 1.0e100 or 2611 float parse "1.0e101" <> 1.0e101 or 2612 float parse "1.0e125" <> 1.0e125 or 2613 float parse "1.0e150" <> 1.0e150 or 2614 float parse "1.0e175" <> 1.0e175 or 2615 float parse "1.0e200" <> 1.0e200 or 2616 float parse "1.0e225" <> 1.0e225 or 2617 float parse "1.0e250" <> 1.0e250 or 2618 float parse "1.0e275" <> 1.0e275 or 2619 float parse "1.0e300" <> 1.0e300 or 2620 float parse "1.0e307" <> 1.0e307 or 2621 float parse "1.0e308" <> 1.0e308 or 2622 float parse striExpr("1.0e-308") <> 1.0e-308 or 2623 float parse striExpr("1.0e-307") <> 1.0e-307 or 2624 float parse striExpr("1.0e-300") <> 1.0e-300 or 2625 float parse striExpr("1.0e-275") <> 1.0e-275 or 2626 float parse striExpr("1.0e-250") <> 1.0e-250 or 2627 float parse striExpr("1.0e-225") <> 1.0e-225 or 2628 float parse striExpr("1.0e-200") <> 1.0e-200 or 2629 float parse striExpr("1.0e-175") <> 1.0e-175 or 2630 float parse striExpr("1.0e-150") <> 1.0e-150 or 2631 float parse striExpr("1.0e-125") <> 1.0e-125 or 2632 float parse striExpr("1.0e-101") <> 1.0e-101 or 2633 float parse striExpr("1.0e-100") <> 1.0e-100 or 2634 float parse striExpr("1.0e-99") <> 1.0e-99 or 2635 float parse striExpr("1.0e-75") <> 1.0e-75 or 2636 float parse striExpr("1.0e-50") <> 1.0e-50 or 2637 float parse striExpr("1.0e-25") <> 1.0e-25 or 2638 float parse striExpr("1.0e-20") <> 1.0e-20 or 2639 float parse striExpr("1.0e-15") <> 1.0e-15 or 2640 float parse striExpr("1.0e-11") <> 1.0e-11 or 2641 float parse striExpr("1.0e-10") <> 1.0e-10 or 2642 float parse striExpr("1.0e-9") <> 1.0e-9 or 2643 float parse striExpr("1.0e-2") <> 1.0e-2 or 2644 float parse striExpr("1.0e-1") <> 1.0e-1 or 2645 float parse striExpr("1.0e0") <> 1.0e0 or 2646 float parse striExpr("1.0e1") <> 1.0e1 or 2647 float parse striExpr("1.0e2") <> 1.0e2 or 2648 float parse striExpr("1.0e9") <> 1.0e9 or 2649 float parse striExpr("1.0e10") <> 1.0e10 or 2650 float parse striExpr("1.0e11") <> 1.0e11 or 2651 float parse striExpr("1.0e15") <> 1.0e15 or 2652 float parse striExpr("1.0e20") <> 1.0e20 or 2653 float parse striExpr("1.0e25") <> 1.0e25 or 2654 float parse striExpr("1.0e50") <> 1.0e50 or 2655 float parse striExpr("1.0e75") <> 1.0e75 or 2656 float parse striExpr("1.0e99") <> 1.0e99 or 2657 float parse striExpr("1.0e100") <> 1.0e100 or 2658 float parse striExpr("1.0e101") <> 1.0e101 or 2659 float parse striExpr("1.0e125") <> 1.0e125 or 2660 float parse striExpr("1.0e150") <> 1.0e150 or 2661 float parse striExpr("1.0e175") <> 1.0e175 or 2662 float parse striExpr("1.0e200") <> 1.0e200 or 2663 float parse striExpr("1.0e225") <> 1.0e225 or 2664 float parse striExpr("1.0e250") <> 1.0e250 or 2665 float parse striExpr("1.0e275") <> 1.0e275 or 2666 float parse striExpr("1.0e300") <> 1.0e300 or 2667 float parse striExpr("1.0e307") <> 1.0e307 or 2668 float parse striExpr("1.0e308") <> 1.0e308 then 2669 writeln(" ***** Parse operator for float with exponent does not work correct."); 2670 okay := FALSE; 2671 end if; 2672 2673 if float parse str(1.0e-308) <> 1.0e-308 or 2674 float parse str(1.0e-307) <> 1.0e-307 or 2675 float parse str(1.0e-300) <> 1.0e-300 or 2676 float parse str(1.0e-275) <> 1.0e-275 or 2677 float parse str(1.0e-250) <> 1.0e-250 or 2678 float parse str(1.0e-225) <> 1.0e-225 or 2679 float parse str(1.0e-200) <> 1.0e-200 or 2680 float parse str(1.0e-175) <> 1.0e-175 or 2681 float parse str(1.0e-150) <> 1.0e-150 or 2682 float parse str(1.0e-125) <> 1.0e-125 or 2683 float parse str(1.0e-101) <> 1.0e-101 or 2684 float parse str(1.0e-100) <> 1.0e-100 or 2685 float parse str(1.0e-99) <> 1.0e-99 or 2686 float parse str(1.0e-75) <> 1.0e-75 or 2687 float parse str(1.0e-50) <> 1.0e-50 or 2688 float parse str(1.0e-25) <> 1.0e-25 or 2689 float parse str(1.0e-20) <> 1.0e-20 or 2690 float parse str(1.0e-15) <> 1.0e-15 or 2691 float parse str(1.0e-11) <> 1.0e-11 or 2692 float parse str(1.0e-10) <> 1.0e-10 or 2693 float parse str(1.0e-9) <> 1.0e-9 or 2694 float parse str(1.0e-2) <> 1.0e-2 or 2695 float parse str(1.0e-1) <> 1.0e-1 or 2696 float parse str(1.0e0) <> 1.0e0 or 2697 float parse str(1.0e1) <> 1.0e1 or 2698 float parse str(1.0e2) <> 1.0e2 or 2699 float parse str(1.0e9) <> 1.0e9 or 2700 float parse str(1.0e10) <> 1.0e10 or 2701 float parse str(1.0e11) <> 1.0e11 or 2702 float parse str(1.0e15) <> 1.0e15 or 2703 float parse str(1.0e20) <> 1.0e20 or 2704 float parse str(1.0e25) <> 1.0e25 or 2705 float parse str(1.0e50) <> 1.0e50 or 2706 float parse str(1.0e75) <> 1.0e75 or 2707 float parse str(1.0e99) <> 1.0e99 or 2708 float parse str(1.0e100) <> 1.0e100 or 2709 float parse str(1.0e101) <> 1.0e101 or 2710 float parse str(1.0e125) <> 1.0e125 or 2711 float parse str(1.0e150) <> 1.0e150 or 2712 float parse str(1.0e175) <> 1.0e175 or 2713 float parse str(1.0e200) <> 1.0e200 or 2714 float parse str(1.0e225) <> 1.0e225 or 2715 float parse str(1.0e250) <> 1.0e250 or 2716 float parse str(1.0e275) <> 1.0e275 or 2717 float parse str(1.0e300) <> 1.0e300 or 2718 float parse str(1.0e307) <> 1.0e307 or 2719 float parse str(1.0e308) <> 1.0e308 or 2720 float parse str(floatExpr(1.0e-308)) <> 1.0e-308 or 2721 float parse str(floatExpr(1.0e-307)) <> 1.0e-307 or 2722 float parse str(floatExpr(1.0e-300)) <> 1.0e-300 or 2723 float parse str(floatExpr(1.0e-275)) <> 1.0e-275 or 2724 float parse str(floatExpr(1.0e-250)) <> 1.0e-250 or 2725 float parse str(floatExpr(1.0e-225)) <> 1.0e-225 or 2726 float parse str(floatExpr(1.0e-200)) <> 1.0e-200 or 2727 float parse str(floatExpr(1.0e-175)) <> 1.0e-175 or 2728 float parse str(floatExpr(1.0e-150)) <> 1.0e-150 or 2729 float parse str(floatExpr(1.0e-125)) <> 1.0e-125 or 2730 float parse str(floatExpr(1.0e-101)) <> 1.0e-101 or 2731 float parse str(floatExpr(1.0e-100)) <> 1.0e-100 or 2732 float parse str(floatExpr(1.0e-99)) <> 1.0e-99 or 2733 float parse str(floatExpr(1.0e-75)) <> 1.0e-75 or 2734 float parse str(floatExpr(1.0e-50)) <> 1.0e-50 or 2735 float parse str(floatExpr(1.0e-25)) <> 1.0e-25 or 2736 float parse str(floatExpr(1.0e-20)) <> 1.0e-20 or 2737 float parse str(floatExpr(1.0e-15)) <> 1.0e-15 or 2738 float parse str(floatExpr(1.0e-11)) <> 1.0e-11 or 2739 float parse str(floatExpr(1.0e-10)) <> 1.0e-10 or 2740 float parse str(floatExpr(1.0e-9)) <> 1.0e-9 or 2741 float parse str(floatExpr(1.0e-2)) <> 1.0e-2 or 2742 float parse str(floatExpr(1.0e-1)) <> 1.0e-1 or 2743 float parse str(floatExpr(1.0e0)) <> 1.0e0 or 2744 float parse str(floatExpr(1.0e1)) <> 1.0e1 or 2745 float parse str(floatExpr(1.0e2)) <> 1.0e2 or 2746 float parse str(floatExpr(1.0e9)) <> 1.0e9 or 2747 float parse str(floatExpr(1.0e10)) <> 1.0e10 or 2748 float parse str(floatExpr(1.0e11)) <> 1.0e11 or 2749 float parse str(floatExpr(1.0e15)) <> 1.0e15 or 2750 float parse str(floatExpr(1.0e20)) <> 1.0e20 or 2751 float parse str(floatExpr(1.0e25)) <> 1.0e25 or 2752 float parse str(floatExpr(1.0e50)) <> 1.0e50 or 2753 float parse str(floatExpr(1.0e75)) <> 1.0e75 or 2754 float parse str(floatExpr(1.0e99)) <> 1.0e99 or 2755 float parse str(floatExpr(1.0e100)) <> 1.0e100 or 2756 float parse str(floatExpr(1.0e101)) <> 1.0e101 or 2757 float parse str(floatExpr(1.0e125)) <> 1.0e125 or 2758 float parse str(floatExpr(1.0e150)) <> 1.0e150 or 2759 float parse str(floatExpr(1.0e175)) <> 1.0e175 or 2760 float parse str(floatExpr(1.0e200)) <> 1.0e200 or 2761 float parse str(floatExpr(1.0e225)) <> 1.0e225 or 2762 float parse str(floatExpr(1.0e250)) <> 1.0e250 or 2763 float parse str(floatExpr(1.0e275)) <> 1.0e275 or 2764 float parse str(floatExpr(1.0e300)) <> 1.0e300 or 2765 float parse str(floatExpr(1.0e307)) <> 1.0e307 or 2766 float parse str(floatExpr(1.0e308)) <> 1.0e308 then 2767 writeln(" ***** Convert float to string and parse back to float does not work correct."); 2768 okay := FALSE; 2769 end if; 2770 2771 if not raisesRangeError(float parse " 0.0" ) or 2772 not raisesRangeError(float parse "asdf" ) or 2773 not raisesRangeError(float parse "0.0a" ) or 2774 not raisesRangeError(float parse "1,2" ) or 2775 not raisesRangeError(float parse "0x1" ) or 2776 not raisesRangeError(float parse "0X1" ) or 2777 not raisesRangeError(float parse "0x1.2" ) or 2778 not raisesRangeError(float parse "0X1.3" ) or 2779 not raisesRangeError(float parse "€" ) or 2780 not raisesRangeError(float parse striExpr( " 0.0")) or 2781 not raisesRangeError(float parse striExpr( "asdf")) or 2782 not raisesRangeError(float parse striExpr( "0.0a")) or 2783 not raisesRangeError(float parse striExpr( "1,2")) or 2784 not raisesRangeError(float parse striExpr( "0x1")) or 2785 not raisesRangeError(float parse striExpr( "0X1")) or 2786 not raisesRangeError(float parse striExpr("0x1.2")) or 2787 not raisesRangeError(float parse striExpr("0X1.3")) or 2788 not raisesRangeError(float parse striExpr( "€")) then 2789 writeln(" ***** Parse operator for float with illegal literal does not raise RANGE_ERROR."); 2790 okay := FALSE; 2791 end if; 2792 2793 if float( "0.0" ) <> 0.0 or 2794 float( "-0.0" ) <> 0.0 or 2795 float( "1.0" ) <> 1.0 or 2796 float( "-1.0" ) <> -1.0 or 2797 float( "Infinity" ) <> Infinity or 2798 float( "-Infinity" ) <> -Infinity or 2799 not isNaN(float( "NaN")) or 2800 float(striExpr( "0.0")) <> 0.0 or 2801 float(striExpr( "-0.0")) <> 0.0 or 2802 float(striExpr( "1.0")) <> 1.0 or 2803 float(striExpr( "-1.0")) <> -1.0 or 2804 float(striExpr( "Infinity")) <> Infinity or 2805 float(striExpr( "-Infinity")) <> -Infinity or 2806 not isNaN(float(striExpr("NaN"))) or 2807 float( "123.456000000000000000000000000000000" ) <> 123.456 or 2808 float( "+123.456000000000000000000000000000000" ) <> 123.456 or 2809 float( "-123.456000000000000000000000000000000" ) <> -123.456 or 2810 float( "0.00000000000000000000000000000000001" ) <> 1.0e-35 or 2811 float( "+0.00000000000000000000000000000000001" ) <> 1.0e-35 or 2812 float( "-0.00000000000000000000000000000000001" ) <> -1.0e-35 or 2813 float( "00000000000000000000000000000000000.5" ) <> 0.5 or 2814 float( "+00000000000000000000000000000000000.5" ) <> 0.5 or 2815 float( "-00000000000000000000000000000000000.5" ) <> -0.5 or 2816 float(striExpr( "123.456000000000000000000000000000000")) <> 123.456 or 2817 float(striExpr("+123.456000000000000000000000000000000")) <> 123.456 or 2818 float(striExpr("-123.456000000000000000000000000000000")) <> -123.456 or 2819 float(striExpr( "0.00000000000000000000000000000000001")) <> 1.0e-35 or 2820 float(striExpr("+0.00000000000000000000000000000000001")) <> 1.0e-35 or 2821 float(striExpr("-0.00000000000000000000000000000000001")) <> -1.0e-35 or 2822 float(striExpr( "00000000000000000000000000000000000.5")) <> 0.5 or 2823 float(striExpr("+00000000000000000000000000000000000.5")) <> 0.5 or 2824 float(striExpr("-00000000000000000000000000000000000.5")) <> -0.5 or 2825 float( "1.0") <> 1.0 or 2826 float( "2.0") <> 2.0 or 2827 float( "4.0") <> 4.0 or 2828 float( "8.0") <> 8.0 or 2829 float( "16.0") <> 16.0 or 2830 float( "32.0") <> 32.0 or 2831 float( "64.0") <> 64.0 or 2832 float( "128.0") <> 128.0 or 2833 float( "256.0") <> 256.0 or 2834 float( "512.0") <> 512.0 or 2835 float( "1024.0") <> 1024.0 or 2836 float( "2048.0") <> 2048.0 or 2837 float( "4096.0") <> 4096.0 or 2838 float( "8192.0") <> 8192.0 or 2839 float( "16384.0") <> 16384.0 or 2840 float( "32768.0") <> 32768.0 or 2841 float( "65536.0") <> 65536.0 or 2842 float( "131072.0") <> 131072.0 or 2843 float( "262144.0") <> 262144.0 or 2844 float( "524288.0") <> 524288.0 or 2845 float( "1048576.0") <> 1048576.0 or 2846 float( "2097152.0") <> 2097152.0 or 2847 float( "4194304.0") <> 4194304.0 or 2848 float( "8388608.0") <> 8388608.0 or 2849 float( "16777216.0") <> 16777216.0 or 2850 float( "33554432.0") <> 33554432.0 or 2851 float( "67108864.0") <> 67108864.0 or 2852 float( "134217728.0") <> 134217728.0 or 2853 float( "268435456.0") <> 268435456.0 or 2854 float( "536870912.0") <> 536870912.0 or 2855 float( "1073741824.0") <> 1073741824.0 or 2856 float( "2147483648.0") <> 2147483648.0 or 2857 float( "4294967296.0") <> 4294967296.0 or 2858 float( "8589934592.0") <> 8589934592.0 or 2859 float( "17179869184.0") <> 17179869184.0 or 2860 float( "34359738368.0") <> 34359738368.0 or 2861 float( "68719476736.0") <> 68719476736.0 or 2862 float( "137438953472.0") <> 137438953472.0 or 2863 float( "274877906944.0") <> 274877906944.0 or 2864 float( "549755813888.0") <> 549755813888.0 or 2865 float( "1099511627776.0") <> 1099511627776.0 or 2866 float( "2199023255552.0") <> 2199023255552.0 or 2867 float( "4398046511104.0") <> 4398046511104.0 or 2868 float( "8796093022208.0") <> 8796093022208.0 or 2869 float( "17592186044416.0") <> 17592186044416.0 or 2870 float( "35184372088832.0") <> 35184372088832.0 or 2871 float( "70368744177664.0") <> 70368744177664.0 or 2872 float( "140737488355328.0") <> 140737488355328.0 or 2873 float( "281474976710656.0") <> 281474976710656.0 or 2874 float( "562949953421312.0") <> 562949953421312.0 or 2875 float( "1125899906842624.0") <> 1125899906842624.0 or 2876 float( "2251799813685248.0") <> 2251799813685248.0 or 2877 float( "4503599627370496.0") <> 4503599627370496.0 or 2878 float( "9007199254740992.0") <> 9007199254740992.0 or 2879 float( "18014398509481984.0") <> 18014398509481984.0 or 2880 float( "36028797018963968.0") <> 36028797018963968.0 or 2881 float( "72057594037927936.0") <> 72057594037927936.0 or 2882 float( "144115188075855872.0") <> 144115188075855872.0 or 2883 float( "288230376151711744.0") <> 288230376151711744.0 or 2884 float( "576460752303423488.0") <> 576460752303423488.0 or 2885 float( "1152921504606846976.0") <> 1152921504606846976.0 or 2886 float( "2305843009213693952.0") <> 2305843009213693952.0 or 2887 float( "4611686018427387904.0") <> 4611686018427387904.0 or 2888 float( "9223372036854775808.0") <> 9223372036854775808.0 or 2889 float( "18446744073709551616.0") <> 18446744073709551616.0 or 2890 float( "36893488147419103232.0") <> 36893488147419103232.0 or 2891 float( "73786976294838206464.0") <> 73786976294838206464.0 or 2892 float( "147573952589676412928.0") <> 147573952589676412928.0 or 2893 float( "295147905179352825856.0") <> 295147905179352825856.0 or 2894 float( "590295810358705651712.0") <> 590295810358705651712.0 or 2895 float( "1180591620717411303424.0") <> 1180591620717411303424.0 or 2896 float( "2361183241434822606848.0") <> 2361183241434822606848.0 or 2897 float( "4722366482869645213696.0") <> 4722366482869645213696.0 or 2898 float( "9444732965739290427392.0") <> 9444732965739290427392.0 or 2899 float( "18889465931478580854784.0") <> 18889465931478580854784.0 or 2900 float( "37778931862957161709568.0") <> 37778931862957161709568.0 or 2901 float( "75557863725914323419136.0") <> 75557863725914323419136.0 or 2902 float( "151115727451828646838272.0") <> 151115727451828646838272.0 or 2903 float( "302231454903657293676544.0") <> 302231454903657293676544.0 or 2904 float( "604462909807314587353088.0") <> 604462909807314587353088.0 or 2905 float( "1208925819614629174706176.0") <> 1208925819614629174706176.0 or 2906 float( "2417851639229258349412352.0") <> 2417851639229258349412352.0 or 2907 float( "4835703278458516698824704.0") <> 4835703278458516698824704.0 or 2908 float( "9671406556917033397649408.0") <> 9671406556917033397649408.0 or 2909 float( "19342813113834066795298816.0") <> 19342813113834066795298816.0 or 2910 float( "38685626227668133590597632.0") <> 38685626227668133590597632.0 or 2911 float( "77371252455336267181195264.0") <> 77371252455336267181195264.0 or 2912 float( "15474250491067253436239052.0") <> 15474250491067253436239052.0 or 2913 float( "30948500982134506872478105.0") <> 30948500982134506872478105.0 or 2914 float( "618970019642690137449562112.0") <> 618970019642690137449562112.0 or 2915 float( "1237940039285380274899124224.0") <> 1237940039285380274899124224.0 or 2916 float( "2475880078570760549798248448.0") <> 2475880078570760549798248448.0 or 2917 float( "4951760157141521099596496896.0") <> 4951760157141521099596496896.0 or 2918 float( "9903520314283042199192993792.0") <> 9903520314283042199192993792.0 or 2919 float( "19807040628566084398385987584.0") <> 19807040628566084398385987584.0 or 2920 float( "39614081257132168796771975168.0") <> 39614081257132168796771975168.0 or 2921 float( "79228162514264337593543950336.0") <> 79228162514264337593543950336.0 or 2922 float( "158456325028528675187087900672.0") <> 158456325028528675187087900672.0 or 2923 float( "316912650057057350374175801344.0") <> 316912650057057350374175801344.0 or 2924 float( "633825300114114700748351602688.0") <> 633825300114114700748351602688.0 or 2925 float("1267650600228229401496703205376.0") <> 1267650600228229401496703205376.0 or 2926 float("0.5") <> 0.5 or 2927 float("0.25") <> 0.25 or 2928 float("0.125") <> 0.125 or 2929 float("0.0625") <> 0.0625 or 2930 float("0.03125") <> 0.03125 or 2931 float("0.015625") <> 0.015625 or 2932 float("0.0078125") <> 0.0078125 or 2933 float("0.00390625") <> 0.00390625 or 2934 float("0.001953125") <> 0.001953125 or 2935 float("0.0009765625") <> 0.0009765625 or 2936 float("0.00048828125") <> 0.00048828125 or 2937 float("0.000244140625") <> 0.000244140625 or 2938 float("0.0001220703125") <> 0.0001220703125 or 2939 float("0.00006103515625") <> 0.00006103515625 or 2940 float("0.000030517578125") <> 0.000030517578125 or 2941 float("0.0000152587890625") <> 0.0000152587890625 or 2942 float("0.00000762939453125") <> 0.00000762939453125 or 2943 float("0.000003814697265625") <> 0.000003814697265625 or 2944 float("0.0000019073486328125") <> 0.0000019073486328125 or 2945 float("0.00000095367431640625") <> 0.00000095367431640625 or 2946 float("0.000000476837158203125") <> 0.000000476837158203125 or 2947 float("0.0000002384185791015625") <> 0.0000002384185791015625 or 2948 float("0.00000011920928955078125") <> 0.00000011920928955078125 or 2949 float("0.000000059604644775390625") <> 0.000000059604644775390625 or 2950 float("0.0000000298023223876953125") <> 0.0000000298023223876953125 or 2951 float("0.00000001490116119384765625") <> 0.00000001490116119384765625 or 2952 float("0.000000007450580596923828125") <> 0.000000007450580596923828125 or 2953 float("0.0000000037252902984619140625") <> 0.0000000037252902984619140625 or 2954 float("0.00000000186264514923095703125") <> 0.00000000186264514923095703125 or 2955 float("0.000000000931322574615478515625") <> 0.000000000931322574615478515625 or 2956 float("0.0000000004656612873077392578125") <> 0.0000000004656612873077392578125 or 2957 float("0.00000000023283064365386962890625")<> 0.00000000023283064365386962890625 or 2958 float("0.000000000116415321826934814453125") <> 2959 0.000000000116415321826934814453125 or 2960 float("0.0000000000582076609134674072265625") <> 2961 0.0000000000582076609134674072265625 or 2962 float("0.00000000002910383045673370361328125") <> 2963 0.00000000002910383045673370361328125 or 2964 float("0.000000000014551915228366851806640625") <> 2965 0.000000000014551915228366851806640625 or 2966 float("0.0000000000072759576141834259033203125") <> 2967 0.0000000000072759576141834259033203125 or 2968 float("0.00000000000363797880709171295166015625") <> 2969 0.00000000000363797880709171295166015625 or 2970 float("0.000000000001818989403545856475830078125") <> 2971 0.000000000001818989403545856475830078125 or 2972 float("0.0000000000009094947017729282379150390625") <> 2973 0.0000000000009094947017729282379150390625 or 2974 float("0.00000000000045474735088646411895751953125") <> 2975 0.00000000000045474735088646411895751953125 or 2976 float("0.000000000000227373675443232059478759765625") <> 2977 0.000000000000227373675443232059478759765625 or 2978 float("0.0000000000001136868377216160297393798828125") <> 2979 0.0000000000001136868377216160297393798828125 or 2980 float("0.00000000000005684341886080801486968994140625") <> 2981 0.00000000000005684341886080801486968994140625 or 2982 float("0.000000000000028421709430404007434844970703125") <> 2983 0.000000000000028421709430404007434844970703125 or 2984 float("0.0000000000000142108547152020037174224853515625") <> 2985 0.0000000000000142108547152020037174224853515625 or 2986 float("0.00000000000000710542735760100185871124267578125") <> 2987 0.00000000000000710542735760100185871124267578125 or 2988 float("0.000000000000003552713678800500929355621337890625") <> 2989 0.000000000000003552713678800500929355621337890625 or 2990 float("0.0000000000000017763568394002504646778106689453125") <> 2991 0.0000000000000017763568394002504646778106689453125 or 2992 float("0.00000000000000088817841970012523233890533447265625") <> 2993 0.00000000000000088817841970012523233890533447265625 or 2994 float("0.000000000000000444089209850062616169452667236328125") <> 2995 0.000000000000000444089209850062616169452667236328125 or 2996 float("0.0000000000000002220446049250313080847263336181640625") <> 2997 0.0000000000000002220446049250313080847263336181640625 or 2998 float("0.00000000000000011102230246251565404236316680908203125") <> 2999 0.00000000000000011102230246251565404236316680908203125 or 3000 float("0.000000000000000055511151231257827021181583404541015625") <> 3001 0.000000000000000055511151231257827021181583404541015625 or 3002 float("0.0000000000000000277555756156289135105907917022705078125") <> 3003 0.0000000000000000277555756156289135105907917022705078125 or 3004 float("0.00000000000000001387778780781445675529539585113525390625") <> 3005 0.00000000000000001387778780781445675529539585113525390625 or 3006 float("0.000000000000000006938893903907228377647697925567626953125") <> 3007 0.000000000000000006938893903907228377647697925567626953125 or 3008 float("0.0000000000000000034694469519536141888238489627838134765625") <> 3009 0.0000000000000000034694469519536141888238489627838134765625 or 3010 float("0.00000000000000000173472347597680709441192448139190673828125") <> 3011 0.00000000000000000173472347597680709441192448139190673828125 or 3012 float("0.000000000000000000867361737988403547205962240695953369140625") <> 3013 0.000000000000000000867361737988403547205962240695953369140625 or 3014 float("0.0000000000000000004336808689942017736029811203479766845703125") <> 3015 0.0000000000000000004336808689942017736029811203479766845703125 or 3016 float("0.00000000000000000021684043449710088680149056017398834228515625") <> 3017 0.00000000000000000021684043449710088680149056017398834228515625 or 3018 float("0.000000000000000000108420217248550443400745280086994171142578125") <> 3019 0.000000000000000000108420217248550443400745280086994171142578125 or 3020 float("0.0000000000000000000542101086242752217003726400434970855712890625") <> 3021 0.0000000000000000000542101086242752217003726400434970855712890625 or 3022 float("0.00000000000000000002710505431213761085018632002174854278564453125") <> 3023 0.00000000000000000002710505431213761085018632002174854278564453125 or 3024 float("0.000000000000000000013552527156068805425093160010874271392822265625") <> 3025 0.000000000000000000013552527156068805425093160010874271392822265625 or 3026 float("0.0000000000000000000067762635780344027125465800054371356964111328125") <> 3027 0.0000000000000000000067762635780344027125465800054371356964111328125 or 3028 float("0.00000000000000000000338813178901720135627329000271856784820556640625") <> 3029 0.00000000000000000000338813178901720135627329000271856784820556640625 or 3030 float("0.000000000000000000001694065894508600678136645001359283924102783203125") <> 3031 0.000000000000000000001694065894508600678136645001359283924102783203125 or 3032 float("0.0000000000000000000008470329472543003390683225006796419620513916015625") <> 3033 0.0000000000000000000008470329472543003390683225006796419620513916015625 or 3034 float("0.00000000000000000000042351647362715016953416125033982098102569580078125") <> 3035 0.00000000000000000000042351647362715016953416125033982098102569580078125 or 3036 float("0.000000000000000000000211758236813575084767080625169910490512847900390625") <> 3037 0.000000000000000000000211758236813575084767080625169910490512847900390625 or 3038 float("0.0000000000000000000001058791184067875423835403125849552452564239501953125") <> 3039 0.0000000000000000000001058791184067875423835403125849552452564239501953125 or 3040 float("0.00000000000000000000005293955920339377119177015629247762262821197509765625") <> 3041 0.00000000000000000000005293955920339377119177015629247762262821197509765625 or 3042 float("0.000000000000000000000026469779601696885595885078146238811314105987548828125") <> 3043 0.000000000000000000000026469779601696885595885078146238811314105987548828125 then 3044 writeln(" ***** Parse operator for float does not work correct."); 3045 okay := FALSE; 3046 end if; 3047 3048 if float( "9007199254740991.0") <> 9007199254740991.0 or 3049 float("-9007199254740991.0") <> -9007199254740991.0 or 3050 float( "9007199254740991.0") <> 9007199254740990.0 + 1.0 or 3051 float("-9007199254740991.0") <> -9007199254740990.0 - 1.0 or 3052 float(striExpr( "9007199254740991.0")) <> 9007199254740991.0 or 3053 float(striExpr("-9007199254740991.0")) <> -9007199254740991.0 or 3054 float(striExpr( "9007199254740991.0")) <> 9007199254740990.0 + 1.0 or 3055 float(striExpr("-9007199254740991.0")) <> -9007199254740990.0 - 1.0 then 3056 writeln(" ***** Parse operator for maximum or minimum odd value does not work correct."); 3057 okay := FALSE; 3058 end if; 3059 3060 if float("1.0e-308") <> 1.0e-308 or 3061 float("1.0e-307") <> 1.0e-307 or 3062 float("1.0e-300") <> 1.0e-300 or 3063 float("1.0e-275") <> 1.0e-275 or 3064 float("1.0e-250") <> 1.0e-250 or 3065 float("1.0e-225") <> 1.0e-225 or 3066 float("1.0e-200") <> 1.0e-200 or 3067 float("1.0e-175") <> 1.0e-175 or 3068 float("1.0e-150") <> 1.0e-150 or 3069 float("1.0e-125") <> 1.0e-125 or 3070 float("1.0e-101") <> 1.0e-101 or 3071 float("1.0e-100") <> 1.0e-100 or 3072 float("1.0e-99" ) <> 1.0e-99 or 3073 float("1.0e-75" ) <> 1.0e-75 or 3074 float("1.0e-50" ) <> 1.0e-50 or 3075 float("1.0e-25" ) <> 1.0e-25 or 3076 float("1.0e-20" ) <> 1.0e-20 or 3077 float("1.0e-15" ) <> 1.0e-15 or 3078 float("1.0e-11" ) <> 1.0e-11 or 3079 float("1.0e-10" ) <> 1.0e-10 or 3080 float("1.0e-9" ) <> 1.0e-9 or 3081 float("1.0e-2" ) <> 1.0e-2 or 3082 float("1.0e-1" ) <> 1.0e-1 or 3083 float("1.0e0" ) <> 1.0e0 or 3084 float("1.0e1" ) <> 1.0e1 or 3085 float("1.0e2" ) <> 1.0e2 or 3086 float("1.0e9" ) <> 1.0e9 or 3087 float("1.0e10" ) <> 1.0e10 or 3088 float("1.0e11" ) <> 1.0e11 or 3089 float("1.0e15" ) <> 1.0e15 or 3090 float("1.0e20" ) <> 1.0e20 or 3091 float("1.0e25" ) <> 1.0e25 or 3092 float("1.0e50" ) <> 1.0e50 or 3093 float("1.0e75" ) <> 1.0e75 or 3094 float("1.0e99" ) <> 1.0e99 or 3095 float("1.0e100" ) <> 1.0e100 or 3096 float("1.0e101" ) <> 1.0e101 or 3097 float("1.0e125" ) <> 1.0e125 or 3098 float("1.0e150" ) <> 1.0e150 or 3099 float("1.0e175" ) <> 1.0e175 or 3100 float("1.0e200" ) <> 1.0e200 or 3101 float("1.0e225" ) <> 1.0e225 or 3102 float("1.0e250" ) <> 1.0e250 or 3103 float("1.0e275" ) <> 1.0e275 or 3104 float("1.0e300" ) <> 1.0e300 or 3105 float("1.0e307" ) <> 1.0e307 or 3106 float("1.0e308" ) <> 1.0e308 or 3107 float(striExpr("1.0e-308")) <> 1.0e-308 or 3108 float(striExpr("1.0e-307")) <> 1.0e-307 or 3109 float(striExpr("1.0e-300")) <> 1.0e-300 or 3110 float(striExpr("1.0e-275")) <> 1.0e-275 or 3111 float(striExpr("1.0e-250")) <> 1.0e-250 or 3112 float(striExpr("1.0e-225")) <> 1.0e-225 or 3113 float(striExpr("1.0e-200")) <> 1.0e-200 or 3114 float(striExpr("1.0e-175")) <> 1.0e-175 or 3115 float(striExpr("1.0e-150")) <> 1.0e-150 or 3116 float(striExpr("1.0e-125")) <> 1.0e-125 or 3117 float(striExpr("1.0e-101")) <> 1.0e-101 or 3118 float(striExpr("1.0e-100")) <> 1.0e-100 or 3119 float(striExpr("1.0e-99" )) <> 1.0e-99 or 3120 float(striExpr("1.0e-75" )) <> 1.0e-75 or 3121 float(striExpr("1.0e-50" )) <> 1.0e-50 or 3122 float(striExpr("1.0e-25" )) <> 1.0e-25 or 3123 float(striExpr("1.0e-20" )) <> 1.0e-20 or 3124 float(striExpr("1.0e-15" )) <> 1.0e-15 or 3125 float(striExpr("1.0e-11" )) <> 1.0e-11 or 3126 float(striExpr("1.0e-10" )) <> 1.0e-10 or 3127 float(striExpr("1.0e-9" )) <> 1.0e-9 or 3128 float(striExpr("1.0e-2" )) <> 1.0e-2 or 3129 float(striExpr("1.0e-1" )) <> 1.0e-1 or 3130 float(striExpr("1.0e0" )) <> 1.0e0 or 3131 float(striExpr("1.0e1" )) <> 1.0e1 or 3132 float(striExpr("1.0e2" )) <> 1.0e2 or 3133 float(striExpr("1.0e9" )) <> 1.0e9 or 3134 float(striExpr("1.0e10" )) <> 1.0e10 or 3135 float(striExpr("1.0e11" )) <> 1.0e11 or 3136 float(striExpr("1.0e15" )) <> 1.0e15 or 3137 float(striExpr("1.0e20" )) <> 1.0e20 or 3138 float(striExpr("1.0e25" )) <> 1.0e25 or 3139 float(striExpr("1.0e50" )) <> 1.0e50 or 3140 float(striExpr("1.0e75" )) <> 1.0e75 or 3141 float(striExpr("1.0e99" )) <> 1.0e99 or 3142 float(striExpr("1.0e100" )) <> 1.0e100 or 3143 float(striExpr("1.0e101" )) <> 1.0e101 or 3144 float(striExpr("1.0e125" )) <> 1.0e125 or 3145 float(striExpr("1.0e150" )) <> 1.0e150 or 3146 float(striExpr("1.0e175" )) <> 1.0e175 or 3147 float(striExpr("1.0e200" )) <> 1.0e200 or 3148 float(striExpr("1.0e225" )) <> 1.0e225 or 3149 float(striExpr("1.0e250" )) <> 1.0e250 or 3150 float(striExpr("1.0e275" )) <> 1.0e275 or 3151 float(striExpr("1.0e300" )) <> 1.0e300 or 3152 float(striExpr("1.0e307" )) <> 1.0e307 or 3153 float(striExpr("1.0e308" )) <> 1.0e308 then 3154 writeln(" ***** Parse operator for float with exponent does not work correct."); 3155 okay := FALSE; 3156 end if; 3157 3158 if float(str(1.0e-308)) <> 1.0e-308 or 3159 float(str(1.0e-307)) <> 1.0e-307 or 3160 float(str(1.0e-300)) <> 1.0e-300 or 3161 float(str(1.0e-275)) <> 1.0e-275 or 3162 float(str(1.0e-250)) <> 1.0e-250 or 3163 float(str(1.0e-225)) <> 1.0e-225 or 3164 float(str(1.0e-200)) <> 1.0e-200 or 3165 float(str(1.0e-175)) <> 1.0e-175 or 3166 float(str(1.0e-150)) <> 1.0e-150 or 3167 float(str(1.0e-125)) <> 1.0e-125 or 3168 float(str(1.0e-101)) <> 1.0e-101 or 3169 float(str(1.0e-100)) <> 1.0e-100 or 3170 float(str(1.0e-99 )) <> 1.0e-99 or 3171 float(str(1.0e-75 )) <> 1.0e-75 or 3172 float(str(1.0e-50 )) <> 1.0e-50 or 3173 float(str(1.0e-25 )) <> 1.0e-25 or 3174 float(str(1.0e-20 )) <> 1.0e-20 or 3175 float(str(1.0e-15 )) <> 1.0e-15 or 3176 float(str(1.0e-11 )) <> 1.0e-11 or 3177 float(str(1.0e-10 )) <> 1.0e-10 or 3178 float(str(1.0e-9 )) <> 1.0e-9 or 3179 float(str(1.0e-2 )) <> 1.0e-2 or 3180 float(str(1.0e-1 )) <> 1.0e-1 or 3181 float(str(1.0e0 )) <> 1.0e0 or 3182 float(str(1.0e1 )) <> 1.0e1 or 3183 float(str(1.0e2 )) <> 1.0e2 or 3184 float(str(1.0e9 )) <> 1.0e9 or 3185 float(str(1.0e10 )) <> 1.0e10 or 3186 float(str(1.0e11 )) <> 1.0e11 or 3187 float(str(1.0e15 )) <> 1.0e15 or 3188 float(str(1.0e20 )) <> 1.0e20 or 3189 float(str(1.0e25 )) <> 1.0e25 or 3190 float(str(1.0e50 )) <> 1.0e50 or 3191 float(str(1.0e75 )) <> 1.0e75 or 3192 float(str(1.0e99 )) <> 1.0e99 or 3193 float(str(1.0e100 )) <> 1.0e100 or 3194 float(str(1.0e101 )) <> 1.0e101 or 3195 float(str(1.0e125 )) <> 1.0e125 or 3196 float(str(1.0e150 )) <> 1.0e150 or 3197 float(str(1.0e175 )) <> 1.0e175 or 3198 float(str(1.0e200 )) <> 1.0e200 or 3199 float(str(1.0e225 )) <> 1.0e225 or 3200 float(str(1.0e250 )) <> 1.0e250 or 3201 float(str(1.0e275 )) <> 1.0e275 or 3202 float(str(1.0e300 )) <> 1.0e300 or 3203 float(str(1.0e307 )) <> 1.0e307 or 3204 float(str(1.0e308 )) <> 1.0e308 or 3205 float(str(floatExpr(1.0e-308))) <> 1.0e-308 or 3206 float(str(floatExpr(1.0e-307))) <> 1.0e-307 or 3207 float(str(floatExpr(1.0e-300))) <> 1.0e-300 or 3208 float(str(floatExpr(1.0e-275))) <> 1.0e-275 or 3209 float(str(floatExpr(1.0e-250))) <> 1.0e-250 or 3210 float(str(floatExpr(1.0e-225))) <> 1.0e-225 or 3211 float(str(floatExpr(1.0e-200))) <> 1.0e-200 or 3212 float(str(floatExpr(1.0e-175))) <> 1.0e-175 or 3213 float(str(floatExpr(1.0e-150))) <> 1.0e-150 or 3214 float(str(floatExpr(1.0e-125))) <> 1.0e-125 or 3215 float(str(floatExpr(1.0e-101))) <> 1.0e-101 or 3216 float(str(floatExpr(1.0e-100))) <> 1.0e-100 or 3217 float(str(floatExpr(1.0e-99 ))) <> 1.0e-99 or 3218 float(str(floatExpr(1.0e-75 ))) <> 1.0e-75 or 3219 float(str(floatExpr(1.0e-50 ))) <> 1.0e-50 or 3220 float(str(floatExpr(1.0e-25 ))) <> 1.0e-25 or 3221 float(str(floatExpr(1.0e-20 ))) <> 1.0e-20 or 3222 float(str(floatExpr(1.0e-15 ))) <> 1.0e-15 or 3223 float(str(floatExpr(1.0e-11 ))) <> 1.0e-11 or 3224 float(str(floatExpr(1.0e-10 ))) <> 1.0e-10 or 3225 float(str(floatExpr(1.0e-9 ))) <> 1.0e-9 or 3226 float(str(floatExpr(1.0e-2 ))) <> 1.0e-2 or 3227 float(str(floatExpr(1.0e-1 ))) <> 1.0e-1 or 3228 float(str(floatExpr(1.0e0 ))) <> 1.0e0 or 3229 float(str(floatExpr(1.0e1 ))) <> 1.0e1 or 3230 float(str(floatExpr(1.0e2 ))) <> 1.0e2 or 3231 float(str(floatExpr(1.0e9 ))) <> 1.0e9 or 3232 float(str(floatExpr(1.0e10 ))) <> 1.0e10 or 3233 float(str(floatExpr(1.0e11 ))) <> 1.0e11 or 3234 float(str(floatExpr(1.0e15 ))) <> 1.0e15 or 3235 float(str(floatExpr(1.0e20 ))) <> 1.0e20 or 3236 float(str(floatExpr(1.0e25 ))) <> 1.0e25 or 3237 float(str(floatExpr(1.0e50 ))) <> 1.0e50 or 3238 float(str(floatExpr(1.0e75 ))) <> 1.0e75 or 3239 float(str(floatExpr(1.0e99 ))) <> 1.0e99 or 3240 float(str(floatExpr(1.0e100 ))) <> 1.0e100 or 3241 float(str(floatExpr(1.0e101 ))) <> 1.0e101 or 3242 float(str(floatExpr(1.0e125 ))) <> 1.0e125 or 3243 float(str(floatExpr(1.0e150 ))) <> 1.0e150 or 3244 float(str(floatExpr(1.0e175 ))) <> 1.0e175 or 3245 float(str(floatExpr(1.0e200 ))) <> 1.0e200 or 3246 float(str(floatExpr(1.0e225 ))) <> 1.0e225 or 3247 float(str(floatExpr(1.0e250 ))) <> 1.0e250 or 3248 float(str(floatExpr(1.0e275 ))) <> 1.0e275 or 3249 float(str(floatExpr(1.0e300 ))) <> 1.0e300 or 3250 float(str(floatExpr(1.0e307 ))) <> 1.0e307 or 3251 float(str(floatExpr(1.0e308 ))) <> 1.0e308 then 3252 writeln(" ***** Convert float to string and parse back to float does not work correct."); 3253 okay := FALSE; 3254 end if; 3255 3256 if not raisesRangeError(float( " 0.0" )) or 3257 not raisesRangeError(float( "asdf" )) or 3258 not raisesRangeError(float( "0.0a" )) or 3259 not raisesRangeError(float( "1,2" )) or 3260 not raisesRangeError(float( "0x1" )) or 3261 not raisesRangeError(float( "0X1" )) or 3262 not raisesRangeError(float( "0x1.2" )) or 3263 not raisesRangeError(float( "0X1.3" )) or 3264 not raisesRangeError(float( "€" )) or 3265 not raisesRangeError(float(striExpr( " 0.0"))) or 3266 not raisesRangeError(float(striExpr( "asdf"))) or 3267 not raisesRangeError(float(striExpr( "0.0a"))) or 3268 not raisesRangeError(float(striExpr( "1,2"))) or 3269 not raisesRangeError(float(striExpr( "0x1"))) or 3270 not raisesRangeError(float(striExpr( "0X1"))) or 3271 not raisesRangeError(float(striExpr("0x1.2"))) or 3272 not raisesRangeError(float(striExpr("0X1.3"))) or 3273 not raisesRangeError(float(striExpr( "€"))) then 3274 writeln(" ***** Parse operator for float with illegal literal does not raise RANGE_ERROR."); 3275 okay := FALSE; 3276 end if; 3277 3278 if okay then 3279 writeln("Parsing of strings with float literals works correct."); 3280 else 3281 writeln(" ***** Parsing of strings with float literals does not work correct."); 3282 end if; 3283 end func; 3284 3285 3286const proc: check_str is func 3287 local 3288 var boolean: okay is TRUE; 3289 begin 3290 if str(-10000000000000000.0) <> "-10000000000000000.0" or 3291 str( -9007199254740992.0) <> "-9007199254740992.0" or 3292 str( -4503599627370496.0) <> "-4503599627370496.0" or 3293 str( -2251799813685248.0) <> "-2251799813685248.0" or 3294 str( -1125899906842624.0) <> "-1125899906842624.0" or 3295 str( -1000000000000000.0) <> "-1000000000000000.0" or 3296 str( -999999999999999.0) <> "-999999999999999.0" or 3297 str( -234567891234567.0) <> "-234567891234567.0" or 3298 str( -100000000000000.0) <> "-100000000000000.0" or 3299 str( -99999999999999.0) <> "-99999999999999.0" or 3300 str( -34567891234567.0) <> "-34567891234567.0" or 3301 str( -10000000000000.0) <> "-10000000000000.0" or 3302 str( -9999999999999.0) <> "-9999999999999.0" or 3303 str( -4567891234567.0) <> "-4567891234567.0" or 3304 str( -1000000000000.0) <> "-1000000000000.0" or 3305 str( -999999999999.0) <> "-999999999999.0" or 3306 str( -567891234567.0) <> "-567891234567.0" or 3307 str( -100000000000.0) <> "-100000000000.0" or 3308 str( -99999999999.0) <> "-99999999999.0" or 3309 str( -67891234567.0) <> "-67891234567.0" or 3310 str( -10000000000.0) <> "-10000000000.0" or 3311 str( -9999999999.0) <> "-9999999999.0" or 3312 str( -7891234567.0) <> "-7891234567.0" or 3313 str( -1000000000.0) <> "-1000000000.0" or 3314 str( -999999999.0) <> "-999999999.0" or 3315 str( -891234567.0) <> "-891234567.0" or 3316 str( -100000000.0) <> "-100000000.0" or 3317 str( -99999999.0) <> "-99999999.0" or 3318 str( -91234567.0) <> "-91234567.0" or 3319 str( -10000000.0) <> "-10000000.0" or 3320 str( -9999999.0) <> "-9999999.0" or 3321 str( -1234567.0) <> "-1234567.0" or 3322 str( -1000000.0) <> "-1000000.0" or 3323 str( -999999.0) <> "-999999.0" or 3324 str( -234567.0) <> "-234567.0" or 3325 str( -100000.0) <> "-100000.0" or 3326 str( -99999.0) <> "-99999.0" or 3327 str( -34567.0) <> "-34567.0" or 3328 str( -10000.0) <> "-10000.0" or 3329 str( -9999.0) <> "-9999.0" or 3330 str( -4567.0) <> "-4567.0" or 3331 str( -1000.0) <> "-1000.0" or 3332 str( -999.0) <> "-999.0" or 3333 str( -567.0) <> "-567.0" or 3334 str( -100.0) <> "-100.0" or 3335 str( -99.0) <> "-99.0" or 3336 str( -67.0) <> "-67.0" or 3337 str( -10.0) <> "-10.0" or 3338 str( -9.0) <> "-9.0" or 3339 str( -7.0) <> "-7.0" or 3340 str( -1.0) <> "-1.0" or 3341 str( 0.0) <> "0.0" or 3342 str( 1.0) <> "1.0" or 3343 str( 7.0) <> "7.0" or 3344 str( 9.0) <> "9.0" or 3345 str( 10.0) <> "10.0" or 3346 str( 67.0) <> "67.0" or 3347 str( 99.0) <> "99.0" or 3348 str( 100.0) <> "100.0" or 3349 str( 567.0) <> "567.0" or 3350 str( 999.0) <> "999.0" or 3351 str( 1000.0) <> "1000.0" or 3352 str( 4567.0) <> "4567.0" or 3353 str( 9999.0) <> "9999.0" or 3354 str( 10000.0) <> "10000.0" or 3355 str( 34567.0) <> "34567.0" or 3356 str( 99999.0) <> "99999.0" or 3357 str( 100000.0) <> "100000.0" or 3358 str( 234567.0) <> "234567.0" or 3359 str( 999999.0) <> "999999.0" or 3360 str( 1000000.0) <> "1000000.0" or 3361 str( 1234567.0) <> "1234567.0" or 3362 str( 9999999.0) <> "9999999.0" or 3363 str( 10000000.0) <> "10000000.0" or 3364 str( 91234567.0) <> "91234567.0" or 3365 str( 99999999.0) <> "99999999.0" or 3366 str( 100000000.0) <> "100000000.0" or 3367 str( 891234567.0) <> "891234567.0" or 3368 str( 999999999.0) <> "999999999.0" or 3369 str( 1000000000.0) <> "1000000000.0" or 3370 str( 7891234567.0) <> "7891234567.0" or 3371 str( 9999999999.0) <> "9999999999.0" or 3372 str( 10000000000.0) <> "10000000000.0" or 3373 str( 67891234567.0) <> "67891234567.0" or 3374 str( 99999999999.0) <> "99999999999.0" or 3375 str( 100000000000.0) <> "100000000000.0" or 3376 str( 567891234567.0) <> "567891234567.0" or 3377 str( 999999999999.0) <> "999999999999.0" or 3378 str( 1000000000000.0) <> "1000000000000.0" or 3379 str( 4567891234567.0) <> "4567891234567.0" or 3380 str( 9999999999999.0) <> "9999999999999.0" or 3381 str( 10000000000000.0) <> "10000000000000.0" or 3382 str( 34567891234567.0) <> "34567891234567.0" or 3383 str( 99999999999999.0) <> "99999999999999.0" or 3384 str( 100000000000000.0) <> "100000000000000.0" or 3385 str( 234567891234567.0) <> "234567891234567.0" or 3386 str( 999999999999999.0) <> "999999999999999.0" or 3387 str( 1000000000000000.0) <> "1000000000000000.0" or 3388 str( 1125899906842624.0) <> "1125899906842624.0" or 3389 str( 2251799813685248.0) <> "2251799813685248.0" or 3390 str( 4503599627370496.0) <> "4503599627370496.0" or 3391 str( 9007199254740992.0) <> "9007199254740992.0" or 3392 str( 10000000000000000.0) <> "10000000000000000.0" or 3393 str( -4503599627370495.5) <> "-4503599627370495.5" or 3394 str( -4000000000000000.5) <> "-4000000000000000.5" or 3395 str( -3000000000000000.5) <> "-3000000000000000.5" or 3396 str( -2251799813685248.5) <> "-2251799813685248.5" or 3397 str( 2251799813685248.5) <> "2251799813685248.5" or 3398 str( 3000000000000000.5) <> "3000000000000000.5" or 3399 str( 4000000000000000.5) <> "4000000000000000.5" or 3400 str( 4503599627370495.5) <> "4503599627370495.5" or 3401 str( 0.999999999999999) <> "0.999999999999999" or 3402 str( 0.1) <> "0.1" or 3403 str( 0.0999999999999999) <> "0.0999999999999999" or 3404 str( 0.01) <> "0.01" or 3405 str( 0.00999999999999999) <> "0.00999999999999999" or 3406 str( 0.001) <> "0.001" or 3407 str( 0.000999999999999999) <> "0.000999999999999999" or 3408 str( 0.0001) <> "0.0001" or 3409 str( 0.0000999999999999999) <> "0.0000999999999999999" or 3410 str( 0.00001) <> "0.00001" or 3411 str( 0.00000999999999999999) <> "0.00000999999999999999" or 3412 str( 0.000001) <> "0.000001" or 3413 str( 9.99999999999999e-7) <> "0.000000999999999999999" or 3414 str( 1.00000000000000e-7) <> "0.0000001" or 3415 str( 9.99999999999999e-10) <> "0.000000000999999999999999" or 3416 str( 1.00000000000000e-10) <> "0.0000000001" or 3417 str( 9.99999999999999e-15) <> "0.00000000000000999999999999999" or 3418 str( 1.00000000000000e-15) <> "0.000000000000001" or 3419 str( 9.99999999999999e-20) <> "0.0000000000000000000999999999999999" or 3420 str( 1.00000000000000e-20) <> "0.00000000000000000001" or 3421 str( 9.99999999999999e-25) <> "0.000000000000000000000000999999999999999" or 3422 str( 1.00000000000000e-25) <> "0.0000000000000000000000001" or 3423 str( 9.99999999999999e-30) <> "0.00000000000000000000000000000999999999999999" or 3424 str( 1.00000000000000e-30) <> "0.000000000000000000000000000001" or 3425 str( 9.99999999999999e-35) <> "0.0000000000000000000000000000000000999999999999999" or 3426 str( 1.00000000000000e-35) <> "0.00000000000000000000000000000000001" or 3427 str(-0.999999999999999) <> "-0.999999999999999" or 3428 str(-0.1) <> "-0.1" or 3429 str(-0.0999999999999999) <> "-0.0999999999999999" or 3430 str(-0.01) <> "-0.01" or 3431 str(-0.00999999999999999) <> "-0.00999999999999999" or 3432 str(-0.001) <> "-0.001" or 3433 str(-0.000999999999999999) <> "-0.000999999999999999" or 3434 str(-0.0001) <> "-0.0001" or 3435 str(-0.0000999999999999999) <> "-0.0000999999999999999" or 3436 str(-0.00001) <> "-0.00001" or 3437 str(-0.00000999999999999999) <> "-0.00000999999999999999" or 3438 str(-0.000001) <> "-0.000001" or 3439 str(-9.99999999999999e-7) <> "-0.000000999999999999999" or 3440 str(-1.00000000000000e-7) <> "-0.0000001" or 3441 str(-9.99999999999999e-10) <> "-0.000000000999999999999999" or 3442 str(-1.00000000000000e-10) <> "-0.0000000001" or 3443 str(-9.99999999999999e-15) <> "-0.00000000000000999999999999999" or 3444 str(-1.00000000000000e-15) <> "-0.000000000000001" or 3445 str(-9.99999999999999e-20) <> "-0.0000000000000000000999999999999999" or 3446 str(-1.00000000000000e-20) <> "-0.00000000000000000001" or 3447 str(-9.99999999999999e-25) <> "-0.000000000000000000000000999999999999999" or 3448 str(-1.00000000000000e-25) <> "-0.0000000000000000000000001" or 3449 str(-9.99999999999999e-30) <> "-0.00000000000000000000000000000999999999999999" or 3450 str(-1.00000000000000e-30) <> "-0.000000000000000000000000000001" or 3451 str(-9.99999999999999e-35) <> "-0.0000000000000000000000000000000000999999999999999" or 3452 str(-1.00000000000000e-35) <> "-0.00000000000000000000000000000000001" or 3453 str( 12345.0e15) <> "12345000000000000000.0" or 3454 str( 12345.0e14) <> "1234500000000000000.0" or 3455 str( 12345.0e13) <> "123450000000000000.0" or 3456 str( 12345.0e12) <> "12345000000000000.0" or 3457 str( 12345.0e10) <> "123450000000000.0" or 3458 str( 12345.0e8) <> "1234500000000.0" or 3459 str( 12345.0e6) <> "12345000000.0" or 3460 str( 12345.0e4) <> "123450000.0" or 3461 str( 12345.0e2) <> "1234500.0" or 3462 str( 12345.0e1) <> "123450.0" or 3463 str( 12345.0e0) <> "12345.0" or 3464 str( 12345.0e-1) <> "1234.5" or 3465 str( 12345.0e-2) <> "123.45" or 3466 str( 12345.0e-3) <> "12.345" or 3467 str( 12345.0e-4) <> "1.2345" or 3468 str( 12345.0e-5) <> "0.12345" or 3469 str( 12345.0e-6) <> "0.012345" or 3470 str( 12345.0e-7) <> "0.0012345" or 3471 str( 12345.0e-8) <> "0.00012345" or 3472 str( 12345.0e-10) <> "0.0000012345" or 3473 str( 12345.0e-12) <> "0.000000012345" or 3474 str( 12345.0e-14) <> "0.00000000012345" or 3475 str( 12345.0e-16) <> "0.0000000000012345" or 3476 str( 12345.0e-18) <> "0.000000000000012345" or 3477 str( 12345.0e-20) <> "0.00000000000000012345" or 3478 str( 12345.0e-25) <> "0.0000000000000000000012345" or 3479 str( 12345.0e-30) <> "0.000000000000000000000000012345" or 3480 str( 12345.0e-35) <> "0.00000000000000000000000000000012345" or 3481 str( 12345.0e-40) <> "0.0000000000000000000000000000000000012345" or 3482 str( 12345.0e-45) <> "0.000000000000000000000000000000000000000012345" or 3483 str(-12345.0e15) <> "-12345000000000000000.0" or 3484 str(-12345.0e14) <> "-1234500000000000000.0" or 3485 str(-12345.0e13) <> "-123450000000000000.0" or 3486 str(-12345.0e12) <> "-12345000000000000.0" or 3487 str(-12345.0e10) <> "-123450000000000.0" or 3488 str(-12345.0e8) <> "-1234500000000.0" or 3489 str(-12345.0e6) <> "-12345000000.0" or 3490 str(-12345.0e4) <> "-123450000.0" or 3491 str(-12345.0e2) <> "-1234500.0" or 3492 str(-12345.0e1) <> "-123450.0" or 3493 str(-12345.0e0) <> "-12345.0" or 3494 str(-12345.0e-1) <> "-1234.5" or 3495 str(-12345.0e-2) <> "-123.45" or 3496 str(-12345.0e-3) <> "-12.345" or 3497 str(-12345.0e-4) <> "-1.2345" or 3498 str(-12345.0e-5) <> "-0.12345" or 3499 str(-12345.0e-6) <> "-0.012345" or 3500 str(-12345.0e-7) <> "-0.0012345" or 3501 str(-12345.0e-8) <> "-0.00012345" or 3502 str(-12345.0e-10) <> "-0.0000012345" or 3503 str(-12345.0e-12) <> "-0.000000012345" or 3504 str(-12345.0e-14) <> "-0.00000000012345" or 3505 str(-12345.0e-16) <> "-0.0000000000012345" or 3506 str(-12345.0e-18) <> "-0.000000000000012345" or 3507 str(-12345.0e-20) <> "-0.00000000000000012345" or 3508 str(-12345.0e-25) <> "-0.0000000000000000000012345" or 3509 str(-12345.0e-30) <> "-0.000000000000000000000000012345" or 3510 str(-12345.0e-35) <> "-0.00000000000000000000000000000012345" or 3511 str(-12345.0e-40) <> "-0.0000000000000000000000000000000000012345" or 3512 str(-12345.0e-45) <> "-0.000000000000000000000000000000000000000012345" or 3513 str( 0.00000123456789012345) <> "0.00000123456789012345" or 3514 str( 0.0000123456789012345) <> "0.0000123456789012345" or 3515 str( 0.000123456789012345) <> "0.000123456789012345" or 3516 str( 0.00123456789012345) <> "0.00123456789012345" or 3517 str( 0.0123456789012345) <> "0.0123456789012345" or 3518 str( 0.123456789012345) <> "0.123456789012345" or 3519 str( 1.23456789012345) <> "1.23456789012345" or 3520 str( 12.3456789012345) <> "12.3456789012345" or 3521 str( 123.456789012345) <> "123.456789012345" or 3522 str( 1234.56789012345) <> "1234.56789012345" or 3523 str( 12345.6789012345) <> "12345.6789012345" or 3524 str( 123456.789012345) <> "123456.789012345" or 3525 str( 1234567.89012345) <> "1234567.89012345" or 3526 str( 12345678.9012345) <> "12345678.9012345" or 3527 str( 123456789.012345) <> "123456789.012345" or 3528 str( 1234567890.12345) <> "1234567890.12345" or 3529 str( 12345678901.2345) <> "12345678901.2345" or 3530 str( 123456789012.345) <> "123456789012.345" or 3531 str( 1234567890123.45) <> "1234567890123.45" or 3532 str( 12345678901234.5) <> "12345678901234.5" or 3533 str( 123456789012345.0) <> "123456789012345.0" or 3534 str( 1234567890123450.0) <> "1234567890123450.0" or 3535 str( 12345678901234500.0) <> "12345678901234500.0" or 3536 str( -0.00000123456789012345) <> "-0.00000123456789012345" or 3537 str( -0.0000123456789012345) <> "-0.0000123456789012345" or 3538 str( -0.000123456789012345) <> "-0.000123456789012345" or 3539 str( -0.00123456789012345) <> "-0.00123456789012345" or 3540 str( -0.0123456789012345) <> "-0.0123456789012345" or 3541 str( -0.123456789012345) <> "-0.123456789012345" or 3542 str( -1.23456789012345) <> "-1.23456789012345" or 3543 str( -12.3456789012345) <> "-12.3456789012345" or 3544 str( -123.456789012345) <> "-123.456789012345" or 3545 str( -1234.56789012345) <> "-1234.56789012345" or 3546 str( -12345.6789012345) <> "-12345.6789012345" or 3547 str( -123456.789012345) <> "-123456.789012345" or 3548 str( -1234567.89012345) <> "-1234567.89012345" or 3549 str( -12345678.9012345) <> "-12345678.9012345" or 3550 str( -123456789.012345) <> "-123456789.012345" or 3551 str( -1234567890.12345) <> "-1234567890.12345" or 3552 str( -12345678901.2345) <> "-12345678901.2345" or 3553 str( -123456789012.345) <> "-123456789012.345" or 3554 str( -1234567890123.45) <> "-1234567890123.45" or 3555 str( -12345678901234.5) <> "-12345678901234.5" or 3556 str( -123456789012345.0) <> "-123456789012345.0" or 3557 str( -1234567890123450.0) <> "-1234567890123450.0" or 3558 str(-12345678901234500.0) <> "-12345678901234500.0" or 3559 str(1.0e-308) <> "0." & "0" mult 307 & "1" or 3560 str(1.0e-307) <> "0." & "0" mult 306 & "1" or 3561 str(1.0e-300) <> "0." & "0" mult 299 & "1" or 3562 str(1.0e-275) <> "0." & "0" mult 274 & "1" or 3563 str(1.0e-250) <> "0." & "0" mult 249 & "1" or 3564 str(1.0e-225) <> "0." & "0" mult 224 & "1" or 3565 str(1.0e-200) <> "0." & "0" mult 199 & "1" or 3566 str(1.0e-175) <> "0." & "0" mult 174 & "1" or 3567 str(1.0e-150) <> "0." & "0" mult 149 & "1" or 3568 str(1.0e-125) <> "0." & "0" mult 124 & "1" or 3569 str(1.0e-101) <> "0." & "0" mult 100 & "1" or 3570 str(1.0e-100) <> "0." & "0" mult 99 & "1" or 3571 str(1.0e-99) <> "0." & "0" mult 98 & "1" or 3572 str(1.0e-75) <> "0." & "0" mult 74 & "1" or 3573 str(1.0e-50) <> "0." & "0" mult 49 & "1" or 3574 str(1.0e-25) <> "0." & "0" mult 24 & "1" or 3575 str(1.0e-20) <> "0.00000000000000000001" or 3576 str(1.0e-15) <> "0.000000000000001" or 3577 str(1.0e-11) <> "0.00000000001" or 3578 str(1.0e-10) <> "0.0000000001" or 3579 str(1.0e-9) <> "0.000000001" or 3580 str(1.0e-2) <> "0.01" or 3581 str(1.0e-1) <> "0.1" or 3582 str(1.0e0) <> "1.0" or 3583 str(1.0e1) <> "10.0" or 3584 str(1.0e2) <> "100.0" or 3585 str(1.0e9) <> "1000000000.0" or 3586 str(1.0e10) <> "10000000000.0" or 3587 str(1.0e11) <> "100000000000.0" or 3588 str(1.0e15) <> "1000000000000000.0" or 3589 str(1.0e20) <> "100000000000000000000.0" or 3590 str( 0.0) <> "0.0" or 3591 str( -0.0) <> "0.0" or 3592 str( 1.0) <> "1.0" or 3593 str( -1.0) <> "-1.0" or 3594 str( Infinity) <> "Infinity" or 3595 str( -Infinity) <> "-Infinity" or 3596 str( NaN) <> "NaN" or 3597 str(floatExpr( 123.456)) <> "123.456" or 3598 str(floatExpr( -123.456)) <> "-123.456" or 3599 str(floatExpr( 0.0)) <> "0.0" or 3600 str(floatExpr( -0.0)) <> "0.0" or 3601 str(floatExpr( 1.0)) <> "1.0" or 3602 str(floatExpr( -1.0)) <> "-1.0" or 3603 str(floatExpr( Infinity)) <> "Infinity" or 3604 str(floatExpr(-Infinity)) <> "-Infinity" or 3605 str(floatExpr( NaN)) <> "NaN" then 3606 writeln(" ***** Str function for float does not work correct."); 3607 okay := FALSE; 3608 end if; 3609 3610 if ( 0.012345 digits 4) <> "0.0123" or 3611 ( 1.2468 digits 2) <> "1.25" or 3612 ( 3.1415 digits 0) <> "3" or 3613 # ( 0.125 digits 2) <> "0.12" or 3614 ( 0.375 digits 2) <> "0.38" or 3615 ( Infinity digits 5) <> "Infinity" or 3616 ( -Infinity digits 6) <> "-Infinity" or 3617 ( NaN digits 7) <> "NaN" or 3618 ( -0.004 digits 2) <> "0.00" or 3619 ( -0.0 digits 0) <> "0" or 3620 (floatExpr(0.012345 ) digits 4) <> "0.0123" or 3621 (floatExpr(1.2468 ) digits 2) <> "1.25" or 3622 (floatExpr(3.1415 ) digits 0) <> "3" or 3623 # (floatExpr(0.125 ) digits 2) <> "0.12" or 3624 (floatExpr(0.375 ) digits 2) <> "0.38" or 3625 (floatExpr(Infinity ) digits 5) <> "Infinity" or 3626 (floatExpr(-Infinity) digits 6) <> "-Infinity" or 3627 (floatExpr(NaN ) digits 7) <> "NaN" or 3628 (floatExpr(-0.004 ) digits 2) <> "0.00" or 3629 (floatExpr(-0.0 ) digits 0) <> "0" then 3630 writeln(" ***** Digits operator for float does not work correct."); 3631 okay := FALSE; 3632 end if; 3633 3634 if ( 1.0 digits 0) <> "1" or 3635 ( 1.0 digits 1) <> "1.0" or 3636 ( 1.0 digits 2) <> "1.00" or 3637 ( 1.0 digits 3) <> "1.000" or 3638 ( 1.0 digits 4) <> "1.0000" or 3639 ( 1.0 digits 5) <> "1.00000" or 3640 ( 1.0 digits 6) <> "1.000000" or 3641 ( 1.0 digits 7) <> "1.0000000" or 3642 ( 1.0 digits 8) <> "1.00000000" or 3643 ( 1.0 digits 9) <> "1.000000000" or 3644 ( 1.0 digits 10) <> "1.0000000000" or 3645 ( 1.0 digits 11) <> "1.00000000000" or 3646 ( 1.0 digits 12) <> "1.000000000000" or 3647 ( 1.0 digits 13) <> "1.0000000000000" or 3648 ( 1.0 digits 14) <> "1.00000000000000" or 3649 ( 1.0 digits 15) <> "1.000000000000000" or 3650 ( 1.0 digits 16) <> "1.0000000000000000" or 3651 ( 1.0 digits 17) <> "1.00000000000000000" or 3652 ( 1.0 digits 18) <> "1.000000000000000000" or 3653 ( 1.0 digits 19) <> "1.0000000000000000000" or 3654 ( 1.0 digits 20) <> "1.00000000000000000000" or 3655 ( 1.0 digits 21) <> "1.000000000000000000000" or 3656 ( 1.0 digits 22) <> "1.0000000000000000000000" or 3657 ( 1.0 digits 23) <> "1.00000000000000000000000" or 3658 ( 1.0 digits 24) <> "1.000000000000000000000000" or 3659 ( 1.0 digits 25) <> "1.0000000000000000000000000" or 3660 ( 1.0 digits 26) <> "1.00000000000000000000000000" or 3661 ( 1.0 digits 27) <> "1.000000000000000000000000000" or 3662 ( 1.0 digits 28) <> "1.0000000000000000000000000000" or 3663 ( 1.0 digits 29) <> "1.00000000000000000000000000000" or 3664 ( 1.0 digits 30) <> "1.000000000000000000000000000000" or 3665 ( 1.0 digits 100) <> "1." & "0" mult 100 or 3666 ( 1.0 digits 1000) <> "1." & "0" mult 1000 or 3667 ( 1.0 digits 10000) <> "1." & "0" mult 10000 or 3668 ( 1.0 digits 100000) <> "1." & "0" mult 100000 or 3669 ( 1.0 digits 1000000) <> "1." & "0" mult 1000000 or 3670 (floatExpr(1.0) digits 0) <> "1" or 3671 (floatExpr(1.0) digits 1) <> "1.0" or 3672 (floatExpr(1.0) digits 2) <> "1.00" or 3673 (floatExpr(1.0) digits 3) <> "1.000" or 3674 (floatExpr(1.0) digits 4) <> "1.0000" or 3675 (floatExpr(1.0) digits 5) <> "1.00000" or 3676 (floatExpr(1.0) digits 6) <> "1.000000" or 3677 (floatExpr(1.0) digits 7) <> "1.0000000" or 3678 (floatExpr(1.0) digits 8) <> "1.00000000" or 3679 (floatExpr(1.0) digits 9) <> "1.000000000" or 3680 (floatExpr(1.0) digits 10) <> "1.0000000000" or 3681 (floatExpr(1.0) digits 11) <> "1.00000000000" or 3682 (floatExpr(1.0) digits 12) <> "1.000000000000" or 3683 (floatExpr(1.0) digits 13) <> "1.0000000000000" or 3684 (floatExpr(1.0) digits 14) <> "1.00000000000000" or 3685 (floatExpr(1.0) digits 15) <> "1.000000000000000" or 3686 (floatExpr(1.0) digits 16) <> "1.0000000000000000" or 3687 (floatExpr(1.0) digits 17) <> "1.00000000000000000" or 3688 (floatExpr(1.0) digits 18) <> "1.000000000000000000" or 3689 (floatExpr(1.0) digits 19) <> "1.0000000000000000000" or 3690 (floatExpr(1.0) digits 20) <> "1.00000000000000000000" or 3691 (floatExpr(1.0) digits 21) <> "1.000000000000000000000" or 3692 (floatExpr(1.0) digits 22) <> "1.0000000000000000000000" or 3693 (floatExpr(1.0) digits 23) <> "1.00000000000000000000000" or 3694 (floatExpr(1.0) digits 24) <> "1.000000000000000000000000" or 3695 (floatExpr(1.0) digits 25) <> "1.0000000000000000000000000" or 3696 (floatExpr(1.0) digits 26) <> "1.00000000000000000000000000" or 3697 (floatExpr(1.0) digits 27) <> "1.000000000000000000000000000" or 3698 (floatExpr(1.0) digits 28) <> "1.0000000000000000000000000000" or 3699 (floatExpr(1.0) digits 29) <> "1.00000000000000000000000000000" or 3700 (floatExpr(1.0) digits 30) <> "1.000000000000000000000000000000" or 3701 (floatExpr(1.0) digits 100) <> "1." & "0" mult 100 or 3702 (floatExpr(1.0) digits 1000) <> "1." & "0" mult 1000 or 3703 (floatExpr(1.0) digits 10000) <> "1." & "0" mult 10000 or 3704 (floatExpr(1.0) digits 100000) <> "1." & "0" mult 100000 or 3705 (floatExpr(1.0) digits 1000000) <> "1." & "0" mult 1000000 then 3706 writeln(" ***** Digits operator for float with many digits does not work correct."); 3707 okay := FALSE; 3708 end if; 3709 3710 if not raisesRangeError( 3.1415 digits -1 ) or 3711 not raisesRangeError(floatExpr(3.1415 ) digits -1 ) or 3712 not raisesRangeError( 3.1415 digits intExpr(-1)) or 3713 not raisesRangeError(floatExpr(3.1415 ) digits intExpr(-1)) then 3714 writeln(" ***** Digits operator for float with negative precision does not raise RANGE_ERROR."); 3715 okay := FALSE; 3716 end if; 3717 3718 if ( 0.012345 sci 4) <> "1.2345e-2" or 3719 ( 1.2468 sci 2) <> "1.25e+0" or 3720 ( 3.1415 sci 0) <> "3e+0" or 3721 # ( 0.125 sci 1) <> "1.2e-1" or 3722 ( 0.375 sci 1) <> "3.8e-1" or 3723 ( Infinity sci 5) <> "Infinity" or 3724 ( -Infinity sci 6) <> "-Infinity" or 3725 ( NaN sci 7) <> "NaN" or 3726 ( -0.004 sci 2) <> "-4.00e-3" or 3727 ( -0.0 sci 2) <> "0.00e+0" or 3728 ( -0.0 sci 0) <> "0e+0" or 3729 (floatExpr(0.012345 ) sci 4) <> "1.2345e-2" or 3730 (floatExpr(1.2468 ) sci 2) <> "1.25e+0" or 3731 (floatExpr(3.1415 ) sci 0) <> "3e+0" or 3732 # (floatExpr(0.125 ) sci 1) <> "1.2e-1" or 3733 (floatExpr(0.375 ) sci 1) <> "3.8e-1" or 3734 (floatExpr(Infinity ) sci 5) <> "Infinity" or 3735 (floatExpr(-Infinity) sci 6) <> "-Infinity" or 3736 (floatExpr(NaN ) sci 7) <> "NaN" or 3737 (floatExpr(-0.004 ) sci 2) <> "-4.00e-3" or 3738 (floatExpr(-0.0 ) sci 2) <> "0.00e+0" or 3739 (floatExpr(-0.0 ) sci 0) <> "0e+0" or 3740 ( 0.012345 sci 4 exp 2) <> "1.2345e-02" or 3741 ( 1.2468e15 sci 2 exp 1) <> "1.25e+15" or 3742 ( 3.1415 sci 0 exp 3) <> "3e+000" or 3743 # ( 0.125 sci 1 exp 2) <> "1.2e-01" or 3744 ( 0.375 sci 1 exp 2) <> "3.8e-01" or 3745 ( Infinity sci 5 exp 2) <> "Infinity" or 3746 ( -Infinity sci 6 exp 2) <> "-Infinity" or 3747 ( NaN sci 7 exp 2) <> "NaN" or 3748 ( -0.004 sci 2 exp 2) <> "-4.00e-03" or 3749 ( -0.0 sci 2 exp 2) <> "0.00e+00" or 3750 ( -0.0 sci 0 exp 2) <> "0e+00" or 3751 (floatExpr(0.012345 ) sci 4 exp 2) <> "1.2345e-02" or 3752 (floatExpr(1.2468e15) sci 2 exp 1) <> "1.25e+15" or 3753 (floatExpr(3.1415 ) sci 0 exp 3) <> "3e+000" or 3754 # (floatExpr(0.125 ) sci 1 exp 2) <> "1.2e-01" or 3755 (floatExpr(0.375 ) sci 1 exp 2) <> "3.8e-01" or 3756 (floatExpr(Infinity ) sci 5 exp 2) <> "Infinity" or 3757 (floatExpr(-Infinity) sci 6 exp 2) <> "-Infinity" or 3758 (floatExpr(NaN ) sci 7 exp 2) <> "NaN" or 3759 (floatExpr(-0.004 ) sci 2 exp 2) <> "-4.00e-03" or 3760 (floatExpr(-0.0 ) sci 2 exp 2) <> "0.00e+00" or 3761 (floatExpr(-0.0 ) sci 0 exp 2) <> "0e+00" then 3762 writeln(" ***** Sci operator for float does not work correct."); 3763 okay := FALSE; 3764 end if; 3765 3766 if ( 1.0 sci 0) <> "1e+0" or 3767 ( 1.0 sci 1) <> "1.0e+0" or 3768 ( 1.0 sci 2) <> "1.00e+0" or 3769 ( 1.0 sci 3) <> "1.000e+0" or 3770 ( 1.0 sci 4) <> "1.0000e+0" or 3771 ( 1.0 sci 5) <> "1.00000e+0" or 3772 ( 1.0 sci 6) <> "1.000000e+0" or 3773 ( 1.0 sci 7) <> "1.0000000e+0" or 3774 ( 1.0 sci 8) <> "1.00000000e+0" or 3775 ( 1.0 sci 9) <> "1.000000000e+0" or 3776 ( 1.0 sci 10) <> "1.0000000000e+0" or 3777 ( 1.0 sci 11) <> "1.00000000000e+0" or 3778 ( 1.0 sci 12) <> "1.000000000000e+0" or 3779 ( 1.0 sci 13) <> "1.0000000000000e+0" or 3780 ( 1.0 sci 14) <> "1.00000000000000e+0" or 3781 ( 1.0 sci 15) <> "1.000000000000000e+0" or 3782 ( 1.0 sci 16) <> "1.0000000000000000e+0" or 3783 ( 1.0 sci 17) <> "1.00000000000000000e+0" or 3784 ( 1.0 sci 18) <> "1.000000000000000000e+0" or 3785 ( 1.0 sci 19) <> "1.0000000000000000000e+0" or 3786 ( 1.0 sci 20) <> "1.00000000000000000000e+0" or 3787 ( 1.0 sci 21) <> "1.000000000000000000000e+0" or 3788 ( 1.0 sci 22) <> "1.0000000000000000000000e+0" or 3789 ( 1.0 sci 23) <> "1.00000000000000000000000e+0" or 3790 ( 1.0 sci 24) <> "1.000000000000000000000000e+0" or 3791 ( 1.0 sci 25) <> "1.0000000000000000000000000e+0" or 3792 ( 1.0 sci 26) <> "1.00000000000000000000000000e+0" or 3793 ( 1.0 sci 27) <> "1.000000000000000000000000000e+0" or 3794 ( 1.0 sci 28) <> "1.0000000000000000000000000000e+0" or 3795 ( 1.0 sci 29) <> "1.00000000000000000000000000000e+0" or 3796 ( 1.0 sci 30) <> "1.000000000000000000000000000000e+0" or 3797 ( 1.0 sci 100) <> "1." & "0" mult 100 & "e+0" or 3798 ( 1.0 sci 1000) <> "1." & "0" mult 1000 & "e+0" or 3799 ( 1.0 sci 10000) <> "1." & "0" mult 10000 & "e+0" or 3800 ( 1.0 sci 100000) <> "1." & "0" mult 100000 & "e+0" or 3801 ( 1.0 sci 1000000) <> "1." & "0" mult 1000000 & "e+0" or 3802 (floatExpr(1.0) sci 0) <> "1e+0" or 3803 (floatExpr(1.0) sci 1) <> "1.0e+0" or 3804 (floatExpr(1.0) sci 2) <> "1.00e+0" or 3805 (floatExpr(1.0) sci 3) <> "1.000e+0" or 3806 (floatExpr(1.0) sci 4) <> "1.0000e+0" or 3807 (floatExpr(1.0) sci 5) <> "1.00000e+0" or 3808 (floatExpr(1.0) sci 6) <> "1.000000e+0" or 3809 (floatExpr(1.0) sci 7) <> "1.0000000e+0" or 3810 (floatExpr(1.0) sci 8) <> "1.00000000e+0" or 3811 (floatExpr(1.0) sci 9) <> "1.000000000e+0" or 3812 (floatExpr(1.0) sci 10) <> "1.0000000000e+0" or 3813 (floatExpr(1.0) sci 11) <> "1.00000000000e+0" or 3814 (floatExpr(1.0) sci 12) <> "1.000000000000e+0" or 3815 (floatExpr(1.0) sci 13) <> "1.0000000000000e+0" or 3816 (floatExpr(1.0) sci 14) <> "1.00000000000000e+0" or 3817 (floatExpr(1.0) sci 15) <> "1.000000000000000e+0" or 3818 (floatExpr(1.0) sci 16) <> "1.0000000000000000e+0" or 3819 (floatExpr(1.0) sci 17) <> "1.00000000000000000e+0" or 3820 (floatExpr(1.0) sci 18) <> "1.000000000000000000e+0" or 3821 (floatExpr(1.0) sci 19) <> "1.0000000000000000000e+0" or 3822 (floatExpr(1.0) sci 20) <> "1.00000000000000000000e+0" or 3823 (floatExpr(1.0) sci 21) <> "1.000000000000000000000e+0" or 3824 (floatExpr(1.0) sci 22) <> "1.0000000000000000000000e+0" or 3825 (floatExpr(1.0) sci 23) <> "1.00000000000000000000000e+0" or 3826 (floatExpr(1.0) sci 24) <> "1.000000000000000000000000e+0" or 3827 (floatExpr(1.0) sci 25) <> "1.0000000000000000000000000e+0" or 3828 (floatExpr(1.0) sci 26) <> "1.00000000000000000000000000e+0" or 3829 (floatExpr(1.0) sci 27) <> "1.000000000000000000000000000e+0" or 3830 (floatExpr(1.0) sci 28) <> "1.0000000000000000000000000000e+0" or 3831 (floatExpr(1.0) sci 29) <> "1.00000000000000000000000000000e+0" or 3832 (floatExpr(1.0) sci 30) <> "1.000000000000000000000000000000e+0" or 3833 (floatExpr(1.0) sci 100) <> "1." & "0" mult 100 & "e+0" or 3834 (floatExpr(1.0) sci 1000) <> "1." & "0" mult 1000 & "e+0" or 3835 (floatExpr(1.0) sci 10000) <> "1." & "0" mult 10000 & "e+0" or 3836 (floatExpr(1.0) sci 100000) <> "1." & "0" mult 100000 & "e+0" or 3837 (floatExpr(1.0) sci 1000000) <> "1." & "0" mult 1000000 & "e+0" then 3838 writeln(" ***** Sci operator for float with many digits does not work correct."); 3839 okay := FALSE; 3840 end if; 3841 3842 if ( 1.0e-308 sci 1) <> "1.0e-308" or 3843 ( 1.0e-307 sci 1) <> "1.0e-307" or 3844 ( 1.0e-300 sci 1) <> "1.0e-300" or 3845 ( 1.0e-275 sci 1) <> "1.0e-275" or 3846 ( 1.0e-250 sci 1) <> "1.0e-250" or 3847 ( 1.0e-225 sci 1) <> "1.0e-225" or 3848 ( 1.0e-200 sci 1) <> "1.0e-200" or 3849 ( 1.0e-175 sci 1) <> "1.0e-175" or 3850 ( 1.0e-150 sci 1) <> "1.0e-150" or 3851 ( 1.0e-125 sci 1) <> "1.0e-125" or 3852 ( 1.0e-101 sci 1) <> "1.0e-101" or 3853 ( 1.0e-100 sci 1) <> "1.0e-100" or 3854 ( 1.0e-99 sci 1) <> "1.0e-99" or 3855 ( 1.0e-75 sci 1) <> "1.0e-75" or 3856 ( 1.0e-50 sci 1) <> "1.0e-50" or 3857 ( 1.0e-25 sci 1) <> "1.0e-25" or 3858 ( 1.0e-20 sci 1) <> "1.0e-20" or 3859 ( 1.0e-15 sci 1) <> "1.0e-15" or 3860 ( 1.0e-11 sci 1) <> "1.0e-11" or 3861 ( 1.0e-10 sci 1) <> "1.0e-10" or 3862 ( 1.0e-9 sci 1) <> "1.0e-9" or 3863 ( 1.0e-2 sci 1) <> "1.0e-2" or 3864 ( 1.0e-1 sci 1) <> "1.0e-1" or 3865 ( 1.0e0 sci 1) <> "1.0e+0" or 3866 ( 1.0e1 sci 1) <> "1.0e+1" or 3867 ( 1.0e2 sci 1) <> "1.0e+2" or 3868 ( 1.0e9 sci 1) <> "1.0e+9" or 3869 ( 1.0e10 sci 1) <> "1.0e+10" or 3870 ( 1.0e11 sci 1) <> "1.0e+11" or 3871 ( 1.0e15 sci 1) <> "1.0e+15" or 3872 ( 1.0e20 sci 1) <> "1.0e+20" or 3873 ( 1.0e25 sci 1) <> "1.0e+25" or 3874 ( 1.0e50 sci 1) <> "1.0e+50" or 3875 ( 1.0e75 sci 1) <> "1.0e+75" or 3876 ( 1.0e99 sci 1) <> "1.0e+99" or 3877 ( 1.0e100 sci 1) <> "1.0e+100" or 3878 ( 1.0e101 sci 1) <> "1.0e+101" or 3879 ( 1.0e125 sci 1) <> "1.0e+125" or 3880 ( 1.0e150 sci 1) <> "1.0e+150" or 3881 ( 1.0e175 sci 1) <> "1.0e+175" or 3882 ( 1.0e200 sci 1) <> "1.0e+200" or 3883 ( 1.0e225 sci 1) <> "1.0e+225" or 3884 ( 1.0e250 sci 1) <> "1.0e+250" or 3885 ( 1.0e275 sci 1) <> "1.0e+275" or 3886 ( 1.0e300 sci 1) <> "1.0e+300" or 3887 ( 1.0e307 sci 1) <> "1.0e+307" or 3888 ( 1.0e308 sci 1) <> "1.0e+308" or 3889 (floatExpr(1.0e-308) sci 1) <> "1.0e-308" or 3890 (floatExpr(1.0e-307) sci 1) <> "1.0e-307" or 3891 (floatExpr(1.0e-300) sci 1) <> "1.0e-300" or 3892 (floatExpr(1.0e-275) sci 1) <> "1.0e-275" or 3893 (floatExpr(1.0e-250) sci 1) <> "1.0e-250" or 3894 (floatExpr(1.0e-225) sci 1) <> "1.0e-225" or 3895 (floatExpr(1.0e-200) sci 1) <> "1.0e-200" or 3896 (floatExpr(1.0e-175) sci 1) <> "1.0e-175" or 3897 (floatExpr(1.0e-150) sci 1) <> "1.0e-150" or 3898 (floatExpr(1.0e-125) sci 1) <> "1.0e-125" or 3899 (floatExpr(1.0e-101) sci 1) <> "1.0e-101" or 3900 (floatExpr(1.0e-100) sci 1) <> "1.0e-100" or 3901 (floatExpr(1.0e-99 ) sci 1) <> "1.0e-99" or 3902 (floatExpr(1.0e-75 ) sci 1) <> "1.0e-75" or 3903 (floatExpr(1.0e-50 ) sci 1) <> "1.0e-50" or 3904 (floatExpr(1.0e-25 ) sci 1) <> "1.0e-25" or 3905 (floatExpr(1.0e-20 ) sci 1) <> "1.0e-20" or 3906 (floatExpr(1.0e-15 ) sci 1) <> "1.0e-15" or 3907 (floatExpr(1.0e-11 ) sci 1) <> "1.0e-11" or 3908 (floatExpr(1.0e-10 ) sci 1) <> "1.0e-10" or 3909 (floatExpr(1.0e-9 ) sci 1) <> "1.0e-9" or 3910 (floatExpr(1.0e-2 ) sci 1) <> "1.0e-2" or 3911 (floatExpr(1.0e-1 ) sci 1) <> "1.0e-1" or 3912 (floatExpr(1.0e0 ) sci 1) <> "1.0e+0" or 3913 (floatExpr(1.0e1 ) sci 1) <> "1.0e+1" or 3914 (floatExpr(1.0e2 ) sci 1) <> "1.0e+2" or 3915 (floatExpr(1.0e9 ) sci 1) <> "1.0e+9" or 3916 (floatExpr(1.0e10 ) sci 1) <> "1.0e+10" or 3917 (floatExpr(1.0e11 ) sci 1) <> "1.0e+11" or 3918 (floatExpr(1.0e15 ) sci 1) <> "1.0e+15" or 3919 (floatExpr(1.0e20 ) sci 1) <> "1.0e+20" or 3920 (floatExpr(1.0e25 ) sci 1) <> "1.0e+25" or 3921 (floatExpr(1.0e50 ) sci 1) <> "1.0e+50" or 3922 (floatExpr(1.0e75 ) sci 1) <> "1.0e+75" or 3923 (floatExpr(1.0e99 ) sci 1) <> "1.0e+99" or 3924 (floatExpr(1.0e100 ) sci 1) <> "1.0e+100" or 3925 (floatExpr(1.0e101 ) sci 1) <> "1.0e+101" or 3926 (floatExpr(1.0e125 ) sci 1) <> "1.0e+125" or 3927 (floatExpr(1.0e150 ) sci 1) <> "1.0e+150" or 3928 (floatExpr(1.0e175 ) sci 1) <> "1.0e+175" or 3929 (floatExpr(1.0e200 ) sci 1) <> "1.0e+200" or 3930 (floatExpr(1.0e225 ) sci 1) <> "1.0e+225" or 3931 (floatExpr(1.0e250 ) sci 1) <> "1.0e+250" or 3932 (floatExpr(1.0e275 ) sci 1) <> "1.0e+275" or 3933 (floatExpr(1.0e300 ) sci 1) <> "1.0e+300" or 3934 (floatExpr(1.0e307 ) sci 1) <> "1.0e+307" or 3935 (floatExpr(1.0e308 ) sci 1) <> "1.0e+308" then 3936 writeln(" ***** Sci operator for float with higher exponent does not work correct."); 3937 okay := FALSE; 3938 end if; 3939 3940 if not raisesRangeError( 3.1415 sci -1 ) or 3941 not raisesRangeError(floatExpr(3.1415 ) sci -1 ) or 3942 not raisesRangeError( 3.1415 sci intExpr(-1)) or 3943 not raisesRangeError(floatExpr(3.1415 ) sci intExpr(-1)) then 3944 writeln(" ***** Sci operator for float with negative precision does not raise RANGE_ERROR."); 3945 okay := FALSE; 3946 end if; 3947 3948 if okay then 3949 writeln("Decimal conversion of float works correct."); 3950 else 3951 writeln(" ***** Decimal conversion of float does not work correct."); 3952 end if; 3953 end func; 3954 3955 3956const proc: check_conversion is func 3957 local 3958 var boolean: okay is TRUE; 3959 begin 3960 if float conv (integer.first) <> -9223372036854775808.0 or 3961 float conv (-9223372036854774784) <> -9223372036854774784.0 or 3962 float conv (-1000000000000000000) <> -1000000000000000000.0 or 3963 float conv (-100000000000000000) <> -100000000000000000.0 or 3964 float conv (-10000000000000000) <> -10000000000000000.0 or 3965 float conv (-9007199254740992) <> -9007199254740992.0 or 3966 float conv (-4503599627370496) <> -4503599627370496.0 or 3967 float conv (-2251799813685248) <> -2251799813685248.0 or 3968 float conv (-1125899906842624) <> -1125899906842624.0 or 3969 float conv (-1000000000000000) <> -1000000000000000.0 or 3970 float conv (-999999999999999) <> -999999999999999.0 or 3971 float conv (-234567891234567) <> -234567891234567.0 or 3972 float conv (-100000000000000) <> -100000000000000.0 or 3973 float conv (-99999999999999) <> -99999999999999.0 or 3974 float conv (-34567891234567) <> -34567891234567.0 or 3975 float conv (-10000000000000) <> -10000000000000.0 or 3976 float conv (-9999999999999) <> -9999999999999.0 or 3977 float conv (-4567891234567) <> -4567891234567.0 or 3978 float conv (-1000000000000) <> -1000000000000.0 or 3979 float conv (-999999999999) <> -999999999999.0 or 3980 float conv (-567891234567) <> -567891234567.0 or 3981 float conv (-100000000000) <> -100000000000.0 or 3982 float conv (-99999999999) <> -99999999999.0 or 3983 float conv (-10000000000) <> -10000000000.0 or 3984 float conv (-9999999999) <> -9999999999.0 or 3985 float conv (-7891234567) <> -7891234567.0 or 3986 float conv (-1000000000) <> -1000000000.0 or 3987 float conv (-999999999) <> -999999999.0 or 3988 float conv (-891234567) <> -891234567.0 or 3989 float conv (-100000000) <> -100000000.0 or 3990 float conv (-99999999) <> -99999999.0 or 3991 float conv (-91234567) <> -91234567.0 or 3992 float conv (-10000000) <> -10000000.0 or 3993 float conv (-9999999) <> -9999999.0 or 3994 float conv (-1234567) <> -1234567.0 or 3995 float conv (-1000000) <> -1000000.0 or 3996 float conv (-999999) <> -999999.0 or 3997 float conv (-234567) <> -234567.0 or 3998 float conv (-100000) <> -100000.0 or 3999 float conv (-99999) <> -99999.0 or 4000 float conv (-34567) <> -34567.0 or 4001 float conv (-10000) <> -10000.0 or 4002 float conv (-9999) <> -9999.0 or 4003 float conv (-4567) <> -4567.0 or 4004 float conv (-1000) <> -1000.0 or 4005 float conv (-999) <> -999.0 or 4006 float conv (-567) <> -567.0 or 4007 float conv (-100) <> -100.0 or 4008 float conv (-99) <> -99.0 or 4009 float conv (-67) <> -67.0 or 4010 float conv (-10) <> -10.0 or 4011 float conv (-9) <> -9.0 or 4012 float conv (-7) <> -7.0 or 4013 float conv (-1) <> -1.0 or 4014 float conv 0 <> 0.0 or 4015 float conv 1 <> 1.0 or 4016 float conv 7 <> 7.0 or 4017 float conv 9 <> 9.0 or 4018 float conv 10 <> 10.0 or 4019 float conv 67 <> 67.0 or 4020 float conv 99 <> 99.0 or 4021 float conv 100 <> 100.0 or 4022 float conv 567 <> 567.0 or 4023 float conv 999 <> 999.0 or 4024 float conv 1000 <> 1000.0 or 4025 float conv 4567 <> 4567.0 or 4026 float conv 9999 <> 9999.0 or 4027 float conv 10000 <> 10000.0 or 4028 float conv 34567 <> 34567.0 or 4029 float conv 99999 <> 99999.0 or 4030 float conv 100000 <> 100000.0 or 4031 float conv 234567 <> 234567.0 or 4032 float conv 999999 <> 999999.0 or 4033 float conv 1000000 <> 1000000.0 or 4034 float conv 1234567 <> 1234567.0 or 4035 float conv 9999999 <> 9999999.0 or 4036 float conv 10000000 <> 10000000.0 or 4037 float conv 91234567 <> 91234567.0 or 4038 float conv 99999999 <> 99999999.0 or 4039 float conv 100000000 <> 100000000.0 or 4040 float conv 891234567 <> 891234567.0 or 4041 float conv 999999999 <> 999999999.0 or 4042 float conv 1000000000 <> 1000000000.0 or 4043 float conv 7891234567 <> 7891234567.0 or 4044 float conv 9999999999 <> 9999999999.0 or 4045 float conv 10000000000 <> 10000000000.0 or 4046 float conv 67891234567 <> 67891234567.0 or 4047 float conv 99999999999 <> 99999999999.0 or 4048 float conv 100000000000 <> 100000000000.0 or 4049 float conv 567891234567 <> 567891234567.0 or 4050 float conv 999999999999 <> 999999999999.0 or 4051 float conv 1000000000000 <> 1000000000000.0 or 4052 float conv 4567891234567 <> 4567891234567.0 or 4053 float conv 9999999999999 <> 9999999999999.0 or 4054 float conv 10000000000000 <> 10000000000000.0 or 4055 float conv 34567891234567 <> 34567891234567.0 or 4056 float conv 99999999999999 <> 99999999999999.0 or 4057 float conv 100000000000000 <> 100000000000000.0 or 4058 float conv 234567891234567 <> 234567891234567.0 or 4059 float conv 999999999999999 <> 999999999999999.0 or 4060 float conv 1000000000000000 <> 1000000000000000.0 or 4061 float conv 1125899906842624 <> 1125899906842624.0 or 4062 float conv 2251799813685248 <> 2251799813685248.0 or 4063 float conv 4503599627370496 <> 4503599627370496.0 or 4064 float conv 9007199254740992 <> 9007199254740992.0 or 4065 float conv 10000000000000000 <> 10000000000000000.0 or 4066 float conv 100000000000000000 <> 100000000000000000.0 or 4067 float conv 1000000000000000000 <> 1000000000000000000.0 or 4068 float conv 9223372036854774784 <> 9223372036854774784.0 then 4069 writeln(" ***** Conversion from integer to float does not work correct. (1)"); 4070 okay := FALSE; 4071 end if; 4072 4073 if float conv intExpr( integer.first) <> -9223372036854775808.0 or 4074 float conv intExpr(-9223372036854774784) <> -9223372036854774784.0 or 4075 float conv intExpr(-1000000000000000000) <> -1000000000000000000.0 or 4076 float conv intExpr( -100000000000000000) <> -100000000000000000.0 or 4077 float conv intExpr( -10000000000000000) <> -10000000000000000.0 or 4078 float conv intExpr( -9007199254740992) <> -9007199254740992.0 or 4079 float conv intExpr( -4503599627370496) <> -4503599627370496.0 or 4080 float conv intExpr( -2251799813685248) <> -2251799813685248.0 or 4081 float conv intExpr( -1125899906842624) <> -1125899906842624.0 or 4082 float conv intExpr( -1000000000000000) <> -1000000000000000.0 or 4083 float conv intExpr( -999999999999999) <> -999999999999999.0 or 4084 float conv intExpr( -234567891234567) <> -234567891234567.0 or 4085 float conv intExpr( -100000000000000) <> -100000000000000.0 or 4086 float conv intExpr( -99999999999999) <> -99999999999999.0 or 4087 float conv intExpr( -34567891234567) <> -34567891234567.0 or 4088 float conv intExpr( -10000000000000) <> -10000000000000.0 or 4089 float conv intExpr( -9999999999999) <> -9999999999999.0 or 4090 float conv intExpr( -4567891234567) <> -4567891234567.0 or 4091 float conv intExpr( -1000000000000) <> -1000000000000.0 or 4092 float conv intExpr( -999999999999) <> -999999999999.0 or 4093 float conv intExpr( -567891234567) <> -567891234567.0 or 4094 float conv intExpr( -100000000000) <> -100000000000.0 or 4095 float conv intExpr( -99999999999) <> -99999999999.0 or 4096 float conv intExpr( -10000000000) <> -10000000000.0 or 4097 float conv intExpr( -9999999999) <> -9999999999.0 or 4098 float conv intExpr( -7891234567) <> -7891234567.0 or 4099 float conv intExpr( -1000000000) <> -1000000000.0 or 4100 float conv intExpr( -999999999) <> -999999999.0 or 4101 float conv intExpr( -891234567) <> -891234567.0 or 4102 float conv intExpr( -100000000) <> -100000000.0 or 4103 float conv intExpr( -99999999) <> -99999999.0 or 4104 float conv intExpr( -91234567) <> -91234567.0 or 4105 float conv intExpr( -10000000) <> -10000000.0 or 4106 float conv intExpr( -9999999) <> -9999999.0 or 4107 float conv intExpr( -1234567) <> -1234567.0 or 4108 float conv intExpr( -1000000) <> -1000000.0 or 4109 float conv intExpr( -999999) <> -999999.0 or 4110 float conv intExpr( -234567) <> -234567.0 or 4111 float conv intExpr( -100000) <> -100000.0 or 4112 float conv intExpr( -99999) <> -99999.0 or 4113 float conv intExpr( -34567) <> -34567.0 or 4114 float conv intExpr( -10000) <> -10000.0 or 4115 float conv intExpr( -9999) <> -9999.0 or 4116 float conv intExpr( -4567) <> -4567.0 or 4117 float conv intExpr( -1000) <> -1000.0 or 4118 float conv intExpr( -999) <> -999.0 or 4119 float conv intExpr( -567) <> -567.0 or 4120 float conv intExpr( -100) <> -100.0 or 4121 float conv intExpr( -99) <> -99.0 or 4122 float conv intExpr( -67) <> -67.0 or 4123 float conv intExpr( -10) <> -10.0 or 4124 float conv intExpr( -9) <> -9.0 or 4125 float conv intExpr( -7) <> -7.0 or 4126 float conv intExpr( -1) <> -1.0 or 4127 float conv intExpr( 0) <> 0.0 or 4128 float conv intExpr( 1) <> 1.0 or 4129 float conv intExpr( 7) <> 7.0 or 4130 float conv intExpr( 9) <> 9.0 or 4131 float conv intExpr( 10) <> 10.0 or 4132 float conv intExpr( 67) <> 67.0 or 4133 float conv intExpr( 99) <> 99.0 or 4134 float conv intExpr( 100) <> 100.0 or 4135 float conv intExpr( 567) <> 567.0 or 4136 float conv intExpr( 999) <> 999.0 or 4137 float conv intExpr( 1000) <> 1000.0 or 4138 float conv intExpr( 4567) <> 4567.0 or 4139 float conv intExpr( 9999) <> 9999.0 or 4140 float conv intExpr( 10000) <> 10000.0 or 4141 float conv intExpr( 34567) <> 34567.0 or 4142 float conv intExpr( 99999) <> 99999.0 or 4143 float conv intExpr( 100000) <> 100000.0 or 4144 float conv intExpr( 234567) <> 234567.0 or 4145 float conv intExpr( 999999) <> 999999.0 or 4146 float conv intExpr( 1000000) <> 1000000.0 or 4147 float conv intExpr( 1234567) <> 1234567.0 or 4148 float conv intExpr( 9999999) <> 9999999.0 or 4149 float conv intExpr( 10000000) <> 10000000.0 or 4150 float conv intExpr( 91234567) <> 91234567.0 or 4151 float conv intExpr( 99999999) <> 99999999.0 or 4152 float conv intExpr( 100000000) <> 100000000.0 or 4153 float conv intExpr( 891234567) <> 891234567.0 or 4154 float conv intExpr( 999999999) <> 999999999.0 or 4155 float conv intExpr( 1000000000) <> 1000000000.0 or 4156 float conv intExpr( 7891234567) <> 7891234567.0 or 4157 float conv intExpr( 9999999999) <> 9999999999.0 or 4158 float conv intExpr( 10000000000) <> 10000000000.0 or 4159 float conv intExpr( 67891234567) <> 67891234567.0 or 4160 float conv intExpr( 99999999999) <> 99999999999.0 or 4161 float conv intExpr( 100000000000) <> 100000000000.0 or 4162 float conv intExpr( 567891234567) <> 567891234567.0 or 4163 float conv intExpr( 999999999999) <> 999999999999.0 or 4164 float conv intExpr( 1000000000000) <> 1000000000000.0 or 4165 float conv intExpr( 4567891234567) <> 4567891234567.0 or 4166 float conv intExpr( 9999999999999) <> 9999999999999.0 or 4167 float conv intExpr( 10000000000000) <> 10000000000000.0 or 4168 float conv intExpr( 34567891234567) <> 34567891234567.0 or 4169 float conv intExpr( 99999999999999) <> 99999999999999.0 or 4170 float conv intExpr( 100000000000000) <> 100000000000000.0 or 4171 float conv intExpr( 234567891234567) <> 234567891234567.0 or 4172 float conv intExpr( 999999999999999) <> 999999999999999.0 or 4173 float conv intExpr( 1000000000000000) <> 1000000000000000.0 or 4174 float conv intExpr( 1125899906842624) <> 1125899906842624.0 or 4175 float conv intExpr( 2251799813685248) <> 2251799813685248.0 or 4176 float conv intExpr( 4503599627370496) <> 4503599627370496.0 or 4177 float conv intExpr( 9007199254740992) <> 9007199254740992.0 or 4178 float conv intExpr( 10000000000000000) <> 10000000000000000.0 or 4179 float conv intExpr( 100000000000000000) <> 100000000000000000.0 or 4180 float conv intExpr( 1000000000000000000) <> 1000000000000000000.0 or 4181 float conv intExpr( 9223372036854774784) <> 9223372036854774784.0 then 4182 writeln(" ***** Conversion from integer to float does not work correct. (2)"); 4183 okay := FALSE; 4184 end if; 4185 4186 if float( integer.first) <> -9223372036854775808.0 or 4187 float(-9223372036854774784) <> -9223372036854774784.0 or 4188 float(-1000000000000000000) <> -1000000000000000000.0 or 4189 float( -100000000000000000) <> -100000000000000000.0 or 4190 float( -10000000000000000) <> -10000000000000000.0 or 4191 float( -9007199254740992) <> -9007199254740992.0 or 4192 float( -4503599627370496) <> -4503599627370496.0 or 4193 float( -2251799813685248) <> -2251799813685248.0 or 4194 float( -1125899906842624) <> -1125899906842624.0 or 4195 float( -1000000000000000) <> -1000000000000000.0 or 4196 float( -999999999999999) <> -999999999999999.0 or 4197 float( -234567891234567) <> -234567891234567.0 or 4198 float( -100000000000000) <> -100000000000000.0 or 4199 float( -99999999999999) <> -99999999999999.0 or 4200 float( -34567891234567) <> -34567891234567.0 or 4201 float( -10000000000000) <> -10000000000000.0 or 4202 float( -9999999999999) <> -9999999999999.0 or 4203 float( -4567891234567) <> -4567891234567.0 or 4204 float( -1000000000000) <> -1000000000000.0 or 4205 float( -999999999999) <> -999999999999.0 or 4206 float( -567891234567) <> -567891234567.0 or 4207 float( -100000000000) <> -100000000000.0 or 4208 float( -99999999999) <> -99999999999.0 or 4209 float( -10000000000) <> -10000000000.0 or 4210 float( -9999999999) <> -9999999999.0 or 4211 float( -7891234567) <> -7891234567.0 or 4212 float( -1000000000) <> -1000000000.0 or 4213 float( -999999999) <> -999999999.0 or 4214 float( -891234567) <> -891234567.0 or 4215 float( -100000000) <> -100000000.0 or 4216 float( -99999999) <> -99999999.0 or 4217 float( -91234567) <> -91234567.0 or 4218 float( -10000000) <> -10000000.0 or 4219 float( -9999999) <> -9999999.0 or 4220 float( -1234567) <> -1234567.0 or 4221 float( -1000000) <> -1000000.0 or 4222 float( -999999) <> -999999.0 or 4223 float( -234567) <> -234567.0 or 4224 float( -100000) <> -100000.0 or 4225 float( -99999) <> -99999.0 or 4226 float( -34567) <> -34567.0 or 4227 float( -10000) <> -10000.0 or 4228 float( -9999) <> -9999.0 or 4229 float( -4567) <> -4567.0 or 4230 float( -1000) <> -1000.0 or 4231 float( -999) <> -999.0 or 4232 float( -567) <> -567.0 or 4233 float( -100) <> -100.0 or 4234 float( -99) <> -99.0 or 4235 float( -67) <> -67.0 or 4236 float( -10) <> -10.0 or 4237 float( -9) <> -9.0 or 4238 float( -7) <> -7.0 or 4239 float( -1) <> -1.0 or 4240 float( 0) <> 0.0 or 4241 float( 1) <> 1.0 or 4242 float( 7) <> 7.0 or 4243 float( 9) <> 9.0 or 4244 float( 10) <> 10.0 or 4245 float( 67) <> 67.0 or 4246 float( 99) <> 99.0 or 4247 float( 100) <> 100.0 or 4248 float( 567) <> 567.0 or 4249 float( 999) <> 999.0 or 4250 float( 1000) <> 1000.0 or 4251 float( 4567) <> 4567.0 or 4252 float( 9999) <> 9999.0 or 4253 float( 10000) <> 10000.0 or 4254 float( 34567) <> 34567.0 or 4255 float( 99999) <> 99999.0 or 4256 float( 100000) <> 100000.0 or 4257 float( 234567) <> 234567.0 or 4258 float( 999999) <> 999999.0 or 4259 float( 1000000) <> 1000000.0 or 4260 float( 1234567) <> 1234567.0 or 4261 float( 9999999) <> 9999999.0 or 4262 float( 10000000) <> 10000000.0 or 4263 float( 91234567) <> 91234567.0 or 4264 float( 99999999) <> 99999999.0 or 4265 float( 100000000) <> 100000000.0 or 4266 float( 891234567) <> 891234567.0 or 4267 float( 999999999) <> 999999999.0 or 4268 float( 1000000000) <> 1000000000.0 or 4269 float( 7891234567) <> 7891234567.0 or 4270 float( 9999999999) <> 9999999999.0 or 4271 float( 10000000000) <> 10000000000.0 or 4272 float( 67891234567) <> 67891234567.0 or 4273 float( 99999999999) <> 99999999999.0 or 4274 float( 100000000000) <> 100000000000.0 or 4275 float( 567891234567) <> 567891234567.0 or 4276 float( 999999999999) <> 999999999999.0 or 4277 float( 1000000000000) <> 1000000000000.0 or 4278 float( 4567891234567) <> 4567891234567.0 or 4279 float( 9999999999999) <> 9999999999999.0 or 4280 float( 10000000000000) <> 10000000000000.0 or 4281 float( 34567891234567) <> 34567891234567.0 or 4282 float( 99999999999999) <> 99999999999999.0 or 4283 float( 100000000000000) <> 100000000000000.0 or 4284 float( 234567891234567) <> 234567891234567.0 or 4285 float( 999999999999999) <> 999999999999999.0 or 4286 float( 1000000000000000) <> 1000000000000000.0 or 4287 float( 1125899906842624) <> 1125899906842624.0 or 4288 float( 2251799813685248) <> 2251799813685248.0 or 4289 float( 4503599627370496) <> 4503599627370496.0 or 4290 float( 9007199254740992) <> 9007199254740992.0 or 4291 float( 10000000000000000) <> 10000000000000000.0 or 4292 float( 100000000000000000) <> 100000000000000000.0 or 4293 float( 1000000000000000000) <> 1000000000000000000.0 or 4294 float( 9223372036854774784) <> 9223372036854774784.0 then 4295 writeln(" ***** Conversion from integer to float does not work correct. (3)"); 4296 okay := FALSE; 4297 end if; 4298 4299 if float(intExpr( integer.first)) <> -9223372036854775808.0 or 4300 float(intExpr(-9223372036854774784)) <> -9223372036854774784.0 or 4301 float(intExpr(-1000000000000000000)) <> -1000000000000000000.0 or 4302 float(intExpr( -100000000000000000)) <> -100000000000000000.0 or 4303 float(intExpr( -10000000000000000)) <> -10000000000000000.0 or 4304 float(intExpr( -9007199254740992)) <> -9007199254740992.0 or 4305 float(intExpr( -4503599627370496)) <> -4503599627370496.0 or 4306 float(intExpr( -2251799813685248)) <> -2251799813685248.0 or 4307 float(intExpr( -1125899906842624)) <> -1125899906842624.0 or 4308 float(intExpr( -1000000000000000)) <> -1000000000000000.0 or 4309 float(intExpr( -999999999999999)) <> -999999999999999.0 or 4310 float(intExpr( -234567891234567)) <> -234567891234567.0 or 4311 float(intExpr( -100000000000000)) <> -100000000000000.0 or 4312 float(intExpr( -99999999999999)) <> -99999999999999.0 or 4313 float(intExpr( -34567891234567)) <> -34567891234567.0 or 4314 float(intExpr( -10000000000000)) <> -10000000000000.0 or 4315 float(intExpr( -9999999999999)) <> -9999999999999.0 or 4316 float(intExpr( -4567891234567)) <> -4567891234567.0 or 4317 float(intExpr( -1000000000000)) <> -1000000000000.0 or 4318 float(intExpr( -999999999999)) <> -999999999999.0 or 4319 float(intExpr( -567891234567)) <> -567891234567.0 or 4320 float(intExpr( -100000000000)) <> -100000000000.0 or 4321 float(intExpr( -99999999999)) <> -99999999999.0 or 4322 float(intExpr( -10000000000)) <> -10000000000.0 or 4323 float(intExpr( -9999999999)) <> -9999999999.0 or 4324 float(intExpr( -7891234567)) <> -7891234567.0 or 4325 float(intExpr( -1000000000)) <> -1000000000.0 or 4326 float(intExpr( -999999999)) <> -999999999.0 or 4327 float(intExpr( -891234567)) <> -891234567.0 or 4328 float(intExpr( -100000000)) <> -100000000.0 or 4329 float(intExpr( -99999999)) <> -99999999.0 or 4330 float(intExpr( -91234567)) <> -91234567.0 or 4331 float(intExpr( -10000000)) <> -10000000.0 or 4332 float(intExpr( -9999999)) <> -9999999.0 or 4333 float(intExpr( -1234567)) <> -1234567.0 or 4334 float(intExpr( -1000000)) <> -1000000.0 or 4335 float(intExpr( -999999)) <> -999999.0 or 4336 float(intExpr( -234567)) <> -234567.0 or 4337 float(intExpr( -100000)) <> -100000.0 or 4338 float(intExpr( -99999)) <> -99999.0 or 4339 float(intExpr( -34567)) <> -34567.0 or 4340 float(intExpr( -10000)) <> -10000.0 or 4341 float(intExpr( -9999)) <> -9999.0 or 4342 float(intExpr( -4567)) <> -4567.0 or 4343 float(intExpr( -1000)) <> -1000.0 or 4344 float(intExpr( -999)) <> -999.0 or 4345 float(intExpr( -567)) <> -567.0 or 4346 float(intExpr( -100)) <> -100.0 or 4347 float(intExpr( -99)) <> -99.0 or 4348 float(intExpr( -67)) <> -67.0 or 4349 float(intExpr( -10)) <> -10.0 or 4350 float(intExpr( -9)) <> -9.0 or 4351 float(intExpr( -7)) <> -7.0 or 4352 float(intExpr( -1)) <> -1.0 or 4353 float(intExpr( 0)) <> 0.0 or 4354 float(intExpr( 1)) <> 1.0 or 4355 float(intExpr( 7)) <> 7.0 or 4356 float(intExpr( 9)) <> 9.0 or 4357 float(intExpr( 10)) <> 10.0 or 4358 float(intExpr( 67)) <> 67.0 or 4359 float(intExpr( 99)) <> 99.0 or 4360 float(intExpr( 100)) <> 100.0 or 4361 float(intExpr( 567)) <> 567.0 or 4362 float(intExpr( 999)) <> 999.0 or 4363 float(intExpr( 1000)) <> 1000.0 or 4364 float(intExpr( 4567)) <> 4567.0 or 4365 float(intExpr( 9999)) <> 9999.0 or 4366 float(intExpr( 10000)) <> 10000.0 or 4367 float(intExpr( 34567)) <> 34567.0 or 4368 float(intExpr( 99999)) <> 99999.0 or 4369 float(intExpr( 100000)) <> 100000.0 or 4370 float(intExpr( 234567)) <> 234567.0 or 4371 float(intExpr( 999999)) <> 999999.0 or 4372 float(intExpr( 1000000)) <> 1000000.0 or 4373 float(intExpr( 1234567)) <> 1234567.0 or 4374 float(intExpr( 9999999)) <> 9999999.0 or 4375 float(intExpr( 10000000)) <> 10000000.0 or 4376 float(intExpr( 91234567)) <> 91234567.0 or 4377 float(intExpr( 99999999)) <> 99999999.0 or 4378 float(intExpr( 100000000)) <> 100000000.0 or 4379 float(intExpr( 891234567)) <> 891234567.0 or 4380 float(intExpr( 999999999)) <> 999999999.0 or 4381 float(intExpr( 1000000000)) <> 1000000000.0 or 4382 float(intExpr( 7891234567)) <> 7891234567.0 or 4383 float(intExpr( 9999999999)) <> 9999999999.0 or 4384 float(intExpr( 10000000000)) <> 10000000000.0 or 4385 float(intExpr( 67891234567)) <> 67891234567.0 or 4386 float(intExpr( 99999999999)) <> 99999999999.0 or 4387 float(intExpr( 100000000000)) <> 100000000000.0 or 4388 float(intExpr( 567891234567)) <> 567891234567.0 or 4389 float(intExpr( 999999999999)) <> 999999999999.0 or 4390 float(intExpr( 1000000000000)) <> 1000000000000.0 or 4391 float(intExpr( 4567891234567)) <> 4567891234567.0 or 4392 float(intExpr( 9999999999999)) <> 9999999999999.0 or 4393 float(intExpr( 10000000000000)) <> 10000000000000.0 or 4394 float(intExpr( 34567891234567)) <> 34567891234567.0 or 4395 float(intExpr( 99999999999999)) <> 99999999999999.0 or 4396 float(intExpr( 100000000000000)) <> 100000000000000.0 or 4397 float(intExpr( 234567891234567)) <> 234567891234567.0 or 4398 float(intExpr( 999999999999999)) <> 999999999999999.0 or 4399 float(intExpr( 1000000000000000)) <> 1000000000000000.0 or 4400 float(intExpr( 1125899906842624)) <> 1125899906842624.0 or 4401 float(intExpr( 2251799813685248)) <> 2251799813685248.0 or 4402 float(intExpr( 4503599627370496)) <> 4503599627370496.0 or 4403 float(intExpr( 9007199254740992)) <> 9007199254740992.0 or 4404 float(intExpr( 10000000000000000)) <> 10000000000000000.0 or 4405 float(intExpr( 100000000000000000)) <> 100000000000000000.0 or 4406 float(intExpr( 1000000000000000000)) <> 1000000000000000000.0 or 4407 float(intExpr( 9223372036854774784)) <> 9223372036854774784.0 then 4408 writeln(" ***** Conversion from integer to float does not work correct. (4)"); 4409 okay := FALSE; 4410 end if; 4411 4412 if okay then 4413 writeln("Conversion from integer to float works correct."); 4414 else 4415 writeln(" ***** Conversion from integer to float does not work correct."); 4416 end if; 4417 end func; 4418 4419 4420const proc: check_trunc is func 4421 local 4422 var boolean: okay is TRUE; 4423 begin 4424 if not raisesRangeError(trunc( -Infinity )) or 4425 not raisesRangeError(trunc( -FLOAT_MAX )) or 4426 not raisesRangeError(trunc( -1.0e37 )) or 4427 not raisesRangeError(trunc(-9223372036854777856.0)) or 4428 trunc(-9223372036854775808.0) <> integer.first or 4429 trunc(-4611686018427387904.0) <> -4611686018427387904 or 4430 trunc(-2305843009213693952.0) <> -2305843009213693952 or 4431 trunc(-1152921504606846976.0) <> -1152921504606846976 or 4432 trunc( -576460752303423488.0) <> -576460752303423488 or 4433 trunc( -9007199254740992.0) <> -9007199254740992 or 4434 trunc( -9007199254740991.0) <> -9007199254740991 or 4435 trunc( -9007199254740990.0) <> -9007199254740990 or 4436 trunc( -10000000000000.9) <> -10000000000000 or 4437 trunc( -10000000000000.0) <> -10000000000000 or 4438 trunc( -1000000000000.99) <> -1000000000000 or 4439 trunc( -1000000000000.0) <> -1000000000000 or 4440 trunc( -100000000000.999) <> -100000000000 or 4441 trunc( -100000000000.0) <> -100000000000 or 4442 trunc( -10000000000.9999) <> -10000000000 or 4443 trunc( -10000000000.0) <> -10000000000 or 4444 trunc( -1000000000.99999) <> -1000000000 or 4445 trunc( -1000000000.0) <> -1000000000 or 4446 trunc( -100000000.999999) <> -100000000 or 4447 trunc( -100000000.0) <> -100000000 or 4448 trunc( -10000000.9999999) <> -10000000 or 4449 trunc( -10000000.0) <> -10000000 or 4450 trunc( -1000000.99999999) <> -1000000 or 4451 trunc( -1000000.0) <> -1000000 or 4452 trunc( -100000.999999999) <> -100000 or 4453 trunc( -100000.0) <> -100000 or 4454 trunc( -10000.9999999999) <> -10000 or 4455 trunc( -10000.0) <> -10000 or 4456 trunc( -1000.99999999999) <> -1000 or 4457 trunc( -1000.0) <> -1000 or 4458 trunc( -100.999999999999) <> -100 or 4459 trunc( -100.0) <> -100 or 4460 trunc( -10.9999999999999) <> -10 or 4461 trunc( -10.0) <> -10 or 4462 trunc( -1.99999999999999) <> -1 or 4463 trunc( -1.0) <> -1 or 4464 trunc( -0.999999999999999) <> 0 or 4465 trunc( 0.0) <> 0 or 4466 trunc( 0.999999999999999) <> 0 or 4467 trunc( 1.0) <> 1 or 4468 trunc( 1.99999999999999) <> 1 or 4469 trunc( 10.0) <> 10 or 4470 trunc( 10.9999999999999) <> 10 or 4471 trunc( 100.0) <> 100 or 4472 trunc( 100.999999999999) <> 100 or 4473 trunc( 1000.0) <> 1000 or 4474 trunc( 1000.99999999999) <> 1000 or 4475 trunc( 10000.0) <> 10000 or 4476 trunc( 10000.9999999999) <> 10000 or 4477 trunc( 100000.0) <> 100000 or 4478 trunc( 100000.999999999) <> 100000 or 4479 trunc( 1000000.0) <> 1000000 or 4480 trunc( 1000000.99999999) <> 1000000 or 4481 trunc( 10000000.0) <> 10000000 or 4482 trunc( 10000000.9999999) <> 10000000 or 4483 trunc( 100000000.0) <> 100000000 or 4484 trunc( 100000000.999999) <> 100000000 or 4485 trunc( 1000000000.0) <> 1000000000 or 4486 trunc( 1000000000.99999) <> 1000000000 or 4487 trunc( 10000000000.0) <> 10000000000 or 4488 trunc( 10000000000.9999) <> 10000000000 or 4489 trunc( 100000000000.0) <> 100000000000 or 4490 trunc( 100000000000.999) <> 100000000000 or 4491 trunc( 1000000000000.0) <> 1000000000000 or 4492 trunc( 1000000000000.99) <> 1000000000000 or 4493 trunc( 10000000000000.0) <> 10000000000000 or 4494 trunc( 10000000000000.9) <> 10000000000000 or 4495 trunc( 9007199254740990.0) <> 9007199254740990 or 4496 trunc( 9007199254740991.0) <> 9007199254740991 or 4497 trunc( 9007199254740992.0) <> 9007199254740992 or 4498 trunc( 576460752303423488.0) <> 576460752303423488 or 4499 trunc( 1152921504606846976.0) <> 1152921504606846976 or 4500 trunc( 2305843009213693952.0) <> 2305843009213693952 or 4501 trunc( 4611686018427387904.0) <> 4611686018427387904 or 4502 trunc( 9223372036854773760.0) <> 9223372036854773760 or 4503 trunc( 9223372036854774784.0) <> 9223372036854774784 or 4504 not raisesRangeError(trunc( 9223372036854775807.0)) and 4505 trunc( 9223372036854775807.0) <> 9223372036854775807 or 4506 not raisesRangeError(trunc( 9223372036854777856.0)) or 4507 not raisesRangeError(trunc( 1.0e37 )) or 4508 not raisesRangeError(trunc( FLOAT_MAX )) or 4509 not raisesRangeError(trunc( Infinity )) or 4510 not raisesRangeError(trunc( NaN )) then 4511 writeln(" ***** Truncation of float does not work correct. (1)"); 4512 okay := FALSE; 4513 end if; 4514 4515 if not raisesRangeError(trunc(floatExpr( -Infinity ))) or 4516 not raisesRangeError(trunc(floatExpr( -FLOAT_MAX ))) or 4517 not raisesRangeError(trunc(floatExpr( -1.0e37 ))) or 4518 not raisesRangeError(trunc(floatExpr(-9223372036854777856.0))) or 4519 trunc(floatExpr(-9223372036854775808.0)) <> integer.first or 4520 trunc(floatExpr(-4611686018427387904.0)) <> -4611686018427387904 or 4521 trunc(floatExpr(-2305843009213693952.0)) <> -2305843009213693952 or 4522 trunc(floatExpr(-1152921504606846976.0)) <> -1152921504606846976 or 4523 trunc(floatExpr( -576460752303423488.0)) <> -576460752303423488 or 4524 trunc(floatExpr( -9007199254740992.0)) <> -9007199254740992 or 4525 trunc(floatExpr( -9007199254740991.0)) <> -9007199254740991 or 4526 trunc(floatExpr( -9007199254740990.0)) <> -9007199254740990 or 4527 trunc(floatExpr( -10000000000000.9)) <> -10000000000000 or 4528 trunc(floatExpr( -10000000000000.0)) <> -10000000000000 or 4529 trunc(floatExpr( -1000000000000.99)) <> -1000000000000 or 4530 trunc(floatExpr( -1000000000000.0)) <> -1000000000000 or 4531 trunc(floatExpr( -100000000000.999)) <> -100000000000 or 4532 trunc(floatExpr( -100000000000.0)) <> -100000000000 or 4533 trunc(floatExpr( -10000000000.9999)) <> -10000000000 or 4534 trunc(floatExpr( -10000000000.0)) <> -10000000000 or 4535 trunc(floatExpr( -1000000000.99999)) <> -1000000000 or 4536 trunc(floatExpr( -1000000000.0)) <> -1000000000 or 4537 trunc(floatExpr( -100000000.999999)) <> -100000000 or 4538 trunc(floatExpr( -100000000.0)) <> -100000000 or 4539 trunc(floatExpr( -10000000.9999999)) <> -10000000 or 4540 trunc(floatExpr( -10000000.0)) <> -10000000 or 4541 trunc(floatExpr( -1000000.99999999)) <> -1000000 or 4542 trunc(floatExpr( -1000000.0)) <> -1000000 or 4543 trunc(floatExpr( -100000.999999999)) <> -100000 or 4544 trunc(floatExpr( -100000.0)) <> -100000 or 4545 trunc(floatExpr( -10000.9999999999)) <> -10000 or 4546 trunc(floatExpr( -10000.0)) <> -10000 or 4547 trunc(floatExpr( -1000.99999999999)) <> -1000 or 4548 trunc(floatExpr( -1000.0)) <> -1000 or 4549 trunc(floatExpr( -100.999999999999)) <> -100 or 4550 trunc(floatExpr( -100.0)) <> -100 or 4551 trunc(floatExpr( -10.9999999999999)) <> -10 or 4552 trunc(floatExpr( -10.0)) <> -10 or 4553 trunc(floatExpr( -1.99999999999999)) <> -1 or 4554 trunc(floatExpr( -1.0)) <> -1 or 4555 trunc(floatExpr( -0.999999999999999)) <> 0 or 4556 trunc(floatExpr( 0.0)) <> 0 or 4557 trunc(floatExpr( 0.999999999999999)) <> 0 or 4558 trunc(floatExpr( 1.0)) <> 1 or 4559 trunc(floatExpr( 1.99999999999999)) <> 1 or 4560 trunc(floatExpr( 10.0)) <> 10 or 4561 trunc(floatExpr( 10.9999999999999)) <> 10 or 4562 trunc(floatExpr( 100.0)) <> 100 or 4563 trunc(floatExpr( 100.999999999999)) <> 100 or 4564 trunc(floatExpr( 1000.0)) <> 1000 or 4565 trunc(floatExpr( 1000.99999999999)) <> 1000 or 4566 trunc(floatExpr( 10000.0)) <> 10000 or 4567 trunc(floatExpr( 10000.9999999999)) <> 10000 or 4568 trunc(floatExpr( 100000.0)) <> 100000 or 4569 trunc(floatExpr( 100000.999999999)) <> 100000 or 4570 trunc(floatExpr( 1000000.0)) <> 1000000 or 4571 trunc(floatExpr( 1000000.99999999)) <> 1000000 or 4572 trunc(floatExpr( 10000000.0)) <> 10000000 or 4573 trunc(floatExpr( 10000000.9999999)) <> 10000000 or 4574 trunc(floatExpr( 100000000.0)) <> 100000000 or 4575 trunc(floatExpr( 100000000.999999)) <> 100000000 or 4576 trunc(floatExpr( 1000000000.0)) <> 1000000000 or 4577 trunc(floatExpr( 1000000000.99999)) <> 1000000000 or 4578 trunc(floatExpr( 10000000000.0)) <> 10000000000 or 4579 trunc(floatExpr( 10000000000.9999)) <> 10000000000 or 4580 trunc(floatExpr( 100000000000.0)) <> 100000000000 or 4581 trunc(floatExpr( 100000000000.999)) <> 100000000000 or 4582 trunc(floatExpr( 1000000000000.0)) <> 1000000000000 or 4583 trunc(floatExpr( 1000000000000.99)) <> 1000000000000 or 4584 trunc(floatExpr( 10000000000000.0)) <> 10000000000000 or 4585 trunc(floatExpr( 10000000000000.9)) <> 10000000000000 or 4586 trunc(floatExpr( 9007199254740990.0)) <> 9007199254740990 or 4587 trunc(floatExpr( 9007199254740991.0)) <> 9007199254740991 or 4588 trunc(floatExpr( 9007199254740992.0)) <> 9007199254740992 or 4589 trunc(floatExpr( 576460752303423488.0)) <> 576460752303423488 or 4590 trunc(floatExpr( 1152921504606846976.0)) <> 1152921504606846976 or 4591 trunc(floatExpr( 2305843009213693952.0)) <> 2305843009213693952 or 4592 trunc(floatExpr( 4611686018427387904.0)) <> 4611686018427387904 or 4593 trunc(floatExpr( 9223372036854773760.0)) <> 9223372036854773760 or 4594 trunc(floatExpr( 9223372036854774784.0)) <> 9223372036854774784 or 4595 not raisesRangeError(trunc(floatExpr( 9223372036854775807.0))) and 4596 trunc(floatExpr( 9223372036854775807.0)) <> 9223372036854775807 or 4597 not raisesRangeError(trunc(floatExpr( 9223372036854777856.0))) or 4598 not raisesRangeError(trunc(floatExpr( 1.0e37 ))) or 4599 not raisesRangeError(trunc(floatExpr( FLOAT_MAX ))) or 4600 not raisesRangeError(trunc(floatExpr( Infinity ))) or 4601 not raisesRangeError(trunc(floatExpr( NaN ))) then 4602 writeln(" ***** Truncation of float does not work correct. (2)"); 4603 okay := FALSE; 4604 end if; 4605 4606 if okay then 4607 writeln("Truncation of float works correct."); 4608 else 4609 writeln(" ***** Truncation of float does not work correct."); 4610 end if; 4611 end func; 4612 4613 4614const proc: check_round is func 4615 local 4616 var boolean: okay is TRUE; 4617 begin 4618 if not raisesRangeError(round( -Infinity )) or 4619 not raisesRangeError(round( -FLOAT_MAX )) or 4620 not raisesRangeError(round( -1.0e37 )) or 4621 not raisesRangeError(round(-9223372036854777856.0)) or 4622 round(-9223372036854775808.0) <> integer.first or 4623 round(-4611686018427387904.0) <> -4611686018427387904 or 4624 round(-2305843009213693952.0) <> -2305843009213693952 or 4625 round(-1152921504606846976.0) <> -1152921504606846976 or 4626 round( -576460752303423488.0) <> -576460752303423488 or 4627 round( -9007199254740990.0) <> -9007199254740990 or 4628 round( -1000000000000.5) <> -1000000000001 or 4629 round( -1000000000000.49) <> -1000000000000 or 4630 round( -1000000000000.0) <> -1000000000000 or 4631 round( -999999999999.5) <> -1000000000000 or 4632 round( -999999999999.49) <> -999999999999 or 4633 round( -100000000000.5) <> -100000000001 or 4634 round( -100000000000.499) <> -100000000000 or 4635 round( -100000000000.0) <> -100000000000 or 4636 round( -99999999999.5) <> -100000000000 or 4637 round( -99999999999.499) <> -99999999999 or 4638 round( -10000000000.5) <> -10000000001 or 4639 round( -10000000000.4999) <> -10000000000 or 4640 round( -10000000000.0) <> -10000000000 or 4641 round( -9999999999.5) <> -10000000000 or 4642 round( -9999999999.4999) <> -9999999999 or 4643 round( -1000000000.5) <> -1000000001 or 4644 round( -1000000000.49999) <> -1000000000 or 4645 round( -1000000000.0) <> -1000000000 or 4646 round( -999999999.5) <> -1000000000 or 4647 round( -999999999.49999) <> -999999999 or 4648 round( -100000000.5) <> -100000001 or 4649 round( -100000000.499999) <> -100000000 or 4650 round( -100000000.0) <> -100000000 or 4651 round( -99999999.5) <> -100000000 or 4652 round( -99999999.499999) <> -99999999 or 4653 round( -10000000.5) <> -10000001 or 4654 round( -10000000.4999999) <> -10000000 or 4655 round( -10000000.0) <> -10000000 or 4656 round( -9999999.5) <> -10000000 or 4657 round( -9999999.4999999) <> -9999999 or 4658 round( -1000000.5) <> -1000001 or 4659 round( -1000000.49999999) <> -1000000 or 4660 round( -1000000.0) <> -1000000 or 4661 round( -999999.5) <> -1000000 or 4662 round( -999999.49999999) <> -999999 or 4663 round( -100000.5) <> -100001 or 4664 round( -100000.499999999) <> -100000 or 4665 round( -100000.0) <> -100000 or 4666 round( -99999.5) <> -100000 or 4667 round( -99999.499999999) <> -99999 or 4668 round( -10000.5) <> -10001 or 4669 round( -10000.4999999999) <> -10000 or 4670 round( -10000.0) <> -10000 or 4671 round( -9999.5) <> -10000 or 4672 round( -9999.4999999999) <> -9999 or 4673 round( -1000.5) <> -1001 or 4674 round( -1000.49999999999) <> -1000 or 4675 round( -1000.0) <> -1000 or 4676 round( -999.5) <> -1000 or 4677 round( -999.49999999999) <> -999 or 4678 round( -100.5) <> -101 or 4679 round( -100.499999999999) <> -100 or 4680 round( -100.0) <> -100 or 4681 round( -99.5) <> -100 or 4682 round( -99.499999999999) <> -99 or 4683 round( -10.5) <> -11 or 4684 round( -10.4999999999999) <> -10 or 4685 round( -10.0) <> -10 or 4686 round( -9.5) <> -10 or 4687 round( -9.4999999999999) <> -9 or 4688 round( -1.5) <> -2 or 4689 round( -1.49999999999999) <> -1 or 4690 round( -1.0) <> -1 or 4691 round( -0.5) <> -1 or 4692 round( -0.499999999999999) <> 0 or 4693 round( 0.0) <> 0 or 4694 round( 0.499999999999999) <> 0 or 4695 round( 0.5) <> 1 or 4696 round( 1.0) <> 1 or 4697 round( 1.49999999999999) <> 1 or 4698 round( 1.5) <> 2 or 4699 round( 9.4999999999999) <> 9 or 4700 round( 9.5) <> 10 or 4701 round( 10.0) <> 10 or 4702 round( 10.4999999999999) <> 10 or 4703 round( 10.5) <> 11 or 4704 round( 99.499999999999) <> 99 or 4705 round( 99.5) <> 100 or 4706 round( 100.0) <> 100 or 4707 round( 100.499999999999) <> 100 or 4708 round( 100.5) <> 101 or 4709 round( 999.49999999999) <> 999 or 4710 round( 999.5) <> 1000 or 4711 round( 1000.0) <> 1000 or 4712 round( 1000.49999999999) <> 1000 or 4713 round( 1000.5) <> 1001 or 4714 round( 9999.4999999999) <> 9999 or 4715 round( 9999.5) <> 10000 or 4716 round( 10000.0) <> 10000 or 4717 round( 10000.4999999999) <> 10000 or 4718 round( 10000.5) <> 10001 or 4719 round( 99999.499999999) <> 99999 or 4720 round( 99999.5) <> 100000 or 4721 round( 100000.0) <> 100000 or 4722 round( 100000.499999999) <> 100000 or 4723 round( 100000.5) <> 100001 or 4724 round( 999999.49999999) <> 999999 or 4725 round( 999999.5) <> 1000000 or 4726 round( 1000000.0) <> 1000000 or 4727 round( 1000000.49999999) <> 1000000 or 4728 round( 1000000.5) <> 1000001 or 4729 round( 9999999.4999999) <> 9999999 or 4730 round( 9999999.5) <> 10000000 or 4731 round( 10000000.0) <> 10000000 or 4732 round( 10000000.4999999) <> 10000000 or 4733 round( 10000000.5) <> 10000001 or 4734 round( 99999999.499999) <> 99999999 or 4735 round( 99999999.5) <> 100000000 or 4736 round( 100000000.0) <> 100000000 or 4737 round( 100000000.499999) <> 100000000 or 4738 round( 100000000.5) <> 100000001 or 4739 round( 999999999.49999) <> 999999999 or 4740 round( 999999999.5) <> 1000000000 or 4741 round( 1000000000.0) <> 1000000000 or 4742 round( 1000000000.49999) <> 1000000000 or 4743 round( 1000000000.5) <> 1000000001 or 4744 round( 9999999999.4999) <> 9999999999 or 4745 round( 9999999999.5) <> 10000000000 or 4746 round( 10000000000.0) <> 10000000000 or 4747 round( 10000000000.4999) <> 10000000000 or 4748 round( 10000000000.5) <> 10000000001 or 4749 round( 99999999999.499) <> 99999999999 or 4750 round( 99999999999.5) <> 100000000000 or 4751 round( 100000000000.0) <> 100000000000 or 4752 round( 100000000000.499) <> 100000000000 or 4753 round( 100000000000.5) <> 100000000001 or 4754 round( 999999999999.49) <> 999999999999 or 4755 round( 999999999999.5) <> 1000000000000 or 4756 round( 1000000000000.0) <> 1000000000000 or 4757 round( 1000000000000.49) <> 1000000000000 or 4758 round( 1000000000000.5) <> 1000000000001 or 4759 round( 9007199254740990.0) <> 9007199254740990 or 4760 round( 576460752303423488.0) <> 576460752303423488 or 4761 round( 1152921504606846976.0) <> 1152921504606846976 or 4762 round( 2305843009213693952.0) <> 2305843009213693952 or 4763 round( 4611686018427387904.0) <> 4611686018427387904 or 4764 round( 9223372036854773760.0) <> 9223372036854773760 or 4765 round( 9223372036854774784.0) <> 9223372036854774784 or 4766 not raisesRangeError(round( 9223372036854775807.0)) and 4767 round( 9223372036854775807.0) <> 9223372036854775807 or 4768 not raisesRangeError(round( 9223372036854777856.0)) or 4769 not raisesRangeError(round( 1.0e37 )) or 4770 not raisesRangeError(round( FLOAT_MAX )) or 4771 not raisesRangeError(round( Infinity )) or 4772 not raisesRangeError(round( NaN )) then 4773 writeln(" ***** Rounding of float does not work correct. (1)"); 4774 okay := FALSE; 4775 end if; 4776 4777 if not raisesRangeError(round(floatExpr( -Infinity ))) or 4778 not raisesRangeError(round(floatExpr( -FLOAT_MAX ))) or 4779 not raisesRangeError(round(floatExpr( -1.0e37 ))) or 4780 not raisesRangeError(round(floatExpr(-9223372036854777856.0))) or 4781 round(floatExpr(-9223372036854775808.0)) <> integer.first or 4782 round(floatExpr(-4611686018427387904.0)) <> -4611686018427387904 or 4783 round(floatExpr(-2305843009213693952.0)) <> -2305843009213693952 or 4784 round(floatExpr(-1152921504606846976.0)) <> -1152921504606846976 or 4785 round(floatExpr( -576460752303423488.0)) <> -576460752303423488 or 4786 round(floatExpr( -9007199254740990.0)) <> -9007199254740990 or 4787 round(floatExpr( -1000000000000.5)) <> -1000000000001 or 4788 round(floatExpr( -1000000000000.49)) <> -1000000000000 or 4789 round(floatExpr( -1000000000000.0)) <> -1000000000000 or 4790 round(floatExpr( -999999999999.5)) <> -1000000000000 or 4791 round(floatExpr( -999999999999.49)) <> -999999999999 or 4792 round(floatExpr( -100000000000.5)) <> -100000000001 or 4793 round(floatExpr( -100000000000.499)) <> -100000000000 or 4794 round(floatExpr( -100000000000.0)) <> -100000000000 or 4795 round(floatExpr( -99999999999.5)) <> -100000000000 or 4796 round(floatExpr( -99999999999.499)) <> -99999999999 or 4797 round(floatExpr( -10000000000.5)) <> -10000000001 or 4798 round(floatExpr( -10000000000.4999)) <> -10000000000 or 4799 round(floatExpr( -10000000000.0)) <> -10000000000 or 4800 round(floatExpr( -9999999999.5)) <> -10000000000 or 4801 round(floatExpr( -9999999999.4999)) <> -9999999999 or 4802 round(floatExpr( -1000000000.5)) <> -1000000001 or 4803 round(floatExpr( -1000000000.49999)) <> -1000000000 or 4804 round(floatExpr( -1000000000.0)) <> -1000000000 or 4805 round(floatExpr( -999999999.5)) <> -1000000000 or 4806 round(floatExpr( -999999999.49999)) <> -999999999 or 4807 round(floatExpr( -100000000.5)) <> -100000001 or 4808 round(floatExpr( -100000000.499999)) <> -100000000 or 4809 round(floatExpr( -100000000.0)) <> -100000000 or 4810 round(floatExpr( -99999999.5)) <> -100000000 or 4811 round(floatExpr( -99999999.499999)) <> -99999999 or 4812 round(floatExpr( -10000000.5)) <> -10000001 or 4813 round(floatExpr( -10000000.4999999)) <> -10000000 or 4814 round(floatExpr( -10000000.0)) <> -10000000 or 4815 round(floatExpr( -9999999.5)) <> -10000000 or 4816 round(floatExpr( -9999999.4999999)) <> -9999999 or 4817 round(floatExpr( -1000000.5)) <> -1000001 or 4818 round(floatExpr( -1000000.49999999)) <> -1000000 or 4819 round(floatExpr( -1000000.0)) <> -1000000 or 4820 round(floatExpr( -999999.5)) <> -1000000 or 4821 round(floatExpr( -999999.49999999)) <> -999999 or 4822 round(floatExpr( -100000.5)) <> -100001 or 4823 round(floatExpr( -100000.499999999)) <> -100000 or 4824 round(floatExpr( -100000.0)) <> -100000 or 4825 round(floatExpr( -99999.5)) <> -100000 or 4826 round(floatExpr( -99999.499999999)) <> -99999 or 4827 round(floatExpr( -10000.5)) <> -10001 or 4828 round(floatExpr( -10000.4999999999)) <> -10000 or 4829 round(floatExpr( -10000.0)) <> -10000 or 4830 round(floatExpr( -9999.5)) <> -10000 or 4831 round(floatExpr( -9999.4999999999)) <> -9999 or 4832 round(floatExpr( -1000.5)) <> -1001 or 4833 round(floatExpr( -1000.49999999999)) <> -1000 or 4834 round(floatExpr( -1000.0)) <> -1000 or 4835 round(floatExpr( -999.5)) <> -1000 or 4836 round(floatExpr( -999.49999999999)) <> -999 or 4837 round(floatExpr( -100.5)) <> -101 or 4838 round(floatExpr( -100.499999999999)) <> -100 or 4839 round(floatExpr( -100.0)) <> -100 or 4840 round(floatExpr( -99.5)) <> -100 or 4841 round(floatExpr( -99.499999999999)) <> -99 or 4842 round(floatExpr( -10.5)) <> -11 or 4843 round(floatExpr( -10.4999999999999)) <> -10 or 4844 round(floatExpr( -10.0)) <> -10 or 4845 round(floatExpr( -9.5)) <> -10 or 4846 round(floatExpr( -9.4999999999999)) <> -9 or 4847 round(floatExpr( -1.5)) <> -2 or 4848 round(floatExpr( -1.49999999999999)) <> -1 or 4849 round(floatExpr( -1.0)) <> -1 or 4850 round(floatExpr( -0.5)) <> -1 or 4851 round(floatExpr( -0.499999999999999)) <> 0 or 4852 round(floatExpr( 0.0)) <> 0 or 4853 round(floatExpr( 0.499999999999999)) <> 0 or 4854 round(floatExpr( 0.5)) <> 1 or 4855 round(floatExpr( 1.0)) <> 1 or 4856 round(floatExpr( 1.49999999999999)) <> 1 or 4857 round(floatExpr( 1.5)) <> 2 or 4858 round(floatExpr( 9.4999999999999)) <> 9 or 4859 round(floatExpr( 9.5)) <> 10 or 4860 round(floatExpr( 10.0)) <> 10 or 4861 round(floatExpr( 10.4999999999999)) <> 10 or 4862 round(floatExpr( 10.5)) <> 11 or 4863 round(floatExpr( 99.499999999999)) <> 99 or 4864 round(floatExpr( 99.5)) <> 100 or 4865 round(floatExpr( 100.0)) <> 100 or 4866 round(floatExpr( 100.499999999999)) <> 100 or 4867 round(floatExpr( 100.5)) <> 101 or 4868 round(floatExpr( 999.49999999999)) <> 999 or 4869 round(floatExpr( 999.5)) <> 1000 or 4870 round(floatExpr( 1000.0)) <> 1000 or 4871 round(floatExpr( 1000.49999999999)) <> 1000 or 4872 round(floatExpr( 1000.5)) <> 1001 or 4873 round(floatExpr( 9999.4999999999)) <> 9999 or 4874 round(floatExpr( 9999.5)) <> 10000 or 4875 round(floatExpr( 10000.0)) <> 10000 or 4876 round(floatExpr( 10000.4999999999)) <> 10000 or 4877 round(floatExpr( 10000.5)) <> 10001 or 4878 round(floatExpr( 99999.499999999)) <> 99999 or 4879 round(floatExpr( 99999.5)) <> 100000 or 4880 round(floatExpr( 100000.0)) <> 100000 or 4881 round(floatExpr( 100000.499999999)) <> 100000 or 4882 round(floatExpr( 100000.5)) <> 100001 or 4883 round(floatExpr( 999999.49999999)) <> 999999 or 4884 round(floatExpr( 999999.5)) <> 1000000 or 4885 round(floatExpr( 1000000.0)) <> 1000000 or 4886 round(floatExpr( 1000000.49999999)) <> 1000000 or 4887 round(floatExpr( 1000000.5)) <> 1000001 or 4888 round(floatExpr( 9999999.4999999)) <> 9999999 or 4889 round(floatExpr( 9999999.5)) <> 10000000 or 4890 round(floatExpr( 10000000.0)) <> 10000000 or 4891 round(floatExpr( 10000000.4999999)) <> 10000000 or 4892 round(floatExpr( 10000000.5)) <> 10000001 or 4893 round(floatExpr( 99999999.499999)) <> 99999999 or 4894 round(floatExpr( 99999999.5)) <> 100000000 or 4895 round(floatExpr( 100000000.0)) <> 100000000 or 4896 round(floatExpr( 100000000.499999)) <> 100000000 or 4897 round(floatExpr( 100000000.5)) <> 100000001 or 4898 round(floatExpr( 999999999.49999)) <> 999999999 or 4899 round(floatExpr( 999999999.5)) <> 1000000000 or 4900 round(floatExpr( 1000000000.0)) <> 1000000000 or 4901 round(floatExpr( 1000000000.49999)) <> 1000000000 or 4902 round(floatExpr( 1000000000.5)) <> 1000000001 or 4903 round(floatExpr( 9999999999.4999)) <> 9999999999 or 4904 round(floatExpr( 9999999999.5)) <> 10000000000 or 4905 round(floatExpr( 10000000000.0)) <> 10000000000 or 4906 round(floatExpr( 10000000000.4999)) <> 10000000000 or 4907 round(floatExpr( 10000000000.5)) <> 10000000001 or 4908 round(floatExpr( 99999999999.499)) <> 99999999999 or 4909 round(floatExpr( 99999999999.5)) <> 100000000000 or 4910 round(floatExpr( 100000000000.0)) <> 100000000000 or 4911 round(floatExpr( 100000000000.499)) <> 100000000000 or 4912 round(floatExpr( 100000000000.5)) <> 100000000001 or 4913 round(floatExpr( 999999999999.49)) <> 999999999999 or 4914 round(floatExpr( 999999999999.5)) <> 1000000000000 or 4915 round(floatExpr( 1000000000000.0)) <> 1000000000000 or 4916 round(floatExpr( 1000000000000.49)) <> 1000000000000 or 4917 round(floatExpr( 1000000000000.5)) <> 1000000000001 or 4918 round(floatExpr( 9007199254740990.0)) <> 9007199254740990 or 4919 round(floatExpr( 576460752303423488.0)) <> 576460752303423488 or 4920 round(floatExpr( 1152921504606846976.0)) <> 1152921504606846976 or 4921 round(floatExpr( 2305843009213693952.0)) <> 2305843009213693952 or 4922 round(floatExpr( 4611686018427387904.0)) <> 4611686018427387904 or 4923 round(floatExpr( 9223372036854773760.0)) <> 9223372036854773760 or 4924 round(floatExpr( 9223372036854774784.0)) <> 9223372036854774784 or 4925 not raisesRangeError(round(floatExpr( 9223372036854775807.0))) and 4926 round(floatExpr( 9223372036854775807.0)) <> 9223372036854775807 or 4927 not raisesRangeError(round(floatExpr( 9223372036854777856.0))) or 4928 not raisesRangeError(round(floatExpr( 1.0e37 ))) or 4929 not raisesRangeError(round(floatExpr( FLOAT_MAX ))) or 4930 not raisesRangeError(round(floatExpr( Infinity ))) or 4931 not raisesRangeError(round(floatExpr( NaN ))) then 4932 writeln(" ***** Rounding of float does not work correct. (2)"); 4933 okay := FALSE; 4934 end if; 4935 4936 if okay then 4937 writeln("Rounding of float works correct."); 4938 else 4939 writeln(" ***** Rounding of float does not work correct."); 4940 end if; 4941 end func; 4942 4943 4944const proc: check_add is func 4945 local 4946 var boolean: okay is TRUE; 4947 var boolean: ok is TRUE; 4948 var float: num is 0.0; 4949 begin 4950 if 0.0 + 0.0 <> 0.0 or 4951 2.0 + 3.0 <> 5.0 or 4952 127.0 + 127.0 <> 254.0 or 4953 255.0 + 255.0 <> 510.0 or 4954 18341.0 + 26783.0 <> 45124.0 or 4955 32767.0 + 32767.0 <> 65534.0 or 4956 35759.0 + 58537.0 <> 94296.0 or 4957 65535.0 + 65535.0 <> 131070.0 or 4958 73819.0 + 124303.0 <> 198122.0 or 4959 2147483647.0 + 0.0 <> 2147483647.0 or 4960 0.0 + 2147483647.0 <> 2147483647.0 or 4961 0.1 + 0.0 <> 0.1 or 4962 0.0 + 0.1 <> 0.1 or 4963 2.3 + 3.2 <> 5.5 or 4964 390.625 + 195.3125 <> 585.9375 or 4965 0.78125 + 0.15625 <> 0.9375 then 4966 writeln(" ***** Addition with selected values does not work correct."); 4967 okay := FALSE; 4968 end if; 4969 4970 num := 0.0; num +:= 0.0; ok := ok and num = 0.0; 4971 num := 2.0; num +:= 3.0; ok := ok and num = 5.0; 4972 num := 127.0; num +:= 127.0; ok := ok and num = 254.0; 4973 num := 255.0; num +:= 255.0; ok := ok and num = 510.0; 4974 num := 18341.0; num +:= 26783.0; ok := ok and num = 45124.0; 4975 num := 32767.0; num +:= 32767.0; ok := ok and num = 65534.0; 4976 num := 35759.0; num +:= 58537.0; ok := ok and num = 94296.0; 4977 num := 65535.0; num +:= 65535.0; ok := ok and num = 131070.0; 4978 num := 73819.0; num +:= 124303.0; ok := ok and num = 198122.0; 4979 num := 2147483647.0; num +:= 0.0; ok := ok and num = 2147483647.0; 4980 num := 0.0; num +:= 2147483647.0; ok := ok and num = 2147483647.0; 4981 num := 0.1; num +:= 0.0; ok := ok and num = 0.1; 4982 num := 0.0; num +:= 0.1; ok := ok and num = 0.1; 4983 num := 2.3; num +:= 3.2; ok := ok and num = 5.5; 4984 num := 390.625; num +:= 195.3125; ok := ok and num = 585.9375; 4985 num := 0.78125; num +:= 0.15625; ok := ok and num = 0.9375; 4986 if not ok then 4987 writeln(" ***** Addition assignment with selected values does not work correct."); 4988 okay := FALSE; 4989 end if; 4990 4991 if okay then 4992 writeln("Addition works correct for selected values."); 4993 else 4994 writeln(" ***** Addition does not work correct."); 4995 end if; 4996 end func; 4997 4998 4999const proc: check_mult is func 5000 local 5001 var boolean: okay is TRUE; 5002 begin 5003 if 123.0 * 0.0 ** integer.first <> Infinity or 5004 123.0 * 0.0 ** (-2147483649) <> Infinity or 5005 123.0 * 0.0 ** (-2147483648) <> Infinity or 5006 123.0 * 0.0 ** (-32769) <> Infinity or 5007 123.0 * 0.0 ** (-32768) <> Infinity or 5008 123.0 * 0.0 ** (-100) <> Infinity or 5009 123.0 * 0.0 ** (-4) <> Infinity or 5010 123.0 * 0.0 ** (-3) <> Infinity or 5011 123.0 * 0.0 ** (-2) <> Infinity or 5012 123.0 * 0.0 ** (-1) <> Infinity or 5013 123.0 * 0.0 ** 0 <> 123.0 or 5014 123.0 * 0.0 ** 1 <> 0.0 or 5015 123.0 * 0.0 ** 2 <> 0.0 or 5016 123.0 * 0.0 ** 3 <> 0.0 or 5017 123.0 * 0.0 ** 4 <> 0.0 or 5018 123.0 * 0.0 ** 100 <> 0.0 or 5019 123.0 * 0.0 ** 32767 <> 0.0 or 5020 123.0 * 0.0 ** 32768 <> 0.0 or 5021 123.0 * 0.0 ** 2147483647 <> 0.0 or 5022 123.0 * 0.0 ** 2147483648 <> 0.0 or 5023 123.0 * 0.0 ** 9223372036854775807 <> 0.0 or 5024 123.0 * 1.0 ** integer.first <> 123.0 or 5025 123.0 * 1.0 ** (-2147483649) <> 123.0 or 5026 123.0 * 1.0 ** (-2147483648) <> 123.0 or 5027 123.0 * 1.0 ** (-32769) <> 123.0 or 5028 123.0 * 1.0 ** (-32768) <> 123.0 or 5029 123.0 * 1.0 ** (-100) <> 123.0 or 5030 123.0 * 1.0 ** (-4) <> 123.0 or 5031 123.0 * 1.0 ** (-3) <> 123.0 or 5032 123.0 * 1.0 ** (-2) <> 123.0 or 5033 123.0 * 1.0 ** (-1) <> 123.0 or 5034 123.0 * 1.0 ** 0 <> 123.0 or 5035 123.0 * 1.0 ** 1 <> 123.0 or 5036 123.0 * 1.0 ** 2 <> 123.0 or 5037 123.0 * 1.0 ** 3 <> 123.0 or 5038 123.0 * 1.0 ** 4 <> 123.0 or 5039 123.0 * 1.0 ** 100 <> 123.0 or 5040 123.0 * 1.0 ** 32767 <> 123.0 or 5041 123.0 * 1.0 ** 32768 <> 123.0 or 5042 123.0 * 1.0 ** 2147483647 <> 123.0 or 5043 123.0 * 1.0 ** 2147483648 <> 123.0 or 5044 123.0 * 1.0 ** 9223372036854775807 <> 123.0 or 5045 123.0 * 2.0 ** integer.first <> 0.0 or 5046 123.0 * 2.0 ** (-2147483649) <> 0.0 or 5047 123.0 * 2.0 ** (-2147483648) <> 0.0 or 5048 123.0 * 2.0 ** (-32769) <> 0.0 or 5049 123.0 * 2.0 ** (-32768) <> 0.0 or 5050 123.0 * 2.0 ** (-150) <> 8.6179855555976250e-44 or 5051 123.0 * 2.0 ** (-100) <> 9.7029891342184452e-29 or 5052 123.0 * 2.0 ** (-50) <> 1.0924594562311540e-13 or 5053 123.0 * 2.0 ** (-40) <> 1.1186784831807017e-10 or 5054 123.0 * 2.0 ** (-30) <> 1.1455267667770386e-07 or 5055 123.0 * 2.0 ** (-20) <> 1.1730194091796875e-04 or 5056 123.0 * 2.0 ** (-10) <> 0.1201171875 or 5057 123.0 * 2.0 ** (-4) <> 7.6875 or 5058 123.0 * 2.0 ** (-3) <> 15.375 or 5059 123.0 * 2.0 ** (-2) <> 30.75 or 5060 123.0 * 2.0 ** (-1) <> 61.5 or 5061 123.0 * 2.0 ** 0 <> 123.0 or 5062 123.0 * 2.0 ** 1 <> 246.0 or 5063 123.0 * 2.0 ** 2 <> 492.0 or 5064 123.0 * 2.0 ** 3 <> 984.0 or 5065 123.0 * 2.0 ** 4 <> 1968.0 or 5066 123.0 * 2.0 ** 10 <> 125952.0 or 5067 123.0 * 2.0 ** 20 <> 128974848.0 or 5068 123.0 * 2.0 ** 30 <> 132070244352.0 or 5069 123.0 * 2.0 ** 40 <> 135239930216448.0 or 5070 123.0 * 2.0 ** 50 <> 138485688541642752.0 or 5071 123.0 * 2.0 ** 100 <> 1.5592102382807222e+32 or 5072 123.0 * 2.0 ** 150 <> 1.7555146620283307e+47 or 5073 123.0 * 2.0 ** 32767 <> Infinity or 5074 123.0 * 2.0 ** 32768 <> Infinity or 5075 123.0 * 2.0 ** 2147483647 <> Infinity or 5076 123.0 * 2.0 ** 2147483648 <> Infinity or 5077 123.0 * 2.0 ** 9223372036854775807 <> Infinity or 5078 123.0 * 4.0 ** integer.first <> 0.0 or 5079 123.0 * 4.0 ** (-2147483649) <> 0.0 or 5080 123.0 * 4.0 ** (-2147483648) <> 0.0 or 5081 123.0 * 4.0 ** (-32769) <> 0.0 or 5082 123.0 * 4.0 ** (-32768) <> 0.0 or 5083 123.0 * 4.0 ** (-150) <> 6.0381849623162037e-89 or 5084 123.0 * 4.0 ** (-100) <> 7.6543087917692043e-59 or 5085 123.0 * 4.0 ** (-50) <> 9.7029891342184452e-29 or 5086 123.0 * 4.0 ** (-40) <> 1.0174321534402240e-22 or 5087 123.0 * 4.0 ** (-30) <> 1.0668549377257364e-16 or 5088 123.0 * 4.0 ** (-20) <> 1.1186784831807017e-10 or 5089 123.0 * 4.0 ** (-10) <> 1.1730194091796875e-04 or 5090 123.0 * 4.0 ** (-4) <> 0.48046875 or 5091 123.0 * 4.0 ** (-3) <> 1.921875 or 5092 123.0 * 4.0 ** (-2) <> 7.6875 or 5093 123.0 * 4.0 ** (-1) <> 30.75 or 5094 123.0 * 4.0 ** 0 <> 123.0 or 5095 123.0 * 4.0 ** 1 <> 492.0 or 5096 123.0 * 4.0 ** 2 <> 1968.0 or 5097 123.0 * 4.0 ** 3 <> 7872.0 or 5098 123.0 * 4.0 ** 4 <> 31488.0 or 5099 123.0 * 4.0 ** 10 <> 128974848.0 or 5100 123.0 * 4.0 ** 20 <> 135239930216448.0 or 5101 123.0 * 4.0 ** 30 <> 1.4180934506664218e+20 or 5102 123.0 * 4.0 ** 40 <> 1.4869787581259939e+26 or 5103 123.0 * 4.0 ** 50 <> 1.5592102382807222e+32 or 5104 123.0 * 4.0 ** 100 <> 1.9765337944385580e+62 or 5105 123.0 * 4.0 ** 150 <> 2.5055542508914179e+92 or 5106 123.0 * 4.0 ** 32767 <> Infinity or 5107 123.0 * 4.0 ** 32768 <> Infinity or 5108 123.0 * 4.0 ** 2147483647 <> Infinity or 5109 123.0 * 4.0 ** 2147483648 <> Infinity or 5110 123.0 * 4.0 ** 9223372036854775807 <> Infinity then 5111 writeln(" ***** Multiplication A * B ** C does not work correct. (1)"); 5112 okay := FALSE; 5113 end if; 5114 5115 if 123.0 * 0.0 ** intExpr( integer.first) <> Infinity or 5116 123.0 * 0.0 ** intExpr( -2147483649) <> Infinity or 5117 123.0 * 0.0 ** intExpr( -2147483648) <> Infinity or 5118 123.0 * 0.0 ** intExpr( -32769) <> Infinity or 5119 123.0 * 0.0 ** intExpr( -32768) <> Infinity or 5120 123.0 * 0.0 ** intExpr( -100) <> Infinity or 5121 123.0 * 0.0 ** intExpr( -4) <> Infinity or 5122 123.0 * 0.0 ** intExpr( -3) <> Infinity or 5123 123.0 * 0.0 ** intExpr( -2) <> Infinity or 5124 123.0 * 0.0 ** intExpr( -1) <> Infinity or 5125 123.0 * 0.0 ** intExpr( 0) <> 123.0 or 5126 123.0 * 0.0 ** intExpr( 1) <> 0.0 or 5127 123.0 * 0.0 ** intExpr( 2) <> 0.0 or 5128 123.0 * 0.0 ** intExpr( 3) <> 0.0 or 5129 123.0 * 0.0 ** intExpr( 4) <> 0.0 or 5130 123.0 * 0.0 ** intExpr( 100) <> 0.0 or 5131 123.0 * 0.0 ** intExpr( 32767) <> 0.0 or 5132 123.0 * 0.0 ** intExpr( 32768) <> 0.0 or 5133 123.0 * 0.0 ** intExpr( 2147483647) <> 0.0 or 5134 123.0 * 0.0 ** intExpr( 2147483648) <> 0.0 or 5135 123.0 * 0.0 ** intExpr(9223372036854775807) <> 0.0 or 5136 123.0 * 1.0 ** intExpr( integer.first) <> 123.0 or 5137 123.0 * 1.0 ** intExpr( -2147483649) <> 123.0 or 5138 123.0 * 1.0 ** intExpr( -2147483648) <> 123.0 or 5139 123.0 * 1.0 ** intExpr( -32769) <> 123.0 or 5140 123.0 * 1.0 ** intExpr( -32768) <> 123.0 or 5141 123.0 * 1.0 ** intExpr( -100) <> 123.0 or 5142 123.0 * 1.0 ** intExpr( -4) <> 123.0 or 5143 123.0 * 1.0 ** intExpr( -3) <> 123.0 or 5144 123.0 * 1.0 ** intExpr( -2) <> 123.0 or 5145 123.0 * 1.0 ** intExpr( -1) <> 123.0 or 5146 123.0 * 1.0 ** intExpr( 0) <> 123.0 or 5147 123.0 * 1.0 ** intExpr( 1) <> 123.0 or 5148 123.0 * 1.0 ** intExpr( 2) <> 123.0 or 5149 123.0 * 1.0 ** intExpr( 3) <> 123.0 or 5150 123.0 * 1.0 ** intExpr( 4) <> 123.0 or 5151 123.0 * 1.0 ** intExpr( 100) <> 123.0 or 5152 123.0 * 1.0 ** intExpr( 32767) <> 123.0 or 5153 123.0 * 1.0 ** intExpr( 32768) <> 123.0 or 5154 123.0 * 1.0 ** intExpr( 2147483647) <> 123.0 or 5155 123.0 * 1.0 ** intExpr( 2147483648) <> 123.0 or 5156 123.0 * 1.0 ** intExpr(9223372036854775807) <> 123.0 or 5157 123.0 * 2.0 ** intExpr( integer.first) <> 0.0 or 5158 123.0 * 2.0 ** intExpr( -2147483649) <> 0.0 or 5159 123.0 * 2.0 ** intExpr( -2147483648) <> 0.0 or 5160 123.0 * 2.0 ** intExpr( -32769) <> 0.0 or 5161 123.0 * 2.0 ** intExpr( -32768) <> 0.0 or 5162 123.0 * 2.0 ** intExpr( -150) <> 8.6179855555976250e-44 or 5163 123.0 * 2.0 ** intExpr( -100) <> 9.7029891342184452e-29 or 5164 123.0 * 2.0 ** intExpr( -50) <> 1.0924594562311540e-13 or 5165 123.0 * 2.0 ** intExpr( -40) <> 1.1186784831807017e-10 or 5166 123.0 * 2.0 ** intExpr( -30) <> 1.1455267667770386e-07 or 5167 123.0 * 2.0 ** intExpr( -20) <> 1.1730194091796875e-04 or 5168 123.0 * 2.0 ** intExpr( -10) <> 0.1201171875 or 5169 123.0 * 2.0 ** intExpr( -4) <> 7.6875 or 5170 123.0 * 2.0 ** intExpr( -3) <> 15.375 or 5171 123.0 * 2.0 ** intExpr( -2) <> 30.75 or 5172 123.0 * 2.0 ** intExpr( -1) <> 61.5 or 5173 123.0 * 2.0 ** intExpr( 0) <> 123.0 or 5174 123.0 * 2.0 ** intExpr( 1) <> 246.0 or 5175 123.0 * 2.0 ** intExpr( 2) <> 492.0 or 5176 123.0 * 2.0 ** intExpr( 3) <> 984.0 or 5177 123.0 * 2.0 ** intExpr( 4) <> 1968.0 or 5178 123.0 * 2.0 ** intExpr( 10) <> 125952.0 or 5179 123.0 * 2.0 ** intExpr( 20) <> 128974848.0 or 5180 123.0 * 2.0 ** intExpr( 30) <> 132070244352.0 or 5181 123.0 * 2.0 ** intExpr( 40) <> 135239930216448.0 or 5182 123.0 * 2.0 ** intExpr( 50) <> 138485688541642752.0 or 5183 123.0 * 2.0 ** intExpr( 100) <> 1.5592102382807222e+32 or 5184 123.0 * 2.0 ** intExpr( 150) <> 1.7555146620283307e+47 or 5185 123.0 * 2.0 ** intExpr( 32767) <> Infinity or 5186 123.0 * 2.0 ** intExpr( 32768) <> Infinity or 5187 123.0 * 2.0 ** intExpr( 2147483647) <> Infinity or 5188 123.0 * 2.0 ** intExpr( 2147483648) <> Infinity or 5189 123.0 * 2.0 ** intExpr(9223372036854775807) <> Infinity or 5190 123.0 * 4.0 ** intExpr( integer.first) <> 0.0 or 5191 123.0 * 4.0 ** intExpr( -2147483649) <> 0.0 or 5192 123.0 * 4.0 ** intExpr( -2147483648) <> 0.0 or 5193 123.0 * 4.0 ** intExpr( -32769) <> 0.0 or 5194 123.0 * 4.0 ** intExpr( -32768) <> 0.0 or 5195 123.0 * 4.0 ** intExpr( -150) <> 6.0381849623162037e-89 or 5196 123.0 * 4.0 ** intExpr( -100) <> 7.6543087917692043e-59 or 5197 123.0 * 4.0 ** intExpr( -50) <> 9.7029891342184452e-29 or 5198 123.0 * 4.0 ** intExpr( -40) <> 1.0174321534402240e-22 or 5199 123.0 * 4.0 ** intExpr( -30) <> 1.0668549377257364e-16 or 5200 123.0 * 4.0 ** intExpr( -20) <> 1.1186784831807017e-10 or 5201 123.0 * 4.0 ** intExpr( -10) <> 1.1730194091796875e-04 or 5202 123.0 * 4.0 ** intExpr( -4) <> 0.48046875 or 5203 123.0 * 4.0 ** intExpr( -3) <> 1.921875 or 5204 123.0 * 4.0 ** intExpr( -2) <> 7.6875 or 5205 123.0 * 4.0 ** intExpr( -1) <> 30.75 or 5206 123.0 * 4.0 ** intExpr( 0) <> 123.0 or 5207 123.0 * 4.0 ** intExpr( 1) <> 492.0 or 5208 123.0 * 4.0 ** intExpr( 2) <> 1968.0 or 5209 123.0 * 4.0 ** intExpr( 3) <> 7872.0 or 5210 123.0 * 4.0 ** intExpr( 4) <> 31488.0 or 5211 123.0 * 4.0 ** intExpr( 10) <> 128974848.0 or 5212 123.0 * 4.0 ** intExpr( 20) <> 135239930216448.0 or 5213 123.0 * 4.0 ** intExpr( 30) <> 1.4180934506664218e+20 or 5214 123.0 * 4.0 ** intExpr( 40) <> 1.4869787581259939e+26 or 5215 123.0 * 4.0 ** intExpr( 50) <> 1.5592102382807222e+32 or 5216 123.0 * 4.0 ** intExpr( 100) <> 1.9765337944385580e+62 or 5217 123.0 * 4.0 ** intExpr( 150) <> 2.5055542508914179e+92 or 5218 123.0 * 4.0 ** intExpr( 32767) <> Infinity or 5219 123.0 * 4.0 ** intExpr( 32768) <> Infinity or 5220 123.0 * 4.0 ** intExpr( 2147483647) <> Infinity or 5221 123.0 * 4.0 ** intExpr( 2147483648) <> Infinity or 5222 123.0 * 4.0 ** intExpr(9223372036854775807) <> Infinity then 5223 writeln(" ***** Multiplication A * B ** C does not work correct. (2)"); 5224 okay := FALSE; 5225 end if; 5226 5227 if floatExpr(123.0) * 0.0 ** integer.first <> Infinity or 5228 floatExpr(123.0) * 0.0 ** (-2147483649) <> Infinity or 5229 floatExpr(123.0) * 0.0 ** (-2147483648) <> Infinity or 5230 floatExpr(123.0) * 0.0 ** (-32769) <> Infinity or 5231 floatExpr(123.0) * 0.0 ** (-32768) <> Infinity or 5232 floatExpr(123.0) * 0.0 ** (-100) <> Infinity or 5233 floatExpr(123.0) * 0.0 ** (-4) <> Infinity or 5234 floatExpr(123.0) * 0.0 ** (-3) <> Infinity or 5235 floatExpr(123.0) * 0.0 ** (-2) <> Infinity or 5236 floatExpr(123.0) * 0.0 ** (-1) <> Infinity or 5237 floatExpr(123.0) * 0.0 ** 0 <> 123.0 or 5238 floatExpr(123.0) * 0.0 ** 1 <> 0.0 or 5239 floatExpr(123.0) * 0.0 ** 2 <> 0.0 or 5240 floatExpr(123.0) * 0.0 ** 3 <> 0.0 or 5241 floatExpr(123.0) * 0.0 ** 4 <> 0.0 or 5242 floatExpr(123.0) * 0.0 ** 100 <> 0.0 or 5243 floatExpr(123.0) * 0.0 ** 32767 <> 0.0 or 5244 floatExpr(123.0) * 0.0 ** 32768 <> 0.0 or 5245 floatExpr(123.0) * 0.0 ** 2147483647 <> 0.0 or 5246 floatExpr(123.0) * 0.0 ** 2147483648 <> 0.0 or 5247 floatExpr(123.0) * 0.0 ** 9223372036854775807 <> 0.0 or 5248 floatExpr(123.0) * 1.0 ** integer.first <> 123.0 or 5249 floatExpr(123.0) * 1.0 ** (-2147483649) <> 123.0 or 5250 floatExpr(123.0) * 1.0 ** (-2147483648) <> 123.0 or 5251 floatExpr(123.0) * 1.0 ** (-32769) <> 123.0 or 5252 floatExpr(123.0) * 1.0 ** (-32768) <> 123.0 or 5253 floatExpr(123.0) * 1.0 ** (-100) <> 123.0 or 5254 floatExpr(123.0) * 1.0 ** (-4) <> 123.0 or 5255 floatExpr(123.0) * 1.0 ** (-3) <> 123.0 or 5256 floatExpr(123.0) * 1.0 ** (-2) <> 123.0 or 5257 floatExpr(123.0) * 1.0 ** (-1) <> 123.0 or 5258 floatExpr(123.0) * 1.0 ** 0 <> 123.0 or 5259 floatExpr(123.0) * 1.0 ** 1 <> 123.0 or 5260 floatExpr(123.0) * 1.0 ** 2 <> 123.0 or 5261 floatExpr(123.0) * 1.0 ** 3 <> 123.0 or 5262 floatExpr(123.0) * 1.0 ** 4 <> 123.0 or 5263 floatExpr(123.0) * 1.0 ** 100 <> 123.0 or 5264 floatExpr(123.0) * 1.0 ** 32767 <> 123.0 or 5265 floatExpr(123.0) * 1.0 ** 32768 <> 123.0 or 5266 floatExpr(123.0) * 1.0 ** 2147483647 <> 123.0 or 5267 floatExpr(123.0) * 1.0 ** 2147483648 <> 123.0 or 5268 floatExpr(123.0) * 1.0 ** 9223372036854775807 <> 123.0 or 5269 floatExpr(123.0) * 2.0 ** integer.first <> 0.0 or 5270 floatExpr(123.0) * 2.0 ** (-2147483649) <> 0.0 or 5271 floatExpr(123.0) * 2.0 ** (-2147483648) <> 0.0 or 5272 floatExpr(123.0) * 2.0 ** (-32769) <> 0.0 or 5273 floatExpr(123.0) * 2.0 ** (-32768) <> 0.0 or 5274 floatExpr(123.0) * 2.0 ** (-150) <> 8.6179855555976250e-44 or 5275 floatExpr(123.0) * 2.0 ** (-100) <> 9.7029891342184452e-29 or 5276 floatExpr(123.0) * 2.0 ** (-50) <> 1.0924594562311540e-13 or 5277 floatExpr(123.0) * 2.0 ** (-40) <> 1.1186784831807017e-10 or 5278 floatExpr(123.0) * 2.0 ** (-30) <> 1.1455267667770386e-07 or 5279 floatExpr(123.0) * 2.0 ** (-20) <> 1.1730194091796875e-04 or 5280 floatExpr(123.0) * 2.0 ** (-10) <> 0.1201171875 or 5281 floatExpr(123.0) * 2.0 ** (-4) <> 7.6875 or 5282 floatExpr(123.0) * 2.0 ** (-3) <> 15.375 or 5283 floatExpr(123.0) * 2.0 ** (-2) <> 30.75 or 5284 floatExpr(123.0) * 2.0 ** (-1) <> 61.5 or 5285 floatExpr(123.0) * 2.0 ** 0 <> 123.0 or 5286 floatExpr(123.0) * 2.0 ** 1 <> 246.0 or 5287 floatExpr(123.0) * 2.0 ** 2 <> 492.0 or 5288 floatExpr(123.0) * 2.0 ** 3 <> 984.0 or 5289 floatExpr(123.0) * 2.0 ** 4 <> 1968.0 or 5290 floatExpr(123.0) * 2.0 ** 10 <> 125952.0 or 5291 floatExpr(123.0) * 2.0 ** 20 <> 128974848.0 or 5292 floatExpr(123.0) * 2.0 ** 30 <> 132070244352.0 or 5293 floatExpr(123.0) * 2.0 ** 40 <> 135239930216448.0 or 5294 floatExpr(123.0) * 2.0 ** 50 <> 138485688541642752.0 or 5295 floatExpr(123.0) * 2.0 ** 100 <> 1.5592102382807222e+32 or 5296 floatExpr(123.0) * 2.0 ** 150 <> 1.7555146620283307e+47 or 5297 floatExpr(123.0) * 2.0 ** 32767 <> Infinity or 5298 floatExpr(123.0) * 2.0 ** 32768 <> Infinity or 5299 floatExpr(123.0) * 2.0 ** 2147483647 <> Infinity or 5300 floatExpr(123.0) * 2.0 ** 2147483648 <> Infinity or 5301 floatExpr(123.0) * 2.0 ** 9223372036854775807 <> Infinity or 5302 floatExpr(123.0) * 4.0 ** integer.first <> 0.0 or 5303 floatExpr(123.0) * 4.0 ** (-2147483649) <> 0.0 or 5304 floatExpr(123.0) * 4.0 ** (-2147483648) <> 0.0 or 5305 floatExpr(123.0) * 4.0 ** (-32769) <> 0.0 or 5306 floatExpr(123.0) * 4.0 ** (-32768) <> 0.0 or 5307 floatExpr(123.0) * 4.0 ** (-150) <> 6.0381849623162037e-89 or 5308 floatExpr(123.0) * 4.0 ** (-100) <> 7.6543087917692043e-59 or 5309 floatExpr(123.0) * 4.0 ** (-50) <> 9.7029891342184452e-29 or 5310 floatExpr(123.0) * 4.0 ** (-40) <> 1.0174321534402240e-22 or 5311 floatExpr(123.0) * 4.0 ** (-30) <> 1.0668549377257364e-16 or 5312 floatExpr(123.0) * 4.0 ** (-20) <> 1.1186784831807017e-10 or 5313 floatExpr(123.0) * 4.0 ** (-10) <> 1.1730194091796875e-04 or 5314 floatExpr(123.0) * 4.0 ** (-4) <> 0.48046875 or 5315 floatExpr(123.0) * 4.0 ** (-3) <> 1.921875 or 5316 floatExpr(123.0) * 4.0 ** (-2) <> 7.6875 or 5317 floatExpr(123.0) * 4.0 ** (-1) <> 30.75 or 5318 floatExpr(123.0) * 4.0 ** 0 <> 123.0 or 5319 floatExpr(123.0) * 4.0 ** 1 <> 492.0 or 5320 floatExpr(123.0) * 4.0 ** 2 <> 1968.0 or 5321 floatExpr(123.0) * 4.0 ** 3 <> 7872.0 or 5322 floatExpr(123.0) * 4.0 ** 4 <> 31488.0 or 5323 floatExpr(123.0) * 4.0 ** 10 <> 128974848.0 or 5324 floatExpr(123.0) * 4.0 ** 20 <> 135239930216448.0 or 5325 floatExpr(123.0) * 4.0 ** 30 <> 1.4180934506664218e+20 or 5326 floatExpr(123.0) * 4.0 ** 40 <> 1.4869787581259939e+26 or 5327 floatExpr(123.0) * 4.0 ** 50 <> 1.5592102382807222e+32 or 5328 floatExpr(123.0) * 4.0 ** 100 <> 1.9765337944385580e+62 or 5329 floatExpr(123.0) * 4.0 ** 150 <> 2.5055542508914179e+92 or 5330 floatExpr(123.0) * 4.0 ** 32767 <> Infinity or 5331 floatExpr(123.0) * 4.0 ** 32768 <> Infinity or 5332 floatExpr(123.0) * 4.0 ** 2147483647 <> Infinity or 5333 floatExpr(123.0) * 4.0 ** 2147483648 <> Infinity or 5334 floatExpr(123.0) * 4.0 ** 9223372036854775807 <> Infinity then 5335 writeln(" ***** Multiplication A * B ** C does not work correct. (3)"); 5336 okay := FALSE; 5337 end if; 5338 5339 if floatExpr(123.0) * 0.0 ** intExpr( integer.first) <> Infinity or 5340 floatExpr(123.0) * 0.0 ** intExpr( -2147483649) <> Infinity or 5341 floatExpr(123.0) * 0.0 ** intExpr( -2147483648) <> Infinity or 5342 floatExpr(123.0) * 0.0 ** intExpr( -32769) <> Infinity or 5343 floatExpr(123.0) * 0.0 ** intExpr( -32768) <> Infinity or 5344 floatExpr(123.0) * 0.0 ** intExpr( -100) <> Infinity or 5345 floatExpr(123.0) * 0.0 ** intExpr( -4) <> Infinity or 5346 floatExpr(123.0) * 0.0 ** intExpr( -3) <> Infinity or 5347 floatExpr(123.0) * 0.0 ** intExpr( -2) <> Infinity or 5348 floatExpr(123.0) * 0.0 ** intExpr( -1) <> Infinity or 5349 floatExpr(123.0) * 0.0 ** intExpr( 0) <> 123.0 or 5350 floatExpr(123.0) * 0.0 ** intExpr( 1) <> 0.0 or 5351 floatExpr(123.0) * 0.0 ** intExpr( 2) <> 0.0 or 5352 floatExpr(123.0) * 0.0 ** intExpr( 3) <> 0.0 or 5353 floatExpr(123.0) * 0.0 ** intExpr( 4) <> 0.0 or 5354 floatExpr(123.0) * 0.0 ** intExpr( 100) <> 0.0 or 5355 floatExpr(123.0) * 0.0 ** intExpr( 32767) <> 0.0 or 5356 floatExpr(123.0) * 0.0 ** intExpr( 32768) <> 0.0 or 5357 floatExpr(123.0) * 0.0 ** intExpr( 2147483647) <> 0.0 or 5358 floatExpr(123.0) * 0.0 ** intExpr( 2147483648) <> 0.0 or 5359 floatExpr(123.0) * 0.0 ** intExpr(9223372036854775807) <> 0.0 or 5360 floatExpr(123.0) * 1.0 ** intExpr( integer.first) <> 123.0 or 5361 floatExpr(123.0) * 1.0 ** intExpr( -2147483649) <> 123.0 or 5362 floatExpr(123.0) * 1.0 ** intExpr( -2147483648) <> 123.0 or 5363 floatExpr(123.0) * 1.0 ** intExpr( -32769) <> 123.0 or 5364 floatExpr(123.0) * 1.0 ** intExpr( -32768) <> 123.0 or 5365 floatExpr(123.0) * 1.0 ** intExpr( -100) <> 123.0 or 5366 floatExpr(123.0) * 1.0 ** intExpr( -4) <> 123.0 or 5367 floatExpr(123.0) * 1.0 ** intExpr( -3) <> 123.0 or 5368 floatExpr(123.0) * 1.0 ** intExpr( -2) <> 123.0 or 5369 floatExpr(123.0) * 1.0 ** intExpr( -1) <> 123.0 or 5370 floatExpr(123.0) * 1.0 ** intExpr( 0) <> 123.0 or 5371 floatExpr(123.0) * 1.0 ** intExpr( 1) <> 123.0 or 5372 floatExpr(123.0) * 1.0 ** intExpr( 2) <> 123.0 or 5373 floatExpr(123.0) * 1.0 ** intExpr( 3) <> 123.0 or 5374 floatExpr(123.0) * 1.0 ** intExpr( 4) <> 123.0 or 5375 floatExpr(123.0) * 1.0 ** intExpr( 100) <> 123.0 or 5376 floatExpr(123.0) * 1.0 ** intExpr( 32767) <> 123.0 or 5377 floatExpr(123.0) * 1.0 ** intExpr( 32768) <> 123.0 or 5378 floatExpr(123.0) * 1.0 ** intExpr( 2147483647) <> 123.0 or 5379 floatExpr(123.0) * 1.0 ** intExpr( 2147483648) <> 123.0 or 5380 floatExpr(123.0) * 1.0 ** intExpr(9223372036854775807) <> 123.0 or 5381 floatExpr(123.0) * 2.0 ** intExpr( integer.first) <> 0.0 or 5382 floatExpr(123.0) * 2.0 ** intExpr( -2147483649) <> 0.0 or 5383 floatExpr(123.0) * 2.0 ** intExpr( -2147483648) <> 0.0 or 5384 floatExpr(123.0) * 2.0 ** intExpr( -32769) <> 0.0 or 5385 floatExpr(123.0) * 2.0 ** intExpr( -32768) <> 0.0 or 5386 floatExpr(123.0) * 2.0 ** intExpr( -150) <> 8.6179855555976250e-44 or 5387 floatExpr(123.0) * 2.0 ** intExpr( -100) <> 9.7029891342184452e-29 or 5388 floatExpr(123.0) * 2.0 ** intExpr( -50) <> 1.0924594562311540e-13 or 5389 floatExpr(123.0) * 2.0 ** intExpr( -40) <> 1.1186784831807017e-10 or 5390 floatExpr(123.0) * 2.0 ** intExpr( -30) <> 1.1455267667770386e-07 or 5391 floatExpr(123.0) * 2.0 ** intExpr( -20) <> 1.1730194091796875e-04 or 5392 floatExpr(123.0) * 2.0 ** intExpr( -10) <> 0.1201171875 or 5393 floatExpr(123.0) * 2.0 ** intExpr( -4) <> 7.6875 or 5394 floatExpr(123.0) * 2.0 ** intExpr( -3) <> 15.375 or 5395 floatExpr(123.0) * 2.0 ** intExpr( -2) <> 30.75 or 5396 floatExpr(123.0) * 2.0 ** intExpr( -1) <> 61.5 or 5397 floatExpr(123.0) * 2.0 ** intExpr( 0) <> 123.0 or 5398 floatExpr(123.0) * 2.0 ** intExpr( 1) <> 246.0 or 5399 floatExpr(123.0) * 2.0 ** intExpr( 2) <> 492.0 or 5400 floatExpr(123.0) * 2.0 ** intExpr( 3) <> 984.0 or 5401 floatExpr(123.0) * 2.0 ** intExpr( 4) <> 1968.0 or 5402 floatExpr(123.0) * 2.0 ** intExpr( 10) <> 125952.0 or 5403 floatExpr(123.0) * 2.0 ** intExpr( 20) <> 128974848.0 or 5404 floatExpr(123.0) * 2.0 ** intExpr( 30) <> 132070244352.0 or 5405 floatExpr(123.0) * 2.0 ** intExpr( 40) <> 135239930216448.0 or 5406 floatExpr(123.0) * 2.0 ** intExpr( 50) <> 138485688541642752.0 or 5407 floatExpr(123.0) * 2.0 ** intExpr( 100) <> 1.5592102382807222e+32 or 5408 floatExpr(123.0) * 2.0 ** intExpr( 150) <> 1.7555146620283307e+47 or 5409 floatExpr(123.0) * 2.0 ** intExpr( 32767) <> Infinity or 5410 floatExpr(123.0) * 2.0 ** intExpr( 32768) <> Infinity or 5411 floatExpr(123.0) * 2.0 ** intExpr( 2147483647) <> Infinity or 5412 floatExpr(123.0) * 2.0 ** intExpr( 2147483648) <> Infinity or 5413 floatExpr(123.0) * 2.0 ** intExpr(9223372036854775807) <> Infinity or 5414 floatExpr(123.0) * 4.0 ** intExpr( integer.first) <> 0.0 or 5415 floatExpr(123.0) * 4.0 ** intExpr( -2147483649) <> 0.0 or 5416 floatExpr(123.0) * 4.0 ** intExpr( -2147483648) <> 0.0 or 5417 floatExpr(123.0) * 4.0 ** intExpr( -32769) <> 0.0 or 5418 floatExpr(123.0) * 4.0 ** intExpr( -32768) <> 0.0 or 5419 floatExpr(123.0) * 4.0 ** intExpr( -150) <> 6.0381849623162037e-89 or 5420 floatExpr(123.0) * 4.0 ** intExpr( -100) <> 7.6543087917692043e-59 or 5421 floatExpr(123.0) * 4.0 ** intExpr( -50) <> 9.7029891342184452e-29 or 5422 floatExpr(123.0) * 4.0 ** intExpr( -40) <> 1.0174321534402240e-22 or 5423 floatExpr(123.0) * 4.0 ** intExpr( -30) <> 1.0668549377257364e-16 or 5424 floatExpr(123.0) * 4.0 ** intExpr( -20) <> 1.1186784831807017e-10 or 5425 floatExpr(123.0) * 4.0 ** intExpr( -10) <> 1.1730194091796875e-04 or 5426 floatExpr(123.0) * 4.0 ** intExpr( -4) <> 0.48046875 or 5427 floatExpr(123.0) * 4.0 ** intExpr( -3) <> 1.921875 or 5428 floatExpr(123.0) * 4.0 ** intExpr( -2) <> 7.6875 or 5429 floatExpr(123.0) * 4.0 ** intExpr( -1) <> 30.75 or 5430 floatExpr(123.0) * 4.0 ** intExpr( 0) <> 123.0 or 5431 floatExpr(123.0) * 4.0 ** intExpr( 1) <> 492.0 or 5432 floatExpr(123.0) * 4.0 ** intExpr( 2) <> 1968.0 or 5433 floatExpr(123.0) * 4.0 ** intExpr( 3) <> 7872.0 or 5434 floatExpr(123.0) * 4.0 ** intExpr( 4) <> 31488.0 or 5435 floatExpr(123.0) * 4.0 ** intExpr( 10) <> 128974848.0 or 5436 floatExpr(123.0) * 4.0 ** intExpr( 20) <> 135239930216448.0 or 5437 floatExpr(123.0) * 4.0 ** intExpr( 30) <> 1.4180934506664218e+20 or 5438 floatExpr(123.0) * 4.0 ** intExpr( 40) <> 1.4869787581259939e+26 or 5439 floatExpr(123.0) * 4.0 ** intExpr( 50) <> 1.5592102382807222e+32 or 5440 floatExpr(123.0) * 4.0 ** intExpr( 100) <> 1.9765337944385580e+62 or 5441 floatExpr(123.0) * 4.0 ** intExpr( 150) <> 2.5055542508914179e+92 or 5442 floatExpr(123.0) * 4.0 ** intExpr( 32767) <> Infinity or 5443 floatExpr(123.0) * 4.0 ** intExpr( 32768) <> Infinity or 5444 floatExpr(123.0) * 4.0 ** intExpr( 2147483647) <> Infinity or 5445 floatExpr(123.0) * 4.0 ** intExpr( 2147483648) <> Infinity or 5446 floatExpr(123.0) * 4.0 ** intExpr(9223372036854775807) <> Infinity then 5447 writeln(" ***** Multiplication A * B ** C does not work correct. (4)"); 5448 okay := FALSE; 5449 end if; 5450 5451 if 123.0 * floatExpr(0.0) ** integer.first <> Infinity or 5452 123.0 * floatExpr(0.0) ** (-2147483649) <> Infinity or 5453 123.0 * floatExpr(0.0) ** (-2147483648) <> Infinity or 5454 123.0 * floatExpr(0.0) ** (-32769) <> Infinity or 5455 123.0 * floatExpr(0.0) ** (-32768) <> Infinity or 5456 123.0 * floatExpr(0.0) ** (-100) <> Infinity or 5457 123.0 * floatExpr(0.0) ** (-4) <> Infinity or 5458 123.0 * floatExpr(0.0) ** (-3) <> Infinity or 5459 123.0 * floatExpr(0.0) ** (-2) <> Infinity or 5460 123.0 * floatExpr(0.0) ** (-1) <> Infinity or 5461 123.0 * floatExpr(0.0) ** 0 <> 123.0 or 5462 123.0 * floatExpr(0.0) ** 1 <> 0.0 or 5463 123.0 * floatExpr(0.0) ** 2 <> 0.0 or 5464 123.0 * floatExpr(0.0) ** 3 <> 0.0 or 5465 123.0 * floatExpr(0.0) ** 4 <> 0.0 or 5466 123.0 * floatExpr(0.0) ** 100 <> 0.0 or 5467 123.0 * floatExpr(0.0) ** 32767 <> 0.0 or 5468 123.0 * floatExpr(0.0) ** 32768 <> 0.0 or 5469 123.0 * floatExpr(0.0) ** 2147483647 <> 0.0 or 5470 123.0 * floatExpr(0.0) ** 2147483648 <> 0.0 or 5471 123.0 * floatExpr(0.0) ** 9223372036854775807 <> 0.0 or 5472 123.0 * floatExpr(1.0) ** integer.first <> 123.0 or 5473 123.0 * floatExpr(1.0) ** (-2147483649) <> 123.0 or 5474 123.0 * floatExpr(1.0) ** (-2147483648) <> 123.0 or 5475 123.0 * floatExpr(1.0) ** (-32769) <> 123.0 or 5476 123.0 * floatExpr(1.0) ** (-32768) <> 123.0 or 5477 123.0 * floatExpr(1.0) ** (-100) <> 123.0 or 5478 123.0 * floatExpr(1.0) ** (-4) <> 123.0 or 5479 123.0 * floatExpr(1.0) ** (-3) <> 123.0 or 5480 123.0 * floatExpr(1.0) ** (-2) <> 123.0 or 5481 123.0 * floatExpr(1.0) ** (-1) <> 123.0 or 5482 123.0 * floatExpr(1.0) ** 0 <> 123.0 or 5483 123.0 * floatExpr(1.0) ** 1 <> 123.0 or 5484 123.0 * floatExpr(1.0) ** 2 <> 123.0 or 5485 123.0 * floatExpr(1.0) ** 3 <> 123.0 or 5486 123.0 * floatExpr(1.0) ** 4 <> 123.0 or 5487 123.0 * floatExpr(1.0) ** 100 <> 123.0 or 5488 123.0 * floatExpr(1.0) ** 32767 <> 123.0 or 5489 123.0 * floatExpr(1.0) ** 32768 <> 123.0 or 5490 123.0 * floatExpr(1.0) ** 2147483647 <> 123.0 or 5491 123.0 * floatExpr(1.0) ** 2147483648 <> 123.0 or 5492 123.0 * floatExpr(1.0) ** 9223372036854775807 <> 123.0 or 5493 123.0 * floatExpr(2.0) ** integer.first <> 0.0 or 5494 123.0 * floatExpr(2.0) ** (-2147483649) <> 0.0 or 5495 123.0 * floatExpr(2.0) ** (-2147483648) <> 0.0 or 5496 123.0 * floatExpr(2.0) ** (-32769) <> 0.0 or 5497 123.0 * floatExpr(2.0) ** (-32768) <> 0.0 or 5498 123.0 * floatExpr(2.0) ** (-150) <> 8.6179855555976250e-44 or 5499 123.0 * floatExpr(2.0) ** (-100) <> 9.7029891342184452e-29 or 5500 123.0 * floatExpr(2.0) ** (-50) <> 1.0924594562311540e-13 or 5501 123.0 * floatExpr(2.0) ** (-40) <> 1.1186784831807017e-10 or 5502 123.0 * floatExpr(2.0) ** (-30) <> 1.1455267667770386e-07 or 5503 123.0 * floatExpr(2.0) ** (-20) <> 1.1730194091796875e-04 or 5504 123.0 * floatExpr(2.0) ** (-10) <> 0.1201171875 or 5505 123.0 * floatExpr(2.0) ** (-4) <> 7.6875 or 5506 123.0 * floatExpr(2.0) ** (-3) <> 15.375 or 5507 123.0 * floatExpr(2.0) ** (-2) <> 30.75 or 5508 123.0 * floatExpr(2.0) ** (-1) <> 61.5 or 5509 123.0 * floatExpr(2.0) ** 0 <> 123.0 or 5510 123.0 * floatExpr(2.0) ** 1 <> 246.0 or 5511 123.0 * floatExpr(2.0) ** 2 <> 492.0 or 5512 123.0 * floatExpr(2.0) ** 3 <> 984.0 or 5513 123.0 * floatExpr(2.0) ** 4 <> 1968.0 or 5514 123.0 * floatExpr(2.0) ** 10 <> 125952.0 or 5515 123.0 * floatExpr(2.0) ** 20 <> 128974848.0 or 5516 123.0 * floatExpr(2.0) ** 30 <> 132070244352.0 or 5517 123.0 * floatExpr(2.0) ** 40 <> 135239930216448.0 or 5518 123.0 * floatExpr(2.0) ** 50 <> 138485688541642752.0 or 5519 123.0 * floatExpr(2.0) ** 100 <> 1.5592102382807222e+32 or 5520 123.0 * floatExpr(2.0) ** 150 <> 1.7555146620283307e+47 or 5521 123.0 * floatExpr(2.0) ** 32767 <> Infinity or 5522 123.0 * floatExpr(2.0) ** 32768 <> Infinity or 5523 123.0 * floatExpr(2.0) ** 2147483647 <> Infinity or 5524 123.0 * floatExpr(2.0) ** 2147483648 <> Infinity or 5525 123.0 * floatExpr(2.0) ** 9223372036854775807 <> Infinity or 5526 123.0 * floatExpr(4.0) ** integer.first <> 0.0 or 5527 123.0 * floatExpr(4.0) ** (-2147483649) <> 0.0 or 5528 123.0 * floatExpr(4.0) ** (-2147483648) <> 0.0 or 5529 123.0 * floatExpr(4.0) ** (-32769) <> 0.0 or 5530 123.0 * floatExpr(4.0) ** (-32768) <> 0.0 or 5531 123.0 * floatExpr(4.0) ** (-150) <> 6.0381849623162037e-89 or 5532 123.0 * floatExpr(4.0) ** (-100) <> 7.6543087917692043e-59 or 5533 123.0 * floatExpr(4.0) ** (-50) <> 9.7029891342184452e-29 or 5534 123.0 * floatExpr(4.0) ** (-40) <> 1.0174321534402240e-22 or 5535 123.0 * floatExpr(4.0) ** (-30) <> 1.0668549377257364e-16 or 5536 123.0 * floatExpr(4.0) ** (-20) <> 1.1186784831807017e-10 or 5537 123.0 * floatExpr(4.0) ** (-10) <> 1.1730194091796875e-04 or 5538 123.0 * floatExpr(4.0) ** (-4) <> 0.48046875 or 5539 123.0 * floatExpr(4.0) ** (-3) <> 1.921875 or 5540 123.0 * floatExpr(4.0) ** (-2) <> 7.6875 or 5541 123.0 * floatExpr(4.0) ** (-1) <> 30.75 or 5542 123.0 * floatExpr(4.0) ** 0 <> 123.0 or 5543 123.0 * floatExpr(4.0) ** 1 <> 492.0 or 5544 123.0 * floatExpr(4.0) ** 2 <> 1968.0 or 5545 123.0 * floatExpr(4.0) ** 3 <> 7872.0 or 5546 123.0 * floatExpr(4.0) ** 4 <> 31488.0 or 5547 123.0 * floatExpr(4.0) ** 10 <> 128974848.0 or 5548 123.0 * floatExpr(4.0) ** 20 <> 135239930216448.0 or 5549 123.0 * floatExpr(4.0) ** 30 <> 1.4180934506664218e+20 or 5550 123.0 * floatExpr(4.0) ** 40 <> 1.4869787581259939e+26 or 5551 123.0 * floatExpr(4.0) ** 50 <> 1.5592102382807222e+32 or 5552 123.0 * floatExpr(4.0) ** 100 <> 1.9765337944385580e+62 or 5553 123.0 * floatExpr(4.0) ** 150 <> 2.5055542508914179e+92 or 5554 123.0 * floatExpr(4.0) ** 32767 <> Infinity or 5555 123.0 * floatExpr(4.0) ** 32768 <> Infinity or 5556 123.0 * floatExpr(4.0) ** 2147483647 <> Infinity or 5557 123.0 * floatExpr(4.0) ** 2147483648 <> Infinity or 5558 123.0 * floatExpr(4.0) ** 9223372036854775807 <> Infinity then 5559 writeln(" ***** Multiplication A * B ** C does not work correct. (5)"); 5560 okay := FALSE; 5561 end if; 5562 5563 if 0.0 ** integer.first * 123.0 <> Infinity or 5564 0.0 ** (-2147483649) * 123.0 <> Infinity or 5565 0.0 ** (-2147483648) * 123.0 <> Infinity or 5566 0.0 ** (-32769) * 123.0 <> Infinity or 5567 0.0 ** (-32768) * 123.0 <> Infinity or 5568 0.0 ** (-100) * 123.0 <> Infinity or 5569 0.0 ** (-4) * 123.0 <> Infinity or 5570 0.0 ** (-3) * 123.0 <> Infinity or 5571 0.0 ** (-2) * 123.0 <> Infinity or 5572 0.0 ** (-1) * 123.0 <> Infinity or 5573 0.0 ** 0 * 123.0 <> 123.0 or 5574 0.0 ** 1 * 123.0 <> 0.0 or 5575 0.0 ** 2 * 123.0 <> 0.0 or 5576 0.0 ** 3 * 123.0 <> 0.0 or 5577 0.0 ** 4 * 123.0 <> 0.0 or 5578 0.0 ** 100 * 123.0 <> 0.0 or 5579 0.0 ** 32767 * 123.0 <> 0.0 or 5580 0.0 ** 32768 * 123.0 <> 0.0 or 5581 0.0 ** 2147483647 * 123.0 <> 0.0 or 5582 0.0 ** 2147483648 * 123.0 <> 0.0 or 5583 0.0 ** 9223372036854775807 * 123.0 <> 0.0 or 5584 1.0 ** integer.first * 123.0 <> 123.0 or 5585 1.0 ** (-2147483649) * 123.0 <> 123.0 or 5586 1.0 ** (-2147483648) * 123.0 <> 123.0 or 5587 1.0 ** (-32769) * 123.0 <> 123.0 or 5588 1.0 ** (-32768) * 123.0 <> 123.0 or 5589 1.0 ** (-100) * 123.0 <> 123.0 or 5590 1.0 ** (-4) * 123.0 <> 123.0 or 5591 1.0 ** (-3) * 123.0 <> 123.0 or 5592 1.0 ** (-2) * 123.0 <> 123.0 or 5593 1.0 ** (-1) * 123.0 <> 123.0 or 5594 1.0 ** 0 * 123.0 <> 123.0 or 5595 1.0 ** 1 * 123.0 <> 123.0 or 5596 1.0 ** 2 * 123.0 <> 123.0 or 5597 1.0 ** 3 * 123.0 <> 123.0 or 5598 1.0 ** 4 * 123.0 <> 123.0 or 5599 1.0 ** 100 * 123.0 <> 123.0 or 5600 1.0 ** 32767 * 123.0 <> 123.0 or 5601 1.0 ** 32768 * 123.0 <> 123.0 or 5602 1.0 ** 2147483647 * 123.0 <> 123.0 or 5603 1.0 ** 2147483648 * 123.0 <> 123.0 or 5604 1.0 ** 9223372036854775807 * 123.0 <> 123.0 or 5605 2.0 ** integer.first * 123.0 <> 0.0 or 5606 2.0 ** (-2147483649) * 123.0 <> 0.0 or 5607 2.0 ** (-2147483648) * 123.0 <> 0.0 or 5608 2.0 ** (-32769) * 123.0 <> 0.0 or 5609 2.0 ** (-32768) * 123.0 <> 0.0 or 5610 2.0 ** (-150) * 123.0 <> 8.6179855555976250e-44 or 5611 2.0 ** (-100) * 123.0 <> 9.7029891342184452e-29 or 5612 2.0 ** (-50) * 123.0 <> 1.0924594562311540e-13 or 5613 2.0 ** (-40) * 123.0 <> 1.1186784831807017e-10 or 5614 2.0 ** (-30) * 123.0 <> 1.1455267667770386e-07 or 5615 2.0 ** (-20) * 123.0 <> 1.1730194091796875e-04 or 5616 2.0 ** (-10) * 123.0 <> 0.1201171875 or 5617 2.0 ** (-4) * 123.0 <> 7.6875 or 5618 2.0 ** (-3) * 123.0 <> 15.375 or 5619 2.0 ** (-2) * 123.0 <> 30.75 or 5620 2.0 ** (-1) * 123.0 <> 61.5 or 5621 2.0 ** 0 * 123.0 <> 123.0 or 5622 2.0 ** 1 * 123.0 <> 246.0 or 5623 2.0 ** 2 * 123.0 <> 492.0 or 5624 2.0 ** 3 * 123.0 <> 984.0 or 5625 2.0 ** 4 * 123.0 <> 1968.0 or 5626 2.0 ** 10 * 123.0 <> 125952.0 or 5627 2.0 ** 20 * 123.0 <> 128974848.0 or 5628 2.0 ** 30 * 123.0 <> 132070244352.0 or 5629 2.0 ** 40 * 123.0 <> 135239930216448.0 or 5630 2.0 ** 50 * 123.0 <> 138485688541642752.0 or 5631 2.0 ** 100 * 123.0 <> 1.5592102382807222e+32 or 5632 2.0 ** 150 * 123.0 <> 1.7555146620283307e+47 or 5633 2.0 ** 32767 * 123.0 <> Infinity or 5634 2.0 ** 32768 * 123.0 <> Infinity or 5635 2.0 ** 2147483647 * 123.0 <> Infinity or 5636 2.0 ** 2147483648 * 123.0 <> Infinity or 5637 2.0 ** 9223372036854775807 * 123.0 <> Infinity or 5638 4.0 ** integer.first * 123.0 <> 0.0 or 5639 4.0 ** (-2147483649) * 123.0 <> 0.0 or 5640 4.0 ** (-2147483648) * 123.0 <> 0.0 or 5641 4.0 ** (-32769) * 123.0 <> 0.0 or 5642 4.0 ** (-32768) * 123.0 <> 0.0 or 5643 4.0 ** (-150) * 123.0 <> 6.0381849623162037e-89 or 5644 4.0 ** (-100) * 123.0 <> 7.6543087917692043e-59 or 5645 4.0 ** (-50) * 123.0 <> 9.7029891342184452e-29 or 5646 4.0 ** (-40) * 123.0 <> 1.0174321534402240e-22 or 5647 4.0 ** (-30) * 123.0 <> 1.0668549377257364e-16 or 5648 4.0 ** (-20) * 123.0 <> 1.1186784831807017e-10 or 5649 4.0 ** (-10) * 123.0 <> 1.1730194091796875e-04 or 5650 4.0 ** (-4) * 123.0 <> 0.48046875 or 5651 4.0 ** (-3) * 123.0 <> 1.921875 or 5652 4.0 ** (-2) * 123.0 <> 7.6875 or 5653 4.0 ** (-1) * 123.0 <> 30.75 or 5654 4.0 ** 0 * 123.0 <> 123.0 or 5655 4.0 ** 1 * 123.0 <> 492.0 or 5656 4.0 ** 2 * 123.0 <> 1968.0 or 5657 4.0 ** 3 * 123.0 <> 7872.0 or 5658 4.0 ** 4 * 123.0 <> 31488.0 or 5659 4.0 ** 10 * 123.0 <> 128974848.0 or 5660 4.0 ** 20 * 123.0 <> 135239930216448.0 or 5661 4.0 ** 30 * 123.0 <> 1.4180934506664218e+20 or 5662 4.0 ** 40 * 123.0 <> 1.4869787581259939e+26 or 5663 4.0 ** 50 * 123.0 <> 1.5592102382807222e+32 or 5664 4.0 ** 100 * 123.0 <> 1.9765337944385580e+62 or 5665 4.0 ** 150 * 123.0 <> 2.5055542508914179e+92 or 5666 4.0 ** 32767 * 123.0 <> Infinity or 5667 4.0 ** 32768 * 123.0 <> Infinity or 5668 4.0 ** 2147483647 * 123.0 <> Infinity or 5669 4.0 ** 2147483648 * 123.0 <> Infinity or 5670 4.0 ** 9223372036854775807 * 123.0 <> Infinity then 5671 writeln(" ***** Multiplication A ** B * C does not work correct. (1)"); 5672 okay := FALSE; 5673 end if; 5674 5675 if 0.0 ** intExpr( integer.first) * 123.0 <> Infinity or 5676 0.0 ** intExpr( -2147483649) * 123.0 <> Infinity or 5677 0.0 ** intExpr( -2147483648) * 123.0 <> Infinity or 5678 0.0 ** intExpr( -32769) * 123.0 <> Infinity or 5679 0.0 ** intExpr( -32768) * 123.0 <> Infinity or 5680 0.0 ** intExpr( -100) * 123.0 <> Infinity or 5681 0.0 ** intExpr( -4) * 123.0 <> Infinity or 5682 0.0 ** intExpr( -3) * 123.0 <> Infinity or 5683 0.0 ** intExpr( -2) * 123.0 <> Infinity or 5684 0.0 ** intExpr( -1) * 123.0 <> Infinity or 5685 0.0 ** intExpr( 0) * 123.0 <> 123.0 or 5686 0.0 ** intExpr( 1) * 123.0 <> 0.0 or 5687 0.0 ** intExpr( 2) * 123.0 <> 0.0 or 5688 0.0 ** intExpr( 3) * 123.0 <> 0.0 or 5689 0.0 ** intExpr( 4) * 123.0 <> 0.0 or 5690 0.0 ** intExpr( 100) * 123.0 <> 0.0 or 5691 0.0 ** intExpr( 32767) * 123.0 <> 0.0 or 5692 0.0 ** intExpr( 32768) * 123.0 <> 0.0 or 5693 0.0 ** intExpr( 2147483647) * 123.0 <> 0.0 or 5694 0.0 ** intExpr( 2147483648) * 123.0 <> 0.0 or 5695 0.0 ** intExpr(9223372036854775807) * 123.0 <> 0.0 or 5696 1.0 ** intExpr( integer.first) * 123.0 <> 123.0 or 5697 1.0 ** intExpr( -2147483649) * 123.0 <> 123.0 or 5698 1.0 ** intExpr( -2147483648) * 123.0 <> 123.0 or 5699 1.0 ** intExpr( -32769) * 123.0 <> 123.0 or 5700 1.0 ** intExpr( -32768) * 123.0 <> 123.0 or 5701 1.0 ** intExpr( -100) * 123.0 <> 123.0 or 5702 1.0 ** intExpr( -4) * 123.0 <> 123.0 or 5703 1.0 ** intExpr( -3) * 123.0 <> 123.0 or 5704 1.0 ** intExpr( -2) * 123.0 <> 123.0 or 5705 1.0 ** intExpr( -1) * 123.0 <> 123.0 or 5706 1.0 ** intExpr( 0) * 123.0 <> 123.0 or 5707 1.0 ** intExpr( 1) * 123.0 <> 123.0 or 5708 1.0 ** intExpr( 2) * 123.0 <> 123.0 or 5709 1.0 ** intExpr( 3) * 123.0 <> 123.0 or 5710 1.0 ** intExpr( 4) * 123.0 <> 123.0 or 5711 1.0 ** intExpr( 100) * 123.0 <> 123.0 or 5712 1.0 ** intExpr( 32767) * 123.0 <> 123.0 or 5713 1.0 ** intExpr( 32768) * 123.0 <> 123.0 or 5714 1.0 ** intExpr( 2147483647) * 123.0 <> 123.0 or 5715 1.0 ** intExpr( 2147483648) * 123.0 <> 123.0 or 5716 1.0 ** intExpr(9223372036854775807) * 123.0 <> 123.0 or 5717 2.0 ** intExpr( integer.first) * 123.0 <> 0.0 or 5718 2.0 ** intExpr( -2147483649) * 123.0 <> 0.0 or 5719 2.0 ** intExpr( -2147483648) * 123.0 <> 0.0 or 5720 2.0 ** intExpr( -32769) * 123.0 <> 0.0 or 5721 2.0 ** intExpr( -32768) * 123.0 <> 0.0 or 5722 2.0 ** intExpr( -150) * 123.0 <> 8.6179855555976250e-44 or 5723 2.0 ** intExpr( -100) * 123.0 <> 9.7029891342184452e-29 or 5724 2.0 ** intExpr( -50) * 123.0 <> 1.0924594562311540e-13 or 5725 2.0 ** intExpr( -40) * 123.0 <> 1.1186784831807017e-10 or 5726 2.0 ** intExpr( -30) * 123.0 <> 1.1455267667770386e-07 or 5727 2.0 ** intExpr( -20) * 123.0 <> 1.1730194091796875e-04 or 5728 2.0 ** intExpr( -10) * 123.0 <> 0.1201171875 or 5729 2.0 ** intExpr( -4) * 123.0 <> 7.6875 or 5730 2.0 ** intExpr( -3) * 123.0 <> 15.375 or 5731 2.0 ** intExpr( -2) * 123.0 <> 30.75 or 5732 2.0 ** intExpr( -1) * 123.0 <> 61.5 or 5733 2.0 ** intExpr( 0) * 123.0 <> 123.0 or 5734 2.0 ** intExpr( 1) * 123.0 <> 246.0 or 5735 2.0 ** intExpr( 2) * 123.0 <> 492.0 or 5736 2.0 ** intExpr( 3) * 123.0 <> 984.0 or 5737 2.0 ** intExpr( 4) * 123.0 <> 1968.0 or 5738 2.0 ** intExpr( 10) * 123.0 <> 125952.0 or 5739 2.0 ** intExpr( 20) * 123.0 <> 128974848.0 or 5740 2.0 ** intExpr( 30) * 123.0 <> 132070244352.0 or 5741 2.0 ** intExpr( 40) * 123.0 <> 135239930216448.0 or 5742 2.0 ** intExpr( 50) * 123.0 <> 138485688541642752.0 or 5743 2.0 ** intExpr( 100) * 123.0 <> 1.5592102382807222e+32 or 5744 2.0 ** intExpr( 150) * 123.0 <> 1.7555146620283307e+47 or 5745 2.0 ** intExpr( 32767) * 123.0 <> Infinity or 5746 2.0 ** intExpr( 32768) * 123.0 <> Infinity or 5747 2.0 ** intExpr( 2147483647) * 123.0 <> Infinity or 5748 2.0 ** intExpr( 2147483648) * 123.0 <> Infinity or 5749 2.0 ** intExpr(9223372036854775807) * 123.0 <> Infinity or 5750 4.0 ** intExpr( integer.first) * 123.0 <> 0.0 or 5751 4.0 ** intExpr( -2147483649) * 123.0 <> 0.0 or 5752 4.0 ** intExpr( -2147483648) * 123.0 <> 0.0 or 5753 4.0 ** intExpr( -32769) * 123.0 <> 0.0 or 5754 4.0 ** intExpr( -32768) * 123.0 <> 0.0 or 5755 4.0 ** intExpr( -150) * 123.0 <> 6.0381849623162037e-89 or 5756 4.0 ** intExpr( -100) * 123.0 <> 7.6543087917692043e-59 or 5757 4.0 ** intExpr( -50) * 123.0 <> 9.7029891342184452e-29 or 5758 4.0 ** intExpr( -40) * 123.0 <> 1.0174321534402240e-22 or 5759 4.0 ** intExpr( -30) * 123.0 <> 1.0668549377257364e-16 or 5760 4.0 ** intExpr( -20) * 123.0 <> 1.1186784831807017e-10 or 5761 4.0 ** intExpr( -10) * 123.0 <> 1.1730194091796875e-04 or 5762 4.0 ** intExpr( -4) * 123.0 <> 0.48046875 or 5763 4.0 ** intExpr( -3) * 123.0 <> 1.921875 or 5764 4.0 ** intExpr( -2) * 123.0 <> 7.6875 or 5765 4.0 ** intExpr( -1) * 123.0 <> 30.75 or 5766 4.0 ** intExpr( 0) * 123.0 <> 123.0 or 5767 4.0 ** intExpr( 1) * 123.0 <> 492.0 or 5768 4.0 ** intExpr( 2) * 123.0 <> 1968.0 or 5769 4.0 ** intExpr( 3) * 123.0 <> 7872.0 or 5770 4.0 ** intExpr( 4) * 123.0 <> 31488.0 or 5771 4.0 ** intExpr( 10) * 123.0 <> 128974848.0 or 5772 4.0 ** intExpr( 20) * 123.0 <> 135239930216448.0 or 5773 4.0 ** intExpr( 30) * 123.0 <> 1.4180934506664218e+20 or 5774 4.0 ** intExpr( 40) * 123.0 <> 1.4869787581259939e+26 or 5775 4.0 ** intExpr( 50) * 123.0 <> 1.5592102382807222e+32 or 5776 4.0 ** intExpr( 100) * 123.0 <> 1.9765337944385580e+62 or 5777 4.0 ** intExpr( 150) * 123.0 <> 2.5055542508914179e+92 or 5778 4.0 ** intExpr( 32767) * 123.0 <> Infinity or 5779 4.0 ** intExpr( 32768) * 123.0 <> Infinity or 5780 4.0 ** intExpr( 2147483647) * 123.0 <> Infinity or 5781 4.0 ** intExpr( 2147483648) * 123.0 <> Infinity or 5782 4.0 ** intExpr(9223372036854775807) * 123.0 <> Infinity then 5783 writeln(" ***** Multiplication A ** B * C does not work correct. (2)"); 5784 okay := FALSE; 5785 end if; 5786 5787 if 0.0 ** integer.first * floatExpr(123.0) <> Infinity or 5788 0.0 ** (-2147483649) * floatExpr(123.0) <> Infinity or 5789 0.0 ** (-2147483648) * floatExpr(123.0) <> Infinity or 5790 0.0 ** (-32769) * floatExpr(123.0) <> Infinity or 5791 0.0 ** (-32768) * floatExpr(123.0) <> Infinity or 5792 0.0 ** (-100) * floatExpr(123.0) <> Infinity or 5793 0.0 ** (-4) * floatExpr(123.0) <> Infinity or 5794 0.0 ** (-3) * floatExpr(123.0) <> Infinity or 5795 0.0 ** (-2) * floatExpr(123.0) <> Infinity or 5796 0.0 ** (-1) * floatExpr(123.0) <> Infinity or 5797 0.0 ** 0 * floatExpr(123.0) <> 123.0 or 5798 0.0 ** 1 * floatExpr(123.0) <> 0.0 or 5799 0.0 ** 2 * floatExpr(123.0) <> 0.0 or 5800 0.0 ** 3 * floatExpr(123.0) <> 0.0 or 5801 0.0 ** 4 * floatExpr(123.0) <> 0.0 or 5802 0.0 ** 100 * floatExpr(123.0) <> 0.0 or 5803 0.0 ** 32767 * floatExpr(123.0) <> 0.0 or 5804 0.0 ** 32768 * floatExpr(123.0) <> 0.0 or 5805 0.0 ** 2147483647 * floatExpr(123.0) <> 0.0 or 5806 0.0 ** 2147483648 * floatExpr(123.0) <> 0.0 or 5807 0.0 ** 9223372036854775807 * floatExpr(123.0) <> 0.0 or 5808 1.0 ** integer.first * floatExpr(123.0) <> 123.0 or 5809 1.0 ** (-2147483649) * floatExpr(123.0) <> 123.0 or 5810 1.0 ** (-2147483648) * floatExpr(123.0) <> 123.0 or 5811 1.0 ** (-32769) * floatExpr(123.0) <> 123.0 or 5812 1.0 ** (-32768) * floatExpr(123.0) <> 123.0 or 5813 1.0 ** (-100) * floatExpr(123.0) <> 123.0 or 5814 1.0 ** (-4) * floatExpr(123.0) <> 123.0 or 5815 1.0 ** (-3) * floatExpr(123.0) <> 123.0 or 5816 1.0 ** (-2) * floatExpr(123.0) <> 123.0 or 5817 1.0 ** (-1) * floatExpr(123.0) <> 123.0 or 5818 1.0 ** 0 * floatExpr(123.0) <> 123.0 or 5819 1.0 ** 1 * floatExpr(123.0) <> 123.0 or 5820 1.0 ** 2 * floatExpr(123.0) <> 123.0 or 5821 1.0 ** 3 * floatExpr(123.0) <> 123.0 or 5822 1.0 ** 4 * floatExpr(123.0) <> 123.0 or 5823 1.0 ** 100 * floatExpr(123.0) <> 123.0 or 5824 1.0 ** 32767 * floatExpr(123.0) <> 123.0 or 5825 1.0 ** 32768 * floatExpr(123.0) <> 123.0 or 5826 1.0 ** 2147483647 * floatExpr(123.0) <> 123.0 or 5827 1.0 ** 2147483648 * floatExpr(123.0) <> 123.0 or 5828 1.0 ** 9223372036854775807 * floatExpr(123.0) <> 123.0 or 5829 2.0 ** integer.first * floatExpr(123.0) <> 0.0 or 5830 2.0 ** (-2147483649) * floatExpr(123.0) <> 0.0 or 5831 2.0 ** (-2147483648) * floatExpr(123.0) <> 0.0 or 5832 2.0 ** (-32769) * floatExpr(123.0) <> 0.0 or 5833 2.0 ** (-32768) * floatExpr(123.0) <> 0.0 or 5834 2.0 ** (-150) * floatExpr(123.0) <> 8.6179855555976250e-44 or 5835 2.0 ** (-100) * floatExpr(123.0) <> 9.7029891342184452e-29 or 5836 2.0 ** (-50) * floatExpr(123.0) <> 1.0924594562311540e-13 or 5837 2.0 ** (-40) * floatExpr(123.0) <> 1.1186784831807017e-10 or 5838 2.0 ** (-30) * floatExpr(123.0) <> 1.1455267667770386e-07 or 5839 2.0 ** (-20) * floatExpr(123.0) <> 1.1730194091796875e-04 or 5840 2.0 ** (-10) * floatExpr(123.0) <> 0.1201171875 or 5841 2.0 ** (-4) * floatExpr(123.0) <> 7.6875 or 5842 2.0 ** (-3) * floatExpr(123.0) <> 15.375 or 5843 2.0 ** (-2) * floatExpr(123.0) <> 30.75 or 5844 2.0 ** (-1) * floatExpr(123.0) <> 61.5 or 5845 2.0 ** 0 * floatExpr(123.0) <> 123.0 or 5846 2.0 ** 1 * floatExpr(123.0) <> 246.0 or 5847 2.0 ** 2 * floatExpr(123.0) <> 492.0 or 5848 2.0 ** 3 * floatExpr(123.0) <> 984.0 or 5849 2.0 ** 4 * floatExpr(123.0) <> 1968.0 or 5850 2.0 ** 10 * floatExpr(123.0) <> 125952.0 or 5851 2.0 ** 20 * floatExpr(123.0) <> 128974848.0 or 5852 2.0 ** 30 * floatExpr(123.0) <> 132070244352.0 or 5853 2.0 ** 40 * floatExpr(123.0) <> 135239930216448.0 or 5854 2.0 ** 50 * floatExpr(123.0) <> 138485688541642752.0 or 5855 2.0 ** 100 * floatExpr(123.0) <> 1.5592102382807222e+32 or 5856 2.0 ** 150 * floatExpr(123.0) <> 1.7555146620283307e+47 or 5857 2.0 ** 32767 * floatExpr(123.0) <> Infinity or 5858 2.0 ** 32768 * floatExpr(123.0) <> Infinity or 5859 2.0 ** 2147483647 * floatExpr(123.0) <> Infinity or 5860 2.0 ** 2147483648 * floatExpr(123.0) <> Infinity or 5861 2.0 ** 9223372036854775807 * floatExpr(123.0) <> Infinity or 5862 4.0 ** integer.first * floatExpr(123.0) <> 0.0 or 5863 4.0 ** (-2147483649) * floatExpr(123.0) <> 0.0 or 5864 4.0 ** (-2147483648) * floatExpr(123.0) <> 0.0 or 5865 4.0 ** (-32769) * floatExpr(123.0) <> 0.0 or 5866 4.0 ** (-32768) * floatExpr(123.0) <> 0.0 or 5867 4.0 ** (-150) * floatExpr(123.0) <> 6.0381849623162037e-89 or 5868 4.0 ** (-100) * floatExpr(123.0) <> 7.6543087917692043e-59 or 5869 4.0 ** (-50) * floatExpr(123.0) <> 9.7029891342184452e-29 or 5870 4.0 ** (-40) * floatExpr(123.0) <> 1.0174321534402240e-22 or 5871 4.0 ** (-30) * floatExpr(123.0) <> 1.0668549377257364e-16 or 5872 4.0 ** (-20) * floatExpr(123.0) <> 1.1186784831807017e-10 or 5873 4.0 ** (-10) * floatExpr(123.0) <> 1.1730194091796875e-04 or 5874 4.0 ** (-4) * floatExpr(123.0) <> 0.48046875 or 5875 4.0 ** (-3) * floatExpr(123.0) <> 1.921875 or 5876 4.0 ** (-2) * floatExpr(123.0) <> 7.6875 or 5877 4.0 ** (-1) * floatExpr(123.0) <> 30.75 or 5878 4.0 ** 0 * floatExpr(123.0) <> 123.0 or 5879 4.0 ** 1 * floatExpr(123.0) <> 492.0 or 5880 4.0 ** 2 * floatExpr(123.0) <> 1968.0 or 5881 4.0 ** 3 * floatExpr(123.0) <> 7872.0 or 5882 4.0 ** 4 * floatExpr(123.0) <> 31488.0 or 5883 4.0 ** 10 * floatExpr(123.0) <> 128974848.0 or 5884 4.0 ** 20 * floatExpr(123.0) <> 135239930216448.0 or 5885 4.0 ** 30 * floatExpr(123.0) <> 1.4180934506664218e+20 or 5886 4.0 ** 40 * floatExpr(123.0) <> 1.4869787581259939e+26 or 5887 4.0 ** 50 * floatExpr(123.0) <> 1.5592102382807222e+32 or 5888 4.0 ** 100 * floatExpr(123.0) <> 1.9765337944385580e+62 or 5889 4.0 ** 150 * floatExpr(123.0) <> 2.5055542508914179e+92 or 5890 4.0 ** 32767 * floatExpr(123.0) <> Infinity or 5891 4.0 ** 32768 * floatExpr(123.0) <> Infinity or 5892 4.0 ** 2147483647 * floatExpr(123.0) <> Infinity or 5893 4.0 ** 2147483648 * floatExpr(123.0) <> Infinity or 5894 4.0 ** 9223372036854775807 * floatExpr(123.0) <> Infinity then 5895 writeln(" ***** Multiplication A ** B * C does not work correct. (3)"); 5896 okay := FALSE; 5897 end if; 5898 5899 if 0.0 ** intExpr( integer.first) * floatExpr(123.0) <> Infinity or 5900 0.0 ** intExpr( -2147483649) * floatExpr(123.0) <> Infinity or 5901 0.0 ** intExpr( -2147483648) * floatExpr(123.0) <> Infinity or 5902 0.0 ** intExpr( -32769) * floatExpr(123.0) <> Infinity or 5903 0.0 ** intExpr( -32768) * floatExpr(123.0) <> Infinity or 5904 0.0 ** intExpr( -100) * floatExpr(123.0) <> Infinity or 5905 0.0 ** intExpr( -4) * floatExpr(123.0) <> Infinity or 5906 0.0 ** intExpr( -3) * floatExpr(123.0) <> Infinity or 5907 0.0 ** intExpr( -2) * floatExpr(123.0) <> Infinity or 5908 0.0 ** intExpr( -1) * floatExpr(123.0) <> Infinity or 5909 0.0 ** intExpr( 0) * floatExpr(123.0) <> 123.0 or 5910 0.0 ** intExpr( 1) * floatExpr(123.0) <> 0.0 or 5911 0.0 ** intExpr( 2) * floatExpr(123.0) <> 0.0 or 5912 0.0 ** intExpr( 3) * floatExpr(123.0) <> 0.0 or 5913 0.0 ** intExpr( 4) * floatExpr(123.0) <> 0.0 or 5914 0.0 ** intExpr( 100) * floatExpr(123.0) <> 0.0 or 5915 0.0 ** intExpr( 32767) * floatExpr(123.0) <> 0.0 or 5916 0.0 ** intExpr( 32768) * floatExpr(123.0) <> 0.0 or 5917 0.0 ** intExpr( 2147483647) * floatExpr(123.0) <> 0.0 or 5918 0.0 ** intExpr( 2147483648) * floatExpr(123.0) <> 0.0 or 5919 0.0 ** intExpr(9223372036854775807) * floatExpr(123.0) <> 0.0 or 5920 1.0 ** intExpr( integer.first) * floatExpr(123.0) <> 123.0 or 5921 1.0 ** intExpr( -2147483649) * floatExpr(123.0) <> 123.0 or 5922 1.0 ** intExpr( -2147483648) * floatExpr(123.0) <> 123.0 or 5923 1.0 ** intExpr( -32769) * floatExpr(123.0) <> 123.0 or 5924 1.0 ** intExpr( -32768) * floatExpr(123.0) <> 123.0 or 5925 1.0 ** intExpr( -100) * floatExpr(123.0) <> 123.0 or 5926 1.0 ** intExpr( -4) * floatExpr(123.0) <> 123.0 or 5927 1.0 ** intExpr( -3) * floatExpr(123.0) <> 123.0 or 5928 1.0 ** intExpr( -2) * floatExpr(123.0) <> 123.0 or 5929 1.0 ** intExpr( -1) * floatExpr(123.0) <> 123.0 or 5930 1.0 ** intExpr( 0) * floatExpr(123.0) <> 123.0 or 5931 1.0 ** intExpr( 1) * floatExpr(123.0) <> 123.0 or 5932 1.0 ** intExpr( 2) * floatExpr(123.0) <> 123.0 or 5933 1.0 ** intExpr( 3) * floatExpr(123.0) <> 123.0 or 5934 1.0 ** intExpr( 4) * floatExpr(123.0) <> 123.0 or 5935 1.0 ** intExpr( 100) * floatExpr(123.0) <> 123.0 or 5936 1.0 ** intExpr( 32767) * floatExpr(123.0) <> 123.0 or 5937 1.0 ** intExpr( 32768) * floatExpr(123.0) <> 123.0 or 5938 1.0 ** intExpr( 2147483647) * floatExpr(123.0) <> 123.0 or 5939 1.0 ** intExpr( 2147483648) * floatExpr(123.0) <> 123.0 or 5940 1.0 ** intExpr(9223372036854775807) * floatExpr(123.0) <> 123.0 or 5941 2.0 ** intExpr( integer.first) * floatExpr(123.0) <> 0.0 or 5942 2.0 ** intExpr( -2147483649) * floatExpr(123.0) <> 0.0 or 5943 2.0 ** intExpr( -2147483648) * floatExpr(123.0) <> 0.0 or 5944 2.0 ** intExpr( -32769) * floatExpr(123.0) <> 0.0 or 5945 2.0 ** intExpr( -32768) * floatExpr(123.0) <> 0.0 or 5946 2.0 ** intExpr( -150) * floatExpr(123.0) <> 8.6179855555976250e-44 or 5947 2.0 ** intExpr( -100) * floatExpr(123.0) <> 9.7029891342184452e-29 or 5948 2.0 ** intExpr( -50) * floatExpr(123.0) <> 1.0924594562311540e-13 or 5949 2.0 ** intExpr( -40) * floatExpr(123.0) <> 1.1186784831807017e-10 or 5950 2.0 ** intExpr( -30) * floatExpr(123.0) <> 1.1455267667770386e-07 or 5951 2.0 ** intExpr( -20) * floatExpr(123.0) <> 1.1730194091796875e-04 or 5952 2.0 ** intExpr( -10) * floatExpr(123.0) <> 0.1201171875 or 5953 2.0 ** intExpr( -4) * floatExpr(123.0) <> 7.6875 or 5954 2.0 ** intExpr( -3) * floatExpr(123.0) <> 15.375 or 5955 2.0 ** intExpr( -2) * floatExpr(123.0) <> 30.75 or 5956 2.0 ** intExpr( -1) * floatExpr(123.0) <> 61.5 or 5957 2.0 ** intExpr( 0) * floatExpr(123.0) <> 123.0 or 5958 2.0 ** intExpr( 1) * floatExpr(123.0) <> 246.0 or 5959 2.0 ** intExpr( 2) * floatExpr(123.0) <> 492.0 or 5960 2.0 ** intExpr( 3) * floatExpr(123.0) <> 984.0 or 5961 2.0 ** intExpr( 4) * floatExpr(123.0) <> 1968.0 or 5962 2.0 ** intExpr( 10) * floatExpr(123.0) <> 125952.0 or 5963 2.0 ** intExpr( 20) * floatExpr(123.0) <> 128974848.0 or 5964 2.0 ** intExpr( 30) * floatExpr(123.0) <> 132070244352.0 or 5965 2.0 ** intExpr( 40) * floatExpr(123.0) <> 135239930216448.0 or 5966 2.0 ** intExpr( 50) * floatExpr(123.0) <> 138485688541642752.0 or 5967 2.0 ** intExpr( 100) * floatExpr(123.0) <> 1.5592102382807222e+32 or 5968 2.0 ** intExpr( 150) * floatExpr(123.0) <> 1.7555146620283307e+47 or 5969 2.0 ** intExpr( 32767) * floatExpr(123.0) <> Infinity or 5970 2.0 ** intExpr( 32768) * floatExpr(123.0) <> Infinity or 5971 2.0 ** intExpr( 2147483647) * floatExpr(123.0) <> Infinity or 5972 2.0 ** intExpr( 2147483648) * floatExpr(123.0) <> Infinity or 5973 2.0 ** intExpr(9223372036854775807) * floatExpr(123.0) <> Infinity or 5974 4.0 ** intExpr( integer.first) * floatExpr(123.0) <> 0.0 or 5975 4.0 ** intExpr( -2147483649) * floatExpr(123.0) <> 0.0 or 5976 4.0 ** intExpr( -2147483648) * floatExpr(123.0) <> 0.0 or 5977 4.0 ** intExpr( -32769) * floatExpr(123.0) <> 0.0 or 5978 4.0 ** intExpr( -32768) * floatExpr(123.0) <> 0.0 or 5979 4.0 ** intExpr( -150) * floatExpr(123.0) <> 6.0381849623162037e-89 or 5980 4.0 ** intExpr( -100) * floatExpr(123.0) <> 7.6543087917692043e-59 or 5981 4.0 ** intExpr( -50) * floatExpr(123.0) <> 9.7029891342184452e-29 or 5982 4.0 ** intExpr( -40) * floatExpr(123.0) <> 1.0174321534402240e-22 or 5983 4.0 ** intExpr( -30) * floatExpr(123.0) <> 1.0668549377257364e-16 or 5984 4.0 ** intExpr( -20) * floatExpr(123.0) <> 1.1186784831807017e-10 or 5985 4.0 ** intExpr( -10) * floatExpr(123.0) <> 1.1730194091796875e-04 or 5986 4.0 ** intExpr( -4) * floatExpr(123.0) <> 0.48046875 or 5987 4.0 ** intExpr( -3) * floatExpr(123.0) <> 1.921875 or 5988 4.0 ** intExpr( -2) * floatExpr(123.0) <> 7.6875 or 5989 4.0 ** intExpr( -1) * floatExpr(123.0) <> 30.75 or 5990 4.0 ** intExpr( 0) * floatExpr(123.0) <> 123.0 or 5991 4.0 ** intExpr( 1) * floatExpr(123.0) <> 492.0 or 5992 4.0 ** intExpr( 2) * floatExpr(123.0) <> 1968.0 or 5993 4.0 ** intExpr( 3) * floatExpr(123.0) <> 7872.0 or 5994 4.0 ** intExpr( 4) * floatExpr(123.0) <> 31488.0 or 5995 4.0 ** intExpr( 10) * floatExpr(123.0) <> 128974848.0 or 5996 4.0 ** intExpr( 20) * floatExpr(123.0) <> 135239930216448.0 or 5997 4.0 ** intExpr( 30) * floatExpr(123.0) <> 1.4180934506664218e+20 or 5998 4.0 ** intExpr( 40) * floatExpr(123.0) <> 1.4869787581259939e+26 or 5999 4.0 ** intExpr( 50) * floatExpr(123.0) <> 1.5592102382807222e+32 or 6000 4.0 ** intExpr( 100) * floatExpr(123.0) <> 1.9765337944385580e+62 or 6001 4.0 ** intExpr( 150) * floatExpr(123.0) <> 2.5055542508914179e+92 or 6002 4.0 ** intExpr( 32767) * floatExpr(123.0) <> Infinity or 6003 4.0 ** intExpr( 32768) * floatExpr(123.0) <> Infinity or 6004 4.0 ** intExpr( 2147483647) * floatExpr(123.0) <> Infinity or 6005 4.0 ** intExpr( 2147483648) * floatExpr(123.0) <> Infinity or 6006 4.0 ** intExpr(9223372036854775807) * floatExpr(123.0) <> Infinity then 6007 writeln(" ***** Multiplication A ** B * C does not work correct. (4)"); 6008 okay := FALSE; 6009 end if; 6010 6011 if floatExpr(0.0) ** integer.first * 123.0 <> Infinity or 6012 floatExpr(0.0) ** (-2147483649) * 123.0 <> Infinity or 6013 floatExpr(0.0) ** (-2147483648) * 123.0 <> Infinity or 6014 floatExpr(0.0) ** (-32769) * 123.0 <> Infinity or 6015 floatExpr(0.0) ** (-32768) * 123.0 <> Infinity or 6016 floatExpr(0.0) ** (-100) * 123.0 <> Infinity or 6017 floatExpr(0.0) ** (-4) * 123.0 <> Infinity or 6018 floatExpr(0.0) ** (-3) * 123.0 <> Infinity or 6019 floatExpr(0.0) ** (-2) * 123.0 <> Infinity or 6020 floatExpr(0.0) ** (-1) * 123.0 <> Infinity or 6021 floatExpr(0.0) ** 0 * 123.0 <> 123.0 or 6022 floatExpr(0.0) ** 1 * 123.0 <> 0.0 or 6023 floatExpr(0.0) ** 2 * 123.0 <> 0.0 or 6024 floatExpr(0.0) ** 3 * 123.0 <> 0.0 or 6025 floatExpr(0.0) ** 4 * 123.0 <> 0.0 or 6026 floatExpr(0.0) ** 100 * 123.0 <> 0.0 or 6027 floatExpr(0.0) ** 32767 * 123.0 <> 0.0 or 6028 floatExpr(0.0) ** 32768 * 123.0 <> 0.0 or 6029 floatExpr(0.0) ** 2147483647 * 123.0 <> 0.0 or 6030 floatExpr(0.0) ** 2147483648 * 123.0 <> 0.0 or 6031 floatExpr(0.0) ** 9223372036854775807 * 123.0 <> 0.0 or 6032 floatExpr(1.0) ** integer.first * 123.0 <> 123.0 or 6033 floatExpr(1.0) ** (-2147483649) * 123.0 <> 123.0 or 6034 floatExpr(1.0) ** (-2147483648) * 123.0 <> 123.0 or 6035 floatExpr(1.0) ** (-32769) * 123.0 <> 123.0 or 6036 floatExpr(1.0) ** (-32768) * 123.0 <> 123.0 or 6037 floatExpr(1.0) ** (-100) * 123.0 <> 123.0 or 6038 floatExpr(1.0) ** (-4) * 123.0 <> 123.0 or 6039 floatExpr(1.0) ** (-3) * 123.0 <> 123.0 or 6040 floatExpr(1.0) ** (-2) * 123.0 <> 123.0 or 6041 floatExpr(1.0) ** (-1) * 123.0 <> 123.0 or 6042 floatExpr(1.0) ** 0 * 123.0 <> 123.0 or 6043 floatExpr(1.0) ** 1 * 123.0 <> 123.0 or 6044 floatExpr(1.0) ** 2 * 123.0 <> 123.0 or 6045 floatExpr(1.0) ** 3 * 123.0 <> 123.0 or 6046 floatExpr(1.0) ** 4 * 123.0 <> 123.0 or 6047 floatExpr(1.0) ** 100 * 123.0 <> 123.0 or 6048 floatExpr(1.0) ** 32767 * 123.0 <> 123.0 or 6049 floatExpr(1.0) ** 32768 * 123.0 <> 123.0 or 6050 floatExpr(1.0) ** 2147483647 * 123.0 <> 123.0 or 6051 floatExpr(1.0) ** 2147483648 * 123.0 <> 123.0 or 6052 floatExpr(1.0) ** 9223372036854775807 * 123.0 <> 123.0 or 6053 floatExpr(2.0) ** integer.first * 123.0 <> 0.0 or 6054 floatExpr(2.0) ** (-2147483649) * 123.0 <> 0.0 or 6055 floatExpr(2.0) ** (-2147483648) * 123.0 <> 0.0 or 6056 floatExpr(2.0) ** (-32769) * 123.0 <> 0.0 or 6057 floatExpr(2.0) ** (-32768) * 123.0 <> 0.0 or 6058 floatExpr(2.0) ** (-150) * 123.0 <> 8.6179855555976250e-44 or 6059 floatExpr(2.0) ** (-100) * 123.0 <> 9.7029891342184452e-29 or 6060 floatExpr(2.0) ** (-50) * 123.0 <> 1.0924594562311540e-13 or 6061 floatExpr(2.0) ** (-40) * 123.0 <> 1.1186784831807017e-10 or 6062 floatExpr(2.0) ** (-30) * 123.0 <> 1.1455267667770386e-07 or 6063 floatExpr(2.0) ** (-20) * 123.0 <> 1.1730194091796875e-04 or 6064 floatExpr(2.0) ** (-10) * 123.0 <> 0.1201171875 or 6065 floatExpr(2.0) ** (-4) * 123.0 <> 7.6875 or 6066 floatExpr(2.0) ** (-3) * 123.0 <> 15.375 or 6067 floatExpr(2.0) ** (-2) * 123.0 <> 30.75 or 6068 floatExpr(2.0) ** (-1) * 123.0 <> 61.5 or 6069 floatExpr(2.0) ** 0 * 123.0 <> 123.0 or 6070 floatExpr(2.0) ** 1 * 123.0 <> 246.0 or 6071 floatExpr(2.0) ** 2 * 123.0 <> 492.0 or 6072 floatExpr(2.0) ** 3 * 123.0 <> 984.0 or 6073 floatExpr(2.0) ** 4 * 123.0 <> 1968.0 or 6074 floatExpr(2.0) ** 10 * 123.0 <> 125952.0 or 6075 floatExpr(2.0) ** 20 * 123.0 <> 128974848.0 or 6076 floatExpr(2.0) ** 30 * 123.0 <> 132070244352.0 or 6077 floatExpr(2.0) ** 40 * 123.0 <> 135239930216448.0 or 6078 floatExpr(2.0) ** 50 * 123.0 <> 138485688541642752.0 or 6079 floatExpr(2.0) ** 100 * 123.0 <> 1.5592102382807222e+32 or 6080 floatExpr(2.0) ** 150 * 123.0 <> 1.7555146620283307e+47 or 6081 floatExpr(2.0) ** 32767 * 123.0 <> Infinity or 6082 floatExpr(2.0) ** 32768 * 123.0 <> Infinity or 6083 floatExpr(2.0) ** 2147483647 * 123.0 <> Infinity or 6084 floatExpr(2.0) ** 2147483648 * 123.0 <> Infinity or 6085 floatExpr(2.0) ** 9223372036854775807 * 123.0 <> Infinity or 6086 floatExpr(4.0) ** integer.first * 123.0 <> 0.0 or 6087 floatExpr(4.0) ** (-2147483649) * 123.0 <> 0.0 or 6088 floatExpr(4.0) ** (-2147483648) * 123.0 <> 0.0 or 6089 floatExpr(4.0) ** (-32769) * 123.0 <> 0.0 or 6090 floatExpr(4.0) ** (-32768) * 123.0 <> 0.0 or 6091 floatExpr(4.0) ** (-150) * 123.0 <> 6.0381849623162037e-89 or 6092 floatExpr(4.0) ** (-100) * 123.0 <> 7.6543087917692043e-59 or 6093 floatExpr(4.0) ** (-50) * 123.0 <> 9.7029891342184452e-29 or 6094 floatExpr(4.0) ** (-40) * 123.0 <> 1.0174321534402240e-22 or 6095 floatExpr(4.0) ** (-30) * 123.0 <> 1.0668549377257364e-16 or 6096 floatExpr(4.0) ** (-20) * 123.0 <> 1.1186784831807017e-10 or 6097 floatExpr(4.0) ** (-10) * 123.0 <> 1.1730194091796875e-04 or 6098 floatExpr(4.0) ** (-4) * 123.0 <> 0.48046875 or 6099 floatExpr(4.0) ** (-3) * 123.0 <> 1.921875 or 6100 floatExpr(4.0) ** (-2) * 123.0 <> 7.6875 or 6101 floatExpr(4.0) ** (-1) * 123.0 <> 30.75 or 6102 floatExpr(4.0) ** 0 * 123.0 <> 123.0 or 6103 floatExpr(4.0) ** 1 * 123.0 <> 492.0 or 6104 floatExpr(4.0) ** 2 * 123.0 <> 1968.0 or 6105 floatExpr(4.0) ** 3 * 123.0 <> 7872.0 or 6106 floatExpr(4.0) ** 4 * 123.0 <> 31488.0 or 6107 floatExpr(4.0) ** 10 * 123.0 <> 128974848.0 or 6108 floatExpr(4.0) ** 20 * 123.0 <> 135239930216448.0 or 6109 floatExpr(4.0) ** 30 * 123.0 <> 1.4180934506664218e+20 or 6110 floatExpr(4.0) ** 40 * 123.0 <> 1.4869787581259939e+26 or 6111 floatExpr(4.0) ** 50 * 123.0 <> 1.5592102382807222e+32 or 6112 floatExpr(4.0) ** 100 * 123.0 <> 1.9765337944385580e+62 or 6113 floatExpr(4.0) ** 150 * 123.0 <> 2.5055542508914179e+92 or 6114 floatExpr(4.0) ** 32767 * 123.0 <> Infinity or 6115 floatExpr(4.0) ** 32768 * 123.0 <> Infinity or 6116 floatExpr(4.0) ** 2147483647 * 123.0 <> Infinity or 6117 floatExpr(4.0) ** 2147483648 * 123.0 <> Infinity or 6118 floatExpr(4.0) ** 9223372036854775807 * 123.0 <> Infinity then 6119 writeln(" ***** Multiplication A ** B * C does not work correct. (5)"); 6120 okay := FALSE; 6121 end if; 6122 6123 if okay then 6124 writeln("Multiplication works correct for selected values."); 6125 else 6126 writeln(" ***** Multiplication does not work correct."); 6127 end if; 6128 end func; 6129 6130 6131const proc: check_division is func 6132 begin 6133 if 0.0 / 1.0 = 0.0 and 6134 0.0 / 12.0 = 0.0 and 6135 1.0 / 2.0 = 0.5 and 6136 1.0 / 4.0 = 0.25 and 6137 floatExpr( 0.0) / 1.0 = 0.0 and 6138 floatExpr( 0.0) / 12.0 = 0.0 and 6139 floatExpr( 1.0) / 2.0 = 0.5 and 6140 floatExpr( 1.0) / 4.0 = 0.25 and 6141 0.0 / floatExpr( 1.0) = 0.0 and 6142 0.0 / floatExpr( 12.0) = 0.0 and 6143 1.0 / floatExpr( 2.0) = 0.5 and 6144 1.0 / floatExpr( 4.0) = 0.25 and 6145 floatExpr( 0.0) / floatExpr( 1.0) = 0.0 and 6146 floatExpr( 0.0) / floatExpr( 12.0) = 0.0 and 6147 floatExpr( 1.0) / floatExpr( 2.0) = 0.5 and 6148 floatExpr( 1.0) / floatExpr( 4.0) = 0.25 then 6149 writeln("Division works correct for selected values."); 6150 else 6151 writeln(" ***** Division does not work correct."); 6152 end if; 6153 end func; 6154 6155 6156const proc: check_remainder is func 6157 local 6158 var boolean: okay is TRUE; 6159 begin 6160 if not isNaN( NaN rem NaN) or 6161 not isNaN( NaN rem -Infinity) or 6162 not isNaN( NaN rem -13.25) or 6163 not isNaN( NaN rem -1.0 ) or 6164 not isNaN( NaN rem -0.75) or 6165 not isNaN( NaN rem -0.0 ) or 6166 not isNaN( NaN rem 0.0 ) or 6167 not isNaN( NaN rem 0.75) or 6168 not isNaN( NaN rem 1.0 ) or 6169 not isNaN( NaN rem 13.25) or 6170 not isNaN( NaN rem Infinity) or 6171 not isNaN(-Infinity rem NaN) or 6172 not isNaN(-Infinity rem -Infinity) or 6173 not isNaN(-Infinity rem -13.25) or 6174 not isNaN(-Infinity rem -1.0 ) or 6175 not isNaN(-Infinity rem -0.75) or 6176 not isNaN(-Infinity rem -0.0 ) or 6177 not isNaN(-Infinity rem 0.0 ) or 6178 not isNaN(-Infinity rem 0.75) or 6179 not isNaN(-Infinity rem 1.0 ) or 6180 not isNaN(-Infinity rem 13.25) or 6181 not isNaN(-Infinity rem Infinity) or 6182 not isNaN( -31.125 rem NaN) or 6183 -31.125 rem -Infinity <> -31.125 or 6184 -31.125 rem -13.25 <> -4.625 or 6185 -31.125 rem -1.0 <> -0.125 or 6186 -31.125 rem -0.75 <> -0.375 or 6187 not isNaN( -31.125 rem -0.0 ) or 6188 not isNaN( -31.125 rem 0.0 ) or 6189 -31.125 rem 0.75 <> -0.375 or 6190 -31.125 rem 1.0 <> -0.125 or 6191 -31.125 rem 13.25 <> -4.625 or 6192 -31.125 rem Infinity <> -31.125 or 6193 not isNaN( -1.0 rem NaN) or 6194 -1.0 rem -Infinity <> -1.0 or 6195 -1.0 rem -13.25 <> -1.0 or 6196 -1.0 rem -1.0 <> 0.0 or 6197 -1.0 rem -0.75 <> -0.25 or 6198 not isNaN( -1.0 rem -0.0 ) or 6199 not isNaN( -1.0 rem 0.0 ) or 6200 -1.0 rem 0.75 <> -0.25 or 6201 -1.0 rem 1.0 <> 0.0 or 6202 -1.0 rem 13.25 <> -1.0 or 6203 -1.0 rem Infinity <> -1.0 or 6204 not isNaN( -0.0 rem NaN) or 6205 -0.0 rem -Infinity <> 0.0 or 6206 -0.0 rem -13.25 <> 0.0 or 6207 -0.0 rem -1.0 <> 0.0 or 6208 -0.0 rem -0.75 <> 0.0 or 6209 not isNaN( -0.0 rem -0.0 ) or 6210 not isNaN( -0.0 rem 0.0 ) or 6211 -0.0 rem 0.75 <> 0.0 or 6212 -0.0 rem 1.0 <> 0.0 or 6213 -0.0 rem 13.25 <> 0.0 or 6214 -0.0 rem Infinity <> 0.0 or 6215 not isNaN( 0.0 rem NaN) or 6216 0.0 rem -Infinity <> 0.0 or 6217 0.0 rem -13.25 <> 0.0 or 6218 0.0 rem -1.0 <> 0.0 or 6219 0.0 rem -0.75 <> 0.0 or 6220 not isNaN( 0.0 rem -0.0 ) or 6221 not isNaN( 0.0 rem 0.0 ) or 6222 0.0 rem 0.75 <> 0.0 or 6223 0.0 rem 1.0 <> 0.0 or 6224 0.0 rem 13.25 <> 0.0 or 6225 0.0 rem Infinity <> 0.0 or 6226 not isNaN( 1.0 rem NaN) or 6227 1.0 rem -Infinity <> 1.0 or 6228 1.0 rem -13.25 <> 1.0 or 6229 1.0 rem -1.0 <> 0.0 or 6230 1.0 rem -0.75 <> 0.25 or 6231 not isNaN( 1.0 rem -0.0 ) or 6232 not isNaN( 1.0 rem 0.0 ) or 6233 1.0 rem 0.75 <> 0.25 or 6234 1.0 rem 1.0 <> 0.0 or 6235 1.0 rem 13.25 <> 1.0 or 6236 1.0 rem Infinity <> 1.0 or 6237 not isNaN( 31.125 rem NaN) or 6238 31.125 rem -Infinity <> 31.125 or 6239 31.125 rem -13.25 <> 4.625 or 6240 31.125 rem -1.0 <> 0.125 or 6241 31.125 rem -0.75 <> 0.375 or 6242 not isNaN( 31.125 rem -0.0 ) or 6243 not isNaN( 31.125 rem 0.0 ) or 6244 31.125 rem 0.75 <> 0.375 or 6245 31.125 rem 1.0 <> 0.125 or 6246 31.125 rem 13.25 <> 4.625 or 6247 31.125 rem Infinity <> 31.125 or 6248 not isNaN( Infinity rem NaN) or 6249 not isNaN( Infinity rem -Infinity) or 6250 not isNaN( Infinity rem -13.25) or 6251 not isNaN( Infinity rem -1.0 ) or 6252 not isNaN( Infinity rem -0.75) or 6253 not isNaN( Infinity rem -0.0 ) or 6254 not isNaN( Infinity rem 0.0 ) or 6255 not isNaN( Infinity rem 0.75) or 6256 not isNaN( Infinity rem 1.0 ) or 6257 not isNaN( Infinity rem 13.25) or 6258 not isNaN( Infinity rem Infinity) then 6259 writeln(" ***** Remainder does not work correct. (1)"); 6260 okay := FALSE; 6261 end if; 6262 6263 if not isNaN(floatExpr( NaN) rem NaN) or 6264 not isNaN(floatExpr( NaN) rem -Infinity) or 6265 not isNaN(floatExpr( NaN) rem -13.25) or 6266 not isNaN(floatExpr( NaN) rem -1.0 ) or 6267 not isNaN(floatExpr( NaN) rem -0.75) or 6268 not isNaN(floatExpr( NaN) rem -0.0 ) or 6269 not isNaN(floatExpr( NaN) rem 0.0 ) or 6270 not isNaN(floatExpr( NaN) rem 0.75) or 6271 not isNaN(floatExpr( NaN) rem 1.0 ) or 6272 not isNaN(floatExpr( NaN) rem 13.25) or 6273 not isNaN(floatExpr( NaN) rem Infinity) or 6274 not isNaN(floatExpr(-Infinity) rem NaN) or 6275 not isNaN(floatExpr(-Infinity) rem -Infinity) or 6276 not isNaN(floatExpr(-Infinity) rem -13.25) or 6277 not isNaN(floatExpr(-Infinity) rem -1.0 ) or 6278 not isNaN(floatExpr(-Infinity) rem -0.75) or 6279 not isNaN(floatExpr(-Infinity) rem -0.0 ) or 6280 not isNaN(floatExpr(-Infinity) rem 0.0 ) or 6281 not isNaN(floatExpr(-Infinity) rem 0.75) or 6282 not isNaN(floatExpr(-Infinity) rem 1.0 ) or 6283 not isNaN(floatExpr(-Infinity) rem 13.25) or 6284 not isNaN(floatExpr(-Infinity) rem Infinity) or 6285 not isNaN(floatExpr( -31.125) rem NaN) or 6286 floatExpr( -31.125) rem -Infinity <> -31.125 or 6287 floatExpr( -31.125) rem -13.25 <> -4.625 or 6288 floatExpr( -31.125) rem -1.0 <> -0.125 or 6289 floatExpr( -31.125) rem -0.75 <> -0.375 or 6290 not isNaN(floatExpr( -31.125) rem -0.0 ) or 6291 not isNaN(floatExpr( -31.125) rem 0.0 ) or 6292 floatExpr( -31.125) rem 0.75 <> -0.375 or 6293 floatExpr( -31.125) rem 1.0 <> -0.125 or 6294 floatExpr( -31.125) rem 13.25 <> -4.625 or 6295 floatExpr( -31.125) rem Infinity <> -31.125 or 6296 not isNaN(floatExpr( -1.0 ) rem NaN) or 6297 floatExpr( -1.0 ) rem -Infinity <> -1.0 or 6298 floatExpr( -1.0 ) rem -13.25 <> -1.0 or 6299 floatExpr( -1.0 ) rem -1.0 <> 0.0 or 6300 floatExpr( -1.0 ) rem -0.75 <> -0.25 or 6301 not isNaN(floatExpr( -1.0 ) rem -0.0 ) or 6302 not isNaN(floatExpr( -1.0 ) rem 0.0 ) or 6303 floatExpr( -1.0 ) rem 0.75 <> -0.25 or 6304 floatExpr( -1.0 ) rem 1.0 <> 0.0 or 6305 floatExpr( -1.0 ) rem 13.25 <> -1.0 or 6306 floatExpr( -1.0 ) rem Infinity <> -1.0 or 6307 not isNaN(floatExpr( -0.0 ) rem NaN) or 6308 floatExpr( -0.0 ) rem -Infinity <> 0.0 or 6309 floatExpr( -0.0 ) rem -13.25 <> 0.0 or 6310 floatExpr( -0.0 ) rem -1.0 <> 0.0 or 6311 floatExpr( -0.0 ) rem -0.75 <> 0.0 or 6312 not isNaN(floatExpr( -0.0 ) rem -0.0 ) or 6313 not isNaN(floatExpr( -0.0 ) rem 0.0 ) or 6314 floatExpr( -0.0 ) rem 0.75 <> 0.0 or 6315 floatExpr( -0.0 ) rem 1.0 <> 0.0 or 6316 floatExpr( -0.0 ) rem 13.25 <> 0.0 or 6317 floatExpr( -0.0 ) rem Infinity <> 0.0 or 6318 not isNaN(floatExpr( 0.0 ) rem NaN) or 6319 floatExpr( 0.0 ) rem -Infinity <> 0.0 or 6320 floatExpr( 0.0 ) rem -13.25 <> 0.0 or 6321 floatExpr( 0.0 ) rem -1.0 <> 0.0 or 6322 floatExpr( 0.0 ) rem -0.75 <> 0.0 or 6323 not isNaN(floatExpr( 0.0 ) rem -0.0 ) or 6324 not isNaN(floatExpr( 0.0 ) rem 0.0 ) or 6325 floatExpr( 0.0 ) rem 0.75 <> 0.0 or 6326 floatExpr( 0.0 ) rem 1.0 <> 0.0 or 6327 floatExpr( 0.0 ) rem 13.25 <> 0.0 or 6328 floatExpr( 0.0 ) rem Infinity <> 0.0 or 6329 not isNaN(floatExpr( 1.0 ) rem NaN) or 6330 floatExpr( 1.0 ) rem -Infinity <> 1.0 or 6331 floatExpr( 1.0 ) rem -13.25 <> 1.0 or 6332 floatExpr( 1.0 ) rem -1.0 <> 0.0 or 6333 floatExpr( 1.0 ) rem -0.75 <> 0.25 or 6334 not isNaN(floatExpr( 1.0 ) rem -0.0 ) or 6335 not isNaN(floatExpr( 1.0 ) rem 0.0 ) or 6336 floatExpr( 1.0 ) rem 0.75 <> 0.25 or 6337 floatExpr( 1.0 ) rem 1.0 <> 0.0 or 6338 floatExpr( 1.0 ) rem 13.25 <> 1.0 or 6339 floatExpr( 1.0 ) rem Infinity <> 1.0 or 6340 not isNaN(floatExpr( 31.125) rem NaN) or 6341 floatExpr( 31.125) rem -Infinity <> 31.125 or 6342 floatExpr( 31.125) rem -13.25 <> 4.625 or 6343 floatExpr( 31.125) rem -1.0 <> 0.125 or 6344 floatExpr( 31.125) rem -0.75 <> 0.375 or 6345 not isNaN(floatExpr( 31.125) rem -0.0 ) or 6346 not isNaN(floatExpr( 31.125) rem 0.0 ) or 6347 floatExpr( 31.125) rem 0.75 <> 0.375 or 6348 floatExpr( 31.125) rem 1.0 <> 0.125 or 6349 floatExpr( 31.125) rem 13.25 <> 4.625 or 6350 floatExpr( 31.125) rem Infinity <> 31.125 or 6351 not isNaN(floatExpr( Infinity) rem NaN) or 6352 not isNaN(floatExpr( Infinity) rem -Infinity) or 6353 not isNaN(floatExpr( Infinity) rem -13.25) or 6354 not isNaN(floatExpr( Infinity) rem -1.0 ) or 6355 not isNaN(floatExpr( Infinity) rem -0.75) or 6356 not isNaN(floatExpr( Infinity) rem -0.0 ) or 6357 not isNaN(floatExpr( Infinity) rem 0.0 ) or 6358 not isNaN(floatExpr( Infinity) rem 0.75) or 6359 not isNaN(floatExpr( Infinity) rem 1.0 ) or 6360 not isNaN(floatExpr( Infinity) rem 13.25) or 6361 not isNaN(floatExpr( Infinity) rem Infinity) then 6362 writeln(" ***** Remainder does not work correct. (2)"); 6363 okay := FALSE; 6364 end if; 6365 6366 if not isNaN( NaN rem floatExpr( NaN)) or 6367 not isNaN( NaN rem floatExpr(-Infinity)) or 6368 not isNaN( NaN rem floatExpr( -13.25)) or 6369 not isNaN( NaN rem floatExpr( -1.0 )) or 6370 not isNaN( NaN rem floatExpr( -0.75)) or 6371 not isNaN( NaN rem floatExpr( -0.0 )) or 6372 not isNaN( NaN rem floatExpr( 0.0 )) or 6373 not isNaN( NaN rem floatExpr( 0.75)) or 6374 not isNaN( NaN rem floatExpr( 1.0 )) or 6375 not isNaN( NaN rem floatExpr( 13.25)) or 6376 not isNaN( NaN rem floatExpr( Infinity)) or 6377 not isNaN(-Infinity rem floatExpr( NaN)) or 6378 not isNaN(-Infinity rem floatExpr(-Infinity)) or 6379 not isNaN(-Infinity rem floatExpr( -13.25)) or 6380 not isNaN(-Infinity rem floatExpr( -1.0 )) or 6381 not isNaN(-Infinity rem floatExpr( -0.75)) or 6382 not isNaN(-Infinity rem floatExpr( -0.0 )) or 6383 not isNaN(-Infinity rem floatExpr( 0.0 )) or 6384 not isNaN(-Infinity rem floatExpr( 0.75)) or 6385 not isNaN(-Infinity rem floatExpr( 1.0 )) or 6386 not isNaN(-Infinity rem floatExpr( 13.25)) or 6387 not isNaN(-Infinity rem floatExpr( Infinity)) or 6388 not isNaN( -31.125 rem floatExpr( NaN)) or 6389 -31.125 rem floatExpr(-Infinity) <> -31.125 or 6390 -31.125 rem floatExpr( -13.25) <> -4.625 or 6391 -31.125 rem floatExpr( -1.0 ) <> -0.125 or 6392 -31.125 rem floatExpr( -0.75) <> -0.375 or 6393 not isNaN( -31.125 rem floatExpr( -0.0 )) or 6394 not isNaN( -31.125 rem floatExpr( 0.0 )) or 6395 -31.125 rem floatExpr( 0.75) <> -0.375 or 6396 -31.125 rem floatExpr( 1.0 ) <> -0.125 or 6397 -31.125 rem floatExpr( 13.25) <> -4.625 or 6398 -31.125 rem floatExpr( Infinity) <> -31.125 or 6399 not isNaN( -1.0 rem floatExpr( NaN)) or 6400 -1.0 rem floatExpr(-Infinity) <> -1.0 or 6401 -1.0 rem floatExpr( -13.25) <> -1.0 or 6402 -1.0 rem floatExpr( -1.0 ) <> 0.0 or 6403 -1.0 rem floatExpr( -0.75) <> -0.25 or 6404 not isNaN( -1.0 rem floatExpr( -0.0 )) or 6405 not isNaN( -1.0 rem floatExpr( 0.0 )) or 6406 -1.0 rem floatExpr( 0.75) <> -0.25 or 6407 -1.0 rem floatExpr( 1.0 ) <> 0.0 or 6408 -1.0 rem floatExpr( 13.25) <> -1.0 or 6409 -1.0 rem floatExpr( Infinity) <> -1.0 or 6410 not isNaN( -0.0 rem floatExpr( NaN)) or 6411 -0.0 rem floatExpr(-Infinity) <> 0.0 or 6412 -0.0 rem floatExpr( -13.25) <> 0.0 or 6413 -0.0 rem floatExpr( -1.0 ) <> 0.0 or 6414 -0.0 rem floatExpr( -0.75) <> 0.0 or 6415 not isNaN( -0.0 rem floatExpr( -0.0 )) or 6416 not isNaN( -0.0 rem floatExpr( 0.0 )) or 6417 -0.0 rem floatExpr( 0.75) <> 0.0 or 6418 -0.0 rem floatExpr( 1.0 ) <> 0.0 or 6419 -0.0 rem floatExpr( 13.25) <> 0.0 or 6420 -0.0 rem floatExpr( Infinity) <> 0.0 or 6421 not isNaN( 0.0 rem floatExpr( NaN)) or 6422 0.0 rem floatExpr(-Infinity) <> 0.0 or 6423 0.0 rem floatExpr( -13.25) <> 0.0 or 6424 0.0 rem floatExpr( -1.0 ) <> 0.0 or 6425 0.0 rem floatExpr( -0.75) <> 0.0 or 6426 not isNaN( 0.0 rem floatExpr( -0.0 )) or 6427 not isNaN( 0.0 rem floatExpr( 0.0 )) or 6428 0.0 rem floatExpr( 0.75) <> 0.0 or 6429 0.0 rem floatExpr( 1.0 ) <> 0.0 or 6430 0.0 rem floatExpr( 13.25) <> 0.0 or 6431 0.0 rem floatExpr( Infinity) <> 0.0 or 6432 not isNaN( 1.0 rem floatExpr( NaN)) or 6433 1.0 rem floatExpr(-Infinity) <> 1.0 or 6434 1.0 rem floatExpr( -13.25) <> 1.0 or 6435 1.0 rem floatExpr( -1.0 ) <> 0.0 or 6436 1.0 rem floatExpr( -0.75) <> 0.25 or 6437 not isNaN( 1.0 rem floatExpr( -0.0 )) or 6438 not isNaN( 1.0 rem floatExpr( 0.0 )) or 6439 1.0 rem floatExpr( 0.75) <> 0.25 or 6440 1.0 rem floatExpr( 1.0 ) <> 0.0 or 6441 1.0 rem floatExpr( 13.25) <> 1.0 or 6442 1.0 rem floatExpr( Infinity) <> 1.0 or 6443 not isNaN( 31.125 rem floatExpr( NaN)) or 6444 31.125 rem floatExpr(-Infinity) <> 31.125 or 6445 31.125 rem floatExpr( -13.25) <> 4.625 or 6446 31.125 rem floatExpr( -1.0 ) <> 0.125 or 6447 31.125 rem floatExpr( -0.75) <> 0.375 or 6448 not isNaN( 31.125 rem floatExpr( -0.0 )) or 6449 not isNaN( 31.125 rem floatExpr( 0.0 )) or 6450 31.125 rem floatExpr( 0.75) <> 0.375 or 6451 31.125 rem floatExpr( 1.0 ) <> 0.125 or 6452 31.125 rem floatExpr( 13.25) <> 4.625 or 6453 31.125 rem floatExpr( Infinity) <> 31.125 or 6454 not isNaN( Infinity rem floatExpr( NaN)) or 6455 not isNaN( Infinity rem floatExpr(-Infinity)) or 6456 not isNaN( Infinity rem floatExpr( -13.25)) or 6457 not isNaN( Infinity rem floatExpr( -1.0 )) or 6458 not isNaN( Infinity rem floatExpr( -0.75)) or 6459 not isNaN( Infinity rem floatExpr( -0.0 )) or 6460 not isNaN( Infinity rem floatExpr( 0.0 )) or 6461 not isNaN( Infinity rem floatExpr( 0.75)) or 6462 not isNaN( Infinity rem floatExpr( 1.0 )) or 6463 not isNaN( Infinity rem floatExpr( 13.25)) or 6464 not isNaN( Infinity rem floatExpr( Infinity)) then 6465 writeln(" ***** Remainder does not work correct. (3)"); 6466 okay := FALSE; 6467 end if; 6468 6469 if not isNaN(floatExpr( NaN) rem floatExpr( NaN)) or 6470 not isNaN(floatExpr( NaN) rem floatExpr(-Infinity)) or 6471 not isNaN(floatExpr( NaN) rem floatExpr( -13.25)) or 6472 not isNaN(floatExpr( NaN) rem floatExpr( -1.0 )) or 6473 not isNaN(floatExpr( NaN) rem floatExpr( -0.75)) or 6474 not isNaN(floatExpr( NaN) rem floatExpr( -0.0 )) or 6475 not isNaN(floatExpr( NaN) rem floatExpr( 0.0 )) or 6476 not isNaN(floatExpr( NaN) rem floatExpr( 0.75)) or 6477 not isNaN(floatExpr( NaN) rem floatExpr( 1.0 )) or 6478 not isNaN(floatExpr( NaN) rem floatExpr( 13.25)) or 6479 not isNaN(floatExpr( NaN) rem floatExpr( Infinity)) or 6480 not isNaN(floatExpr(-Infinity) rem floatExpr( NaN)) or 6481 not isNaN(floatExpr(-Infinity) rem floatExpr(-Infinity)) or 6482 not isNaN(floatExpr(-Infinity) rem floatExpr( -13.25)) or 6483 not isNaN(floatExpr(-Infinity) rem floatExpr( -1.0 )) or 6484 not isNaN(floatExpr(-Infinity) rem floatExpr( -0.75)) or 6485 not isNaN(floatExpr(-Infinity) rem floatExpr( -0.0 )) or 6486 not isNaN(floatExpr(-Infinity) rem floatExpr( 0.0 )) or 6487 not isNaN(floatExpr(-Infinity) rem floatExpr( 0.75)) or 6488 not isNaN(floatExpr(-Infinity) rem floatExpr( 1.0 )) or 6489 not isNaN(floatExpr(-Infinity) rem floatExpr( 13.25)) or 6490 not isNaN(floatExpr(-Infinity) rem floatExpr( Infinity)) or 6491 not isNaN(floatExpr( -31.125) rem floatExpr( NaN)) or 6492 floatExpr( -31.125) rem floatExpr(-Infinity) <> -31.125 or 6493 floatExpr( -31.125) rem floatExpr( -13.25) <> -4.625 or 6494 floatExpr( -31.125) rem floatExpr( -1.0 ) <> -0.125 or 6495 floatExpr( -31.125) rem floatExpr( -0.75) <> -0.375 or 6496 not isNaN(floatExpr( -31.125) rem floatExpr( -0.0 )) or 6497 not isNaN(floatExpr( -31.125) rem floatExpr( 0.0 )) or 6498 floatExpr( -31.125) rem floatExpr( 0.75) <> -0.375 or 6499 floatExpr( -31.125) rem floatExpr( 1.0 ) <> -0.125 or 6500 floatExpr( -31.125) rem floatExpr( 13.25) <> -4.625 or 6501 floatExpr( -31.125) rem floatExpr( Infinity) <> -31.125 or 6502 not isNaN(floatExpr( -1.0 ) rem floatExpr( NaN)) or 6503 floatExpr( -1.0 ) rem floatExpr(-Infinity) <> -1.0 or 6504 floatExpr( -1.0 ) rem floatExpr( -13.25) <> -1.0 or 6505 floatExpr( -1.0 ) rem floatExpr( -1.0 ) <> 0.0 or 6506 floatExpr( -1.0 ) rem floatExpr( -0.75) <> -0.25 or 6507 not isNaN(floatExpr( -1.0 ) rem floatExpr( -0.0 )) or 6508 not isNaN(floatExpr( -1.0 ) rem floatExpr( 0.0 )) or 6509 floatExpr( -1.0 ) rem floatExpr( 0.75) <> -0.25 or 6510 floatExpr( -1.0 ) rem floatExpr( 1.0 ) <> 0.0 or 6511 floatExpr( -1.0 ) rem floatExpr( 13.25) <> -1.0 or 6512 floatExpr( -1.0 ) rem floatExpr( Infinity) <> -1.0 or 6513 not isNaN(floatExpr( -0.0 ) rem floatExpr( NaN)) or 6514 floatExpr( -0.0 ) rem floatExpr(-Infinity) <> 0.0 or 6515 floatExpr( -0.0 ) rem floatExpr( -13.25) <> 0.0 or 6516 floatExpr( -0.0 ) rem floatExpr( -1.0 ) <> 0.0 or 6517 floatExpr( -0.0 ) rem floatExpr( -0.75) <> 0.0 or 6518 not isNaN(floatExpr( -0.0 ) rem floatExpr( -0.0 )) or 6519 not isNaN(floatExpr( -0.0 ) rem floatExpr( 0.0 )) or 6520 floatExpr( -0.0 ) rem floatExpr( 0.75) <> 0.0 or 6521 floatExpr( -0.0 ) rem floatExpr( 1.0 ) <> 0.0 or 6522 floatExpr( -0.0 ) rem floatExpr( 13.25) <> 0.0 or 6523 floatExpr( -0.0 ) rem floatExpr( Infinity) <> 0.0 or 6524 not isNaN(floatExpr( 0.0 ) rem floatExpr( NaN)) or 6525 floatExpr( 0.0 ) rem floatExpr(-Infinity) <> 0.0 or 6526 floatExpr( 0.0 ) rem floatExpr( -13.25) <> 0.0 or 6527 floatExpr( 0.0 ) rem floatExpr( -1.0 ) <> 0.0 or 6528 floatExpr( 0.0 ) rem floatExpr( -0.75) <> 0.0 or 6529 not isNaN(floatExpr( 0.0 ) rem floatExpr( -0.0 )) or 6530 not isNaN(floatExpr( 0.0 ) rem floatExpr( 0.0 )) or 6531 floatExpr( 0.0 ) rem floatExpr( 0.75) <> 0.0 or 6532 floatExpr( 0.0 ) rem floatExpr( 1.0 ) <> 0.0 or 6533 floatExpr( 0.0 ) rem floatExpr( 13.25) <> 0.0 or 6534 floatExpr( 0.0 ) rem floatExpr( Infinity) <> 0.0 or 6535 not isNaN(floatExpr( 1.0 ) rem floatExpr( NaN)) or 6536 floatExpr( 1.0 ) rem floatExpr(-Infinity) <> 1.0 or 6537 floatExpr( 1.0 ) rem floatExpr( -13.25) <> 1.0 or 6538 floatExpr( 1.0 ) rem floatExpr( -1.0 ) <> 0.0 or 6539 floatExpr( 1.0 ) rem floatExpr( -0.75) <> 0.25 or 6540 not isNaN(floatExpr( 1.0 ) rem floatExpr( -0.0 )) or 6541 not isNaN(floatExpr( 1.0 ) rem floatExpr( 0.0 )) or 6542 floatExpr( 1.0 ) rem floatExpr( 0.75) <> 0.25 or 6543 floatExpr( 1.0 ) rem floatExpr( 1.0 ) <> 0.0 or 6544 floatExpr( 1.0 ) rem floatExpr( 13.25) <> 1.0 or 6545 floatExpr( 1.0 ) rem floatExpr( Infinity) <> 1.0 or 6546 not isNaN(floatExpr( 31.125) rem floatExpr( NaN)) or 6547 floatExpr( 31.125) rem floatExpr(-Infinity) <> 31.125 or 6548 floatExpr( 31.125) rem floatExpr( -13.25) <> 4.625 or 6549 floatExpr( 31.125) rem floatExpr( -1.0 ) <> 0.125 or 6550 floatExpr( 31.125) rem floatExpr( -0.75) <> 0.375 or 6551 not isNaN(floatExpr( 31.125) rem floatExpr( -0.0 )) or 6552 not isNaN(floatExpr( 31.125) rem floatExpr( 0.0 )) or 6553 floatExpr( 31.125) rem floatExpr( 0.75) <> 0.375 or 6554 floatExpr( 31.125) rem floatExpr( 1.0 ) <> 0.125 or 6555 floatExpr( 31.125) rem floatExpr( 13.25) <> 4.625 or 6556 floatExpr( 31.125) rem floatExpr( Infinity) <> 31.125 or 6557 not isNaN(floatExpr( Infinity) rem floatExpr( NaN)) or 6558 not isNaN(floatExpr( Infinity) rem floatExpr(-Infinity)) or 6559 not isNaN(floatExpr( Infinity) rem floatExpr( -13.25)) or 6560 not isNaN(floatExpr( Infinity) rem floatExpr( -1.0 )) or 6561 not isNaN(floatExpr( Infinity) rem floatExpr( -0.75)) or 6562 not isNaN(floatExpr( Infinity) rem floatExpr( -0.0 )) or 6563 not isNaN(floatExpr( Infinity) rem floatExpr( 0.0 )) or 6564 not isNaN(floatExpr( Infinity) rem floatExpr( 0.75)) or 6565 not isNaN(floatExpr( Infinity) rem floatExpr( 1.0 )) or 6566 not isNaN(floatExpr( Infinity) rem floatExpr( 13.25)) or 6567 not isNaN(floatExpr( Infinity) rem floatExpr( Infinity)) then 6568 writeln(" ***** Remainder does not work correct. (4)"); 6569 okay := FALSE; 6570 end if; 6571 6572 if okay then 6573 writeln("Remainder works correct for selected values."); 6574 else 6575 writeln(" ***** Remainder does not work correct."); 6576 end if; 6577 end func; 6578 6579 6580const proc: check_modulo is func 6581 local 6582 var boolean: okay is TRUE; 6583 begin 6584 if not isNaN( NaN mod NaN) or 6585 not isNaN( NaN mod -Infinity) or 6586 not isNaN( NaN mod -13.25) or 6587 not isNaN( NaN mod -1.0 ) or 6588 not isNaN( NaN mod -0.75) or 6589 not isNaN( NaN mod -0.0 ) or 6590 not isNaN( NaN mod 0.0 ) or 6591 not isNaN( NaN mod 0.75) or 6592 not isNaN( NaN mod 1.0 ) or 6593 not isNaN( NaN mod 13.25) or 6594 not isNaN( NaN mod Infinity) or 6595 not isNaN(-Infinity mod NaN) or 6596 not isNaN(-Infinity mod -Infinity) or 6597 not isNaN(-Infinity mod -13.25) or 6598 not isNaN(-Infinity mod -1.0 ) or 6599 not isNaN(-Infinity mod -0.75) or 6600 not isNaN(-Infinity mod -0.0 ) or 6601 not isNaN(-Infinity mod 0.0 ) or 6602 not isNaN(-Infinity mod 0.75) or 6603 not isNaN(-Infinity mod 1.0 ) or 6604 not isNaN(-Infinity mod 13.25) or 6605 not isNaN(-Infinity mod Infinity) or 6606 not isNaN( -31.125 mod NaN) or 6607 -31.125 mod -Infinity <> -31.125 or 6608 -31.125 mod -13.25 <> -4.625 or 6609 -31.125 mod -1.0 <> -0.125 or 6610 -31.125 mod -0.75 <> -0.375 or 6611 not isNaN( -31.125 mod -0.0 ) or 6612 not isNaN( -31.125 mod 0.0 ) or 6613 -31.125 mod 0.75 <> 0.375 or 6614 -31.125 mod 1.0 <> 0.875 or 6615 -31.125 mod 13.25 <> 8.625 or 6616 -31.125 mod Infinity <> Infinity or 6617 not isNaN( -1.0 mod NaN) or 6618 -1.0 mod -Infinity <> -1.0 or 6619 -1.0 mod -13.25 <> -1.0 or 6620 -1.0 mod -1.0 <> 0.0 or 6621 -1.0 mod -0.75 <> -0.25 or 6622 not isNaN( -1.0 mod -0.0 ) or 6623 not isNaN( -1.0 mod 0.0 ) or 6624 -1.0 mod 0.75 <> 0.5 or 6625 -1.0 mod 1.0 <> 0.0 or 6626 -1.0 mod 13.25 <> 12.25 or 6627 -1.0 mod Infinity <> Infinity or 6628 not isNaN( -0.0 mod NaN) or 6629 -0.0 mod -Infinity <> 0.0 or 6630 -0.0 mod -13.25 <> 0.0 or 6631 -0.0 mod -1.0 <> 0.0 or 6632 -0.0 mod -0.75 <> 0.0 or 6633 not isNaN( -0.0 mod -0.0 ) or 6634 not isNaN( -0.0 mod 0.0 ) or 6635 -0.0 mod 0.75 <> 0.0 or 6636 -0.0 mod 1.0 <> 0.0 or 6637 -0.0 mod 13.25 <> 0.0 or 6638 -0.0 mod Infinity <> 0.0 or 6639 not isNaN( 0.0 mod NaN) or 6640 0.0 mod -Infinity <> 0.0 or 6641 0.0 mod -13.25 <> 0.0 or 6642 0.0 mod -1.0 <> 0.0 or 6643 0.0 mod -0.75 <> 0.0 or 6644 not isNaN( 0.0 mod -0.0 ) or 6645 not isNaN( 0.0 mod 0.0 ) or 6646 0.0 mod 0.75 <> 0.0 or 6647 0.0 mod 1.0 <> 0.0 or 6648 0.0 mod 13.25 <> 0.0 or 6649 0.0 mod Infinity <> 0.0 or 6650 not isNaN( 1.0 mod NaN) or 6651 1.0 mod -Infinity <> -Infinity or 6652 1.0 mod -13.25 <> -12.25 or 6653 1.0 mod -1.0 <> 0.0 or 6654 1.0 mod -0.75 <> -0.5 or 6655 not isNaN( 1.0 mod -0.0 ) or 6656 not isNaN( 1.0 mod 0.0 ) or 6657 1.0 mod 0.75 <> 0.25 or 6658 1.0 mod 1.0 <> 0.0 or 6659 1.0 mod 13.25 <> 1.0 or 6660 1.0 mod Infinity <> 1.0 or 6661 not isNaN( 31.125 mod NaN) or 6662 31.125 mod -Infinity <> -Infinity or 6663 31.125 mod -13.25 <> -8.625 or 6664 31.125 mod -1.0 <> -0.875 or 6665 31.125 mod -0.75 <> -0.375 or 6666 not isNaN( 31.125 mod -0.0 ) or 6667 not isNaN( 31.125 mod 0.0 ) or 6668 31.125 mod 0.75 <> 0.375 or 6669 31.125 mod 1.0 <> 0.125 or 6670 31.125 mod 13.25 <> 4.625 or 6671 31.125 mod Infinity <> 31.125 or 6672 not isNaN( Infinity mod NaN) or 6673 not isNaN( Infinity mod -Infinity) or 6674 not isNaN( Infinity mod -13.25) or 6675 not isNaN( Infinity mod -1.0 ) or 6676 not isNaN( Infinity mod -0.75) or 6677 not isNaN( Infinity mod -0.0 ) or 6678 not isNaN( Infinity mod 0.0 ) or 6679 not isNaN( Infinity mod 0.75) or 6680 not isNaN( Infinity mod 1.0 ) or 6681 not isNaN( Infinity mod 13.25) or 6682 not isNaN( Infinity mod Infinity) then 6683 writeln(" ***** Modulo does not work correct. (1)"); 6684 okay := FALSE; 6685 end if; 6686 6687 if not isNaN(floatExpr( NaN) mod NaN) or 6688 not isNaN(floatExpr( NaN) mod -Infinity) or 6689 not isNaN(floatExpr( NaN) mod -13.25) or 6690 not isNaN(floatExpr( NaN) mod -1.0 ) or 6691 not isNaN(floatExpr( NaN) mod -0.75) or 6692 not isNaN(floatExpr( NaN) mod -0.0 ) or 6693 not isNaN(floatExpr( NaN) mod 0.0 ) or 6694 not isNaN(floatExpr( NaN) mod 0.75) or 6695 not isNaN(floatExpr( NaN) mod 1.0 ) or 6696 not isNaN(floatExpr( NaN) mod 13.25) or 6697 not isNaN(floatExpr( NaN) mod Infinity) or 6698 not isNaN(floatExpr(-Infinity) mod NaN) or 6699 not isNaN(floatExpr(-Infinity) mod -Infinity) or 6700 not isNaN(floatExpr(-Infinity) mod -13.25) or 6701 not isNaN(floatExpr(-Infinity) mod -1.0 ) or 6702 not isNaN(floatExpr(-Infinity) mod -0.75) or 6703 not isNaN(floatExpr(-Infinity) mod -0.0 ) or 6704 not isNaN(floatExpr(-Infinity) mod 0.0 ) or 6705 not isNaN(floatExpr(-Infinity) mod 0.75) or 6706 not isNaN(floatExpr(-Infinity) mod 1.0 ) or 6707 not isNaN(floatExpr(-Infinity) mod 13.25) or 6708 not isNaN(floatExpr(-Infinity) mod Infinity) or 6709 not isNaN(floatExpr( -31.125) mod NaN) or 6710 floatExpr( -31.125) mod -Infinity <> -31.125 or 6711 floatExpr( -31.125) mod -13.25 <> -4.625 or 6712 floatExpr( -31.125) mod -1.0 <> -0.125 or 6713 floatExpr( -31.125) mod -0.75 <> -0.375 or 6714 not isNaN(floatExpr( -31.125) mod -0.0 ) or 6715 not isNaN(floatExpr( -31.125) mod 0.0 ) or 6716 floatExpr( -31.125) mod 0.75 <> 0.375 or 6717 floatExpr( -31.125) mod 1.0 <> 0.875 or 6718 floatExpr( -31.125) mod 13.25 <> 8.625 or 6719 floatExpr( -31.125) mod Infinity <> Infinity or 6720 not isNaN(floatExpr( -1.0 ) mod NaN) or 6721 floatExpr( -1.0 ) mod -Infinity <> -1.0 or 6722 floatExpr( -1.0 ) mod -13.25 <> -1.0 or 6723 floatExpr( -1.0 ) mod -1.0 <> 0.0 or 6724 floatExpr( -1.0 ) mod -0.75 <> -0.25 or 6725 not isNaN(floatExpr( -1.0 ) mod -0.0 ) or 6726 not isNaN(floatExpr( -1.0 ) mod 0.0 ) or 6727 floatExpr( -1.0 ) mod 0.75 <> 0.5 or 6728 floatExpr( -1.0 ) mod 1.0 <> 0.0 or 6729 floatExpr( -1.0 ) mod 13.25 <> 12.25 or 6730 floatExpr( -1.0 ) mod Infinity <> Infinity or 6731 not isNaN(floatExpr( -0.0 ) mod NaN) or 6732 floatExpr( -0.0 ) mod -Infinity <> 0.0 or 6733 floatExpr( -0.0 ) mod -13.25 <> 0.0 or 6734 floatExpr( -0.0 ) mod -1.0 <> 0.0 or 6735 floatExpr( -0.0 ) mod -0.75 <> 0.0 or 6736 not isNaN(floatExpr( -0.0 ) mod -0.0 ) or 6737 not isNaN(floatExpr( -0.0 ) mod 0.0 ) or 6738 floatExpr( -0.0 ) mod 0.75 <> 0.0 or 6739 floatExpr( -0.0 ) mod 1.0 <> 0.0 or 6740 floatExpr( -0.0 ) mod 13.25 <> 0.0 or 6741 floatExpr( -0.0 ) mod Infinity <> 0.0 or 6742 not isNaN(floatExpr( 0.0 ) mod NaN) or 6743 floatExpr( 0.0 ) mod -Infinity <> 0.0 or 6744 floatExpr( 0.0 ) mod -13.25 <> 0.0 or 6745 floatExpr( 0.0 ) mod -1.0 <> 0.0 or 6746 floatExpr( 0.0 ) mod -0.75 <> 0.0 or 6747 not isNaN(floatExpr( 0.0 ) mod -0.0 ) or 6748 not isNaN(floatExpr( 0.0 ) mod 0.0 ) or 6749 floatExpr( 0.0 ) mod 0.75 <> 0.0 or 6750 floatExpr( 0.0 ) mod 1.0 <> 0.0 or 6751 floatExpr( 0.0 ) mod 13.25 <> 0.0 or 6752 floatExpr( 0.0 ) mod Infinity <> 0.0 or 6753 not isNaN(floatExpr( 1.0 ) mod NaN) or 6754 floatExpr( 1.0 ) mod -Infinity <> -Infinity or 6755 floatExpr( 1.0 ) mod -13.25 <> -12.25 or 6756 floatExpr( 1.0 ) mod -1.0 <> 0.0 or 6757 floatExpr( 1.0 ) mod -0.75 <> -0.5 or 6758 not isNaN(floatExpr( 1.0 ) mod -0.0 ) or 6759 not isNaN(floatExpr( 1.0 ) mod 0.0 ) or 6760 floatExpr( 1.0 ) mod 0.75 <> 0.25 or 6761 floatExpr( 1.0 ) mod 1.0 <> 0.0 or 6762 floatExpr( 1.0 ) mod 13.25 <> 1.0 or 6763 floatExpr( 1.0 ) mod Infinity <> 1.0 or 6764 not isNaN(floatExpr( 31.125) mod NaN) or 6765 floatExpr( 31.125) mod -Infinity <> -Infinity or 6766 floatExpr( 31.125) mod -13.25 <> -8.625 or 6767 floatExpr( 31.125) mod -1.0 <> -0.875 or 6768 floatExpr( 31.125) mod -0.75 <> -0.375 or 6769 not isNaN(floatExpr( 31.125) mod -0.0 ) or 6770 not isNaN(floatExpr( 31.125) mod 0.0 ) or 6771 floatExpr( 31.125) mod 0.75 <> 0.375 or 6772 floatExpr( 31.125) mod 1.0 <> 0.125 or 6773 floatExpr( 31.125) mod 13.25 <> 4.625 or 6774 floatExpr( 31.125) mod Infinity <> 31.125 or 6775 not isNaN(floatExpr( Infinity) mod NaN) or 6776 not isNaN(floatExpr( Infinity) mod -Infinity) or 6777 not isNaN(floatExpr( Infinity) mod -13.25) or 6778 not isNaN(floatExpr( Infinity) mod -1.0 ) or 6779 not isNaN(floatExpr( Infinity) mod -0.75) or 6780 not isNaN(floatExpr( Infinity) mod -0.0 ) or 6781 not isNaN(floatExpr( Infinity) mod 0.0 ) or 6782 not isNaN(floatExpr( Infinity) mod 0.75) or 6783 not isNaN(floatExpr( Infinity) mod 1.0 ) or 6784 not isNaN(floatExpr( Infinity) mod 13.25) or 6785 not isNaN(floatExpr( Infinity) mod Infinity) then 6786 writeln(" ***** Modulo does not work correct. (2)"); 6787 okay := FALSE; 6788 end if; 6789 6790 if not isNaN( NaN mod floatExpr( NaN)) or 6791 not isNaN( NaN mod floatExpr(-Infinity)) or 6792 not isNaN( NaN mod floatExpr( -13.25)) or 6793 not isNaN( NaN mod floatExpr( -1.0 )) or 6794 not isNaN( NaN mod floatExpr( -0.75)) or 6795 not isNaN( NaN mod floatExpr( -0.0 )) or 6796 not isNaN( NaN mod floatExpr( 0.0 )) or 6797 not isNaN( NaN mod floatExpr( 0.75)) or 6798 not isNaN( NaN mod floatExpr( 1.0 )) or 6799 not isNaN( NaN mod floatExpr( 13.25)) or 6800 not isNaN( NaN mod floatExpr( Infinity)) or 6801 not isNaN(-Infinity mod floatExpr( NaN)) or 6802 not isNaN(-Infinity mod floatExpr(-Infinity)) or 6803 not isNaN(-Infinity mod floatExpr( -13.25)) or 6804 not isNaN(-Infinity mod floatExpr( -1.0 )) or 6805 not isNaN(-Infinity mod floatExpr( -0.75)) or 6806 not isNaN(-Infinity mod floatExpr( -0.0 )) or 6807 not isNaN(-Infinity mod floatExpr( 0.0 )) or 6808 not isNaN(-Infinity mod floatExpr( 0.75)) or 6809 not isNaN(-Infinity mod floatExpr( 1.0 )) or 6810 not isNaN(-Infinity mod floatExpr( 13.25)) or 6811 not isNaN(-Infinity mod floatExpr( Infinity)) or 6812 not isNaN( -31.125 mod floatExpr( NaN)) or 6813 -31.125 mod floatExpr(-Infinity) <> -31.125 or 6814 -31.125 mod floatExpr( -13.25) <> -4.625 or 6815 -31.125 mod floatExpr( -1.0 ) <> -0.125 or 6816 -31.125 mod floatExpr( -0.75) <> -0.375 or 6817 not isNaN( -31.125 mod floatExpr( -0.0 )) or 6818 not isNaN( -31.125 mod floatExpr( 0.0 )) or 6819 -31.125 mod floatExpr( 0.75) <> 0.375 or 6820 -31.125 mod floatExpr( 1.0 ) <> 0.875 or 6821 -31.125 mod floatExpr( 13.25) <> 8.625 or 6822 -31.125 mod floatExpr( Infinity) <> Infinity or 6823 not isNaN( -1.0 mod floatExpr( NaN)) or 6824 -1.0 mod floatExpr(-Infinity) <> -1.0 or 6825 -1.0 mod floatExpr( -13.25) <> -1.0 or 6826 -1.0 mod floatExpr( -1.0 ) <> 0.0 or 6827 -1.0 mod floatExpr( -0.75) <> -0.25 or 6828 not isNaN( -1.0 mod floatExpr( -0.0 )) or 6829 not isNaN( -1.0 mod floatExpr( 0.0 )) or 6830 -1.0 mod floatExpr( 0.75) <> 0.5 or 6831 -1.0 mod floatExpr( 1.0 ) <> 0.0 or 6832 -1.0 mod floatExpr( 13.25) <> 12.25 or 6833 -1.0 mod floatExpr( Infinity) <> Infinity or 6834 not isNaN( -0.0 mod floatExpr( NaN)) or 6835 -0.0 mod floatExpr(-Infinity) <> 0.0 or 6836 -0.0 mod floatExpr( -13.25) <> 0.0 or 6837 -0.0 mod floatExpr( -1.0 ) <> 0.0 or 6838 -0.0 mod floatExpr( -0.75) <> 0.0 or 6839 not isNaN( -0.0 mod floatExpr( -0.0 )) or 6840 not isNaN( -0.0 mod floatExpr( 0.0 )) or 6841 -0.0 mod floatExpr( 0.75) <> 0.0 or 6842 -0.0 mod floatExpr( 1.0 ) <> 0.0 or 6843 -0.0 mod floatExpr( 13.25) <> 0.0 or 6844 -0.0 mod floatExpr( Infinity) <> 0.0 or 6845 not isNaN( 0.0 mod floatExpr( NaN)) or 6846 0.0 mod floatExpr(-Infinity) <> 0.0 or 6847 0.0 mod floatExpr( -13.25) <> 0.0 or 6848 0.0 mod floatExpr( -1.0 ) <> 0.0 or 6849 0.0 mod floatExpr( -0.75) <> 0.0 or 6850 not isNaN( 0.0 mod floatExpr( -0.0 )) or 6851 not isNaN( 0.0 mod floatExpr( 0.0 )) or 6852 0.0 mod floatExpr( 0.75) <> 0.0 or 6853 0.0 mod floatExpr( 1.0 ) <> 0.0 or 6854 0.0 mod floatExpr( 13.25) <> 0.0 or 6855 0.0 mod floatExpr( Infinity) <> 0.0 or 6856 not isNaN( 1.0 mod floatExpr( NaN)) or 6857 1.0 mod floatExpr(-Infinity) <> -Infinity or 6858 1.0 mod floatExpr( -13.25) <> -12.25 or 6859 1.0 mod floatExpr( -1.0 ) <> 0.0 or 6860 1.0 mod floatExpr( -0.75) <> -0.5 or 6861 not isNaN( 1.0 mod floatExpr( -0.0 )) or 6862 not isNaN( 1.0 mod floatExpr( 0.0 )) or 6863 1.0 mod floatExpr( 0.75) <> 0.25 or 6864 1.0 mod floatExpr( 1.0 ) <> 0.0 or 6865 1.0 mod floatExpr( 13.25) <> 1.0 or 6866 1.0 mod floatExpr( Infinity) <> 1.0 or 6867 not isNaN( 31.125 mod floatExpr( NaN)) or 6868 31.125 mod floatExpr(-Infinity) <> -Infinity or 6869 31.125 mod floatExpr( -13.25) <> -8.625 or 6870 31.125 mod floatExpr( -1.0 ) <> -0.875 or 6871 31.125 mod floatExpr( -0.75) <> -0.375 or 6872 not isNaN( 31.125 mod floatExpr( -0.0 )) or 6873 not isNaN( 31.125 mod floatExpr( 0.0 )) or 6874 31.125 mod floatExpr( 0.75) <> 0.375 or 6875 31.125 mod floatExpr( 1.0 ) <> 0.125 or 6876 31.125 mod floatExpr( 13.25) <> 4.625 or 6877 31.125 mod floatExpr( Infinity) <> 31.125 or 6878 not isNaN( Infinity mod floatExpr( NaN)) or 6879 not isNaN( Infinity mod floatExpr(-Infinity)) or 6880 not isNaN( Infinity mod floatExpr( -13.25)) or 6881 not isNaN( Infinity mod floatExpr( -1.0 )) or 6882 not isNaN( Infinity mod floatExpr( -0.75)) or 6883 not isNaN( Infinity mod floatExpr( -0.0 )) or 6884 not isNaN( Infinity mod floatExpr( 0.0 )) or 6885 not isNaN( Infinity mod floatExpr( 0.75)) or 6886 not isNaN( Infinity mod floatExpr( 1.0 )) or 6887 not isNaN( Infinity mod floatExpr( 13.25)) or 6888 not isNaN( Infinity mod floatExpr( Infinity)) then 6889 writeln(" ***** Modulo does not work correct. (3)"); 6890 okay := FALSE; 6891 end if; 6892 6893 if not isNaN(floatExpr( NaN) mod floatExpr( NaN)) or 6894 not isNaN(floatExpr( NaN) mod floatExpr(-Infinity)) or 6895 not isNaN(floatExpr( NaN) mod floatExpr( -13.25)) or 6896 not isNaN(floatExpr( NaN) mod floatExpr( -1.0 )) or 6897 not isNaN(floatExpr( NaN) mod floatExpr( -0.75)) or 6898 not isNaN(floatExpr( NaN) mod floatExpr( -0.0 )) or 6899 not isNaN(floatExpr( NaN) mod floatExpr( 0.0 )) or 6900 not isNaN(floatExpr( NaN) mod floatExpr( 0.75)) or 6901 not isNaN(floatExpr( NaN) mod floatExpr( 1.0 )) or 6902 not isNaN(floatExpr( NaN) mod floatExpr( 13.25)) or 6903 not isNaN(floatExpr( NaN) mod floatExpr( Infinity)) or 6904 not isNaN(floatExpr(-Infinity) mod floatExpr( NaN)) or 6905 not isNaN(floatExpr(-Infinity) mod floatExpr(-Infinity)) or 6906 not isNaN(floatExpr(-Infinity) mod floatExpr( -13.25)) or 6907 not isNaN(floatExpr(-Infinity) mod floatExpr( -1.0 )) or 6908 not isNaN(floatExpr(-Infinity) mod floatExpr( -0.75)) or 6909 not isNaN(floatExpr(-Infinity) mod floatExpr( -0.0 )) or 6910 not isNaN(floatExpr(-Infinity) mod floatExpr( 0.0 )) or 6911 not isNaN(floatExpr(-Infinity) mod floatExpr( 0.75)) or 6912 not isNaN(floatExpr(-Infinity) mod floatExpr( 1.0 )) or 6913 not isNaN(floatExpr(-Infinity) mod floatExpr( 13.25)) or 6914 not isNaN(floatExpr(-Infinity) mod floatExpr( Infinity)) or 6915 not isNaN(floatExpr( -31.125) mod floatExpr( NaN)) or 6916 floatExpr( -31.125) mod floatExpr(-Infinity) <> -31.125 or 6917 floatExpr( -31.125) mod floatExpr( -13.25) <> -4.625 or 6918 floatExpr( -31.125) mod floatExpr( -1.0 ) <> -0.125 or 6919 floatExpr( -31.125) mod floatExpr( -0.75) <> -0.375 or 6920 not isNaN(floatExpr( -31.125) mod floatExpr( -0.0 )) or 6921 not isNaN(floatExpr( -31.125) mod floatExpr( 0.0 )) or 6922 floatExpr( -31.125) mod floatExpr( 0.75) <> 0.375 or 6923 floatExpr( -31.125) mod floatExpr( 1.0 ) <> 0.875 or 6924 floatExpr( -31.125) mod floatExpr( 13.25) <> 8.625 or 6925 floatExpr( -31.125) mod floatExpr( Infinity) <> Infinity or 6926 not isNaN(floatExpr( -1.0 ) mod floatExpr( NaN)) or 6927 floatExpr( -1.0 ) mod floatExpr(-Infinity) <> -1.0 or 6928 floatExpr( -1.0 ) mod floatExpr( -13.25) <> -1.0 or 6929 floatExpr( -1.0 ) mod floatExpr( -1.0 ) <> 0.0 or 6930 floatExpr( -1.0 ) mod floatExpr( -0.75) <> -0.25 or 6931 not isNaN(floatExpr( -1.0 ) mod floatExpr( -0.0 )) or 6932 not isNaN(floatExpr( -1.0 ) mod floatExpr( 0.0 )) or 6933 floatExpr( -1.0 ) mod floatExpr( 0.75) <> 0.5 or 6934 floatExpr( -1.0 ) mod floatExpr( 1.0 ) <> 0.0 or 6935 floatExpr( -1.0 ) mod floatExpr( 13.25) <> 12.25 or 6936 floatExpr( -1.0 ) mod floatExpr( Infinity) <> Infinity or 6937 not isNaN(floatExpr( -0.0 ) mod floatExpr( NaN)) or 6938 floatExpr( -0.0 ) mod floatExpr(-Infinity) <> 0.0 or 6939 floatExpr( -0.0 ) mod floatExpr( -13.25) <> 0.0 or 6940 floatExpr( -0.0 ) mod floatExpr( -1.0 ) <> 0.0 or 6941 floatExpr( -0.0 ) mod floatExpr( -0.75) <> 0.0 or 6942 not isNaN(floatExpr( -0.0 ) mod floatExpr( -0.0 )) or 6943 not isNaN(floatExpr( -0.0 ) mod floatExpr( 0.0 )) or 6944 floatExpr( -0.0 ) mod floatExpr( 0.75) <> 0.0 or 6945 floatExpr( -0.0 ) mod floatExpr( 1.0 ) <> 0.0 or 6946 floatExpr( -0.0 ) mod floatExpr( 13.25) <> 0.0 or 6947 floatExpr( -0.0 ) mod floatExpr( Infinity) <> 0.0 or 6948 not isNaN(floatExpr( 0.0 ) mod floatExpr( NaN)) or 6949 floatExpr( 0.0 ) mod floatExpr(-Infinity) <> 0.0 or 6950 floatExpr( 0.0 ) mod floatExpr( -13.25) <> 0.0 or 6951 floatExpr( 0.0 ) mod floatExpr( -1.0 ) <> 0.0 or 6952 floatExpr( 0.0 ) mod floatExpr( -0.75) <> 0.0 or 6953 not isNaN(floatExpr( 0.0 ) mod floatExpr( -0.0 )) or 6954 not isNaN(floatExpr( 0.0 ) mod floatExpr( 0.0 )) or 6955 floatExpr( 0.0 ) mod floatExpr( 0.75) <> 0.0 or 6956 floatExpr( 0.0 ) mod floatExpr( 1.0 ) <> 0.0 or 6957 floatExpr( 0.0 ) mod floatExpr( 13.25) <> 0.0 or 6958 floatExpr( 0.0 ) mod floatExpr( Infinity) <> 0.0 or 6959 not isNaN(floatExpr( 1.0 ) mod floatExpr( NaN)) or 6960 floatExpr( 1.0 ) mod floatExpr(-Infinity) <> -Infinity or 6961 floatExpr( 1.0 ) mod floatExpr( -13.25) <> -12.25 or 6962 floatExpr( 1.0 ) mod floatExpr( -1.0 ) <> 0.0 or 6963 floatExpr( 1.0 ) mod floatExpr( -0.75) <> -0.5 or 6964 not isNaN(floatExpr( 1.0 ) mod floatExpr( -0.0 )) or 6965 not isNaN(floatExpr( 1.0 ) mod floatExpr( 0.0 )) or 6966 floatExpr( 1.0 ) mod floatExpr( 0.75) <> 0.25 or 6967 floatExpr( 1.0 ) mod floatExpr( 1.0 ) <> 0.0 or 6968 floatExpr( 1.0 ) mod floatExpr( 13.25) <> 1.0 or 6969 floatExpr( 1.0 ) mod floatExpr( Infinity) <> 1.0 or 6970 not isNaN(floatExpr( 31.125) mod floatExpr( NaN)) or 6971 floatExpr( 31.125) mod floatExpr(-Infinity) <> -Infinity or 6972 floatExpr( 31.125) mod floatExpr( -13.25) <> -8.625 or 6973 floatExpr( 31.125) mod floatExpr( -1.0 ) <> -0.875 or 6974 floatExpr( 31.125) mod floatExpr( -0.75) <> -0.375 or 6975 not isNaN(floatExpr( 31.125) mod floatExpr( -0.0 )) or 6976 not isNaN(floatExpr( 31.125) mod floatExpr( 0.0 )) or 6977 floatExpr( 31.125) mod floatExpr( 0.75) <> 0.375 or 6978 floatExpr( 31.125) mod floatExpr( 1.0 ) <> 0.125 or 6979 floatExpr( 31.125) mod floatExpr( 13.25) <> 4.625 or 6980 floatExpr( 31.125) mod floatExpr( Infinity) <> 31.125 or 6981 not isNaN(floatExpr( Infinity) mod floatExpr( NaN)) or 6982 not isNaN(floatExpr( Infinity) mod floatExpr(-Infinity)) or 6983 not isNaN(floatExpr( Infinity) mod floatExpr( -13.25)) or 6984 not isNaN(floatExpr( Infinity) mod floatExpr( -1.0 )) or 6985 not isNaN(floatExpr( Infinity) mod floatExpr( -0.75)) or 6986 not isNaN(floatExpr( Infinity) mod floatExpr( -0.0 )) or 6987 not isNaN(floatExpr( Infinity) mod floatExpr( 0.0 )) or 6988 not isNaN(floatExpr( Infinity) mod floatExpr( 0.75)) or 6989 not isNaN(floatExpr( Infinity) mod floatExpr( 1.0 )) or 6990 not isNaN(floatExpr( Infinity) mod floatExpr( 13.25)) or 6991 not isNaN(floatExpr( Infinity) mod floatExpr( Infinity)) then 6992 writeln(" ***** Modulo does not work correct. (4)"); 6993 okay := FALSE; 6994 end if; 6995 6996 if okay then 6997 writeln("Modulo works correct for selected values."); 6998 else 6999 writeln(" ***** Modulo does not work correct."); 7000 end if; 7001 end func; 7002 7003 7004const proc: check_power is func 7005 local 7006 const float: minusZero is -0.0; 7007 const float: minusOne is -1.0; 7008 const float: minusTwo is -2.0; 7009 const float: minusThree is -3.0; 7010 var boolean: okay is TRUE; 7011 begin 7012 if (-2.0) ** (-2.0) <> 0.25 or 7013 not isNaN((-2.0) ** (-1.5)) or 7014 (-2.0) ** (-1.0) <> -0.5 or 7015 not isNaN((-2.0) ** (-0.5)) or 7016 (-2.0) ** 0.0 <> 1.0 or 7017 not isNaN((-2.0) ** 0.5 ) or 7018 (-2.0) ** 1.0 <> -2.0 or 7019 not isNaN((-2.0) ** 1.5 ) or 7020 (-2.0) ** 2.0 <> 4.0 or 7021 # (-1.5) ** (-2.0) <> 0.444444 or 7022 not isNaN((-1.5) ** (-1.5)) or 7023 # (-1.5) ** (-1.0) <> -0.666667 or 7024 not isNaN((-1.5) ** (-0.5)) or 7025 (-1.5) ** 0.0 <> 1.0 or 7026 not isNaN((-1.5) ** 0.5 ) or 7027 (-1.5) ** 1.0 <> -1.5 or 7028 not isNaN((-1.5) ** 1.5 ) or 7029 (-1.5) ** 2.0 <> 2.25 or 7030 (-1.0) ** (-2.0) <> 1.0 or 7031 not isNaN((-1.0) ** (-1.5)) or 7032 (-1.0) ** (-1.0) <> -1.0 or 7033 not isNaN((-1.0) ** (-0.5)) or 7034 (-1.0) ** 0.0 <> 1.0 or 7035 not isNaN((-1.0) ** 0.5 ) or 7036 (-1.0) ** 1.0 <> -1.0 or 7037 not isNaN((-1.0) ** 1.5 ) or 7038 (-1.0) ** 2.0 <> 1.0 or 7039 (-0.5) ** (-2.0) <> 4.0 or 7040 not isNaN((-0.5) ** (-1.5)) or 7041 (-0.5) ** (-1.0) <> -2.0 or 7042 not isNaN((-0.5) ** (-0.5)) or 7043 (-0.5) ** 0.0 <> 1.0 or 7044 not isNaN((-0.5) ** 0.5 ) or 7045 (-0.5) ** 1.0 <> -0.5 or 7046 not isNaN((-0.5) ** 1.5 ) or 7047 (-0.5) ** 2.0 <> 0.25 or 7048 (-0.0) ** (-2.5) <> Infinity or 7049 (-0.0) ** (-1.5) <> Infinity or 7050 (-0.0) ** (-0.5) <> Infinity or 7051 (-0.0) ** 0.5 <> 0.0 or 7052 (-0.0) ** 1.5 <> 0.0 or 7053 (-0.0) ** 2.5 <> 0.0 or 7054 0.0 ** (-2.5) <> Infinity or 7055 0.0 ** (-1.5) <> Infinity or 7056 0.0 ** (-0.5) <> Infinity or 7057 0.0 ** 0.5 <> 0.0 or 7058 0.0 ** 1.5 <> 0.0 or 7059 0.0 ** 2.5 <> 0.0 or 7060 0.5 ** (-2.0) <> 4.0 or 7061 # 0.5 ** (-1.5) <> 2.828427 or 7062 0.5 ** (-1.0) <> 2.0 or 7063 # 0.5 ** (-0.5) <> 1.414214 or 7064 0.5 ** 0.0 <> 1.0 or 7065 # 0.5 ** 0.5 <> 0.707107 or 7066 0.5 ** 1.0 <> 0.5 or 7067 # 0.5 ** 1.5 <> 0.353553 or 7068 0.5 ** 2.0 <> 0.25 or 7069 1.0 ** (-2.0) <> 1.0 or 7070 1.0 ** (-1.5) <> 1.0 or 7071 1.0 ** (-1.0) <> 1.0 or 7072 1.0 ** (-0.5) <> 1.0 or 7073 1.0 ** 0.0 <> 1.0 or 7074 1.0 ** 0.5 <> 1.0 or 7075 1.0 ** 1.0 <> 1.0 or 7076 1.0 ** 1.5 <> 1.0 or 7077 1.0 ** 2.0 <> 1.0 or 7078 # 1.5 ** (-2.0) <> 0.444444 or 7079 # 1.5 ** (-1.5) <> 0.544331 or 7080 # 1.5 ** (-1.0) <> 0.666667 or 7081 # 1.5 ** (-0.5) <> 0.816497 or 7082 1.5 ** 0.0 <> 1.0 or 7083 # 1.5 ** 0.5 <> 1.224745 or 7084 1.5 ** 1.0 <> 1.5 or 7085 # 1.5 ** 1.5 <> 1.837117 or 7086 1.5 ** 2.0 <> 2.25 then 7087 writeln(" ***** A ** B does not work correct for selected values."); 7088 okay := FALSE; 7089 end if; 7090 7091 if (-0.0) ** (-Infinity) <> Infinity or 7092 (-0.0) ** (-9007199254740994.0) <> Infinity or # Not exactly represented 7093 (-0.0) ** (-9007199254740993.0) <> Infinity or # Not exactly represented 7094 (-0.0) ** (-9007199254740992.0) <> Infinity or 7095 (-0.0) ** (-9007199254740991.0) <> -Infinity or 7096 (-0.0) ** (-4294967297.0) <> -Infinity or 7097 (-0.0) ** (-4294967296.0) <> Infinity or 7098 (-0.0) ** (-4294967295.0) <> -Infinity or 7099 (-0.0) ** (-2147483649.0) <> -Infinity or 7100 (-0.0) ** (-2147483648.0) <> Infinity or 7101 (-0.0) ** (-2147483647.0) <> -Infinity or 7102 (-0.0) ** (-30.0) <> Infinity or 7103 (-0.0) ** (-29.0) <> -Infinity or 7104 (-0.0) ** (-28.0) <> Infinity or 7105 (-0.0) ** (-27.0) <> -Infinity or 7106 (-0.0) ** (-26.0) <> Infinity or 7107 (-0.0) ** (-25.0) <> -Infinity or 7108 (-0.0) ** (-24.0) <> Infinity or 7109 (-0.0) ** (-23.0) <> -Infinity or 7110 (-0.0) ** (-22.0) <> Infinity or 7111 (-0.0) ** (-21.0) <> -Infinity or 7112 (-0.0) ** (-20.0) <> Infinity or 7113 (-0.0) ** (-19.0) <> -Infinity or 7114 (-0.0) ** (-18.0) <> Infinity or 7115 (-0.0) ** (-17.0) <> -Infinity or 7116 (-0.0) ** (-16.0) <> Infinity or 7117 (-0.0) ** (-15.0) <> -Infinity or 7118 (-0.0) ** (-14.0) <> Infinity or 7119 (-0.0) ** (-13.0) <> -Infinity or 7120 (-0.0) ** (-12.0) <> Infinity or 7121 (-0.0) ** (-11.0) <> -Infinity or 7122 (-0.0) ** (-10.0) <> Infinity or 7123 (-0.0) ** (-9.0) <> -Infinity or 7124 (-0.0) ** (-8.0) <> Infinity or 7125 (-0.0) ** (-7.0) <> -Infinity or 7126 (-0.0) ** (-6.0) <> Infinity or 7127 (-0.0) ** (-5.0) <> -Infinity or 7128 (-0.0) ** (-4.0) <> Infinity or 7129 (-0.0) ** (-3.0) <> -Infinity or 7130 (-0.0) ** (-2.0) <> Infinity or 7131 (-0.0) ** (-1.0) <> -Infinity or 7132 floatExpr(-0.0) ** (-Infinity) <> Infinity or 7133 floatExpr(-0.0) ** (-9007199254740994.0) <> Infinity or # Not exactly represented 7134 floatExpr(-0.0) ** (-9007199254740993.0) <> Infinity or # Not exactly represented 7135 floatExpr(-0.0) ** (-9007199254740992.0) <> Infinity or 7136 floatExpr(-0.0) ** (-9007199254740991.0) <> -Infinity or 7137 floatExpr(-0.0) ** (-4294967297.0) <> -Infinity or 7138 floatExpr(-0.0) ** (-4294967296.0) <> Infinity or 7139 floatExpr(-0.0) ** (-4294967295.0) <> -Infinity or 7140 floatExpr(-0.0) ** (-2147483649.0) <> -Infinity or 7141 floatExpr(-0.0) ** (-2147483648.0) <> Infinity or 7142 floatExpr(-0.0) ** (-2147483647.0) <> -Infinity or 7143 floatExpr(-0.0) ** (-30.0) <> Infinity or 7144 floatExpr(-0.0) ** (-29.0) <> -Infinity or 7145 floatExpr(-0.0) ** (-28.0) <> Infinity or 7146 floatExpr(-0.0) ** (-27.0) <> -Infinity or 7147 floatExpr(-0.0) ** (-26.0) <> Infinity or 7148 floatExpr(-0.0) ** (-25.0) <> -Infinity or 7149 floatExpr(-0.0) ** (-24.0) <> Infinity or 7150 floatExpr(-0.0) ** (-23.0) <> -Infinity or 7151 floatExpr(-0.0) ** (-22.0) <> Infinity or 7152 floatExpr(-0.0) ** (-21.0) <> -Infinity or 7153 floatExpr(-0.0) ** (-20.0) <> Infinity or 7154 floatExpr(-0.0) ** (-19.0) <> -Infinity or 7155 floatExpr(-0.0) ** (-18.0) <> Infinity or 7156 floatExpr(-0.0) ** (-17.0) <> -Infinity or 7157 floatExpr(-0.0) ** (-16.0) <> Infinity or 7158 floatExpr(-0.0) ** (-15.0) <> -Infinity or 7159 floatExpr(-0.0) ** (-14.0) <> Infinity or 7160 floatExpr(-0.0) ** (-13.0) <> -Infinity or 7161 floatExpr(-0.0) ** (-12.0) <> Infinity or 7162 floatExpr(-0.0) ** (-11.0) <> -Infinity or 7163 floatExpr(-0.0) ** (-10.0) <> Infinity or 7164 floatExpr(-0.0) ** (-9.0) <> -Infinity or 7165 floatExpr(-0.0) ** (-8.0) <> Infinity or 7166 floatExpr(-0.0) ** (-7.0) <> -Infinity or 7167 floatExpr(-0.0) ** (-6.0) <> Infinity or 7168 floatExpr(-0.0) ** (-5.0) <> -Infinity or 7169 floatExpr(-0.0) ** (-4.0) <> Infinity or 7170 floatExpr(-0.0) ** (-3.0) <> -Infinity or 7171 floatExpr(-0.0) ** (-2.0) <> Infinity or 7172 floatExpr(-0.0) ** (-1.0) <> -Infinity or 7173 (-0.0) ** floatExpr( -Infinity) <> Infinity or 7174 (-0.0) ** floatExpr(-9007199254740994.0) <> Infinity or # Not exactly represented 7175 (-0.0) ** floatExpr(-9007199254740993.0) <> Infinity or # Not exactly represented 7176 (-0.0) ** floatExpr(-9007199254740992.0) <> Infinity or 7177 (-0.0) ** floatExpr(-9007199254740991.0) <> -Infinity or 7178 (-0.0) ** floatExpr( -4294967297.0) <> -Infinity or 7179 (-0.0) ** floatExpr( -4294967296.0) <> Infinity or 7180 (-0.0) ** floatExpr( -4294967295.0) <> -Infinity or 7181 (-0.0) ** floatExpr( -2147483649.0) <> -Infinity or 7182 (-0.0) ** floatExpr( -2147483648.0) <> Infinity or 7183 (-0.0) ** floatExpr( -2147483647.0) <> -Infinity or 7184 (-0.0) ** floatExpr( -30.0) <> Infinity or 7185 (-0.0) ** floatExpr( -29.0) <> -Infinity or 7186 (-0.0) ** floatExpr( -28.0) <> Infinity or 7187 (-0.0) ** floatExpr( -27.0) <> -Infinity or 7188 (-0.0) ** floatExpr( -26.0) <> Infinity or 7189 (-0.0) ** floatExpr( -25.0) <> -Infinity or 7190 (-0.0) ** floatExpr( -24.0) <> Infinity or 7191 (-0.0) ** floatExpr( -23.0) <> -Infinity or 7192 (-0.0) ** floatExpr( -22.0) <> Infinity or 7193 (-0.0) ** floatExpr( -21.0) <> -Infinity or 7194 (-0.0) ** floatExpr( -20.0) <> Infinity or 7195 (-0.0) ** floatExpr( -19.0) <> -Infinity or 7196 (-0.0) ** floatExpr( -18.0) <> Infinity or 7197 (-0.0) ** floatExpr( -17.0) <> -Infinity or 7198 (-0.0) ** floatExpr( -16.0) <> Infinity or 7199 (-0.0) ** floatExpr( -15.0) <> -Infinity or 7200 (-0.0) ** floatExpr( -14.0) <> Infinity or 7201 (-0.0) ** floatExpr( -13.0) <> -Infinity or 7202 (-0.0) ** floatExpr( -12.0) <> Infinity or 7203 (-0.0) ** floatExpr( -11.0) <> -Infinity or 7204 (-0.0) ** floatExpr( -10.0) <> Infinity or 7205 (-0.0) ** floatExpr( -9.0) <> -Infinity or 7206 (-0.0) ** floatExpr( -8.0) <> Infinity or 7207 (-0.0) ** floatExpr( -7.0) <> -Infinity or 7208 (-0.0) ** floatExpr( -6.0) <> Infinity or 7209 (-0.0) ** floatExpr( -5.0) <> -Infinity or 7210 (-0.0) ** floatExpr( -4.0) <> Infinity or 7211 (-0.0) ** floatExpr( -3.0) <> -Infinity or 7212 (-0.0) ** floatExpr( -2.0) <> Infinity or 7213 (-0.0) ** floatExpr( -1.0) <> -Infinity or 7214 floatExpr(-0.0) ** floatExpr( -Infinity) <> Infinity or 7215 floatExpr(-0.0) ** floatExpr(-9007199254740994.0) <> Infinity or # Not exactly represented 7216 floatExpr(-0.0) ** floatExpr(-9007199254740993.0) <> Infinity or # Not exactly represented 7217 floatExpr(-0.0) ** floatExpr(-9007199254740992.0) <> Infinity or 7218 floatExpr(-0.0) ** floatExpr(-9007199254740991.0) <> -Infinity or 7219 floatExpr(-0.0) ** floatExpr( -4294967297.0) <> -Infinity or 7220 floatExpr(-0.0) ** floatExpr( -4294967296.0) <> Infinity or 7221 floatExpr(-0.0) ** floatExpr( -4294967295.0) <> -Infinity or 7222 floatExpr(-0.0) ** floatExpr( -2147483649.0) <> -Infinity or 7223 floatExpr(-0.0) ** floatExpr( -2147483648.0) <> Infinity or 7224 floatExpr(-0.0) ** floatExpr( -2147483647.0) <> -Infinity or 7225 floatExpr(-0.0) ** floatExpr( -30.0) <> Infinity or 7226 floatExpr(-0.0) ** floatExpr( -29.0) <> -Infinity or 7227 floatExpr(-0.0) ** floatExpr( -28.0) <> Infinity or 7228 floatExpr(-0.0) ** floatExpr( -27.0) <> -Infinity or 7229 floatExpr(-0.0) ** floatExpr( -26.0) <> Infinity or 7230 floatExpr(-0.0) ** floatExpr( -25.0) <> -Infinity or 7231 floatExpr(-0.0) ** floatExpr( -24.0) <> Infinity or 7232 floatExpr(-0.0) ** floatExpr( -23.0) <> -Infinity or 7233 floatExpr(-0.0) ** floatExpr( -22.0) <> Infinity or 7234 floatExpr(-0.0) ** floatExpr( -21.0) <> -Infinity or 7235 floatExpr(-0.0) ** floatExpr( -20.0) <> Infinity or 7236 floatExpr(-0.0) ** floatExpr( -19.0) <> -Infinity or 7237 floatExpr(-0.0) ** floatExpr( -18.0) <> Infinity or 7238 floatExpr(-0.0) ** floatExpr( -17.0) <> -Infinity or 7239 floatExpr(-0.0) ** floatExpr( -16.0) <> Infinity or 7240 floatExpr(-0.0) ** floatExpr( -15.0) <> -Infinity or 7241 floatExpr(-0.0) ** floatExpr( -14.0) <> Infinity or 7242 floatExpr(-0.0) ** floatExpr( -13.0) <> -Infinity or 7243 floatExpr(-0.0) ** floatExpr( -12.0) <> Infinity or 7244 floatExpr(-0.0) ** floatExpr( -11.0) <> -Infinity or 7245 floatExpr(-0.0) ** floatExpr( -10.0) <> Infinity or 7246 floatExpr(-0.0) ** floatExpr( -9.0) <> -Infinity or 7247 floatExpr(-0.0) ** floatExpr( -8.0) <> Infinity or 7248 floatExpr(-0.0) ** floatExpr( -7.0) <> -Infinity or 7249 floatExpr(-0.0) ** floatExpr( -6.0) <> Infinity or 7250 floatExpr(-0.0) ** floatExpr( -5.0) <> -Infinity or 7251 floatExpr(-0.0) ** floatExpr( -4.0) <> Infinity or 7252 floatExpr(-0.0) ** floatExpr( -3.0) <> -Infinity or 7253 floatExpr(-0.0) ** floatExpr( -2.0) <> Infinity or 7254 floatExpr(-0.0) ** floatExpr( -1.0) <> -Infinity then 7255 writeln(" ***** (-0.0) ** B with negative B does not return Infinity respectively -Infinity."); 7256 okay := FALSE; 7257 end if; 7258 7259 if (-0.0) ** 0.0 <> 1.0 or 7260 not isNegativeZero((-0.0) ** 1.0) or 7261 not isPositiveZero((-0.0) ** 2.0) or 7262 not isNegativeZero((-0.0) ** 3.0) or 7263 not isPositiveZero((-0.0) ** 4.0) or 7264 not isNegativeZero((-0.0) ** 5.0) or 7265 not isPositiveZero((-0.0) ** 6.0) or 7266 not isNegativeZero((-0.0) ** 7.0) or 7267 not isPositiveZero((-0.0) ** 8.0) or 7268 not isNegativeZero((-0.0) ** 9.0) or 7269 not isPositiveZero((-0.0) ** 10.0) or 7270 not isNegativeZero((-0.0) ** 11.0) or 7271 not isPositiveZero((-0.0) ** 12.0) or 7272 not isNegativeZero((-0.0) ** 13.0) or 7273 not isPositiveZero((-0.0) ** 14.0) or 7274 not isNegativeZero((-0.0) ** 15.0) or 7275 not isPositiveZero((-0.0) ** 16.0) or 7276 not isNegativeZero((-0.0) ** 17.0) or 7277 not isPositiveZero((-0.0) ** 18.0) or 7278 not isNegativeZero((-0.0) ** 19.0) or 7279 not isPositiveZero((-0.0) ** 20.0) or 7280 not isNegativeZero((-0.0) ** 21.0) or 7281 not isPositiveZero((-0.0) ** 22.0) or 7282 not isNegativeZero((-0.0) ** 23.0) or 7283 not isPositiveZero((-0.0) ** 24.0) or 7284 not isNegativeZero((-0.0) ** 25.0) or 7285 not isPositiveZero((-0.0) ** 26.0) or 7286 not isNegativeZero((-0.0) ** 27.0) or 7287 not isPositiveZero((-0.0) ** 28.0) or 7288 not isNegativeZero((-0.0) ** 29.0) or 7289 not isPositiveZero((-0.0) ** 30.0) or 7290 not isNegativeZero((-0.0) ** 2147483647.0) or 7291 not isPositiveZero((-0.0) ** 2147483648.0) or 7292 not isNegativeZero((-0.0) ** 2147483649.0) or 7293 not isNegativeZero((-0.0) ** 4294967295.0) or 7294 not isPositiveZero((-0.0) ** 4294967296.0) or 7295 not isNegativeZero((-0.0) ** 4294967297.0) or 7296 not isNegativeZero((-0.0) ** 9007199254740991.0) or 7297 not isPositiveZero((-0.0) ** 9007199254740992.0) or 7298 not isPositiveZero((-0.0) ** 9007199254740993.0) or # Not exactly represented 7299 not isPositiveZero((-0.0) ** 9007199254740994.0) or # Not exactly represented 7300 not isPositiveZero((-0.0) ** Infinity) or 7301 floatExpr(-0.0) ** 0.0 <> 1.0 or 7302 not isNegativeZero(floatExpr(-0.0) ** 1.0) or 7303 not isPositiveZero(floatExpr(-0.0) ** 2.0) or 7304 not isNegativeZero(floatExpr(-0.0) ** 3.0) or 7305 not isPositiveZero(floatExpr(-0.0) ** 4.0) or 7306 not isNegativeZero(floatExpr(-0.0) ** 5.0) or 7307 not isPositiveZero(floatExpr(-0.0) ** 6.0) or 7308 not isNegativeZero(floatExpr(-0.0) ** 7.0) or 7309 not isPositiveZero(floatExpr(-0.0) ** 8.0) or 7310 not isNegativeZero(floatExpr(-0.0) ** 9.0) or 7311 not isPositiveZero(floatExpr(-0.0) ** 10.0) or 7312 not isNegativeZero(floatExpr(-0.0) ** 11.0) or 7313 not isPositiveZero(floatExpr(-0.0) ** 12.0) or 7314 not isNegativeZero(floatExpr(-0.0) ** 13.0) or 7315 not isPositiveZero(floatExpr(-0.0) ** 14.0) or 7316 not isNegativeZero(floatExpr(-0.0) ** 15.0) or 7317 not isPositiveZero(floatExpr(-0.0) ** 16.0) or 7318 not isNegativeZero(floatExpr(-0.0) ** 17.0) or 7319 not isPositiveZero(floatExpr(-0.0) ** 18.0) or 7320 not isNegativeZero(floatExpr(-0.0) ** 19.0) or 7321 not isPositiveZero(floatExpr(-0.0) ** 20.0) or 7322 not isNegativeZero(floatExpr(-0.0) ** 21.0) or 7323 not isPositiveZero(floatExpr(-0.0) ** 22.0) or 7324 not isNegativeZero(floatExpr(-0.0) ** 23.0) or 7325 not isPositiveZero(floatExpr(-0.0) ** 24.0) or 7326 not isNegativeZero(floatExpr(-0.0) ** 25.0) or 7327 not isPositiveZero(floatExpr(-0.0) ** 26.0) or 7328 not isNegativeZero(floatExpr(-0.0) ** 27.0) or 7329 not isPositiveZero(floatExpr(-0.0) ** 28.0) or 7330 not isNegativeZero(floatExpr(-0.0) ** 29.0) or 7331 not isPositiveZero(floatExpr(-0.0) ** 30.0) or 7332 not isNegativeZero(floatExpr(-0.0) ** 2147483647.0) or 7333 not isPositiveZero(floatExpr(-0.0) ** 2147483648.0) or 7334 not isNegativeZero(floatExpr(-0.0) ** 2147483649.0) or 7335 not isNegativeZero(floatExpr(-0.0) ** 4294967295.0) or 7336 not isPositiveZero(floatExpr(-0.0) ** 4294967296.0) or 7337 not isNegativeZero(floatExpr(-0.0) ** 4294967297.0) or 7338 not isNegativeZero(floatExpr(-0.0) ** 9007199254740991.0) or 7339 not isPositiveZero(floatExpr(-0.0) ** 9007199254740992.0) or 7340 not isPositiveZero(floatExpr(-0.0) ** 9007199254740993.0) or # Not exactly represented 7341 not isPositiveZero(floatExpr(-0.0) ** 9007199254740994.0) or # Not exactly represented 7342 not isPositiveZero(floatExpr(-0.0) ** Infinity) or 7343 (-0.0) ** floatExpr( 0.0) <> 1.0 or 7344 not isNegativeZero((-0.0) ** floatExpr( 1.0)) or 7345 not isPositiveZero((-0.0) ** floatExpr( 2.0)) or 7346 not isNegativeZero((-0.0) ** floatExpr( 3.0)) or 7347 not isPositiveZero((-0.0) ** floatExpr( 4.0)) or 7348 not isNegativeZero((-0.0) ** floatExpr( 5.0)) or 7349 not isPositiveZero((-0.0) ** floatExpr( 6.0)) or 7350 not isNegativeZero((-0.0) ** floatExpr( 7.0)) or 7351 not isPositiveZero((-0.0) ** floatExpr( 8.0)) or 7352 not isNegativeZero((-0.0) ** floatExpr( 9.0)) or 7353 not isPositiveZero((-0.0) ** floatExpr( 10.0)) or 7354 not isNegativeZero((-0.0) ** floatExpr( 11.0)) or 7355 not isPositiveZero((-0.0) ** floatExpr( 12.0)) or 7356 not isNegativeZero((-0.0) ** floatExpr( 13.0)) or 7357 not isPositiveZero((-0.0) ** floatExpr( 14.0)) or 7358 not isNegativeZero((-0.0) ** floatExpr( 15.0)) or 7359 not isPositiveZero((-0.0) ** floatExpr( 16.0)) or 7360 not isNegativeZero((-0.0) ** floatExpr( 17.0)) or 7361 not isPositiveZero((-0.0) ** floatExpr( 18.0)) or 7362 not isNegativeZero((-0.0) ** floatExpr( 19.0)) or 7363 not isPositiveZero((-0.0) ** floatExpr( 20.0)) or 7364 not isNegativeZero((-0.0) ** floatExpr( 21.0)) or 7365 not isPositiveZero((-0.0) ** floatExpr( 22.0)) or 7366 not isNegativeZero((-0.0) ** floatExpr( 23.0)) or 7367 not isPositiveZero((-0.0) ** floatExpr( 24.0)) or 7368 not isNegativeZero((-0.0) ** floatExpr( 25.0)) or 7369 not isPositiveZero((-0.0) ** floatExpr( 26.0)) or 7370 not isNegativeZero((-0.0) ** floatExpr( 27.0)) or 7371 not isPositiveZero((-0.0) ** floatExpr( 28.0)) or 7372 not isNegativeZero((-0.0) ** floatExpr( 29.0)) or 7373 not isPositiveZero((-0.0) ** floatExpr( 30.0)) or 7374 not isNegativeZero((-0.0) ** floatExpr( 2147483647.0)) or 7375 not isPositiveZero((-0.0) ** floatExpr( 2147483648.0)) or 7376 not isNegativeZero((-0.0) ** floatExpr( 2147483649.0)) or 7377 not isNegativeZero((-0.0) ** floatExpr( 4294967295.0)) or 7378 not isPositiveZero((-0.0) ** floatExpr( 4294967296.0)) or 7379 not isNegativeZero((-0.0) ** floatExpr( 4294967297.0)) or 7380 not isNegativeZero((-0.0) ** floatExpr(9007199254740991.0)) or 7381 not isPositiveZero((-0.0) ** floatExpr(9007199254740992.0)) or 7382 not isPositiveZero((-0.0) ** floatExpr(9007199254740993.0)) or # Not exactly represented 7383 not isPositiveZero((-0.0) ** floatExpr(9007199254740994.0)) or # Not exactly represented 7384 not isPositiveZero((-0.0) ** floatExpr( Infinity)) or 7385 floatExpr(-0.0) ** floatExpr( 0.0) <> 1.0 or 7386 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 1.0)) or 7387 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 2.0)) or 7388 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 3.0)) or 7389 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 4.0)) or 7390 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 5.0)) or 7391 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 6.0)) or 7392 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 7.0)) or 7393 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 8.0)) or 7394 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 9.0)) or 7395 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 10.0)) or 7396 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 11.0)) or 7397 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 12.0)) or 7398 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 13.0)) or 7399 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 14.0)) or 7400 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 15.0)) or 7401 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 16.0)) or 7402 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 17.0)) or 7403 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 18.0)) or 7404 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 19.0)) or 7405 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 20.0)) or 7406 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 21.0)) or 7407 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 22.0)) or 7408 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 23.0)) or 7409 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 24.0)) or 7410 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 25.0)) or 7411 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 26.0)) or 7412 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 27.0)) or 7413 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 28.0)) or 7414 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 29.0)) or 7415 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 30.0)) or 7416 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 2147483647.0)) or 7417 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 2147483648.0)) or 7418 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 2147483649.0)) or 7419 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 4294967295.0)) or 7420 not isPositiveZero(floatExpr(-0.0) ** floatExpr( 4294967296.0)) or 7421 not isNegativeZero(floatExpr(-0.0) ** floatExpr( 4294967297.0)) or 7422 not isNegativeZero(floatExpr(-0.0) ** floatExpr(9007199254740991.0)) or 7423 not isPositiveZero(floatExpr(-0.0) ** floatExpr(9007199254740992.0)) or 7424 not isPositiveZero(floatExpr(-0.0) ** floatExpr(9007199254740993.0)) or # Not exactly represented 7425 not isPositiveZero(floatExpr(-0.0) ** floatExpr(9007199254740994.0)) or # Not exactly represented 7426 not isPositiveZero(floatExpr(-0.0) ** floatExpr( Infinity)) then 7427 writeln(" ***** (-0.0) ** B with positive B does not return 0.0 respectively -0.0."); 7428 okay := FALSE; 7429 end if; 7430 7431 if 0.0 ** (-Infinity) <> Infinity or 7432 0.0 ** (-9007199254740994.0) <> Infinity or # Not exactly represented 7433 0.0 ** (-9007199254740993.0) <> Infinity or # Not exactly represented 7434 0.0 ** (-9007199254740992.0) <> Infinity or 7435 0.0 ** (-9007199254740991.0) <> Infinity or 7436 0.0 ** (-4294967297.0) <> Infinity or 7437 0.0 ** (-4294967296.0) <> Infinity or 7438 0.0 ** (-4294967295.0) <> Infinity or 7439 0.0 ** (-2147483649.0) <> Infinity or 7440 0.0 ** (-2147483648.0) <> Infinity or 7441 0.0 ** (-2147483647.0) <> Infinity or 7442 0.0 ** (-30.0) <> Infinity or 7443 0.0 ** (-29.0) <> Infinity or 7444 0.0 ** (-28.0) <> Infinity or 7445 0.0 ** (-27.0) <> Infinity or 7446 0.0 ** (-26.0) <> Infinity or 7447 0.0 ** (-25.0) <> Infinity or 7448 0.0 ** (-24.0) <> Infinity or 7449 0.0 ** (-23.0) <> Infinity or 7450 0.0 ** (-22.0) <> Infinity or 7451 0.0 ** (-21.0) <> Infinity or 7452 0.0 ** (-20.0) <> Infinity or 7453 0.0 ** (-19.0) <> Infinity or 7454 0.0 ** (-18.0) <> Infinity or 7455 0.0 ** (-17.0) <> Infinity or 7456 0.0 ** (-16.0) <> Infinity or 7457 0.0 ** (-15.0) <> Infinity or 7458 0.0 ** (-14.0) <> Infinity or 7459 0.0 ** (-13.0) <> Infinity or 7460 0.0 ** (-12.0) <> Infinity or 7461 0.0 ** (-11.0) <> Infinity or 7462 0.0 ** (-10.0) <> Infinity or 7463 0.0 ** (-9.0) <> Infinity or 7464 0.0 ** (-8.0) <> Infinity or 7465 0.0 ** (-7.0) <> Infinity or 7466 0.0 ** (-6.0) <> Infinity or 7467 0.0 ** (-5.0) <> Infinity or 7468 0.0 ** (-4.0) <> Infinity or 7469 0.0 ** (-3.0) <> Infinity or 7470 0.0 ** (-2.0) <> Infinity or 7471 0.0 ** (-1.0) <> Infinity or 7472 floatExpr(0.0) ** (-Infinity) <> Infinity or 7473 floatExpr(0.0) ** (-9007199254740994.0) <> Infinity or # Not exactly represented 7474 floatExpr(0.0) ** (-9007199254740993.0) <> Infinity or # Not exactly represented 7475 floatExpr(0.0) ** (-9007199254740992.0) <> Infinity or 7476 floatExpr(0.0) ** (-9007199254740991.0) <> Infinity or 7477 floatExpr(0.0) ** (-4294967297.0) <> Infinity or 7478 floatExpr(0.0) ** (-4294967296.0) <> Infinity or 7479 floatExpr(0.0) ** (-4294967295.0) <> Infinity or 7480 floatExpr(0.0) ** (-2147483649.0) <> Infinity or 7481 floatExpr(0.0) ** (-2147483648.0) <> Infinity or 7482 floatExpr(0.0) ** (-2147483647.0) <> Infinity or 7483 floatExpr(0.0) ** (-30.0) <> Infinity or 7484 floatExpr(0.0) ** (-29.0) <> Infinity or 7485 floatExpr(0.0) ** (-28.0) <> Infinity or 7486 floatExpr(0.0) ** (-27.0) <> Infinity or 7487 floatExpr(0.0) ** (-26.0) <> Infinity or 7488 floatExpr(0.0) ** (-25.0) <> Infinity or 7489 floatExpr(0.0) ** (-24.0) <> Infinity or 7490 floatExpr(0.0) ** (-23.0) <> Infinity or 7491 floatExpr(0.0) ** (-22.0) <> Infinity or 7492 floatExpr(0.0) ** (-21.0) <> Infinity or 7493 floatExpr(0.0) ** (-20.0) <> Infinity or 7494 floatExpr(0.0) ** (-19.0) <> Infinity or 7495 floatExpr(0.0) ** (-18.0) <> Infinity or 7496 floatExpr(0.0) ** (-17.0) <> Infinity or 7497 floatExpr(0.0) ** (-16.0) <> Infinity or 7498 floatExpr(0.0) ** (-15.0) <> Infinity or 7499 floatExpr(0.0) ** (-14.0) <> Infinity or 7500 floatExpr(0.0) ** (-13.0) <> Infinity or 7501 floatExpr(0.0) ** (-12.0) <> Infinity or 7502 floatExpr(0.0) ** (-11.0) <> Infinity or 7503 floatExpr(0.0) ** (-10.0) <> Infinity or 7504 floatExpr(0.0) ** (-9.0) <> Infinity or 7505 floatExpr(0.0) ** (-8.0) <> Infinity or 7506 floatExpr(0.0) ** (-7.0) <> Infinity or 7507 floatExpr(0.0) ** (-6.0) <> Infinity or 7508 floatExpr(0.0) ** (-5.0) <> Infinity or 7509 floatExpr(0.0) ** (-4.0) <> Infinity or 7510 floatExpr(0.0) ** (-3.0) <> Infinity or 7511 floatExpr(0.0) ** (-2.0) <> Infinity or 7512 floatExpr(0.0) ** (-1.0) <> Infinity or 7513 0.0 ** floatExpr( -Infinity) <> Infinity or 7514 0.0 ** floatExpr(-9007199254740994.0) <> Infinity or # Not exactly represented 7515 0.0 ** floatExpr(-9007199254740993.0) <> Infinity or # Not exactly represented 7516 0.0 ** floatExpr(-9007199254740992.0) <> Infinity or 7517 0.0 ** floatExpr(-9007199254740991.0) <> Infinity or 7518 0.0 ** floatExpr( -4294967297.0) <> Infinity or 7519 0.0 ** floatExpr( -4294967296.0) <> Infinity or 7520 0.0 ** floatExpr( -4294967295.0) <> Infinity or 7521 0.0 ** floatExpr( -2147483649.0) <> Infinity or 7522 0.0 ** floatExpr( -2147483648.0) <> Infinity or 7523 0.0 ** floatExpr( -2147483647.0) <> Infinity or 7524 0.0 ** floatExpr( -30.0) <> Infinity or 7525 0.0 ** floatExpr( -29.0) <> Infinity or 7526 0.0 ** floatExpr( -28.0) <> Infinity or 7527 0.0 ** floatExpr( -27.0) <> Infinity or 7528 0.0 ** floatExpr( -26.0) <> Infinity or 7529 0.0 ** floatExpr( -25.0) <> Infinity or 7530 0.0 ** floatExpr( -24.0) <> Infinity or 7531 0.0 ** floatExpr( -23.0) <> Infinity or 7532 0.0 ** floatExpr( -22.0) <> Infinity or 7533 0.0 ** floatExpr( -21.0) <> Infinity or 7534 0.0 ** floatExpr( -20.0) <> Infinity or 7535 0.0 ** floatExpr( -19.0) <> Infinity or 7536 0.0 ** floatExpr( -18.0) <> Infinity or 7537 0.0 ** floatExpr( -17.0) <> Infinity or 7538 0.0 ** floatExpr( -16.0) <> Infinity or 7539 0.0 ** floatExpr( -15.0) <> Infinity or 7540 0.0 ** floatExpr( -14.0) <> Infinity or 7541 0.0 ** floatExpr( -13.0) <> Infinity or 7542 0.0 ** floatExpr( -12.0) <> Infinity or 7543 0.0 ** floatExpr( -11.0) <> Infinity or 7544 0.0 ** floatExpr( -10.0) <> Infinity or 7545 0.0 ** floatExpr( -9.0) <> Infinity or 7546 0.0 ** floatExpr( -8.0) <> Infinity or 7547 0.0 ** floatExpr( -7.0) <> Infinity or 7548 0.0 ** floatExpr( -6.0) <> Infinity or 7549 0.0 ** floatExpr( -5.0) <> Infinity or 7550 0.0 ** floatExpr( -4.0) <> Infinity or 7551 0.0 ** floatExpr( -3.0) <> Infinity or 7552 0.0 ** floatExpr( -2.0) <> Infinity or 7553 0.0 ** floatExpr( -1.0) <> Infinity or 7554 floatExpr(0.0) ** floatExpr( -Infinity) <> Infinity or 7555 floatExpr(0.0) ** floatExpr(-9007199254740994.0) <> Infinity or # Not exactly represented 7556 floatExpr(0.0) ** floatExpr(-9007199254740993.0) <> Infinity or # Not exactly represented 7557 floatExpr(0.0) ** floatExpr(-9007199254740992.0) <> Infinity or 7558 floatExpr(0.0) ** floatExpr(-9007199254740991.0) <> Infinity or 7559 floatExpr(0.0) ** floatExpr( -4294967297.0) <> Infinity or 7560 floatExpr(0.0) ** floatExpr( -4294967296.0) <> Infinity or 7561 floatExpr(0.0) ** floatExpr( -4294967295.0) <> Infinity or 7562 floatExpr(0.0) ** floatExpr( -2147483649.0) <> Infinity or 7563 floatExpr(0.0) ** floatExpr( -2147483648.0) <> Infinity or 7564 floatExpr(0.0) ** floatExpr( -2147483647.0) <> Infinity or 7565 floatExpr(0.0) ** floatExpr( -30.0) <> Infinity or 7566 floatExpr(0.0) ** floatExpr( -29.0) <> Infinity or 7567 floatExpr(0.0) ** floatExpr( -28.0) <> Infinity or 7568 floatExpr(0.0) ** floatExpr( -27.0) <> Infinity or 7569 floatExpr(0.0) ** floatExpr( -26.0) <> Infinity or 7570 floatExpr(0.0) ** floatExpr( -25.0) <> Infinity or 7571 floatExpr(0.0) ** floatExpr( -24.0) <> Infinity or 7572 floatExpr(0.0) ** floatExpr( -23.0) <> Infinity or 7573 floatExpr(0.0) ** floatExpr( -22.0) <> Infinity or 7574 floatExpr(0.0) ** floatExpr( -21.0) <> Infinity or 7575 floatExpr(0.0) ** floatExpr( -20.0) <> Infinity or 7576 floatExpr(0.0) ** floatExpr( -19.0) <> Infinity or 7577 floatExpr(0.0) ** floatExpr( -18.0) <> Infinity or 7578 floatExpr(0.0) ** floatExpr( -17.0) <> Infinity or 7579 floatExpr(0.0) ** floatExpr( -16.0) <> Infinity or 7580 floatExpr(0.0) ** floatExpr( -15.0) <> Infinity or 7581 floatExpr(0.0) ** floatExpr( -14.0) <> Infinity or 7582 floatExpr(0.0) ** floatExpr( -13.0) <> Infinity or 7583 floatExpr(0.0) ** floatExpr( -12.0) <> Infinity or 7584 floatExpr(0.0) ** floatExpr( -11.0) <> Infinity or 7585 floatExpr(0.0) ** floatExpr( -10.0) <> Infinity or 7586 floatExpr(0.0) ** floatExpr( -9.0) <> Infinity or 7587 floatExpr(0.0) ** floatExpr( -8.0) <> Infinity or 7588 floatExpr(0.0) ** floatExpr( -7.0) <> Infinity or 7589 floatExpr(0.0) ** floatExpr( -6.0) <> Infinity or 7590 floatExpr(0.0) ** floatExpr( -5.0) <> Infinity or 7591 floatExpr(0.0) ** floatExpr( -4.0) <> Infinity or 7592 floatExpr(0.0) ** floatExpr( -3.0) <> Infinity or 7593 floatExpr(0.0) ** floatExpr( -2.0) <> Infinity or 7594 floatExpr(0.0) ** floatExpr( -1.0) <> Infinity then 7595 writeln(" ***** 0.0 ** B with negative B does not return Infinity."); 7596 okay := FALSE; 7597 end if; 7598 7599 if 0.0 ** 0.0 <> 1.0 or 7600 not isPositiveZero(0.0 ** 1.0) or 7601 not isPositiveZero(0.0 ** 2.0) or 7602 not isPositiveZero(0.0 ** 3.0) or 7603 not isPositiveZero(0.0 ** 4.0) or 7604 not isPositiveZero(0.0 ** 5.0) or 7605 not isPositiveZero(0.0 ** 6.0) or 7606 not isPositiveZero(0.0 ** 7.0) or 7607 not isPositiveZero(0.0 ** 8.0) or 7608 not isPositiveZero(0.0 ** 9.0) or 7609 not isPositiveZero(0.0 ** 10.0) or 7610 not isPositiveZero(0.0 ** 11.0) or 7611 not isPositiveZero(0.0 ** 12.0) or 7612 not isPositiveZero(0.0 ** 13.0) or 7613 not isPositiveZero(0.0 ** 14.0) or 7614 not isPositiveZero(0.0 ** 15.0) or 7615 not isPositiveZero(0.0 ** 16.0) or 7616 not isPositiveZero(0.0 ** 17.0) or 7617 not isPositiveZero(0.0 ** 18.0) or 7618 not isPositiveZero(0.0 ** 19.0) or 7619 not isPositiveZero(0.0 ** 20.0) or 7620 not isPositiveZero(0.0 ** 21.0) or 7621 not isPositiveZero(0.0 ** 22.0) or 7622 not isPositiveZero(0.0 ** 23.0) or 7623 not isPositiveZero(0.0 ** 24.0) or 7624 not isPositiveZero(0.0 ** 25.0) or 7625 not isPositiveZero(0.0 ** 26.0) or 7626 not isPositiveZero(0.0 ** 27.0) or 7627 not isPositiveZero(0.0 ** 28.0) or 7628 not isPositiveZero(0.0 ** 29.0) or 7629 not isPositiveZero(0.0 ** 30.0) or 7630 not isPositiveZero(0.0 ** 2147483647.0) or 7631 not isPositiveZero(0.0 ** 2147483648.0) or 7632 not isPositiveZero(0.0 ** 2147483649.0) or 7633 not isPositiveZero(0.0 ** 4294967295.0) or 7634 not isPositiveZero(0.0 ** 4294967296.0) or 7635 not isPositiveZero(0.0 ** 4294967297.0) or 7636 not isPositiveZero(0.0 ** 9007199254740991.0) or 7637 not isPositiveZero(0.0 ** 9007199254740992.0) or 7638 not isPositiveZero(0.0 ** 9007199254740993.0) or # Not exactly represented 7639 not isPositiveZero(0.0 ** 9007199254740994.0) or # Not exactly represented 7640 not isPositiveZero(0.0 ** Infinity) or 7641 floatExpr(0.0) ** 0.0 <> 1.0 or 7642 not isPositiveZero(floatExpr(0.0) ** 1.0) or 7643 not isPositiveZero(floatExpr(0.0) ** 2.0) or 7644 not isPositiveZero(floatExpr(0.0) ** 3.0) or 7645 not isPositiveZero(floatExpr(0.0) ** 4.0) or 7646 not isPositiveZero(floatExpr(0.0) ** 5.0) or 7647 not isPositiveZero(floatExpr(0.0) ** 6.0) or 7648 not isPositiveZero(floatExpr(0.0) ** 7.0) or 7649 not isPositiveZero(floatExpr(0.0) ** 8.0) or 7650 not isPositiveZero(floatExpr(0.0) ** 9.0) or 7651 not isPositiveZero(floatExpr(0.0) ** 10.0) or 7652 not isPositiveZero(floatExpr(0.0) ** 11.0) or 7653 not isPositiveZero(floatExpr(0.0) ** 12.0) or 7654 not isPositiveZero(floatExpr(0.0) ** 13.0) or 7655 not isPositiveZero(floatExpr(0.0) ** 14.0) or 7656 not isPositiveZero(floatExpr(0.0) ** 15.0) or 7657 not isPositiveZero(floatExpr(0.0) ** 16.0) or 7658 not isPositiveZero(floatExpr(0.0) ** 17.0) or 7659 not isPositiveZero(floatExpr(0.0) ** 18.0) or 7660 not isPositiveZero(floatExpr(0.0) ** 19.0) or 7661 not isPositiveZero(floatExpr(0.0) ** 20.0) or 7662 not isPositiveZero(floatExpr(0.0) ** 21.0) or 7663 not isPositiveZero(floatExpr(0.0) ** 22.0) or 7664 not isPositiveZero(floatExpr(0.0) ** 23.0) or 7665 not isPositiveZero(floatExpr(0.0) ** 24.0) or 7666 not isPositiveZero(floatExpr(0.0) ** 25.0) or 7667 not isPositiveZero(floatExpr(0.0) ** 26.0) or 7668 not isPositiveZero(floatExpr(0.0) ** 27.0) or 7669 not isPositiveZero(floatExpr(0.0) ** 28.0) or 7670 not isPositiveZero(floatExpr(0.0) ** 29.0) or 7671 not isPositiveZero(floatExpr(0.0) ** 30.0) or 7672 not isPositiveZero(floatExpr(0.0) ** 2147483647.0) or 7673 not isPositiveZero(floatExpr(0.0) ** 2147483648.0) or 7674 not isPositiveZero(floatExpr(0.0) ** 2147483649.0) or 7675 not isPositiveZero(floatExpr(0.0) ** 4294967295.0) or 7676 not isPositiveZero(floatExpr(0.0) ** 4294967296.0) or 7677 not isPositiveZero(floatExpr(0.0) ** 4294967297.0) or 7678 not isPositiveZero(floatExpr(0.0) ** 9007199254740991.0) or 7679 not isPositiveZero(floatExpr(0.0) ** 9007199254740992.0) or 7680 not isPositiveZero(floatExpr(0.0) ** 9007199254740993.0) or # Not exactly represented 7681 not isPositiveZero(floatExpr(0.0) ** 9007199254740994.0) or # Not exactly represented 7682 not isPositiveZero(floatExpr(0.0) ** Infinity) or 7683 0.0 ** floatExpr( 0.0) <> 1.0 or 7684 not isPositiveZero(0.0 ** floatExpr( 1.0)) or 7685 not isPositiveZero(0.0 ** floatExpr( 2.0)) or 7686 not isPositiveZero(0.0 ** floatExpr( 3.0)) or 7687 not isPositiveZero(0.0 ** floatExpr( 4.0)) or 7688 not isPositiveZero(0.0 ** floatExpr( 5.0)) or 7689 not isPositiveZero(0.0 ** floatExpr( 6.0)) or 7690 not isPositiveZero(0.0 ** floatExpr( 7.0)) or 7691 not isPositiveZero(0.0 ** floatExpr( 8.0)) or 7692 not isPositiveZero(0.0 ** floatExpr( 9.0)) or 7693 not isPositiveZero(0.0 ** floatExpr( 10.0)) or 7694 not isPositiveZero(0.0 ** floatExpr( 11.0)) or 7695 not isPositiveZero(0.0 ** floatExpr( 12.0)) or 7696 not isPositiveZero(0.0 ** floatExpr( 13.0)) or 7697 not isPositiveZero(0.0 ** floatExpr( 14.0)) or 7698 not isPositiveZero(0.0 ** floatExpr( 15.0)) or 7699 not isPositiveZero(0.0 ** floatExpr( 16.0)) or 7700 not isPositiveZero(0.0 ** floatExpr( 17.0)) or 7701 not isPositiveZero(0.0 ** floatExpr( 18.0)) or 7702 not isPositiveZero(0.0 ** floatExpr( 19.0)) or 7703 not isPositiveZero(0.0 ** floatExpr( 20.0)) or 7704 not isPositiveZero(0.0 ** floatExpr( 21.0)) or 7705 not isPositiveZero(0.0 ** floatExpr( 22.0)) or 7706 not isPositiveZero(0.0 ** floatExpr( 23.0)) or 7707 not isPositiveZero(0.0 ** floatExpr( 24.0)) or 7708 not isPositiveZero(0.0 ** floatExpr( 25.0)) or 7709 not isPositiveZero(0.0 ** floatExpr( 26.0)) or 7710 not isPositiveZero(0.0 ** floatExpr( 27.0)) or 7711 not isPositiveZero(0.0 ** floatExpr( 28.0)) or 7712 not isPositiveZero(0.0 ** floatExpr( 29.0)) or 7713 not isPositiveZero(0.0 ** floatExpr( 30.0)) or 7714 not isPositiveZero(0.0 ** floatExpr( 2147483647.0)) or 7715 not isPositiveZero(0.0 ** floatExpr( 2147483648.0)) or 7716 not isPositiveZero(0.0 ** floatExpr( 2147483649.0)) or 7717 not isPositiveZero(0.0 ** floatExpr( 4294967295.0)) or 7718 not isPositiveZero(0.0 ** floatExpr( 4294967296.0)) or 7719 not isPositiveZero(0.0 ** floatExpr( 4294967297.0)) or 7720 not isPositiveZero(0.0 ** floatExpr(9007199254740991.0)) or 7721 not isPositiveZero(0.0 ** floatExpr(9007199254740992.0)) or 7722 not isPositiveZero(0.0 ** floatExpr(9007199254740993.0)) or # Not exactly represented 7723 not isPositiveZero(0.0 ** floatExpr(9007199254740994.0)) or # Not exactly represented 7724 not isPositiveZero(0.0 ** floatExpr( Infinity)) or 7725 floatExpr(0.0) ** floatExpr( 0.0) <> 1.0 or 7726 not isPositiveZero(floatExpr(0.0) ** floatExpr( 1.0)) or 7727 not isPositiveZero(floatExpr(0.0) ** floatExpr( 2.0)) or 7728 not isPositiveZero(floatExpr(0.0) ** floatExpr( 3.0)) or 7729 not isPositiveZero(floatExpr(0.0) ** floatExpr( 4.0)) or 7730 not isPositiveZero(floatExpr(0.0) ** floatExpr( 5.0)) or 7731 not isPositiveZero(floatExpr(0.0) ** floatExpr( 6.0)) or 7732 not isPositiveZero(floatExpr(0.0) ** floatExpr( 7.0)) or 7733 not isPositiveZero(floatExpr(0.0) ** floatExpr( 8.0)) or 7734 not isPositiveZero(floatExpr(0.0) ** floatExpr( 9.0)) or 7735 not isPositiveZero(floatExpr(0.0) ** floatExpr( 10.0)) or 7736 not isPositiveZero(floatExpr(0.0) ** floatExpr( 11.0)) or 7737 not isPositiveZero(floatExpr(0.0) ** floatExpr( 12.0)) or 7738 not isPositiveZero(floatExpr(0.0) ** floatExpr( 13.0)) or 7739 not isPositiveZero(floatExpr(0.0) ** floatExpr( 14.0)) or 7740 not isPositiveZero(floatExpr(0.0) ** floatExpr( 15.0)) or 7741 not isPositiveZero(floatExpr(0.0) ** floatExpr( 16.0)) or 7742 not isPositiveZero(floatExpr(0.0) ** floatExpr( 17.0)) or 7743 not isPositiveZero(floatExpr(0.0) ** floatExpr( 18.0)) or 7744 not isPositiveZero(floatExpr(0.0) ** floatExpr( 19.0)) or 7745 not isPositiveZero(floatExpr(0.0) ** floatExpr( 20.0)) or 7746 not isPositiveZero(floatExpr(0.0) ** floatExpr( 21.0)) or 7747 not isPositiveZero(floatExpr(0.0) ** floatExpr( 22.0)) or 7748 not isPositiveZero(floatExpr(0.0) ** floatExpr( 23.0)) or 7749 not isPositiveZero(floatExpr(0.0) ** floatExpr( 24.0)) or 7750 not isPositiveZero(floatExpr(0.0) ** floatExpr( 25.0)) or 7751 not isPositiveZero(floatExpr(0.0) ** floatExpr( 26.0)) or 7752 not isPositiveZero(floatExpr(0.0) ** floatExpr( 27.0)) or 7753 not isPositiveZero(floatExpr(0.0) ** floatExpr( 28.0)) or 7754 not isPositiveZero(floatExpr(0.0) ** floatExpr( 29.0)) or 7755 not isPositiveZero(floatExpr(0.0) ** floatExpr( 30.0)) or 7756 not isPositiveZero(floatExpr(0.0) ** floatExpr( 2147483647.0)) or 7757 not isPositiveZero(floatExpr(0.0) ** floatExpr( 2147483648.0)) or 7758 not isPositiveZero(floatExpr(0.0) ** floatExpr( 2147483649.0)) or 7759 not isPositiveZero(floatExpr(0.0) ** floatExpr( 4294967295.0)) or 7760 not isPositiveZero(floatExpr(0.0) ** floatExpr( 4294967296.0)) or 7761 not isPositiveZero(floatExpr(0.0) ** floatExpr( 4294967297.0)) or 7762 not isPositiveZero(floatExpr(0.0) ** floatExpr(9007199254740991.0)) or 7763 not isPositiveZero(floatExpr(0.0) ** floatExpr(9007199254740992.0)) or 7764 not isPositiveZero(floatExpr(0.0) ** floatExpr(9007199254740993.0)) or # Not exactly represented 7765 not isPositiveZero(floatExpr(0.0) ** floatExpr(9007199254740994.0)) or # Not exactly represented 7766 not isPositiveZero(floatExpr(0.0) ** floatExpr( Infinity)) then 7767 writeln(" ***** 0.0 ** B with positive B does not return 0.0."); 7768 okay := FALSE; 7769 end if; 7770 7771 if (-0.0) ** (-3.0) <> -Infinity or 7772 (-0.0) ** minusThree <> -Infinity or 7773 (-0.0) ** (-2.5) <> Infinity or 7774 (-0.0) ** (-2.0) <> Infinity or 7775 (-0.0) ** minusTwo <> Infinity or 7776 (-0.0) ** (-1.5) <> Infinity or 7777 (-0.0) ** (-1.0) <> -Infinity or 7778 (-0.0) ** minusOne <> -Infinity or 7779 (-0.0) ** (-0.5) <> Infinity or 7780 minusZero ** (-3.0) <> -Infinity or 7781 minusZero ** minusThree <> -Infinity or 7782 minusZero ** (-2.5) <> Infinity or 7783 minusZero ** (-2.0) <> Infinity or 7784 minusZero ** minusTwo <> Infinity or 7785 minusZero ** (-1.5) <> Infinity or 7786 minusZero ** (-1.0) <> -Infinity or 7787 minusZero ** minusOne <> -Infinity or 7788 minusZero ** (-0.5) <> Infinity or 7789 0.0 ** (-3.0) <> Infinity or 7790 0.0 ** minusThree <> Infinity or 7791 0.0 ** (-2.5) <> Infinity or 7792 0.0 ** (-2.0) <> Infinity or 7793 0.0 ** minusTwo <> Infinity or 7794 0.0 ** (-1.5) <> Infinity or 7795 0.0 ** (-1.0) <> Infinity or 7796 0.0 ** minusOne <> Infinity or 7797 0.0 ** (-0.5) <> Infinity or 7798 floatExpr( -0.0) ** (-3.0) <> -Infinity or 7799 floatExpr( -0.0) ** minusThree <> -Infinity or 7800 floatExpr( -0.0) ** (-2.5) <> Infinity or 7801 floatExpr( -0.0) ** (-2.0) <> Infinity or 7802 floatExpr( -0.0) ** minusTwo <> Infinity or 7803 floatExpr( -0.0) ** (-1.5) <> Infinity or 7804 floatExpr( -0.0) ** (-1.0) <> -Infinity or 7805 floatExpr( -0.0) ** minusOne <> -Infinity or 7806 floatExpr( -0.0) ** (-0.5) <> Infinity or 7807 floatExpr(minusZero) ** (-3.0) <> -Infinity or 7808 floatExpr(minusZero) ** minusThree <> -Infinity or 7809 floatExpr(minusZero) ** (-2.5) <> Infinity or 7810 floatExpr(minusZero) ** (-2.0) <> Infinity or 7811 floatExpr(minusZero) ** minusTwo <> Infinity or 7812 floatExpr(minusZero) ** (-1.5) <> Infinity or 7813 floatExpr(minusZero) ** (-1.0) <> -Infinity or 7814 floatExpr(minusZero) ** minusOne <> -Infinity or 7815 floatExpr(minusZero) ** (-0.5) <> Infinity or 7816 floatExpr( 0.0) ** (-3.0) <> Infinity or 7817 floatExpr( 0.0) ** minusThree <> Infinity or 7818 floatExpr( 0.0) ** (-2.5) <> Infinity or 7819 floatExpr( 0.0) ** (-2.0) <> Infinity or 7820 floatExpr( 0.0) ** minusTwo <> Infinity or 7821 floatExpr( 0.0) ** (-1.5) <> Infinity or 7822 floatExpr( 0.0) ** (-1.0) <> Infinity or 7823 floatExpr( 0.0) ** minusOne <> Infinity or 7824 floatExpr( 0.0) ** (-0.5) <> Infinity or 7825 (-0.0) ** floatExpr( -3.0) <> -Infinity or 7826 (-0.0) ** floatExpr(minusThree) <> -Infinity or 7827 (-0.0) ** floatExpr( -2.5) <> Infinity or 7828 (-0.0) ** floatExpr( -2.0) <> Infinity or 7829 (-0.0) ** floatExpr( minusTwo) <> Infinity or 7830 (-0.0) ** floatExpr( -1.5) <> Infinity or 7831 (-0.0) ** floatExpr( -1.0) <> -Infinity or 7832 (-0.0) ** floatExpr( minusOne) <> -Infinity or 7833 (-0.0) ** floatExpr( -0.5) <> Infinity or 7834 minusZero ** floatExpr( -3.0) <> -Infinity or 7835 minusZero ** floatExpr(minusThree) <> -Infinity or 7836 minusZero ** floatExpr( -2.5) <> Infinity or 7837 minusZero ** floatExpr( -2.0) <> Infinity or 7838 minusZero ** floatExpr( minusTwo) <> Infinity or 7839 minusZero ** floatExpr( -1.5) <> Infinity or 7840 minusZero ** floatExpr( -1.0) <> -Infinity or 7841 minusZero ** floatExpr( minusOne) <> -Infinity or 7842 minusZero ** floatExpr( -0.5) <> Infinity or 7843 0.0 ** floatExpr( -3.0) <> Infinity or 7844 0.0 ** floatExpr(minusThree) <> Infinity or 7845 0.0 ** floatExpr( -2.5) <> Infinity or 7846 0.0 ** floatExpr( -2.0) <> Infinity or 7847 0.0 ** floatExpr( minusTwo) <> Infinity or 7848 0.0 ** floatExpr( -1.5) <> Infinity or 7849 0.0 ** floatExpr( -1.0) <> Infinity or 7850 0.0 ** floatExpr( minusOne) <> Infinity or 7851 0.0 ** floatExpr( -0.5) <> Infinity or 7852 floatExpr( -0.0) ** floatExpr( -3.0) <> -Infinity or 7853 floatExpr( -0.0) ** floatExpr(minusThree) <> -Infinity or 7854 floatExpr( -0.0) ** floatExpr( -2.5) <> Infinity or 7855 floatExpr( -0.0) ** floatExpr( -2.0) <> Infinity or 7856 floatExpr( -0.0) ** floatExpr( minusTwo) <> Infinity or 7857 floatExpr( -0.0) ** floatExpr( -1.5) <> Infinity or 7858 floatExpr( -0.0) ** floatExpr( -1.0) <> -Infinity or 7859 floatExpr( -0.0) ** floatExpr( minusOne) <> -Infinity or 7860 floatExpr( -0.0) ** floatExpr( -0.5) <> Infinity or 7861 floatExpr(minusZero) ** floatExpr( -3.0) <> -Infinity or 7862 floatExpr(minusZero) ** floatExpr(minusThree) <> -Infinity or 7863 floatExpr(minusZero) ** floatExpr( -2.5) <> Infinity or 7864 floatExpr(minusZero) ** floatExpr( -2.0) <> Infinity or 7865 floatExpr(minusZero) ** floatExpr( minusTwo) <> Infinity or 7866 floatExpr(minusZero) ** floatExpr( -1.5) <> Infinity or 7867 floatExpr(minusZero) ** floatExpr( -1.0) <> -Infinity or 7868 floatExpr(minusZero) ** floatExpr( minusOne) <> -Infinity or 7869 floatExpr(minusZero) ** floatExpr( -0.5) <> Infinity or 7870 floatExpr( 0.0) ** floatExpr( -3.0) <> Infinity or 7871 floatExpr( 0.0) ** floatExpr(minusThree) <> Infinity or 7872 floatExpr( 0.0) ** floatExpr( -2.5) <> Infinity or 7873 floatExpr( 0.0) ** floatExpr( -2.0) <> Infinity or 7874 floatExpr( 0.0) ** floatExpr( minusTwo) <> Infinity or 7875 floatExpr( 0.0) ** floatExpr( -1.5) <> Infinity or 7876 floatExpr( 0.0) ** floatExpr( -1.0) <> Infinity or 7877 floatExpr( 0.0) ** floatExpr( minusOne) <> Infinity or 7878 floatExpr( 0.0) ** floatExpr( -0.5) <> Infinity then 7879 writeln(" ***** Power of 0.0 with selected negative exponents does not return Infinity."); 7880 okay := FALSE; 7881 end if; 7882 7883 if 0.0 ** 0.5 <> 0.0 or 7884 0.0625 ** 0.5 <> 0.25 or 7885 0.25 ** 0.5 <> 0.5 or 7886 1.0 ** 0.5 <> 1.0 or 7887 4.0 ** 0.5 <> 2.0 or 7888 9.0 ** 0.5 <> 3.0 or 7889 16.0 ** 0.5 <> 4.0 or 7890 100.0 ** 0.5 <> 10.0 or 7891 floatExpr( 0.0 ) ** 0.5 <> 0.0 or 7892 floatExpr( 0.0625) ** 0.5 <> 0.25 or 7893 floatExpr( 0.25 ) ** 0.5 <> 0.5 or 7894 floatExpr( 1.0 ) ** 0.5 <> 1.0 or 7895 floatExpr( 4.0 ) ** 0.5 <> 2.0 or 7896 floatExpr( 9.0 ) ** 0.5 <> 3.0 or 7897 floatExpr( 16.0 ) ** 0.5 <> 4.0 or 7898 floatExpr(100.0 ) ** 0.5 <> 10.0 or 7899 0.0 ** floatExpr(0.5) <> 0.0 or 7900 0.0625 ** floatExpr(0.5) <> 0.25 or 7901 0.25 ** floatExpr(0.5) <> 0.5 or 7902 1.0 ** floatExpr(0.5) <> 1.0 or 7903 4.0 ** floatExpr(0.5) <> 2.0 or 7904 9.0 ** floatExpr(0.5) <> 3.0 or 7905 16.0 ** floatExpr(0.5) <> 4.0 or 7906 100.0 ** floatExpr(0.5) <> 10.0 or 7907 floatExpr( 0.0 ) ** floatExpr(0.5) <> 0.0 or 7908 floatExpr( 0.0625) ** floatExpr(0.5) <> 0.25 or 7909 floatExpr( 0.25 ) ** floatExpr(0.5) <> 0.5 or 7910 floatExpr( 1.0 ) ** floatExpr(0.5) <> 1.0 or 7911 floatExpr( 4.0 ) ** floatExpr(0.5) <> 2.0 or 7912 floatExpr( 9.0 ) ** floatExpr(0.5) <> 3.0 or 7913 floatExpr( 16.0 ) ** floatExpr(0.5) <> 4.0 or 7914 floatExpr(100.0 ) ** floatExpr(0.5) <> 10.0 then 7915 writeln(" ***** A ** 0.5 does not work correct."); 7916 okay := FALSE; 7917 end if; 7918 7919 if 1.0 ** (-Infinity) <> 1.0 or 7920 1.0 ** (-9007199254740994.0) <> 1.0 or 7921 1.0 ** (-9007199254740993.0) <> 1.0 or 7922 1.0 ** (-9007199254740992.0) <> 1.0 or 7923 1.0 ** (-9007199254740991.0) <> 1.0 or 7924 1.0 ** (-2147483649.0) <> 1.0 or 7925 1.0 ** (-2147483648.0) <> 1.0 or 7926 1.0 ** (-2.0) <> 1.0 or 7927 1.0 ** (-1.0) <> 1.0 or 7928 1.0 ** 0.0 <> 1.0 or 7929 1.0 ** 1.0 <> 1.0 or 7930 1.0 ** 2.0 <> 1.0 or 7931 1.0 ** 2147483647.0 <> 1.0 or 7932 1.0 ** 2147483648.0 <> 1.0 or 7933 1.0 ** 9007199254740991.0 <> 1.0 or 7934 1.0 ** 9007199254740992.0 <> 1.0 or 7935 1.0 ** 9007199254740993.0 <> 1.0 or 7936 1.0 ** 9007199254740994.0 <> 1.0 or 7937 1.0 ** Infinity <> 1.0 or 7938 floatExpr(1.0) ** (-Infinity) <> 1.0 or 7939 floatExpr(1.0) ** (-9007199254740994.0) <> 1.0 or 7940 floatExpr(1.0) ** (-9007199254740993.0) <> 1.0 or 7941 floatExpr(1.0) ** (-9007199254740992.0) <> 1.0 or 7942 floatExpr(1.0) ** (-9007199254740991.0) <> 1.0 or 7943 floatExpr(1.0) ** (-2147483649.0) <> 1.0 or 7944 floatExpr(1.0) ** (-2147483648.0) <> 1.0 or 7945 floatExpr(1.0) ** (-2.0) <> 1.0 or 7946 floatExpr(1.0) ** (-1.0) <> 1.0 or 7947 floatExpr(1.0) ** 0.0 <> 1.0 or 7948 floatExpr(1.0) ** 1.0 <> 1.0 or 7949 floatExpr(1.0) ** 2.0 <> 1.0 or 7950 floatExpr(1.0) ** 2147483647.0 <> 1.0 or 7951 floatExpr(1.0) ** 2147483648.0 <> 1.0 or 7952 floatExpr(1.0) ** 9007199254740991.0 <> 1.0 or 7953 floatExpr(1.0) ** 9007199254740992.0 <> 1.0 or 7954 floatExpr(1.0) ** 9007199254740993.0 <> 1.0 or 7955 floatExpr(1.0) ** 9007199254740994.0 <> 1.0 or 7956 floatExpr(1.0) ** Infinity <> 1.0 or 7957 1.0 ** floatExpr( -Infinity) <> 1.0 or 7958 1.0 ** floatExpr(-9007199254740994.0) <> 1.0 or 7959 1.0 ** floatExpr(-9007199254740993.0) <> 1.0 or 7960 1.0 ** floatExpr(-9007199254740992.0) <> 1.0 or 7961 1.0 ** floatExpr(-9007199254740991.0) <> 1.0 or 7962 1.0 ** floatExpr( -2147483649.0) <> 1.0 or 7963 1.0 ** floatExpr( -2147483648.0) <> 1.0 or 7964 1.0 ** floatExpr( -2.0) <> 1.0 or 7965 1.0 ** floatExpr( -1.0) <> 1.0 or 7966 1.0 ** floatExpr( 0.0) <> 1.0 or 7967 1.0 ** floatExpr( 1.0) <> 1.0 or 7968 1.0 ** floatExpr( 2.0) <> 1.0 or 7969 1.0 ** floatExpr( 2147483647.0) <> 1.0 or 7970 1.0 ** floatExpr( 2147483648.0) <> 1.0 or 7971 1.0 ** floatExpr( 9007199254740991.0) <> 1.0 or 7972 1.0 ** floatExpr( 9007199254740992.0) <> 1.0 or 7973 1.0 ** floatExpr( 9007199254740993.0) <> 1.0 or 7974 1.0 ** floatExpr( 9007199254740994.0) <> 1.0 or 7975 1.0 ** floatExpr( Infinity) <> 1.0 or 7976 floatExpr(1.0) ** floatExpr( -Infinity) <> 1.0 or 7977 floatExpr(1.0) ** floatExpr(-9007199254740994.0) <> 1.0 or 7978 floatExpr(1.0) ** floatExpr(-9007199254740993.0) <> 1.0 or 7979 floatExpr(1.0) ** floatExpr(-9007199254740992.0) <> 1.0 or 7980 floatExpr(1.0) ** floatExpr(-9007199254740991.0) <> 1.0 or 7981 floatExpr(1.0) ** floatExpr( -2147483649.0) <> 1.0 or 7982 floatExpr(1.0) ** floatExpr( -2147483648.0) <> 1.0 or 7983 floatExpr(1.0) ** floatExpr( -2.0) <> 1.0 or 7984 floatExpr(1.0) ** floatExpr( -1.0) <> 1.0 or 7985 floatExpr(1.0) ** floatExpr( 0.0) <> 1.0 or 7986 floatExpr(1.0) ** floatExpr( 1.0) <> 1.0 or 7987 floatExpr(1.0) ** floatExpr( 2.0) <> 1.0 or 7988 floatExpr(1.0) ** floatExpr( 2147483647.0) <> 1.0 or 7989 floatExpr(1.0) ** floatExpr( 2147483648.0) <> 1.0 or 7990 floatExpr(1.0) ** floatExpr( 9007199254740991.0) <> 1.0 or 7991 floatExpr(1.0) ** floatExpr( 9007199254740992.0) <> 1.0 or 7992 floatExpr(1.0) ** floatExpr( 9007199254740993.0) <> 1.0 or 7993 floatExpr(1.0) ** floatExpr( 9007199254740994.0) <> 1.0 or 7994 floatExpr(1.0) ** floatExpr( Infinity) <> 1.0 then 7995 writeln(" ***** 1.0 ** B does not return 1.0."); 7996 okay := FALSE; 7997 end if; 7998 7999 if 2.0 ** (-Infinity) <> 0.0 or 8000 2.0 ** (-9007199254740994.0) <> 0.0 or 8001 2.0 ** (-9007199254740993.0) <> 0.0 or 8002 2.0 ** (-9007199254740992.0) <> 0.0 or 8003 2.0 ** (-9007199254740991.0) <> 0.0 or 8004 2.0 ** (-2147483649.0) <> 0.0 or 8005 2.0 ** (-2147483648.0) <> 0.0 or 8006 2.0 ** (-1000.0) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 8007 2.0 ** ( -500.0) <> 3.0549363634996046820519793932136176997894027405723266638936139092812916265247204577018572351080152282568751526935904671553178534278042839697351331142009178896307244205337728522220355888195318837008165086679301794879136633899370525163649789227021200352450820912190874482021196014946372110934030798550767828365183620409339937395998276770114898681640625e-151 or 8008 2.0 ** ( -200.0) <> 6.2230152778611417071440640537801242405902521687211671331011166147896988340353834411839448231257136169569665895551224821247160434722900390625e-61 or 8009 2.0 ** ( -100.0) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 8010 2.0 ** ( -50.0) <> 8.8817841970012523233890533447265625e-16 or 8011 2.0 ** ( -20.0) <> 9.5367431640625e-7 or 8012 2.0 ** ( -10.0) <> 9.765625e-4 or 8013 2.0 ** ( -5.0) <> 3.125e-2 or 8014 2.0 ** ( -2.0) <> 0.25 or 8015 2.0 ** ( -1.0) <> 0.5 or 8016 2.0 ** 0.0 <> 1.0 or 8017 2.0 ** 1.0 <> 2.0 or 8018 2.0 ** 2.0 <> 4.0 or 8019 2.0 ** 5.0 <> 3.2e1 or 8020 2.0 ** 10.0 <> 1.024e3 or 8021 2.0 ** 20.0 <> 1.048576e6 or 8022 2.0 ** 50.0 <> 1.125899906842624e15 or 8023 2.0 ** 100.0 <> 1.267650600228229401496703205376e30 or 8024 2.0 ** 200.0 <> 1.606938044258990275541962092341162602522202993782792835301376e60 or 8025 2.0 ** 500.0 <> 3.273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376e150 or 8026 2.0 ** 1000.0 <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 8027 2.0 ** 2147483647.0 <> Infinity or 8028 2.0 ** 2147483648.0 <> Infinity or 8029 2.0 ** 9007199254740991.0 <> Infinity or 8030 2.0 ** 9007199254740992.0 <> Infinity or 8031 2.0 ** 9007199254740993.0 <> Infinity or 8032 2.0 ** 9007199254740994.0 <> Infinity or 8033 2.0 ** Infinity <> Infinity or 8034 floatExpr(2.0) ** (-Infinity) <> 0.0 or 8035 floatExpr(2.0) ** (-9007199254740994.0) <> 0.0 or 8036 floatExpr(2.0) ** (-9007199254740993.0) <> 0.0 or 8037 floatExpr(2.0) ** (-9007199254740992.0) <> 0.0 or 8038 floatExpr(2.0) ** (-9007199254740991.0) <> 0.0 or 8039 floatExpr(2.0) ** (-2147483649.0) <> 0.0 or 8040 floatExpr(2.0) ** (-2147483648.0) <> 0.0 or 8041 floatExpr(2.0) ** (-1000.0) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 8042 floatExpr(2.0) ** ( -500.0) <> 3.0549363634996046820519793932136176997894027405723266638936139092812916265247204577018572351080152282568751526935904671553178534278042839697351331142009178896307244205337728522220355888195318837008165086679301794879136633899370525163649789227021200352450820912190874482021196014946372110934030798550767828365183620409339937395998276770114898681640625e-151 or 8043 floatExpr(2.0) ** ( -200.0) <> 6.2230152778611417071440640537801242405902521687211671331011166147896988340353834411839448231257136169569665895551224821247160434722900390625e-61 or 8044 floatExpr(2.0) ** ( -100.0) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 8045 floatExpr(2.0) ** ( -50.0) <> 8.8817841970012523233890533447265625e-16 or 8046 floatExpr(2.0) ** ( -20.0) <> 9.5367431640625e-7 or 8047 floatExpr(2.0) ** ( -10.0) <> 9.765625e-4 or 8048 floatExpr(2.0) ** ( -5.0) <> 3.125e-2 or 8049 floatExpr(2.0) ** ( -2.0) <> 0.25 or 8050 floatExpr(2.0) ** ( -1.0) <> 0.5 or 8051 floatExpr(2.0) ** 0.0 <> 1.0 or 8052 floatExpr(2.0) ** 1.0 <> 2.0 or 8053 floatExpr(2.0) ** 2.0 <> 4.0 or 8054 floatExpr(2.0) ** 5.0 <> 3.2e1 or 8055 floatExpr(2.0) ** 10.0 <> 1.024e3 or 8056 floatExpr(2.0) ** 20.0 <> 1.048576e6 or 8057 floatExpr(2.0) ** 50.0 <> 1.125899906842624e15 or 8058 floatExpr(2.0) ** 100.0 <> 1.267650600228229401496703205376e30 or 8059 floatExpr(2.0) ** 200.0 <> 1.606938044258990275541962092341162602522202993782792835301376e60 or 8060 floatExpr(2.0) ** 500.0 <> 3.273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376e150 or 8061 floatExpr(2.0) ** 1000.0 <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 8062 floatExpr(2.0) ** 2147483647.0 <> Infinity or 8063 floatExpr(2.0) ** 2147483648.0 <> Infinity or 8064 floatExpr(2.0) ** 9007199254740991.0 <> Infinity or 8065 floatExpr(2.0) ** 9007199254740992.0 <> Infinity or 8066 floatExpr(2.0) ** 9007199254740993.0 <> Infinity or 8067 floatExpr(2.0) ** 9007199254740994.0 <> Infinity or 8068 floatExpr(2.0) ** Infinity <> Infinity or 8069 2.0 ** floatExpr( -Infinity) <> 0.0 or 8070 2.0 ** floatExpr(-9007199254740994.0) <> 0.0 or 8071 2.0 ** floatExpr(-9007199254740993.0) <> 0.0 or 8072 2.0 ** floatExpr(-9007199254740992.0) <> 0.0 or 8073 2.0 ** floatExpr(-9007199254740991.0) <> 0.0 or 8074 2.0 ** floatExpr( -2147483649.0) <> 0.0 or 8075 2.0 ** floatExpr( -2147483648.0) <> 0.0 or 8076 2.0 ** floatExpr(-1000.0) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 8077 2.0 ** floatExpr( -500.0) <> 3.0549363634996046820519793932136176997894027405723266638936139092812916265247204577018572351080152282568751526935904671553178534278042839697351331142009178896307244205337728522220355888195318837008165086679301794879136633899370525163649789227021200352450820912190874482021196014946372110934030798550767828365183620409339937395998276770114898681640625e-151 or 8078 2.0 ** floatExpr( -200.0) <> 6.2230152778611417071440640537801242405902521687211671331011166147896988340353834411839448231257136169569665895551224821247160434722900390625e-61 or 8079 2.0 ** floatExpr( -100.0) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 8080 2.0 ** floatExpr( -50.0) <> 8.8817841970012523233890533447265625e-16 or 8081 2.0 ** floatExpr( -20.0) <> 9.5367431640625e-7 or 8082 2.0 ** floatExpr( -10.0) <> 9.765625e-4 or 8083 2.0 ** floatExpr( -5.0) <> 3.125e-2 or 8084 2.0 ** floatExpr( -2.0) <> 0.25 or 8085 2.0 ** floatExpr( -1.0) <> 0.5 or 8086 2.0 ** floatExpr( 0.0) <> 1.0 or 8087 2.0 ** floatExpr( 1.0) <> 2.0 or 8088 2.0 ** floatExpr( 2.0) <> 4.0 or 8089 2.0 ** floatExpr( 5.0) <> 3.2e1 or 8090 2.0 ** floatExpr( 10.0) <> 1.024e3 or 8091 2.0 ** floatExpr( 20.0) <> 1.048576e6 or 8092 2.0 ** floatExpr( 50.0) <> 1.125899906842624e15 or 8093 2.0 ** floatExpr( 100.0) <> 1.267650600228229401496703205376e30 or 8094 2.0 ** floatExpr( 200.0) <> 1.606938044258990275541962092341162602522202993782792835301376e60 or 8095 2.0 ** floatExpr( 500.0) <> 3.273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376e150 or 8096 2.0 ** floatExpr( 1000.0) <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 8097 2.0 ** floatExpr( 2147483647.0) <> Infinity or 8098 2.0 ** floatExpr( 2147483648.0) <> Infinity or 8099 2.0 ** floatExpr( 9007199254740991.0) <> Infinity or 8100 2.0 ** floatExpr( 9007199254740992.0) <> Infinity or 8101 2.0 ** floatExpr( 9007199254740993.0) <> Infinity or 8102 2.0 ** floatExpr( 9007199254740994.0) <> Infinity or 8103 2.0 ** floatExpr( Infinity) <> Infinity or 8104 floatExpr(2.0) ** floatExpr( -Infinity) <> 0.0 or 8105 floatExpr(2.0) ** floatExpr(-9007199254740994.0) <> 0.0 or 8106 floatExpr(2.0) ** floatExpr(-9007199254740993.0) <> 0.0 or 8107 floatExpr(2.0) ** floatExpr(-9007199254740992.0) <> 0.0 or 8108 floatExpr(2.0) ** floatExpr(-9007199254740991.0) <> 0.0 or 8109 floatExpr(2.0) ** floatExpr( -2147483649.0) <> 0.0 or 8110 floatExpr(2.0) ** floatExpr( -2147483648.0) <> 0.0 or 8111 floatExpr(2.0) ** floatExpr(-1000.0) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 8112 floatExpr(2.0) ** floatExpr( -500.0) <> 3.0549363634996046820519793932136176997894027405723266638936139092812916265247204577018572351080152282568751526935904671553178534278042839697351331142009178896307244205337728522220355888195318837008165086679301794879136633899370525163649789227021200352450820912190874482021196014946372110934030798550767828365183620409339937395998276770114898681640625e-151 or 8113 floatExpr(2.0) ** floatExpr( -200.0) <> 6.2230152778611417071440640537801242405902521687211671331011166147896988340353834411839448231257136169569665895551224821247160434722900390625e-61 or 8114 floatExpr(2.0) ** floatExpr( -100.0) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 8115 floatExpr(2.0) ** floatExpr( -50.0) <> 8.8817841970012523233890533447265625e-16 or 8116 floatExpr(2.0) ** floatExpr( -20.0) <> 9.5367431640625e-7 or 8117 floatExpr(2.0) ** floatExpr( -10.0) <> 9.765625e-4 or 8118 floatExpr(2.0) ** floatExpr( -5.0) <> 3.125e-2 or 8119 floatExpr(2.0) ** floatExpr( -2.0) <> 0.25 or 8120 floatExpr(2.0) ** floatExpr( -1.0) <> 0.5 or 8121 floatExpr(2.0) ** floatExpr( 0.0) <> 1.0 or 8122 floatExpr(2.0) ** floatExpr( 1.0) <> 2.0 or 8123 floatExpr(2.0) ** floatExpr( 2.0) <> 4.0 or 8124 floatExpr(2.0) ** floatExpr( 5.0) <> 3.2e1 or 8125 floatExpr(2.0) ** floatExpr( 10.0) <> 1.024e3 or 8126 floatExpr(2.0) ** floatExpr( 20.0) <> 1.048576e6 or 8127 floatExpr(2.0) ** floatExpr( 50.0) <> 1.125899906842624e15 or 8128 floatExpr(2.0) ** floatExpr( 100.0) <> 1.267650600228229401496703205376e30 or 8129 floatExpr(2.0) ** floatExpr( 200.0) <> 1.606938044258990275541962092341162602522202993782792835301376e60 or 8130 floatExpr(2.0) ** floatExpr( 500.0) <> 3.273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376e150 or 8131 floatExpr(2.0) ** floatExpr( 1000.0) <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 8132 floatExpr(2.0) ** floatExpr( 2147483647.0) <> Infinity or 8133 floatExpr(2.0) ** floatExpr( 2147483648.0) <> Infinity or 8134 floatExpr(2.0) ** floatExpr(9007199254740991.0) <> Infinity or 8135 floatExpr(2.0) ** floatExpr(9007199254740992.0) <> Infinity or 8136 floatExpr(2.0) ** floatExpr(9007199254740993.0) <> Infinity or 8137 floatExpr(2.0) ** floatExpr(9007199254740994.0) <> Infinity or 8138 floatExpr(2.0) ** floatExpr( Infinity) <> Infinity then 8139 writeln(" ***** 2.0 ** B does not work correct."); 8140 okay := FALSE; 8141 end if; 8142 8143 if E ** (-Infinity) <> 0.0 or 8144 E ** 0.0 <> 1.0 or 8145 E ** Infinity <> Infinity or 8146 floatExpr(E) ** (-Infinity) <> 0.0 or 8147 floatExpr(E) ** 0.0 <> 1.0 or 8148 floatExpr(E) ** Infinity <> Infinity or 8149 E ** floatExpr(-Infinity) <> 0.0 or 8150 E ** floatExpr( 0.0) <> 1.0 or 8151 E ** floatExpr( Infinity) <> Infinity or 8152 floatExpr(E) ** floatExpr(-Infinity) <> 0.0 or 8153 floatExpr(E) ** floatExpr( 0.0) <> 1.0 or 8154 floatExpr(E) ** floatExpr( Infinity) <> Infinity then 8155 writeln(" ***** E ** B does not work correct."); 8156 okay := FALSE; 8157 end if; 8158 8159 if 10.0 ** (-Infinity) <> 0.0 or 8160 10.0 ** 0.0 <> 1.0 or 8161 10.0 ** Infinity <> Infinity or 8162 floatExpr(10.0) ** (-Infinity) <> 0.0 or 8163 floatExpr(10.0) ** 0.0 <> 1.0 or 8164 floatExpr(10.0) ** Infinity <> Infinity or 8165 10.0 ** floatExpr(-Infinity) <> 0.0 or 8166 10.0 ** floatExpr( 0.0) <> 1.0 or 8167 10.0 ** floatExpr( Infinity) <> Infinity or 8168 floatExpr(10.0) ** floatExpr(-Infinity) <> 0.0 or 8169 floatExpr(10.0) ** floatExpr( 0.0) <> 1.0 or 8170 floatExpr(10.0) ** floatExpr( Infinity) <> Infinity then 8171 writeln(" ***** 10.0 ** B does not work correct."); 8172 okay := FALSE; 8173 end if; 8174 8175 if not isNaN(NaN ** ( -Infinity)) or 8176 not isNaN(NaN ** (-9007199254740994.0)) or # Not exactly represented 8177 not isNaN(NaN ** (-9007199254740993.0)) or # Not exactly represented 8178 not isNaN(NaN ** (-9007199254740992.0)) or 8179 not isNaN(NaN ** (-9007199254740991.0)) or 8180 not isNaN(NaN ** (-4294967297.0)) or 8181 not isNaN(NaN ** (-4294967296.0)) or 8182 not isNaN(NaN ** (-4294967295.0)) or 8183 not isNaN(NaN ** (-2147483649.0)) or 8184 not isNaN(NaN ** (-2147483648.0)) or 8185 not isNaN(NaN ** (-2147483647.0)) or 8186 not isNaN(NaN ** (-3.0)) or 8187 not isNaN(NaN ** (-2.5)) or 8188 not isNaN(NaN ** (-2.0)) or 8189 not isNaN(NaN ** (-1.5)) or 8190 not isNaN(NaN ** (-1.0)) or 8191 not isNaN(NaN ** (-0.5)) or 8192 not isNaN(NaN ** 0.5 ) or 8193 not isNaN(NaN ** 1.0 ) or 8194 not isNaN(NaN ** 1.5 ) or 8195 not isNaN(NaN ** 2.0 ) or 8196 not isNaN(NaN ** 2.5 ) or 8197 not isNaN(NaN ** 3.0 ) or 8198 not isNaN(NaN ** 2147483647.0 ) or 8199 not isNaN(NaN ** 2147483648.0 ) or 8200 not isNaN(NaN ** 2147483649.0 ) or 8201 not isNaN(NaN ** 4294967295.0 ) or 8202 not isNaN(NaN ** 4294967296.0 ) or 8203 not isNaN(NaN ** 4294967297.0 ) or 8204 not isNaN(NaN ** 9007199254740991.0 ) or 8205 not isNaN(NaN ** 9007199254740992.0 ) or 8206 not isNaN(NaN ** 9007199254740993.0 ) or # Not exactly represented 8207 not isNaN(NaN ** 9007199254740994.0 ) or # Not exactly represented 8208 not isNaN(NaN ** Infinity ) or 8209 not isNaN(floatExpr(NaN) ** ( -Infinity)) or 8210 not isNaN(floatExpr(NaN) ** (-9007199254740994.0)) or # Not exactly represented 8211 not isNaN(floatExpr(NaN) ** (-9007199254740993.0)) or # Not exactly represented 8212 not isNaN(floatExpr(NaN) ** (-9007199254740992.0)) or 8213 not isNaN(floatExpr(NaN) ** (-9007199254740991.0)) or 8214 not isNaN(floatExpr(NaN) ** (-4294967297.0)) or 8215 not isNaN(floatExpr(NaN) ** (-4294967296.0)) or 8216 not isNaN(floatExpr(NaN) ** (-4294967295.0)) or 8217 not isNaN(floatExpr(NaN) ** (-2147483649.0)) or 8218 not isNaN(floatExpr(NaN) ** (-2147483648.0)) or 8219 not isNaN(floatExpr(NaN) ** (-2147483647.0)) or 8220 not isNaN(floatExpr(NaN) ** (-3.0)) or 8221 not isNaN(floatExpr(NaN) ** (-2.5)) or 8222 not isNaN(floatExpr(NaN) ** (-2.0)) or 8223 not isNaN(floatExpr(NaN) ** (-1.5)) or 8224 not isNaN(floatExpr(NaN) ** (-1.0)) or 8225 not isNaN(floatExpr(NaN) ** (-0.5)) or 8226 not isNaN(floatExpr(NaN) ** 0.5 ) or 8227 not isNaN(floatExpr(NaN) ** 1.0 ) or 8228 not isNaN(floatExpr(NaN) ** 1.5 ) or 8229 not isNaN(floatExpr(NaN) ** 2.0 ) or 8230 not isNaN(floatExpr(NaN) ** 2.5 ) or 8231 not isNaN(floatExpr(NaN) ** 3.0 ) or 8232 not isNaN(floatExpr(NaN) ** 2147483647.0 ) or 8233 not isNaN(floatExpr(NaN) ** 2147483648.0 ) or 8234 not isNaN(floatExpr(NaN) ** 2147483649.0 ) or 8235 not isNaN(floatExpr(NaN) ** 4294967295.0 ) or 8236 not isNaN(floatExpr(NaN) ** 4294967296.0 ) or 8237 not isNaN(floatExpr(NaN) ** 4294967297.0 ) or 8238 not isNaN(floatExpr(NaN) ** 9007199254740991.0 ) or 8239 not isNaN(floatExpr(NaN) ** 9007199254740992.0 ) or 8240 not isNaN(floatExpr(NaN) ** 9007199254740993.0 ) or # Not exactly represented 8241 not isNaN(floatExpr(NaN) ** 9007199254740994.0 ) or # Not exactly represented 8242 not isNaN(floatExpr(NaN) ** Infinity ) or 8243 not isNaN(NaN ** floatExpr( -Infinity)) or 8244 not isNaN(NaN ** floatExpr(-9007199254740994.0)) or # Not exactly represented 8245 not isNaN(NaN ** floatExpr(-9007199254740993.0)) or # Not exactly represented 8246 not isNaN(NaN ** floatExpr(-9007199254740992.0)) or 8247 not isNaN(NaN ** floatExpr(-9007199254740991.0)) or 8248 not isNaN(NaN ** floatExpr( -4294967297.0)) or 8249 not isNaN(NaN ** floatExpr( -4294967296.0)) or 8250 not isNaN(NaN ** floatExpr( -4294967295.0)) or 8251 not isNaN(NaN ** floatExpr( -2147483649.0)) or 8252 not isNaN(NaN ** floatExpr( -2147483648.0)) or 8253 not isNaN(NaN ** floatExpr( -2147483647.0)) or 8254 not isNaN(NaN ** floatExpr( -3.0)) or 8255 not isNaN(NaN ** floatExpr( -2.5)) or 8256 not isNaN(NaN ** floatExpr( -2.0)) or 8257 not isNaN(NaN ** floatExpr( -1.5)) or 8258 not isNaN(NaN ** floatExpr( -1.0)) or 8259 not isNaN(NaN ** floatExpr( -0.5)) or 8260 not isNaN(NaN ** floatExpr( 0.5)) or 8261 not isNaN(NaN ** floatExpr( 1.0)) or 8262 not isNaN(NaN ** floatExpr( 1.5)) or 8263 not isNaN(NaN ** floatExpr( 2.0)) or 8264 not isNaN(NaN ** floatExpr( 2.5)) or 8265 not isNaN(NaN ** floatExpr( 3.0)) or 8266 not isNaN(NaN ** floatExpr( 2147483647.0)) or 8267 not isNaN(NaN ** floatExpr( 2147483648.0)) or 8268 not isNaN(NaN ** floatExpr( 2147483649.0)) or 8269 not isNaN(NaN ** floatExpr( 4294967295.0)) or 8270 not isNaN(NaN ** floatExpr( 4294967296.0)) or 8271 not isNaN(NaN ** floatExpr( 4294967297.0)) or 8272 not isNaN(NaN ** floatExpr( 9007199254740991.0)) or 8273 not isNaN(NaN ** floatExpr( 9007199254740992.0)) or 8274 not isNaN(NaN ** floatExpr( 9007199254740993.0)) or # Not exactly represented 8275 not isNaN(NaN ** floatExpr( 9007199254740994.0)) or # Not exactly represented 8276 not isNaN(NaN ** floatExpr( Infinity)) or 8277 not isNaN(floatExpr(NaN) ** floatExpr( -Infinity)) or 8278 not isNaN(floatExpr(NaN) ** floatExpr(-9007199254740994.0)) or # Not exactly represented 8279 not isNaN(floatExpr(NaN) ** floatExpr(-9007199254740993.0)) or # Not exactly represented 8280 not isNaN(floatExpr(NaN) ** floatExpr(-9007199254740992.0)) or 8281 not isNaN(floatExpr(NaN) ** floatExpr(-9007199254740991.0)) or 8282 not isNaN(floatExpr(NaN) ** floatExpr( -4294967297.0)) or 8283 not isNaN(floatExpr(NaN) ** floatExpr( -4294967296.0)) or 8284 not isNaN(floatExpr(NaN) ** floatExpr( -4294967295.0)) or 8285 not isNaN(floatExpr(NaN) ** floatExpr( -2147483649.0)) or 8286 not isNaN(floatExpr(NaN) ** floatExpr( -2147483648.0)) or 8287 not isNaN(floatExpr(NaN) ** floatExpr( -2147483647.0)) or 8288 not isNaN(floatExpr(NaN) ** floatExpr( -3.0)) or 8289 not isNaN(floatExpr(NaN) ** floatExpr( -2.5)) or 8290 not isNaN(floatExpr(NaN) ** floatExpr( -2.0)) or 8291 not isNaN(floatExpr(NaN) ** floatExpr( -1.5)) or 8292 not isNaN(floatExpr(NaN) ** floatExpr( -1.0)) or 8293 not isNaN(floatExpr(NaN) ** floatExpr( -0.5)) or 8294 not isNaN(floatExpr(NaN) ** floatExpr( 0.5)) or 8295 not isNaN(floatExpr(NaN) ** floatExpr( 1.0)) or 8296 not isNaN(floatExpr(NaN) ** floatExpr( 1.5)) or 8297 not isNaN(floatExpr(NaN) ** floatExpr( 2.0)) or 8298 not isNaN(floatExpr(NaN) ** floatExpr( 2.5)) or 8299 not isNaN(floatExpr(NaN) ** floatExpr( 3.0)) or 8300 not isNaN(floatExpr(NaN) ** floatExpr( 2147483647.0)) or 8301 not isNaN(floatExpr(NaN) ** floatExpr( 2147483648.0)) or 8302 not isNaN(floatExpr(NaN) ** floatExpr( 2147483649.0)) or 8303 not isNaN(floatExpr(NaN) ** floatExpr( 4294967295.0)) or 8304 not isNaN(floatExpr(NaN) ** floatExpr( 4294967296.0)) or 8305 not isNaN(floatExpr(NaN) ** floatExpr( 4294967297.0)) or 8306 not isNaN(floatExpr(NaN) ** floatExpr( 9007199254740991.0)) or 8307 not isNaN(floatExpr(NaN) ** floatExpr( 9007199254740992.0)) or 8308 not isNaN(floatExpr(NaN) ** floatExpr( 9007199254740993.0)) or # Not exactly represented 8309 not isNaN(floatExpr(NaN) ** floatExpr( 9007199254740994.0)) or # Not exactly represented 8310 not isNaN(floatExpr(NaN) ** floatExpr( Infinity)) then 8311 writeln(" ***** NaN ** B for B <> 0.0 does not return NaN."); 8312 okay := FALSE; 8313 end if; 8314 8315 if not isNaN((-Infinity) ** NaN) or 8316 not isNaN( (-2.0) ** NaN) or 8317 not isNaN( (-1.0) ** NaN) or 8318 not isNaN( 0.0 ** NaN) or 8319 not isNaN( 2.0 ** NaN) or 8320 not isNaN( 10.0 ** NaN) or 8321 not isNaN( E ** NaN) or 8322 not isNaN( Infinity ** NaN) or 8323 not isNaN( NaN ** NaN) or 8324 not isNaN(floatExpr(-Infinity) ** NaN) or 8325 not isNaN(floatExpr( -2.0) ** NaN) or 8326 not isNaN(floatExpr( -1.0) ** NaN) or 8327 not isNaN(floatExpr( 0.0) ** NaN) or 8328 not isNaN(floatExpr( 2.0) ** NaN) or 8329 not isNaN(floatExpr( 10.0) ** NaN) or 8330 not isNaN(floatExpr( E) ** NaN) or 8331 not isNaN(floatExpr( Infinity) ** NaN) or 8332 not isNaN(floatExpr( NaN) ** NaN) or 8333 not isNaN((-Infinity) ** floatExpr(NaN)) or 8334 not isNaN( (-2.0) ** floatExpr(NaN)) or 8335 not isNaN( (-1.0) ** floatExpr(NaN)) or 8336 not isNaN( 0.0 ** floatExpr(NaN)) or 8337 not isNaN( 2.0 ** floatExpr(NaN)) or 8338 not isNaN( 10.0 ** floatExpr(NaN)) or 8339 not isNaN( E ** floatExpr(NaN)) or 8340 not isNaN( Infinity ** floatExpr(NaN)) or 8341 not isNaN( NaN ** floatExpr(NaN)) or 8342 not isNaN(floatExpr(-Infinity) ** floatExpr(NaN)) or 8343 not isNaN(floatExpr( -2.0) ** floatExpr(NaN)) or 8344 not isNaN(floatExpr( -1.0) ** floatExpr(NaN)) or 8345 not isNaN(floatExpr( 0.0) ** floatExpr(NaN)) or 8346 not isNaN(floatExpr( 2.0) ** floatExpr(NaN)) or 8347 not isNaN(floatExpr( 10.0) ** floatExpr(NaN)) or 8348 not isNaN(floatExpr( E) ** floatExpr(NaN)) or 8349 not isNaN(floatExpr( Infinity) ** floatExpr(NaN)) or 8350 not isNaN(floatExpr( NaN) ** floatExpr(NaN)) then 8351 writeln(" ***** A ** NaN for A <> 1.0 does not return NaN."); 8352 okay := FALSE; 8353 end if; 8354 8355 if NaN ** (-0.0) <> 1.0 or 8356 NaN ** 0.0 <> 1.0 or 8357 floatExpr(NaN) ** (-0.0) <> 1.0 or 8358 floatExpr(NaN) ** 0.0 <> 1.0 or 8359 NaN ** floatExpr(-0.0) <> 1.0 or 8360 NaN ** floatExpr( 0.0) <> 1.0 or 8361 floatExpr(NaN) ** floatExpr(-0.0) <> 1.0 or 8362 floatExpr(NaN) ** floatExpr( 0.0) <> 1.0 then 8363 writeln(" ***** NaN ** 0.0 does not return 1.0."); 8364 okay := FALSE; 8365 end if; 8366 8367 if 1.0 ** NaN <> 1.0 or 8368 floatExpr(1.0) ** NaN <> 1.0 or 8369 1.0 ** floatExpr(NaN) <> 1.0 or 8370 floatExpr(1.0) ** floatExpr(NaN) <> 1.0 then 8371 writeln(" ***** 1.0 ** NaN does not return 1.0."); 8372 okay := FALSE; 8373 end if; 8374 8375 if okay then 8376 writeln("A ** B works correct for selected values."); 8377 else 8378 writeln(" ***** A ** B does not work correct."); 8379 end if; 8380 end func; 8381 8382 8383const proc: check_ipower is func 8384 local 8385 var boolean: okay is TRUE; 8386 begin 8387 if (-2.0) ** (-2) <> 0.25 or 8388 (-2.0) ** (-1) <> -0.5 or 8389 (-2.0) ** 0 <> 1.0 or 8390 (-2.0) ** 1 <> -2.0 or 8391 (-2.0) ** 2 <> 4.0 or 8392 #(-1.5) ** (-2) <> 0.444444 or 8393 #(-1.5) ** (-1) <> -0.666667 or 8394 (-1.5) ** 0 <> 1.0 or 8395 (-1.5) ** 1 <> -1.5 or 8396 (-1.5) ** 2 <> 2.25 or 8397 (-0.5) ** (-2) <> 4.0 or 8398 (-0.5) ** (-1) <> -2.0 or 8399 (-0.5) ** 0 <> 1.0 or 8400 (-0.5) ** 1 <> -0.5 or 8401 (-0.5) ** 2 <> 0.25 or 8402 0.5 ** (-2) <> 4.0 or 8403 0.5 ** (-1) <> 2.0 or 8404 0.5 ** 0 <> 1.0 or 8405 0.5 ** 1 <> 0.5 or 8406 0.5 ** 2 <> 0.25 or 8407 #1.5 ** (-2) <> 0.444444 or 8408 #1.5 ** (-1) <> 0.666667 or 8409 1.5 ** 0 <> 1.0 or 8410 1.5 ** 1 <> 1.5 or 8411 1.5 ** 2 <> 2.25 or 8412 (-1.1) ** integer.first <> 0.0 or 8413 (-0.9) ** integer.first <> Infinity or 8414 0.9 ** integer.first <> Infinity or 8415 1.1 ** integer.first <> 0.0 or 8416 floatExpr(-2.0) ** (-2) <> 0.25 or 8417 floatExpr(-2.0) ** (-1) <> -0.5 or 8418 floatExpr(-2.0) ** 0 <> 1.0 or 8419 floatExpr(-2.0) ** 1 <> -2.0 or 8420 floatExpr(-2.0) ** 2 <> 4.0 or 8421 #floatExpr(-1.5) ** (-2) <> 0.444444 or 8422 #floatExpr(-1.5) ** (-1) <> -0.666667 or 8423 floatExpr(-1.5) ** 0 <> 1.0 or 8424 floatExpr(-1.5) ** 1 <> -1.5 or 8425 floatExpr(-1.5) ** 2 <> 2.25 or 8426 floatExpr(-0.5) ** (-2) <> 4.0 or 8427 floatExpr(-0.5) ** (-1) <> -2.0 or 8428 floatExpr(-0.5) ** 0 <> 1.0 or 8429 floatExpr(-0.5) ** 1 <> -0.5 or 8430 floatExpr(-0.5) ** 2 <> 0.25 or 8431 floatExpr( 0.5) ** (-2) <> 4.0 or 8432 floatExpr( 0.5) ** (-1) <> 2.0 or 8433 floatExpr( 0.5) ** 0 <> 1.0 or 8434 floatExpr( 0.5) ** 1 <> 0.5 or 8435 floatExpr( 0.5) ** 2 <> 0.25 or 8436 #floatExpr( 1.5) ** (-2) <> 0.444444 or 8437 #floatExpr( 1.5) ** (-1) <> 0.666667 or 8438 floatExpr( 1.5) ** 0 <> 1.0 or 8439 floatExpr( 1.5) ** 1 <> 1.5 or 8440 floatExpr( 1.5) ** 2 <> 2.25 or 8441 floatExpr(-1.1) ** integer.first <> 0.0 or 8442 floatExpr(-0.9) ** integer.first <> Infinity or 8443 floatExpr( 0.9) ** integer.first <> Infinity or 8444 floatExpr( 1.1) ** integer.first <> 0.0 or 8445 (-2.0) ** intExpr(-2) <> 0.25 or 8446 (-2.0) ** intExpr(-1) <> -0.5 or 8447 (-2.0) ** intExpr( 0) <> 1.0 or 8448 (-2.0) ** intExpr( 1) <> -2.0 or 8449 (-2.0) ** intExpr( 2) <> 4.0 or 8450 #(-1.5) ** intExpr(-2) <> 0.444444 or 8451 #(-1.5) ** intExpr(-1) <> -0.666667 or 8452 (-1.5) ** intExpr( 0) <> 1.0 or 8453 (-1.5) ** intExpr( 1) <> -1.5 or 8454 (-1.5) ** intExpr( 2) <> 2.25 or 8455 (-0.5) ** intExpr(-2) <> 4.0 or 8456 (-0.5) ** intExpr(-1) <> -2.0 or 8457 (-0.5) ** intExpr( 0) <> 1.0 or 8458 (-0.5) ** intExpr( 1) <> -0.5 or 8459 (-0.5) ** intExpr( 2) <> 0.25 or 8460 0.5 ** intExpr(-2) <> 4.0 or 8461 0.5 ** intExpr(-1) <> 2.0 or 8462 0.5 ** intExpr( 0) <> 1.0 or 8463 0.5 ** intExpr( 1) <> 0.5 or 8464 0.5 ** intExpr( 2) <> 0.25 or 8465 #1.5 ** intExpr(-2) <> 0.444444 or 8466 #1.5 ** intExpr(-1) <> 0.666667 or 8467 1.5 ** intExpr( 0) <> 1.0 or 8468 1.5 ** intExpr( 1) <> 1.5 or 8469 1.5 ** intExpr( 2) <> 2.25 or 8470 (-1.1) ** intExpr(integer.first) <> 0.0 or 8471 (-0.9) ** intExpr(integer.first) <> Infinity or 8472 0.9 ** intExpr(integer.first) <> Infinity or 8473 1.1 ** intExpr(integer.first) <> 0.0 or 8474 floatExpr(-2.0) ** intExpr(-2) <> 0.25 or 8475 floatExpr(-2.0) ** intExpr(-1) <> -0.5 or 8476 floatExpr(-2.0) ** intExpr( 0) <> 1.0 or 8477 floatExpr(-2.0) ** intExpr( 1) <> -2.0 or 8478 floatExpr(-2.0) ** intExpr( 2) <> 4.0 or 8479 #floatExpr(-1.5) ** intExpr(-2) <> 0.444444 or 8480 #floatExpr(-1.5) ** intExpr(-1) <> -0.666667 or 8481 floatExpr(-1.5) ** intExpr( 0) <> 1.0 or 8482 floatExpr(-1.5) ** intExpr( 1) <> -1.5 or 8483 floatExpr(-1.5) ** intExpr( 2) <> 2.25 or 8484 floatExpr(-0.5) ** intExpr(-2) <> 4.0 or 8485 floatExpr(-0.5) ** intExpr(-1) <> -2.0 or 8486 floatExpr(-0.5) ** intExpr( 0) <> 1.0 or 8487 floatExpr(-0.5) ** intExpr( 1) <> -0.5 or 8488 floatExpr(-0.5) ** intExpr( 2) <> 0.25 or 8489 floatExpr( 0.5) ** intExpr(-2) <> 4.0 or 8490 floatExpr( 0.5) ** intExpr(-1) <> 2.0 or 8491 floatExpr( 0.5) ** intExpr( 0) <> 1.0 or 8492 floatExpr( 0.5) ** intExpr( 1) <> 0.5 or 8493 floatExpr( 0.5) ** intExpr( 2) <> 0.25 or 8494 #floatExpr( 1.5) ** intExpr(-2) <> 0.444444 or 8495 #floatExpr( 1.5) ** intExpr(-1) <> 0.666667 or 8496 floatExpr( 1.5) ** intExpr( 0) <> 1.0 or 8497 floatExpr( 1.5) ** intExpr( 1) <> 1.5 or 8498 floatExpr( 1.5) ** intExpr( 2) <> 2.25 or 8499 floatExpr(-1.1) ** intExpr(integer.first) <> 0.0 or 8500 floatExpr(-0.9) ** intExpr(integer.first) <> Infinity or 8501 floatExpr( 0.9) ** intExpr(integer.first) <> Infinity or 8502 floatExpr( 1.1) ** intExpr(integer.first) <> 0.0 then 8503 writeln(" ***** A ** B with integer B does not work correct for selected values."); 8504 okay := FALSE; 8505 end if; 8506 8507 if (-2.0) ** integer.first <> 0.0 or 8508 (-2.0) ** (-9007199254740993) <> 0.0 or 8509 (-2.0) ** (-9007199254740992) <> 0.0 or 8510 (-2.0) ** (-2147483649) <> 0.0 or 8511 (-2.0) ** (-2147483648) <> 0.0 or 8512 (-2.0) ** (-1000) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 8513 (-2.0) ** ( -777) <> -1.2580368690619400992630930670642290049228151004764953780943507245961510227088530391346965409619581274622438598009470989592763178178106372216104950371976994872158846753107043068125962477943865430246765239659515132500679733253773573442968156387862374544517729158500345225740840261937808914008531993591772366677435357882365926301734357710322786821188184892761835546430141790729736468138408856571932694214448299272577968593520269378135768742338158247517956391472854386669993697244754908216006714126797830970508340620028775447281077504158020019531250000000e-234 or 8514 (-2.0) ** ( -500) <> 3.0549363634996046820519793932136176997894027405723266638936139092812916265247204577018572351080152282568751526935904671553178534278042839697351331142009178896307244205337728522220355888195318837008165086679301794879136633899370525163649789227021200352450820912190874482021196014946372110934030798550767828365183620409339937395998276770114898681640625e-151 or 8515 (-2.0) ** ( -333) <> -5.714936956411374911078917741526704797259549974113993306075629216138163179533690978377240109300860148245915271766870141161102706811419593755630211467050206209827570086880426305042279198514760130828138429137652565259486436843872070312500000000e-101 or 8516 (-2.0) ** ( -150) <> 7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015625e-46 or 8517 (-2.0) ** ( -100) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 8518 (-2.0) ** ( -50) <> 8.8817841970012523233890533447265625e-16 or 8519 (-2.0) ** ( -25) <> -2.98023223876953125e-8 or 8520 (-2.0) ** ( -10) <> 9.765625e-4 or 8521 (-2.0) ** ( -5) <> -3.125e-2 or 8522 (-2.0) ** ( -2) <> 0.25 or 8523 (-2.0) ** ( -1) <> -0.5 or 8524 (-2.0) ** 0 <> 1.0 or 8525 (-2.0) ** 1 <> -2.0 or 8526 (-2.0) ** 2 <> 4.0 or 8527 (-2.0) ** 5 <> -3.2e1 or 8528 (-2.0) ** 10 <> 1.024e3 or 8529 (-2.0) ** 25 <> -3.3554432e+7 or 8530 (-2.0) ** 50 <> 1.125899906842624e15 or 8531 (-2.0) ** 100 <> 1.267650600228229401496703205376e30 or 8532 (-2.0) ** 150 <> 1.427247692705959881058285969449495136382746624e+45 or 8533 (-2.0) ** 333 <> -1.74980057982640953949800178169409709228253554471456994914061648512796239935950073857881054161844305920000000000e+100 or 8534 (-2.0) ** 500 <> 3.273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376e150 or 8535 (-2.0) ** 777 <> -7.948892632579629747962774980928013082915256407637486649031946434693380877754249658014097453202669967106497181169311094815598489825867849684194750848210847432726809477226751516417358262433784037505346555871828320004571375891538216222720000000e+233 or 8536 (-2.0) ** 1000 <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 8537 (-2.0) ** 2147483647 <> -Infinity or 8538 (-2.0) ** 2147483648 <> Infinity or 8539 (-2.0) ** 9007199254740992 <> Infinity or 8540 (-2.0) ** 9007199254740993 <> -Infinity or 8541 (-2.0) ** integer.last <> -Infinity or 8542 floatExpr(-2.0) ** integer.first <> 0.0 or 8543 floatExpr(-2.0) ** (-9007199254740993) <> 0.0 or 8544 floatExpr(-2.0) ** (-9007199254740992) <> 0.0 or 8545 floatExpr(-2.0) ** (-2147483649) <> 0.0 or 8546 floatExpr(-2.0) ** (-2147483648) <> 0.0 or 8547 floatExpr(-2.0) ** (-1000) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 8548 floatExpr(-2.0) ** ( -777) <> -1.2580368690619400992630930670642290049228151004764953780943507245961510227088530391346965409619581274622438598009470989592763178178106372216104950371976994872158846753107043068125962477943865430246765239659515132500679733253773573442968156387862374544517729158500345225740840261937808914008531993591772366677435357882365926301734357710322786821188184892761835546430141790729736468138408856571932694214448299272577968593520269378135768742338158247517956391472854386669993697244754908216006714126797830970508340620028775447281077504158020019531250000000e-234 or 8549 floatExpr(-2.0) ** ( -500) <> 3.0549363634996046820519793932136176997894027405723266638936139092812916265247204577018572351080152282568751526935904671553178534278042839697351331142009178896307244205337728522220355888195318837008165086679301794879136633899370525163649789227021200352450820912190874482021196014946372110934030798550767828365183620409339937395998276770114898681640625e-151 or 8550 floatExpr(-2.0) ** ( -333) <> -5.714936956411374911078917741526704797259549974113993306075629216138163179533690978377240109300860148245915271766870141161102706811419593755630211467050206209827570086880426305042279198514760130828138429137652565259486436843872070312500000000e-101 or 8551 floatExpr(-2.0) ** ( -150) <> 7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015625e-46 or 8552 floatExpr(-2.0) ** ( -100) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 8553 floatExpr(-2.0) ** ( -50) <> 8.8817841970012523233890533447265625e-16 or 8554 floatExpr(-2.0) ** ( -25) <> -2.98023223876953125e-8 or 8555 floatExpr(-2.0) ** ( -10) <> 9.765625e-4 or 8556 floatExpr(-2.0) ** ( -5) <> -3.125e-2 or 8557 floatExpr(-2.0) ** ( -2) <> 0.25 or 8558 floatExpr(-2.0) ** ( -1) <> -0.5 or 8559 floatExpr(-2.0) ** 0 <> 1.0 or 8560 floatExpr(-2.0) ** 1 <> -2.0 or 8561 floatExpr(-2.0) ** 2 <> 4.0 or 8562 floatExpr(-2.0) ** 5 <> -3.2e1 or 8563 floatExpr(-2.0) ** 10 <> 1.024e3 or 8564 floatExpr(-2.0) ** 25 <> -3.3554432e+7 or 8565 floatExpr(-2.0) ** 50 <> 1.125899906842624e15 or 8566 floatExpr(-2.0) ** 100 <> 1.267650600228229401496703205376e30 or 8567 floatExpr(-2.0) ** 150 <> 1.427247692705959881058285969449495136382746624e+45 or 8568 floatExpr(-2.0) ** 333 <> -1.74980057982640953949800178169409709228253554471456994914061648512796239935950073857881054161844305920000000000e+100 or 8569 floatExpr(-2.0) ** 500 <> 3.273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376e150 or 8570 floatExpr(-2.0) ** 777 <> -7.948892632579629747962774980928013082915256407637486649031946434693380877754249658014097453202669967106497181169311094815598489825867849684194750848210847432726809477226751516417358262433784037505346555871828320004571375891538216222720000000e+233 or 8571 floatExpr(-2.0) ** 1000 <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 8572 floatExpr(-2.0) ** 2147483647 <> -Infinity or 8573 floatExpr(-2.0) ** 2147483648 <> Infinity or 8574 floatExpr(-2.0) ** 9007199254740992 <> Infinity or 8575 floatExpr(-2.0) ** 9007199254740993 <> -Infinity or 8576 floatExpr(-2.0) ** integer.last <> -Infinity or 8577 (-2.0) ** intExpr( integer.first) <> 0.0 or 8578 (-2.0) ** intExpr(-9007199254740993) <> 0.0 or 8579 (-2.0) ** intExpr(-9007199254740992) <> 0.0 or 8580 (-2.0) ** intExpr( -2147483649) <> 0.0 or 8581 (-2.0) ** intExpr( -2147483648) <> 0.0 or 8582 (-2.0) ** intExpr(-1000) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 8583 (-2.0) ** intExpr( -777) <> -1.2580368690619400992630930670642290049228151004764953780943507245961510227088530391346965409619581274622438598009470989592763178178106372216104950371976994872158846753107043068125962477943865430246765239659515132500679733253773573442968156387862374544517729158500345225740840261937808914008531993591772366677435357882365926301734357710322786821188184892761835546430141790729736468138408856571932694214448299272577968593520269378135768742338158247517956391472854386669993697244754908216006714126797830970508340620028775447281077504158020019531250000000e-234 or 8584 (-2.0) ** intExpr( -500) <> 3.0549363634996046820519793932136176997894027405723266638936139092812916265247204577018572351080152282568751526935904671553178534278042839697351331142009178896307244205337728522220355888195318837008165086679301794879136633899370525163649789227021200352450820912190874482021196014946372110934030798550767828365183620409339937395998276770114898681640625e-151 or 8585 (-2.0) ** intExpr( -333) <> -5.714936956411374911078917741526704797259549974113993306075629216138163179533690978377240109300860148245915271766870141161102706811419593755630211467050206209827570086880426305042279198514760130828138429137652565259486436843872070312500000000e-101 or 8586 (-2.0) ** intExpr( -150) <> 7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015625e-46 or 8587 (-2.0) ** intExpr( -100) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 8588 (-2.0) ** intExpr( -50) <> 8.8817841970012523233890533447265625e-16 or 8589 (-2.0) ** intExpr( -25) <> -2.98023223876953125e-8 or 8590 (-2.0) ** intExpr( -10) <> 9.765625e-4 or 8591 (-2.0) ** intExpr( -5) <> -3.125e-2 or 8592 (-2.0) ** intExpr( -2) <> 0.25 or 8593 (-2.0) ** intExpr( -1) <> -0.5 or 8594 (-2.0) ** intExpr( 0) <> 1.0 or 8595 (-2.0) ** intExpr( 1) <> -2.0 or 8596 (-2.0) ** intExpr( 2) <> 4.0 or 8597 (-2.0) ** intExpr( 5) <> -3.2e1 or 8598 (-2.0) ** intExpr( 10) <> 1.024e3 or 8599 (-2.0) ** intExpr( 25) <> -3.3554432e+7 or 8600 (-2.0) ** intExpr( 50) <> 1.125899906842624e15 or 8601 (-2.0) ** intExpr( 100) <> 1.267650600228229401496703205376e30 or 8602 (-2.0) ** intExpr( 150) <> 1.427247692705959881058285969449495136382746624e+45 or 8603 (-2.0) ** intExpr( 333) <> -1.74980057982640953949800178169409709228253554471456994914061648512796239935950073857881054161844305920000000000e+100 or 8604 (-2.0) ** intExpr( 500) <> 3.273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376e150 or 8605 (-2.0) ** intExpr( 777) <> -7.948892632579629747962774980928013082915256407637486649031946434693380877754249658014097453202669967106497181169311094815598489825867849684194750848210847432726809477226751516417358262433784037505346555871828320004571375891538216222720000000e+233 or 8606 (-2.0) ** intExpr( 1000) <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 8607 (-2.0) ** intExpr( 2147483647) <> -Infinity or 8608 (-2.0) ** intExpr( 2147483648) <> Infinity or 8609 (-2.0) ** intExpr( 9007199254740992) <> Infinity or 8610 (-2.0) ** intExpr( 9007199254740993) <> -Infinity or 8611 (-2.0) ** intExpr( integer.last) <> -Infinity or 8612 floatExpr(-2.0) ** intExpr( integer.first) <> 0.0 or 8613 floatExpr(-2.0) ** intExpr(-9007199254740993) <> 0.0 or 8614 floatExpr(-2.0) ** intExpr(-9007199254740992) <> 0.0 or 8615 floatExpr(-2.0) ** intExpr( -2147483649) <> 0.0 or 8616 floatExpr(-2.0) ** intExpr( -2147483648) <> 0.0 or 8617 floatExpr(-2.0) ** intExpr(-1000) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 8618 floatExpr(-2.0) ** intExpr( -777) <> -1.2580368690619400992630930670642290049228151004764953780943507245961510227088530391346965409619581274622438598009470989592763178178106372216104950371976994872158846753107043068125962477943865430246765239659515132500679733253773573442968156387862374544517729158500345225740840261937808914008531993591772366677435357882365926301734357710322786821188184892761835546430141790729736468138408856571932694214448299272577968593520269378135768742338158247517956391472854386669993697244754908216006714126797830970508340620028775447281077504158020019531250000000e-234 or 8619 floatExpr(-2.0) ** intExpr( -500) <> 3.0549363634996046820519793932136176997894027405723266638936139092812916265247204577018572351080152282568751526935904671553178534278042839697351331142009178896307244205337728522220355888195318837008165086679301794879136633899370525163649789227021200352450820912190874482021196014946372110934030798550767828365183620409339937395998276770114898681640625e-151 or 8620 floatExpr(-2.0) ** intExpr( -333) <> -5.714936956411374911078917741526704797259549974113993306075629216138163179533690978377240109300860148245915271766870141161102706811419593755630211467050206209827570086880426305042279198514760130828138429137652565259486436843872070312500000000e-101 or 8621 floatExpr(-2.0) ** intExpr( -150) <> 7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015625e-46 or 8622 floatExpr(-2.0) ** intExpr( -100) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 8623 floatExpr(-2.0) ** intExpr( -50) <> 8.8817841970012523233890533447265625e-16 or 8624 floatExpr(-2.0) ** intExpr( -25) <> -2.98023223876953125e-8 or 8625 floatExpr(-2.0) ** intExpr( -10) <> 9.765625e-4 or 8626 floatExpr(-2.0) ** intExpr( -5) <> -3.125e-2 or 8627 floatExpr(-2.0) ** intExpr( -2) <> 0.25 or 8628 floatExpr(-2.0) ** intExpr( -1) <> -0.5 or 8629 floatExpr(-2.0) ** intExpr( 0) <> 1.0 or 8630 floatExpr(-2.0) ** intExpr( 1) <> -2.0 or 8631 floatExpr(-2.0) ** intExpr( 2) <> 4.0 or 8632 floatExpr(-2.0) ** intExpr( 5) <> -3.2e1 or 8633 floatExpr(-2.0) ** intExpr( 10) <> 1.024e3 or 8634 floatExpr(-2.0) ** intExpr( 25) <> -3.3554432e+7 or 8635 floatExpr(-2.0) ** intExpr( 50) <> 1.125899906842624e15 or 8636 floatExpr(-2.0) ** intExpr( 100) <> 1.267650600228229401496703205376e30 or 8637 floatExpr(-2.0) ** intExpr( 150) <> 1.427247692705959881058285969449495136382746624e+45 or 8638 floatExpr(-2.0) ** intExpr( 333) <> -1.74980057982640953949800178169409709228253554471456994914061648512796239935950073857881054161844305920000000000e+100 or 8639 floatExpr(-2.0) ** intExpr( 500) <> 3.273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376e150 or 8640 floatExpr(-2.0) ** intExpr( 777) <> -7.948892632579629747962774980928013082915256407637486649031946434693380877754249658014097453202669967106497181169311094815598489825867849684194750848210847432726809477226751516417358262433784037505346555871828320004571375891538216222720000000e+233 or 8641 floatExpr(-2.0) ** intExpr( 1000) <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 8642 floatExpr(-2.0) ** intExpr( 2147483647) <> -Infinity or 8643 floatExpr(-2.0) ** intExpr( 2147483648) <> Infinity or 8644 floatExpr(-2.0) ** intExpr( 9007199254740992) <> Infinity or 8645 floatExpr(-2.0) ** intExpr( 9007199254740993) <> -Infinity or 8646 floatExpr(-2.0) ** intExpr( integer.last) <> -Infinity then 8647 writeln(" ***** (-2.0) ** B with integer B does not work correct."); 8648 okay := FALSE; 8649 end if; 8650 8651 if (-1.0) ** integer.first <> 1.0 or 8652 (-1.0) ** (-9007199254740993) <> -1.0 or 8653 (-1.0) ** (-9007199254740992) <> 1.0 or 8654 (-1.0) ** (-2147483649) <> -1.0 or 8655 (-1.0) ** (-2147483648) <> 1.0 or 8656 (-1.0) ** (-2) <> 1.0 or 8657 (-1.0) ** (-1) <> -1.0 or 8658 (-1.0) ** 0 <> 1.0 or 8659 (-1.0) ** 1 <> -1.0 or 8660 (-1.0) ** 2 <> 1.0 or 8661 (-1.0) ** 2147483647 <> -1.0 or 8662 (-1.0) ** 2147483648 <> 1.0 or 8663 (-1.0) ** 9007199254740992 <> 1.0 or 8664 (-1.0) ** 9007199254740993 <> -1.0 or 8665 (-1.0) ** integer.last <> -1.0 or 8666 floatExpr(-1.0) ** integer.first <> 1.0 or 8667 floatExpr(-1.0) ** (-9007199254740993) <> -1.0 or 8668 floatExpr(-1.0) ** (-9007199254740992) <> 1.0 or 8669 floatExpr(-1.0) ** (-2147483649) <> -1.0 or 8670 floatExpr(-1.0) ** (-2147483648) <> 1.0 or 8671 floatExpr(-1.0) ** (-2) <> 1.0 or 8672 floatExpr(-1.0) ** (-1) <> -1.0 or 8673 floatExpr(-1.0) ** 0 <> 1.0 or 8674 floatExpr(-1.0) ** 1 <> -1.0 or 8675 floatExpr(-1.0) ** 2 <> 1.0 or 8676 floatExpr(-1.0) ** 2147483647 <> -1.0 or 8677 floatExpr(-1.0) ** 2147483648 <> 1.0 or 8678 floatExpr(-1.0) ** 9007199254740992 <> 1.0 or 8679 floatExpr(-1.0) ** 9007199254740993 <> -1.0 or 8680 floatExpr(-1.0) ** integer.last <> -1.0 or 8681 (-1.0) ** intExpr( integer.first) <> 1.0 or 8682 (-1.0) ** intExpr(-9007199254740993) <> -1.0 or 8683 (-1.0) ** intExpr(-9007199254740992) <> 1.0 or 8684 (-1.0) ** intExpr( -2147483649) <> -1.0 or 8685 (-1.0) ** intExpr( -2147483648) <> 1.0 or 8686 (-1.0) ** intExpr( -2) <> 1.0 or 8687 (-1.0) ** intExpr( -1) <> -1.0 or 8688 (-1.0) ** intExpr( 0) <> 1.0 or 8689 (-1.0) ** intExpr( 1) <> -1.0 or 8690 (-1.0) ** intExpr( 2) <> 1.0 or 8691 (-1.0) ** intExpr( 2147483647) <> -1.0 or 8692 (-1.0) ** intExpr( 2147483648) <> 1.0 or 8693 (-1.0) ** intExpr( 9007199254740992) <> 1.0 or 8694 (-1.0) ** intExpr( 9007199254740993) <> -1.0 or 8695 (-1.0) ** intExpr( integer.last) <> -1.0 or 8696 floatExpr(-1.0) ** intExpr( integer.first) <> 1.0 or 8697 floatExpr(-1.0) ** intExpr(-9007199254740993) <> -1.0 or 8698 floatExpr(-1.0) ** intExpr(-9007199254740992) <> 1.0 or 8699 floatExpr(-1.0) ** intExpr( -2147483649) <> -1.0 or 8700 floatExpr(-1.0) ** intExpr( -2147483648) <> 1.0 or 8701 floatExpr(-1.0) ** intExpr( -2) <> 1.0 or 8702 floatExpr(-1.0) ** intExpr( -1) <> -1.0 or 8703 floatExpr(-1.0) ** intExpr( 0) <> 1.0 or 8704 floatExpr(-1.0) ** intExpr( 1) <> -1.0 or 8705 floatExpr(-1.0) ** intExpr( 2) <> 1.0 or 8706 floatExpr(-1.0) ** intExpr( 2147483647) <> -1.0 or 8707 floatExpr(-1.0) ** intExpr( 2147483648) <> 1.0 or 8708 floatExpr(-1.0) ** intExpr( 9007199254740992) <> 1.0 or 8709 floatExpr(-1.0) ** intExpr( 9007199254740993) <> -1.0 or 8710 floatExpr(-1.0) ** intExpr( integer.last) <> -1.0 then 8711 writeln(" ***** (-1.0) ** B with integer B does not return 1.0 respectively -1.0."); 8712 okay := FALSE; 8713 end if; 8714 8715 if (-0.0) ** integer.first <> Infinity or 8716 (-0.0) ** (-9007199254740993) <> -Infinity or 8717 (-0.0) ** (-9007199254740992) <> Infinity or 8718 (-0.0) ** (-4294967297) <> -Infinity or 8719 (-0.0) ** (-4294967296) <> Infinity or 8720 (-0.0) ** (-4294967295) <> -Infinity or 8721 (-0.0) ** (-2147483649) <> -Infinity or 8722 (-0.0) ** (-2147483648) <> Infinity or 8723 (-0.0) ** (-2147483647) <> -Infinity or 8724 (-0.0) ** (-30) <> Infinity or 8725 (-0.0) ** (-29) <> -Infinity or 8726 (-0.0) ** (-28) <> Infinity or 8727 (-0.0) ** (-27) <> -Infinity or 8728 (-0.0) ** (-26) <> Infinity or 8729 (-0.0) ** (-25) <> -Infinity or 8730 (-0.0) ** (-24) <> Infinity or 8731 (-0.0) ** (-23) <> -Infinity or 8732 (-0.0) ** (-22) <> Infinity or 8733 (-0.0) ** (-21) <> -Infinity or 8734 (-0.0) ** (-20) <> Infinity or 8735 (-0.0) ** (-19) <> -Infinity or 8736 (-0.0) ** (-18) <> Infinity or 8737 (-0.0) ** (-17) <> -Infinity or 8738 (-0.0) ** (-16) <> Infinity or 8739 (-0.0) ** (-15) <> -Infinity or 8740 (-0.0) ** (-14) <> Infinity or 8741 (-0.0) ** (-13) <> -Infinity or 8742 (-0.0) ** (-12) <> Infinity or 8743 (-0.0) ** (-11) <> -Infinity or 8744 (-0.0) ** (-10) <> Infinity or 8745 (-0.0) ** (-9) <> -Infinity or 8746 (-0.0) ** (-8) <> Infinity or 8747 (-0.0) ** (-7) <> -Infinity or 8748 (-0.0) ** (-6) <> Infinity or 8749 (-0.0) ** (-5) <> -Infinity or 8750 (-0.0) ** (-4) <> Infinity or 8751 (-0.0) ** (-3) <> -Infinity or 8752 (-0.0) ** (-2) <> Infinity or 8753 (-0.0) ** (-1) <> -Infinity or 8754 floatExpr(-0.0) ** integer.first <> Infinity or 8755 floatExpr(-0.0) ** (-9007199254740993) <> -Infinity or 8756 floatExpr(-0.0) ** (-9007199254740992) <> Infinity or 8757 floatExpr(-0.0) ** (-4294967297) <> -Infinity or 8758 floatExpr(-0.0) ** (-4294967296) <> Infinity or 8759 floatExpr(-0.0) ** (-4294967295) <> -Infinity or 8760 floatExpr(-0.0) ** (-2147483649) <> -Infinity or 8761 floatExpr(-0.0) ** (-2147483648) <> Infinity or 8762 floatExpr(-0.0) ** (-2147483647) <> -Infinity or 8763 floatExpr(-0.0) ** (-30) <> Infinity or 8764 floatExpr(-0.0) ** (-29) <> -Infinity or 8765 floatExpr(-0.0) ** (-28) <> Infinity or 8766 floatExpr(-0.0) ** (-27) <> -Infinity or 8767 floatExpr(-0.0) ** (-26) <> Infinity or 8768 floatExpr(-0.0) ** (-25) <> -Infinity or 8769 floatExpr(-0.0) ** (-24) <> Infinity or 8770 floatExpr(-0.0) ** (-23) <> -Infinity or 8771 floatExpr(-0.0) ** (-22) <> Infinity or 8772 floatExpr(-0.0) ** (-21) <> -Infinity or 8773 floatExpr(-0.0) ** (-20) <> Infinity or 8774 floatExpr(-0.0) ** (-19) <> -Infinity or 8775 floatExpr(-0.0) ** (-18) <> Infinity or 8776 floatExpr(-0.0) ** (-17) <> -Infinity or 8777 floatExpr(-0.0) ** (-16) <> Infinity or 8778 floatExpr(-0.0) ** (-15) <> -Infinity or 8779 floatExpr(-0.0) ** (-14) <> Infinity or 8780 floatExpr(-0.0) ** (-13) <> -Infinity or 8781 floatExpr(-0.0) ** (-12) <> Infinity or 8782 floatExpr(-0.0) ** (-11) <> -Infinity or 8783 floatExpr(-0.0) ** (-10) <> Infinity or 8784 floatExpr(-0.0) ** (-9) <> -Infinity or 8785 floatExpr(-0.0) ** (-8) <> Infinity or 8786 floatExpr(-0.0) ** (-7) <> -Infinity or 8787 floatExpr(-0.0) ** (-6) <> Infinity or 8788 floatExpr(-0.0) ** (-5) <> -Infinity or 8789 floatExpr(-0.0) ** (-4) <> Infinity or 8790 floatExpr(-0.0) ** (-3) <> -Infinity or 8791 floatExpr(-0.0) ** (-2) <> Infinity or 8792 floatExpr(-0.0) ** (-1) <> -Infinity or 8793 (-0.0) ** intExpr( integer.first) <> Infinity or 8794 (-0.0) ** intExpr(-9007199254740993) <> -Infinity or 8795 (-0.0) ** intExpr(-9007199254740992) <> Infinity or 8796 (-0.0) ** intExpr( -4294967297) <> -Infinity or 8797 (-0.0) ** intExpr( -4294967296) <> Infinity or 8798 (-0.0) ** intExpr( -4294967295) <> -Infinity or 8799 (-0.0) ** intExpr( -2147483649) <> -Infinity or 8800 (-0.0) ** intExpr( -2147483648) <> Infinity or 8801 (-0.0) ** intExpr( -2147483647) <> -Infinity or 8802 (-0.0) ** intExpr( -30) <> Infinity or 8803 (-0.0) ** intExpr( -29) <> -Infinity or 8804 (-0.0) ** intExpr( -28) <> Infinity or 8805 (-0.0) ** intExpr( -27) <> -Infinity or 8806 (-0.0) ** intExpr( -26) <> Infinity or 8807 (-0.0) ** intExpr( -25) <> -Infinity or 8808 (-0.0) ** intExpr( -24) <> Infinity or 8809 (-0.0) ** intExpr( -23) <> -Infinity or 8810 (-0.0) ** intExpr( -22) <> Infinity or 8811 (-0.0) ** intExpr( -21) <> -Infinity or 8812 (-0.0) ** intExpr( -20) <> Infinity or 8813 (-0.0) ** intExpr( -19) <> -Infinity or 8814 (-0.0) ** intExpr( -18) <> Infinity or 8815 (-0.0) ** intExpr( -17) <> -Infinity or 8816 (-0.0) ** intExpr( -16) <> Infinity or 8817 (-0.0) ** intExpr( -15) <> -Infinity or 8818 (-0.0) ** intExpr( -14) <> Infinity or 8819 (-0.0) ** intExpr( -13) <> -Infinity or 8820 (-0.0) ** intExpr( -12) <> Infinity or 8821 (-0.0) ** intExpr( -11) <> -Infinity or 8822 (-0.0) ** intExpr( -10) <> Infinity or 8823 (-0.0) ** intExpr( -9) <> -Infinity or 8824 (-0.0) ** intExpr( -8) <> Infinity or 8825 (-0.0) ** intExpr( -7) <> -Infinity or 8826 (-0.0) ** intExpr( -6) <> Infinity or 8827 (-0.0) ** intExpr( -5) <> -Infinity or 8828 (-0.0) ** intExpr( -4) <> Infinity or 8829 (-0.0) ** intExpr( -3) <> -Infinity or 8830 (-0.0) ** intExpr( -2) <> Infinity or 8831 (-0.0) ** intExpr( -1) <> -Infinity or 8832 floatExpr(-0.0) ** intExpr( integer.first) <> Infinity or 8833 floatExpr(-0.0) ** intExpr(-9007199254740993) <> -Infinity or 8834 floatExpr(-0.0) ** intExpr(-9007199254740992) <> Infinity or 8835 floatExpr(-0.0) ** intExpr( -4294967297) <> -Infinity or 8836 floatExpr(-0.0) ** intExpr( -4294967296) <> Infinity or 8837 floatExpr(-0.0) ** intExpr( -4294967295) <> -Infinity or 8838 floatExpr(-0.0) ** intExpr( -2147483649) <> -Infinity or 8839 floatExpr(-0.0) ** intExpr( -2147483648) <> Infinity or 8840 floatExpr(-0.0) ** intExpr( -2147483647) <> -Infinity or 8841 floatExpr(-0.0) ** intExpr( -30) <> Infinity or 8842 floatExpr(-0.0) ** intExpr( -29) <> -Infinity or 8843 floatExpr(-0.0) ** intExpr( -28) <> Infinity or 8844 floatExpr(-0.0) ** intExpr( -27) <> -Infinity or 8845 floatExpr(-0.0) ** intExpr( -26) <> Infinity or 8846 floatExpr(-0.0) ** intExpr( -25) <> -Infinity or 8847 floatExpr(-0.0) ** intExpr( -24) <> Infinity or 8848 floatExpr(-0.0) ** intExpr( -23) <> -Infinity or 8849 floatExpr(-0.0) ** intExpr( -22) <> Infinity or 8850 floatExpr(-0.0) ** intExpr( -21) <> -Infinity or 8851 floatExpr(-0.0) ** intExpr( -20) <> Infinity or 8852 floatExpr(-0.0) ** intExpr( -19) <> -Infinity or 8853 floatExpr(-0.0) ** intExpr( -18) <> Infinity or 8854 floatExpr(-0.0) ** intExpr( -17) <> -Infinity or 8855 floatExpr(-0.0) ** intExpr( -16) <> Infinity or 8856 floatExpr(-0.0) ** intExpr( -15) <> -Infinity or 8857 floatExpr(-0.0) ** intExpr( -14) <> Infinity or 8858 floatExpr(-0.0) ** intExpr( -13) <> -Infinity or 8859 floatExpr(-0.0) ** intExpr( -12) <> Infinity or 8860 floatExpr(-0.0) ** intExpr( -11) <> -Infinity or 8861 floatExpr(-0.0) ** intExpr( -10) <> Infinity or 8862 floatExpr(-0.0) ** intExpr( -9) <> -Infinity or 8863 floatExpr(-0.0) ** intExpr( -8) <> Infinity or 8864 floatExpr(-0.0) ** intExpr( -7) <> -Infinity or 8865 floatExpr(-0.0) ** intExpr( -6) <> Infinity or 8866 floatExpr(-0.0) ** intExpr( -5) <> -Infinity or 8867 floatExpr(-0.0) ** intExpr( -4) <> Infinity or 8868 floatExpr(-0.0) ** intExpr( -3) <> -Infinity or 8869 floatExpr(-0.0) ** intExpr( -2) <> Infinity or 8870 floatExpr(-0.0) ** intExpr( -1) <> -Infinity then 8871 writeln(" ***** (-0.0) ** B with negative integer B does not return Infinity respectively -Infinity."); 8872 okay := FALSE; 8873 end if; 8874 8875 if (-0.0) ** 0 <> 1.0 or 8876 not isNegativeZero((-0.0) ** 1) or 8877 not isPositiveZero((-0.0) ** 2) or 8878 not isNegativeZero((-0.0) ** 3) or 8879 not isPositiveZero((-0.0) ** 4) or 8880 not isNegativeZero((-0.0) ** 5) or 8881 not isPositiveZero((-0.0) ** 6) or 8882 not isNegativeZero((-0.0) ** 7) or 8883 not isPositiveZero((-0.0) ** 8) or 8884 not isNegativeZero((-0.0) ** 9) or 8885 not isPositiveZero((-0.0) ** 10) or 8886 not isNegativeZero((-0.0) ** 11) or 8887 not isPositiveZero((-0.0) ** 12) or 8888 not isNegativeZero((-0.0) ** 13) or 8889 not isPositiveZero((-0.0) ** 14) or 8890 not isNegativeZero((-0.0) ** 15) or 8891 not isPositiveZero((-0.0) ** 16) or 8892 not isNegativeZero((-0.0) ** 17) or 8893 not isPositiveZero((-0.0) ** 18) or 8894 not isNegativeZero((-0.0) ** 19) or 8895 not isPositiveZero((-0.0) ** 20) or 8896 not isNegativeZero((-0.0) ** 21) or 8897 not isPositiveZero((-0.0) ** 22) or 8898 not isNegativeZero((-0.0) ** 23) or 8899 not isPositiveZero((-0.0) ** 24) or 8900 not isNegativeZero((-0.0) ** 25) or 8901 not isPositiveZero((-0.0) ** 26) or 8902 not isNegativeZero((-0.0) ** 27) or 8903 not isPositiveZero((-0.0) ** 28) or 8904 not isNegativeZero((-0.0) ** 29) or 8905 not isPositiveZero((-0.0) ** 30) or 8906 not isNegativeZero((-0.0) ** 2147483647) or 8907 not isPositiveZero((-0.0) ** 2147483648) or 8908 not isNegativeZero((-0.0) ** 2147483649) or 8909 not isNegativeZero((-0.0) ** 4294967295) or 8910 not isPositiveZero((-0.0) ** 4294967296) or 8911 not isNegativeZero((-0.0) ** 4294967297) or 8912 not isPositiveZero((-0.0) ** 9007199254740992) or 8913 not isNegativeZero((-0.0) ** 9007199254740993) or 8914 not isNegativeZero((-0.0) ** integer.last) or 8915 floatExpr(-0.0) ** 0 <> 1.0 or 8916 not isNegativeZero(floatExpr(-0.0) ** 1) or 8917 not isPositiveZero(floatExpr(-0.0) ** 2) or 8918 not isNegativeZero(floatExpr(-0.0) ** 3) or 8919 not isPositiveZero(floatExpr(-0.0) ** 4) or 8920 not isNegativeZero(floatExpr(-0.0) ** 5) or 8921 not isPositiveZero(floatExpr(-0.0) ** 6) or 8922 not isNegativeZero(floatExpr(-0.0) ** 7) or 8923 not isPositiveZero(floatExpr(-0.0) ** 8) or 8924 not isNegativeZero(floatExpr(-0.0) ** 9) or 8925 not isPositiveZero(floatExpr(-0.0) ** 10) or 8926 not isNegativeZero(floatExpr(-0.0) ** 11) or 8927 not isPositiveZero(floatExpr(-0.0) ** 12) or 8928 not isNegativeZero(floatExpr(-0.0) ** 13) or 8929 not isPositiveZero(floatExpr(-0.0) ** 14) or 8930 not isNegativeZero(floatExpr(-0.0) ** 15) or 8931 not isPositiveZero(floatExpr(-0.0) ** 16) or 8932 not isNegativeZero(floatExpr(-0.0) ** 17) or 8933 not isPositiveZero(floatExpr(-0.0) ** 18) or 8934 not isNegativeZero(floatExpr(-0.0) ** 19) or 8935 not isPositiveZero(floatExpr(-0.0) ** 20) or 8936 not isNegativeZero(floatExpr(-0.0) ** 21) or 8937 not isPositiveZero(floatExpr(-0.0) ** 22) or 8938 not isNegativeZero(floatExpr(-0.0) ** 23) or 8939 not isPositiveZero(floatExpr(-0.0) ** 24) or 8940 not isNegativeZero(floatExpr(-0.0) ** 25) or 8941 not isPositiveZero(floatExpr(-0.0) ** 26) or 8942 not isNegativeZero(floatExpr(-0.0) ** 27) or 8943 not isPositiveZero(floatExpr(-0.0) ** 28) or 8944 not isNegativeZero(floatExpr(-0.0) ** 29) or 8945 not isPositiveZero(floatExpr(-0.0) ** 30) or 8946 not isNegativeZero(floatExpr(-0.0) ** 2147483647) or 8947 not isPositiveZero(floatExpr(-0.0) ** 2147483648) or 8948 not isNegativeZero(floatExpr(-0.0) ** 2147483649) or 8949 not isNegativeZero(floatExpr(-0.0) ** 4294967295) or 8950 not isPositiveZero(floatExpr(-0.0) ** 4294967296) or 8951 not isNegativeZero(floatExpr(-0.0) ** 4294967297) or 8952 not isPositiveZero(floatExpr(-0.0) ** 9007199254740992) or 8953 not isNegativeZero(floatExpr(-0.0) ** 9007199254740993) or 8954 not isNegativeZero(floatExpr(-0.0) ** integer.last) or 8955 (-0.0) ** intExpr( 0) <> 1.0 or 8956 not isNegativeZero((-0.0) ** intExpr( 1)) or 8957 not isPositiveZero((-0.0) ** intExpr( 2)) or 8958 not isNegativeZero((-0.0) ** intExpr( 3)) or 8959 not isPositiveZero((-0.0) ** intExpr( 4)) or 8960 not isNegativeZero((-0.0) ** intExpr( 5)) or 8961 not isPositiveZero((-0.0) ** intExpr( 6)) or 8962 not isNegativeZero((-0.0) ** intExpr( 7)) or 8963 not isPositiveZero((-0.0) ** intExpr( 8)) or 8964 not isNegativeZero((-0.0) ** intExpr( 9)) or 8965 not isPositiveZero((-0.0) ** intExpr( 10)) or 8966 not isNegativeZero((-0.0) ** intExpr( 11)) or 8967 not isPositiveZero((-0.0) ** intExpr( 12)) or 8968 not isNegativeZero((-0.0) ** intExpr( 13)) or 8969 not isPositiveZero((-0.0) ** intExpr( 14)) or 8970 not isNegativeZero((-0.0) ** intExpr( 15)) or 8971 not isPositiveZero((-0.0) ** intExpr( 16)) or 8972 not isNegativeZero((-0.0) ** intExpr( 17)) or 8973 not isPositiveZero((-0.0) ** intExpr( 18)) or 8974 not isNegativeZero((-0.0) ** intExpr( 19)) or 8975 not isPositiveZero((-0.0) ** intExpr( 20)) or 8976 not isNegativeZero((-0.0) ** intExpr( 21)) or 8977 not isPositiveZero((-0.0) ** intExpr( 22)) or 8978 not isNegativeZero((-0.0) ** intExpr( 23)) or 8979 not isPositiveZero((-0.0) ** intExpr( 24)) or 8980 not isNegativeZero((-0.0) ** intExpr( 25)) or 8981 not isPositiveZero((-0.0) ** intExpr( 26)) or 8982 not isNegativeZero((-0.0) ** intExpr( 27)) or 8983 not isPositiveZero((-0.0) ** intExpr( 28)) or 8984 not isNegativeZero((-0.0) ** intExpr( 29)) or 8985 not isPositiveZero((-0.0) ** intExpr( 30)) or 8986 not isNegativeZero((-0.0) ** intExpr( 2147483647)) or 8987 not isPositiveZero((-0.0) ** intExpr( 2147483648)) or 8988 not isNegativeZero((-0.0) ** intExpr( 2147483649)) or 8989 not isNegativeZero((-0.0) ** intExpr( 4294967295)) or 8990 not isPositiveZero((-0.0) ** intExpr( 4294967296)) or 8991 not isNegativeZero((-0.0) ** intExpr( 4294967297)) or 8992 not isPositiveZero((-0.0) ** intExpr(9007199254740992)) or 8993 not isNegativeZero((-0.0) ** intExpr(9007199254740993)) or 8994 not isNegativeZero((-0.0) ** intExpr( integer.last)) or 8995 floatExpr(-0.0) ** intExpr( 0) <> 1.0 or 8996 not isNegativeZero(floatExpr(-0.0) ** intExpr( 1)) or 8997 not isPositiveZero(floatExpr(-0.0) ** intExpr( 2)) or 8998 not isNegativeZero(floatExpr(-0.0) ** intExpr( 3)) or 8999 not isPositiveZero(floatExpr(-0.0) ** intExpr( 4)) or 9000 not isNegativeZero(floatExpr(-0.0) ** intExpr( 5)) or 9001 not isPositiveZero(floatExpr(-0.0) ** intExpr( 6)) or 9002 not isNegativeZero(floatExpr(-0.0) ** intExpr( 7)) or 9003 not isPositiveZero(floatExpr(-0.0) ** intExpr( 8)) or 9004 not isNegativeZero(floatExpr(-0.0) ** intExpr( 9)) or 9005 not isPositiveZero(floatExpr(-0.0) ** intExpr( 10)) or 9006 not isNegativeZero(floatExpr(-0.0) ** intExpr( 11)) or 9007 not isPositiveZero(floatExpr(-0.0) ** intExpr( 12)) or 9008 not isNegativeZero(floatExpr(-0.0) ** intExpr( 13)) or 9009 not isPositiveZero(floatExpr(-0.0) ** intExpr( 14)) or 9010 not isNegativeZero(floatExpr(-0.0) ** intExpr( 15)) or 9011 not isPositiveZero(floatExpr(-0.0) ** intExpr( 16)) or 9012 not isNegativeZero(floatExpr(-0.0) ** intExpr( 17)) or 9013 not isPositiveZero(floatExpr(-0.0) ** intExpr( 18)) or 9014 not isNegativeZero(floatExpr(-0.0) ** intExpr( 19)) or 9015 not isPositiveZero(floatExpr(-0.0) ** intExpr( 20)) or 9016 not isNegativeZero(floatExpr(-0.0) ** intExpr( 21)) or 9017 not isPositiveZero(floatExpr(-0.0) ** intExpr( 22)) or 9018 not isNegativeZero(floatExpr(-0.0) ** intExpr( 23)) or 9019 not isPositiveZero(floatExpr(-0.0) ** intExpr( 24)) or 9020 not isNegativeZero(floatExpr(-0.0) ** intExpr( 25)) or 9021 not isPositiveZero(floatExpr(-0.0) ** intExpr( 26)) or 9022 not isNegativeZero(floatExpr(-0.0) ** intExpr( 27)) or 9023 not isPositiveZero(floatExpr(-0.0) ** intExpr( 28)) or 9024 not isNegativeZero(floatExpr(-0.0) ** intExpr( 29)) or 9025 not isPositiveZero(floatExpr(-0.0) ** intExpr( 30)) or 9026 not isNegativeZero(floatExpr(-0.0) ** intExpr( 2147483647)) or 9027 not isPositiveZero(floatExpr(-0.0) ** intExpr( 2147483648)) or 9028 not isNegativeZero(floatExpr(-0.0) ** intExpr( 2147483649)) or 9029 not isNegativeZero(floatExpr(-0.0) ** intExpr( 4294967295)) or 9030 not isPositiveZero(floatExpr(-0.0) ** intExpr( 4294967296)) or 9031 not isNegativeZero(floatExpr(-0.0) ** intExpr( 4294967297)) or 9032 not isPositiveZero(floatExpr(-0.0) ** intExpr(9007199254740992)) or 9033 not isNegativeZero(floatExpr(-0.0) ** intExpr(9007199254740993)) or 9034 not isNegativeZero(floatExpr(-0.0) ** intExpr( integer.last)) then 9035 writeln(" ***** (-0.0) ** B with positive integer B does not return 0.0 respectively -0.0."); 9036 okay := FALSE; 9037 end if; 9038 9039 if 0.0 ** integer.first <> Infinity or 9040 0.0 ** (-9007199254740993) <> Infinity or 9041 0.0 ** (-9007199254740992) <> Infinity or 9042 0.0 ** (-4294967297) <> Infinity or 9043 0.0 ** (-4294967296) <> Infinity or 9044 0.0 ** (-4294967295) <> Infinity or 9045 0.0 ** (-2147483649) <> Infinity or 9046 0.0 ** (-2147483648) <> Infinity or 9047 0.0 ** (-2147483647) <> Infinity or 9048 0.0 ** (-30) <> Infinity or 9049 0.0 ** (-29) <> Infinity or 9050 0.0 ** (-28) <> Infinity or 9051 0.0 ** (-27) <> Infinity or 9052 0.0 ** (-26) <> Infinity or 9053 0.0 ** (-25) <> Infinity or 9054 0.0 ** (-24) <> Infinity or 9055 0.0 ** (-23) <> Infinity or 9056 0.0 ** (-22) <> Infinity or 9057 0.0 ** (-21) <> Infinity or 9058 0.0 ** (-20) <> Infinity or 9059 0.0 ** (-19) <> Infinity or 9060 0.0 ** (-18) <> Infinity or 9061 0.0 ** (-17) <> Infinity or 9062 0.0 ** (-16) <> Infinity or 9063 0.0 ** (-15) <> Infinity or 9064 0.0 ** (-14) <> Infinity or 9065 0.0 ** (-13) <> Infinity or 9066 0.0 ** (-12) <> Infinity or 9067 0.0 ** (-11) <> Infinity or 9068 0.0 ** (-10) <> Infinity or 9069 0.0 ** (-9) <> Infinity or 9070 0.0 ** (-8) <> Infinity or 9071 0.0 ** (-7) <> Infinity or 9072 0.0 ** (-6) <> Infinity or 9073 0.0 ** (-5) <> Infinity or 9074 0.0 ** (-4) <> Infinity or 9075 0.0 ** (-3) <> Infinity or 9076 0.0 ** (-2) <> Infinity or 9077 0.0 ** (-1) <> Infinity or 9078 floatExpr(0.0) ** integer.first <> Infinity or 9079 floatExpr(0.0) ** (-9007199254740993) <> Infinity or 9080 floatExpr(0.0) ** (-9007199254740992) <> Infinity or 9081 floatExpr(0.0) ** (-4294967297) <> Infinity or 9082 floatExpr(0.0) ** (-4294967296) <> Infinity or 9083 floatExpr(0.0) ** (-4294967295) <> Infinity or 9084 floatExpr(0.0) ** (-2147483649) <> Infinity or 9085 floatExpr(0.0) ** (-2147483648) <> Infinity or 9086 floatExpr(0.0) ** (-2147483647) <> Infinity or 9087 floatExpr(0.0) ** (-30) <> Infinity or 9088 floatExpr(0.0) ** (-29) <> Infinity or 9089 floatExpr(0.0) ** (-28) <> Infinity or 9090 floatExpr(0.0) ** (-27) <> Infinity or 9091 floatExpr(0.0) ** (-26) <> Infinity or 9092 floatExpr(0.0) ** (-25) <> Infinity or 9093 floatExpr(0.0) ** (-24) <> Infinity or 9094 floatExpr(0.0) ** (-23) <> Infinity or 9095 floatExpr(0.0) ** (-22) <> Infinity or 9096 floatExpr(0.0) ** (-21) <> Infinity or 9097 floatExpr(0.0) ** (-20) <> Infinity or 9098 floatExpr(0.0) ** (-19) <> Infinity or 9099 floatExpr(0.0) ** (-18) <> Infinity or 9100 floatExpr(0.0) ** (-17) <> Infinity or 9101 floatExpr(0.0) ** (-16) <> Infinity or 9102 floatExpr(0.0) ** (-15) <> Infinity or 9103 floatExpr(0.0) ** (-14) <> Infinity or 9104 floatExpr(0.0) ** (-13) <> Infinity or 9105 floatExpr(0.0) ** (-12) <> Infinity or 9106 floatExpr(0.0) ** (-11) <> Infinity or 9107 floatExpr(0.0) ** (-10) <> Infinity or 9108 floatExpr(0.0) ** (-9) <> Infinity or 9109 floatExpr(0.0) ** (-8) <> Infinity or 9110 floatExpr(0.0) ** (-7) <> Infinity or 9111 floatExpr(0.0) ** (-6) <> Infinity or 9112 floatExpr(0.0) ** (-5) <> Infinity or 9113 floatExpr(0.0) ** (-4) <> Infinity or 9114 floatExpr(0.0) ** (-3) <> Infinity or 9115 floatExpr(0.0) ** (-2) <> Infinity or 9116 floatExpr(0.0) ** (-1) <> Infinity or 9117 0.0 ** intExpr( integer.first) <> Infinity or 9118 0.0 ** intExpr(-9007199254740993) <> Infinity or 9119 0.0 ** intExpr(-9007199254740992) <> Infinity or 9120 0.0 ** intExpr( -4294967297) <> Infinity or 9121 0.0 ** intExpr( -4294967296) <> Infinity or 9122 0.0 ** intExpr( -4294967295) <> Infinity or 9123 0.0 ** intExpr( -2147483649) <> Infinity or 9124 0.0 ** intExpr( -2147483648) <> Infinity or 9125 0.0 ** intExpr( -2147483647) <> Infinity or 9126 0.0 ** intExpr( -30) <> Infinity or 9127 0.0 ** intExpr( -29) <> Infinity or 9128 0.0 ** intExpr( -28) <> Infinity or 9129 0.0 ** intExpr( -27) <> Infinity or 9130 0.0 ** intExpr( -26) <> Infinity or 9131 0.0 ** intExpr( -25) <> Infinity or 9132 0.0 ** intExpr( -24) <> Infinity or 9133 0.0 ** intExpr( -23) <> Infinity or 9134 0.0 ** intExpr( -22) <> Infinity or 9135 0.0 ** intExpr( -21) <> Infinity or 9136 0.0 ** intExpr( -20) <> Infinity or 9137 0.0 ** intExpr( -19) <> Infinity or 9138 0.0 ** intExpr( -18) <> Infinity or 9139 0.0 ** intExpr( -17) <> Infinity or 9140 0.0 ** intExpr( -16) <> Infinity or 9141 0.0 ** intExpr( -15) <> Infinity or 9142 0.0 ** intExpr( -14) <> Infinity or 9143 0.0 ** intExpr( -13) <> Infinity or 9144 0.0 ** intExpr( -12) <> Infinity or 9145 0.0 ** intExpr( -11) <> Infinity or 9146 0.0 ** intExpr( -10) <> Infinity or 9147 0.0 ** intExpr( -9) <> Infinity or 9148 0.0 ** intExpr( -8) <> Infinity or 9149 0.0 ** intExpr( -7) <> Infinity or 9150 0.0 ** intExpr( -6) <> Infinity or 9151 0.0 ** intExpr( -5) <> Infinity or 9152 0.0 ** intExpr( -4) <> Infinity or 9153 0.0 ** intExpr( -3) <> Infinity or 9154 0.0 ** intExpr( -2) <> Infinity or 9155 0.0 ** intExpr( -1) <> Infinity or 9156 floatExpr(0.0) ** intExpr( integer.first) <> Infinity or 9157 floatExpr(0.0) ** intExpr(-9007199254740993) <> Infinity or 9158 floatExpr(0.0) ** intExpr(-9007199254740992) <> Infinity or 9159 floatExpr(0.0) ** intExpr( -4294967297) <> Infinity or 9160 floatExpr(0.0) ** intExpr( -4294967296) <> Infinity or 9161 floatExpr(0.0) ** intExpr( -4294967295) <> Infinity or 9162 floatExpr(0.0) ** intExpr( -2147483649) <> Infinity or 9163 floatExpr(0.0) ** intExpr( -2147483648) <> Infinity or 9164 floatExpr(0.0) ** intExpr( -2147483647) <> Infinity or 9165 floatExpr(0.0) ** intExpr( -30) <> Infinity or 9166 floatExpr(0.0) ** intExpr( -29) <> Infinity or 9167 floatExpr(0.0) ** intExpr( -28) <> Infinity or 9168 floatExpr(0.0) ** intExpr( -27) <> Infinity or 9169 floatExpr(0.0) ** intExpr( -26) <> Infinity or 9170 floatExpr(0.0) ** intExpr( -25) <> Infinity or 9171 floatExpr(0.0) ** intExpr( -24) <> Infinity or 9172 floatExpr(0.0) ** intExpr( -23) <> Infinity or 9173 floatExpr(0.0) ** intExpr( -22) <> Infinity or 9174 floatExpr(0.0) ** intExpr( -21) <> Infinity or 9175 floatExpr(0.0) ** intExpr( -20) <> Infinity or 9176 floatExpr(0.0) ** intExpr( -19) <> Infinity or 9177 floatExpr(0.0) ** intExpr( -18) <> Infinity or 9178 floatExpr(0.0) ** intExpr( -17) <> Infinity or 9179 floatExpr(0.0) ** intExpr( -16) <> Infinity or 9180 floatExpr(0.0) ** intExpr( -15) <> Infinity or 9181 floatExpr(0.0) ** intExpr( -14) <> Infinity or 9182 floatExpr(0.0) ** intExpr( -13) <> Infinity or 9183 floatExpr(0.0) ** intExpr( -12) <> Infinity or 9184 floatExpr(0.0) ** intExpr( -11) <> Infinity or 9185 floatExpr(0.0) ** intExpr( -10) <> Infinity or 9186 floatExpr(0.0) ** intExpr( -9) <> Infinity or 9187 floatExpr(0.0) ** intExpr( -8) <> Infinity or 9188 floatExpr(0.0) ** intExpr( -7) <> Infinity or 9189 floatExpr(0.0) ** intExpr( -6) <> Infinity or 9190 floatExpr(0.0) ** intExpr( -5) <> Infinity or 9191 floatExpr(0.0) ** intExpr( -4) <> Infinity or 9192 floatExpr(0.0) ** intExpr( -3) <> Infinity or 9193 floatExpr(0.0) ** intExpr( -2) <> Infinity or 9194 floatExpr(0.0) ** intExpr( -1) <> Infinity then 9195 writeln(" ***** 0.0 ** B with negative integer B does not return Infinity."); 9196 okay := FALSE; 9197 end if; 9198 9199 if 0.0 ** 0 <> 1.0 or 9200 not isPositiveZero(0.0 ** 1) or 9201 not isPositiveZero(0.0 ** 2) or 9202 not isPositiveZero(0.0 ** 3) or 9203 not isPositiveZero(0.0 ** 4) or 9204 not isPositiveZero(0.0 ** 5) or 9205 not isPositiveZero(0.0 ** 6) or 9206 not isPositiveZero(0.0 ** 7) or 9207 not isPositiveZero(0.0 ** 8) or 9208 not isPositiveZero(0.0 ** 9) or 9209 not isPositiveZero(0.0 ** 10) or 9210 not isPositiveZero(0.0 ** 11) or 9211 not isPositiveZero(0.0 ** 12) or 9212 not isPositiveZero(0.0 ** 13) or 9213 not isPositiveZero(0.0 ** 14) or 9214 not isPositiveZero(0.0 ** 15) or 9215 not isPositiveZero(0.0 ** 16) or 9216 not isPositiveZero(0.0 ** 17) or 9217 not isPositiveZero(0.0 ** 18) or 9218 not isPositiveZero(0.0 ** 19) or 9219 not isPositiveZero(0.0 ** 20) or 9220 not isPositiveZero(0.0 ** 21) or 9221 not isPositiveZero(0.0 ** 22) or 9222 not isPositiveZero(0.0 ** 23) or 9223 not isPositiveZero(0.0 ** 24) or 9224 not isPositiveZero(0.0 ** 25) or 9225 not isPositiveZero(0.0 ** 26) or 9226 not isPositiveZero(0.0 ** 27) or 9227 not isPositiveZero(0.0 ** 28) or 9228 not isPositiveZero(0.0 ** 29) or 9229 not isPositiveZero(0.0 ** 30) or 9230 not isPositiveZero(0.0 ** 2147483647) or 9231 not isPositiveZero(0.0 ** 2147483648) or 9232 not isPositiveZero(0.0 ** 2147483649) or 9233 not isPositiveZero(0.0 ** 4294967295) or 9234 not isPositiveZero(0.0 ** 4294967296) or 9235 not isPositiveZero(0.0 ** 4294967297) or 9236 not isPositiveZero(0.0 ** 9007199254740992) or 9237 not isPositiveZero(0.0 ** 9007199254740993) or 9238 not isPositiveZero(0.0 ** integer.last) or 9239 floatExpr(0.0) ** 0 <> 1.0 or 9240 not isPositiveZero(floatExpr(0.0) ** 1) or 9241 not isPositiveZero(floatExpr(0.0) ** 2) or 9242 not isPositiveZero(floatExpr(0.0) ** 3) or 9243 not isPositiveZero(floatExpr(0.0) ** 4) or 9244 not isPositiveZero(floatExpr(0.0) ** 5) or 9245 not isPositiveZero(floatExpr(0.0) ** 6) or 9246 not isPositiveZero(floatExpr(0.0) ** 7) or 9247 not isPositiveZero(floatExpr(0.0) ** 8) or 9248 not isPositiveZero(floatExpr(0.0) ** 9) or 9249 not isPositiveZero(floatExpr(0.0) ** 10) or 9250 not isPositiveZero(floatExpr(0.0) ** 11) or 9251 not isPositiveZero(floatExpr(0.0) ** 12) or 9252 not isPositiveZero(floatExpr(0.0) ** 13) or 9253 not isPositiveZero(floatExpr(0.0) ** 14) or 9254 not isPositiveZero(floatExpr(0.0) ** 15) or 9255 not isPositiveZero(floatExpr(0.0) ** 16) or 9256 not isPositiveZero(floatExpr(0.0) ** 17) or 9257 not isPositiveZero(floatExpr(0.0) ** 18) or 9258 not isPositiveZero(floatExpr(0.0) ** 19) or 9259 not isPositiveZero(floatExpr(0.0) ** 20) or 9260 not isPositiveZero(floatExpr(0.0) ** 21) or 9261 not isPositiveZero(floatExpr(0.0) ** 22) or 9262 not isPositiveZero(floatExpr(0.0) ** 23) or 9263 not isPositiveZero(floatExpr(0.0) ** 24) or 9264 not isPositiveZero(floatExpr(0.0) ** 25) or 9265 not isPositiveZero(floatExpr(0.0) ** 26) or 9266 not isPositiveZero(floatExpr(0.0) ** 27) or 9267 not isPositiveZero(floatExpr(0.0) ** 28) or 9268 not isPositiveZero(floatExpr(0.0) ** 29) or 9269 not isPositiveZero(floatExpr(0.0) ** 30) or 9270 not isPositiveZero(floatExpr(0.0) ** 2147483647) or 9271 not isPositiveZero(floatExpr(0.0) ** 2147483648) or 9272 not isPositiveZero(floatExpr(0.0) ** 2147483649) or 9273 not isPositiveZero(floatExpr(0.0) ** 4294967295) or 9274 not isPositiveZero(floatExpr(0.0) ** 4294967296) or 9275 not isPositiveZero(floatExpr(0.0) ** 4294967297) or 9276 not isPositiveZero(floatExpr(0.0) ** 9007199254740992) or 9277 not isPositiveZero(floatExpr(0.0) ** 9007199254740993) or 9278 not isPositiveZero(floatExpr(0.0) ** integer.last) or 9279 0.0 ** intExpr( 0) <> 1.0 or 9280 not isPositiveZero(0.0 ** intExpr( 1)) or 9281 not isPositiveZero(0.0 ** intExpr( 2)) or 9282 not isPositiveZero(0.0 ** intExpr( 3)) or 9283 not isPositiveZero(0.0 ** intExpr( 4)) or 9284 not isPositiveZero(0.0 ** intExpr( 5)) or 9285 not isPositiveZero(0.0 ** intExpr( 6)) or 9286 not isPositiveZero(0.0 ** intExpr( 7)) or 9287 not isPositiveZero(0.0 ** intExpr( 8)) or 9288 not isPositiveZero(0.0 ** intExpr( 9)) or 9289 not isPositiveZero(0.0 ** intExpr( 10)) or 9290 not isPositiveZero(0.0 ** intExpr( 11)) or 9291 not isPositiveZero(0.0 ** intExpr( 12)) or 9292 not isPositiveZero(0.0 ** intExpr( 13)) or 9293 not isPositiveZero(0.0 ** intExpr( 14)) or 9294 not isPositiveZero(0.0 ** intExpr( 15)) or 9295 not isPositiveZero(0.0 ** intExpr( 16)) or 9296 not isPositiveZero(0.0 ** intExpr( 17)) or 9297 not isPositiveZero(0.0 ** intExpr( 18)) or 9298 not isPositiveZero(0.0 ** intExpr( 19)) or 9299 not isPositiveZero(0.0 ** intExpr( 20)) or 9300 not isPositiveZero(0.0 ** intExpr( 21)) or 9301 not isPositiveZero(0.0 ** intExpr( 22)) or 9302 not isPositiveZero(0.0 ** intExpr( 23)) or 9303 not isPositiveZero(0.0 ** intExpr( 24)) or 9304 not isPositiveZero(0.0 ** intExpr( 25)) or 9305 not isPositiveZero(0.0 ** intExpr( 26)) or 9306 not isPositiveZero(0.0 ** intExpr( 27)) or 9307 not isPositiveZero(0.0 ** intExpr( 28)) or 9308 not isPositiveZero(0.0 ** intExpr( 29)) or 9309 not isPositiveZero(0.0 ** intExpr( 30)) or 9310 not isPositiveZero(0.0 ** intExpr( 2147483647)) or 9311 not isPositiveZero(0.0 ** intExpr( 2147483648)) or 9312 not isPositiveZero(0.0 ** intExpr( 2147483649)) or 9313 not isPositiveZero(0.0 ** intExpr( 4294967295)) or 9314 not isPositiveZero(0.0 ** intExpr( 4294967296)) or 9315 not isPositiveZero(0.0 ** intExpr( 4294967297)) or 9316 not isPositiveZero(0.0 ** intExpr(9007199254740992)) or 9317 not isPositiveZero(0.0 ** intExpr(9007199254740993)) or 9318 not isPositiveZero(0.0 ** intExpr( integer.last)) or 9319 floatExpr(0.0) ** intExpr( 0) <> 1.0 or 9320 not isPositiveZero(floatExpr(0.0) ** intExpr( 1)) or 9321 not isPositiveZero(floatExpr(0.0) ** intExpr( 2)) or 9322 not isPositiveZero(floatExpr(0.0) ** intExpr( 3)) or 9323 not isPositiveZero(floatExpr(0.0) ** intExpr( 4)) or 9324 not isPositiveZero(floatExpr(0.0) ** intExpr( 5)) or 9325 not isPositiveZero(floatExpr(0.0) ** intExpr( 6)) or 9326 not isPositiveZero(floatExpr(0.0) ** intExpr( 7)) or 9327 not isPositiveZero(floatExpr(0.0) ** intExpr( 8)) or 9328 not isPositiveZero(floatExpr(0.0) ** intExpr( 9)) or 9329 not isPositiveZero(floatExpr(0.0) ** intExpr( 10)) or 9330 not isPositiveZero(floatExpr(0.0) ** intExpr( 11)) or 9331 not isPositiveZero(floatExpr(0.0) ** intExpr( 12)) or 9332 not isPositiveZero(floatExpr(0.0) ** intExpr( 13)) or 9333 not isPositiveZero(floatExpr(0.0) ** intExpr( 14)) or 9334 not isPositiveZero(floatExpr(0.0) ** intExpr( 15)) or 9335 not isPositiveZero(floatExpr(0.0) ** intExpr( 16)) or 9336 not isPositiveZero(floatExpr(0.0) ** intExpr( 17)) or 9337 not isPositiveZero(floatExpr(0.0) ** intExpr( 18)) or 9338 not isPositiveZero(floatExpr(0.0) ** intExpr( 19)) or 9339 not isPositiveZero(floatExpr(0.0) ** intExpr( 20)) or 9340 not isPositiveZero(floatExpr(0.0) ** intExpr( 21)) or 9341 not isPositiveZero(floatExpr(0.0) ** intExpr( 22)) or 9342 not isPositiveZero(floatExpr(0.0) ** intExpr( 23)) or 9343 not isPositiveZero(floatExpr(0.0) ** intExpr( 24)) or 9344 not isPositiveZero(floatExpr(0.0) ** intExpr( 25)) or 9345 not isPositiveZero(floatExpr(0.0) ** intExpr( 26)) or 9346 not isPositiveZero(floatExpr(0.0) ** intExpr( 27)) or 9347 not isPositiveZero(floatExpr(0.0) ** intExpr( 28)) or 9348 not isPositiveZero(floatExpr(0.0) ** intExpr( 29)) or 9349 not isPositiveZero(floatExpr(0.0) ** intExpr( 30)) or 9350 not isPositiveZero(floatExpr(0.0) ** intExpr( 2147483647)) or 9351 not isPositiveZero(floatExpr(0.0) ** intExpr( 2147483648)) or 9352 not isPositiveZero(floatExpr(0.0) ** intExpr( 2147483649)) or 9353 not isPositiveZero(floatExpr(0.0) ** intExpr( 4294967295)) or 9354 not isPositiveZero(floatExpr(0.0) ** intExpr( 4294967296)) or 9355 not isPositiveZero(floatExpr(0.0) ** intExpr( 4294967297)) or 9356 not isPositiveZero(floatExpr(0.0) ** intExpr(9007199254740992)) or 9357 not isPositiveZero(floatExpr(0.0) ** intExpr(9007199254740993)) or 9358 not isPositiveZero(floatExpr(0.0) ** intExpr( integer.last)) then 9359 writeln(" ***** 0.0 ** B with integer B does not return 0.0."); 9360 okay := FALSE; 9361 end if; 9362 9363 if 1.0 ** integer.first <> 1.0 or 9364 1.0 ** (-9007199254740993) <> 1.0 or 9365 1.0 ** (-9007199254740992) <> 1.0 or 9366 1.0 ** (-2147483649) <> 1.0 or 9367 1.0 ** (-2147483648) <> 1.0 or 9368 1.0 ** (-2) <> 1.0 or 9369 1.0 ** (-1) <> 1.0 or 9370 1.0 ** 0 <> 1.0 or 9371 1.0 ** 1 <> 1.0 or 9372 1.0 ** 2 <> 1.0 or 9373 1.0 ** 2147483647 <> 1.0 or 9374 1.0 ** 2147483648 <> 1.0 or 9375 1.0 ** 9007199254740992 <> 1.0 or 9376 1.0 ** 9007199254740993 <> 1.0 or 9377 1.0 ** integer.last <> 1.0 or 9378 floatExpr(1.0) ** integer.first <> 1.0 or 9379 floatExpr(1.0) ** (-9007199254740993) <> 1.0 or 9380 floatExpr(1.0) ** (-9007199254740992) <> 1.0 or 9381 floatExpr(1.0) ** (-2147483649) <> 1.0 or 9382 floatExpr(1.0) ** (-2147483648) <> 1.0 or 9383 floatExpr(1.0) ** (-2) <> 1.0 or 9384 floatExpr(1.0) ** (-1) <> 1.0 or 9385 floatExpr(1.0) ** 0 <> 1.0 or 9386 floatExpr(1.0) ** 1 <> 1.0 or 9387 floatExpr(1.0) ** 2 <> 1.0 or 9388 floatExpr(1.0) ** 2147483647 <> 1.0 or 9389 floatExpr(1.0) ** 2147483648 <> 1.0 or 9390 floatExpr(1.0) ** 9007199254740992 <> 1.0 or 9391 floatExpr(1.0) ** 9007199254740993 <> 1.0 or 9392 floatExpr(1.0) ** integer.last <> 1.0 or 9393 1.0 ** intExpr( integer.first) <> 1.0 or 9394 1.0 ** intExpr(-9007199254740993) <> 1.0 or 9395 1.0 ** intExpr(-9007199254740992) <> 1.0 or 9396 1.0 ** intExpr( -2147483649) <> 1.0 or 9397 1.0 ** intExpr( -2147483648) <> 1.0 or 9398 1.0 ** intExpr( -2) <> 1.0 or 9399 1.0 ** intExpr( -1) <> 1.0 or 9400 1.0 ** intExpr( 0) <> 1.0 or 9401 1.0 ** intExpr( 1) <> 1.0 or 9402 1.0 ** intExpr( 2) <> 1.0 or 9403 1.0 ** intExpr( 2147483647) <> 1.0 or 9404 1.0 ** intExpr( 2147483648) <> 1.0 or 9405 1.0 ** intExpr( 9007199254740992) <> 1.0 or 9406 1.0 ** intExpr( 9007199254740993) <> 1.0 or 9407 1.0 ** intExpr( integer.last) <> 1.0 or 9408 floatExpr(1.0) ** intExpr( integer.first) <> 1.0 or 9409 floatExpr(1.0) ** intExpr(-9007199254740993) <> 1.0 or 9410 floatExpr(1.0) ** intExpr(-9007199254740992) <> 1.0 or 9411 floatExpr(1.0) ** intExpr( -2147483649) <> 1.0 or 9412 floatExpr(1.0) ** intExpr( -2147483648) <> 1.0 or 9413 floatExpr(1.0) ** intExpr( -2) <> 1.0 or 9414 floatExpr(1.0) ** intExpr( -1) <> 1.0 or 9415 floatExpr(1.0) ** intExpr( 0) <> 1.0 or 9416 floatExpr(1.0) ** intExpr( 1) <> 1.0 or 9417 floatExpr(1.0) ** intExpr( 2) <> 1.0 or 9418 floatExpr(1.0) ** intExpr( 2147483647) <> 1.0 or 9419 floatExpr(1.0) ** intExpr( 2147483648) <> 1.0 or 9420 floatExpr(1.0) ** intExpr( 9007199254740992) <> 1.0 or 9421 floatExpr(1.0) ** intExpr( 9007199254740993) <> 1.0 or 9422 floatExpr(1.0) ** intExpr( integer.last) <> 1.0 then 9423 writeln(" ***** 1.0 ** B with integer B does not return 1.0."); 9424 okay := FALSE; 9425 end if; 9426 9427 if 2.0 ** integer.first <> 0.0 or 9428 2.0 ** (-9007199254740993) <> 0.0 or 9429 2.0 ** (-9007199254740992) <> 0.0 or 9430 2.0 ** (-2147483649) <> 0.0 or 9431 2.0 ** (-2147483648) <> 0.0 or 9432 2.0 ** (-1000) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 9433 2.0 ** ( -500) <> 3.0549363634996046820519793932136176997894027405723266638936139092812916265247204577018572351080152282568751526935904671553178534278042839697351331142009178896307244205337728522220355888195318837008165086679301794879136633899370525163649789227021200352450820912190874482021196014946372110934030798550767828365183620409339937395998276770114898681640625e-151 or 9434 2.0 ** ( -200) <> 6.2230152778611417071440640537801242405902521687211671331011166147896988340353834411839448231257136169569665895551224821247160434722900390625e-61 or 9435 2.0 ** ( -100) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 9436 2.0 ** ( -50) <> 8.8817841970012523233890533447265625e-16 or 9437 2.0 ** ( -20) <> 9.5367431640625e-7 or 9438 2.0 ** ( -10) <> 9.765625e-4 or 9439 2.0 ** ( -5) <> 3.125e-2 or 9440 2.0 ** ( -2) <> 0.25 or 9441 2.0 ** ( -1) <> 0.5 or 9442 2.0 ** 0 <> 1.0 or 9443 2.0 ** 1 <> 2.0 or 9444 2.0 ** 2 <> 4.0 or 9445 2.0 ** 5 <> 3.2e1 or 9446 2.0 ** 10 <> 1.024e3 or 9447 2.0 ** 20 <> 1.048576e6 or 9448 2.0 ** 50 <> 1.125899906842624e15 or 9449 2.0 ** 100 <> 1.267650600228229401496703205376e30 or 9450 2.0 ** 200 <> 1.606938044258990275541962092341162602522202993782792835301376e60 or 9451 2.0 ** 500 <> 3.273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376e150 or 9452 2.0 ** 1000 <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 9453 2.0 ** 2147483647 <> Infinity or 9454 2.0 ** 2147483648 <> Infinity or 9455 2.0 ** 9007199254740992 <> Infinity or 9456 2.0 ** 9007199254740993 <> Infinity or 9457 2.0 ** integer.last <> Infinity or 9458 floatExpr(2.0) ** integer.first <> 0.0 or 9459 floatExpr(2.0) ** (-9007199254740993) <> 0.0 or 9460 floatExpr(2.0) ** (-9007199254740992) <> 0.0 or 9461 floatExpr(2.0) ** (-2147483649) <> 0.0 or 9462 floatExpr(2.0) ** (-2147483648) <> 0.0 or 9463 floatExpr(2.0) ** (-1000) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 9464 floatExpr(2.0) ** ( -500) <> 3.0549363634996046820519793932136176997894027405723266638936139092812916265247204577018572351080152282568751526935904671553178534278042839697351331142009178896307244205337728522220355888195318837008165086679301794879136633899370525163649789227021200352450820912190874482021196014946372110934030798550767828365183620409339937395998276770114898681640625e-151 or 9465 floatExpr(2.0) ** ( -200) <> 6.2230152778611417071440640537801242405902521687211671331011166147896988340353834411839448231257136169569665895551224821247160434722900390625e-61 or 9466 floatExpr(2.0) ** ( -100) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 9467 floatExpr(2.0) ** ( -50) <> 8.8817841970012523233890533447265625e-16 or 9468 floatExpr(2.0) ** ( -20) <> 9.5367431640625e-7 or 9469 floatExpr(2.0) ** ( -10) <> 9.765625e-4 or 9470 floatExpr(2.0) ** ( -5) <> 3.125e-2 or 9471 floatExpr(2.0) ** ( -2) <> 0.25 or 9472 floatExpr(2.0) ** ( -1) <> 0.5 or 9473 floatExpr(2.0) ** 0 <> 1.0 or 9474 floatExpr(2.0) ** 1 <> 2.0 or 9475 floatExpr(2.0) ** 2 <> 4.0 or 9476 floatExpr(2.0) ** 5 <> 3.2e1 or 9477 floatExpr(2.0) ** 10 <> 1.024e3 or 9478 floatExpr(2.0) ** 20 <> 1.048576e6 or 9479 floatExpr(2.0) ** 50 <> 1.125899906842624e15 or 9480 floatExpr(2.0) ** 100 <> 1.267650600228229401496703205376e30 or 9481 floatExpr(2.0) ** 200 <> 1.606938044258990275541962092341162602522202993782792835301376e60 or 9482 floatExpr(2.0) ** 500 <> 3.273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376e150 or 9483 floatExpr(2.0) ** 1000 <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 9484 floatExpr(2.0) ** 2147483647 <> Infinity or 9485 floatExpr(2.0) ** 2147483648 <> Infinity or 9486 floatExpr(2.0) ** 9007199254740992 <> Infinity or 9487 floatExpr(2.0) ** 9007199254740993 <> Infinity or 9488 floatExpr(2.0) ** integer.last <> Infinity or 9489 2.0 ** intExpr( integer.first) <> 0.0 or 9490 2.0 ** intExpr(-9007199254740993) <> 0.0 or 9491 2.0 ** intExpr(-9007199254740992) <> 0.0 or 9492 2.0 ** intExpr( -2147483649) <> 0.0 or 9493 2.0 ** intExpr( -2147483648) <> 0.0 or 9494 2.0 ** intExpr(-1000) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 9495 2.0 ** intExpr( -500) <> 3.0549363634996046820519793932136176997894027405723266638936139092812916265247204577018572351080152282568751526935904671553178534278042839697351331142009178896307244205337728522220355888195318837008165086679301794879136633899370525163649789227021200352450820912190874482021196014946372110934030798550767828365183620409339937395998276770114898681640625e-151 or 9496 2.0 ** intExpr( -200) <> 6.2230152778611417071440640537801242405902521687211671331011166147896988340353834411839448231257136169569665895551224821247160434722900390625e-61 or 9497 2.0 ** intExpr( -100) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 9498 2.0 ** intExpr( -50) <> 8.8817841970012523233890533447265625e-16 or 9499 2.0 ** intExpr( -20) <> 9.5367431640625e-7 or 9500 2.0 ** intExpr( -10) <> 9.765625e-4 or 9501 2.0 ** intExpr( -5) <> 3.125e-2 or 9502 2.0 ** intExpr( -2) <> 0.25 or 9503 2.0 ** intExpr( -1) <> 0.5 or 9504 2.0 ** intExpr( 0) <> 1.0 or 9505 2.0 ** intExpr( 1) <> 2.0 or 9506 2.0 ** intExpr( 2) <> 4.0 or 9507 2.0 ** intExpr( 5) <> 3.2e1 or 9508 2.0 ** intExpr( 10) <> 1.024e3 or 9509 2.0 ** intExpr( 20) <> 1.048576e6 or 9510 2.0 ** intExpr( 50) <> 1.125899906842624e15 or 9511 2.0 ** intExpr( 100) <> 1.267650600228229401496703205376e30 or 9512 2.0 ** intExpr( 200) <> 1.606938044258990275541962092341162602522202993782792835301376e60 or 9513 2.0 ** intExpr( 500) <> 3.273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376e150 or 9514 2.0 ** intExpr( 1000) <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 9515 2.0 ** intExpr( 2147483647) <> Infinity or 9516 2.0 ** intExpr( 2147483648) <> Infinity or 9517 2.0 ** intExpr(9007199254740992) <> Infinity or 9518 2.0 ** intExpr(9007199254740993) <> Infinity or 9519 2.0 ** intExpr( integer.last) <> Infinity or 9520 floatExpr(2.0) ** intExpr( integer.first) <> 0.0 or 9521 floatExpr(2.0) ** intExpr(-9007199254740993) <> 0.0 or 9522 floatExpr(2.0) ** intExpr(-9007199254740992) <> 0.0 or 9523 floatExpr(2.0) ** intExpr( -2147483649) <> 0.0 or 9524 floatExpr(2.0) ** intExpr( -2147483648) <> 0.0 or 9525 floatExpr(2.0) ** intExpr(-1000) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 9526 floatExpr(2.0) ** intExpr( -500) <> 3.0549363634996046820519793932136176997894027405723266638936139092812916265247204577018572351080152282568751526935904671553178534278042839697351331142009178896307244205337728522220355888195318837008165086679301794879136633899370525163649789227021200352450820912190874482021196014946372110934030798550767828365183620409339937395998276770114898681640625e-151 or 9527 floatExpr(2.0) ** intExpr( -200) <> 6.2230152778611417071440640537801242405902521687211671331011166147896988340353834411839448231257136169569665895551224821247160434722900390625e-61 or 9528 floatExpr(2.0) ** intExpr( -100) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 9529 floatExpr(2.0) ** intExpr( -50) <> 8.8817841970012523233890533447265625e-16 or 9530 floatExpr(2.0) ** intExpr( -20) <> 9.5367431640625e-7 or 9531 floatExpr(2.0) ** intExpr( -10) <> 9.765625e-4 or 9532 floatExpr(2.0) ** intExpr( -5) <> 3.125e-2 or 9533 floatExpr(2.0) ** intExpr( -2) <> 0.25 or 9534 floatExpr(2.0) ** intExpr( -1) <> 0.5 or 9535 floatExpr(2.0) ** intExpr( 0) <> 1.0 or 9536 floatExpr(2.0) ** intExpr( 1) <> 2.0 or 9537 floatExpr(2.0) ** intExpr( 2) <> 4.0 or 9538 floatExpr(2.0) ** intExpr( 5) <> 3.2e1 or 9539 floatExpr(2.0) ** intExpr( 10) <> 1.024e3 or 9540 floatExpr(2.0) ** intExpr( 20) <> 1.048576e6 or 9541 floatExpr(2.0) ** intExpr( 50) <> 1.125899906842624e15 or 9542 floatExpr(2.0) ** intExpr( 100) <> 1.267650600228229401496703205376e30 or 9543 floatExpr(2.0) ** intExpr( 200) <> 1.606938044258990275541962092341162602522202993782792835301376e60 or 9544 floatExpr(2.0) ** intExpr( 500) <> 3.273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376e150 or 9545 floatExpr(2.0) ** intExpr( 1000) <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 9546 floatExpr(2.0) ** intExpr( 2147483647) <> Infinity or 9547 floatExpr(2.0) ** intExpr( 2147483648) <> Infinity or 9548 floatExpr(2.0) ** intExpr(9007199254740992) <> Infinity or 9549 floatExpr(2.0) ** intExpr(9007199254740993) <> Infinity or 9550 floatExpr(2.0) ** intExpr( integer.last) <> Infinity then 9551 writeln(" ***** 2.0 ** B with integer B does not work correct."); 9552 okay := FALSE; 9553 end if; 9554 9555 if 4.0 ** integer.first <> 0.0 or 9556 4.0 ** (-9007199254740993) <> 0.0 or 9557 4.0 ** (-9007199254740992) <> 0.0 or 9558 4.0 ** (-2147483649) <> 0.0 or 9559 4.0 ** (-2147483648) <> 0.0 or 9560 4.0 ** (-500) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 9561 4.0 ** (-200) <> 3.872591914849318272818030633286351847570219192048790865487762941344416348097685964862682234277014596908057542507554467539370836398992350315522318050653350492002436065270530802738432038373174754090809367646454942400181270162578968846816261130394654088604511343874037265777587890625e-121 or 9562 4.0 ** (-100) <> 6.2230152778611417071440640537801242405902521687211671331011166147896988340353834411839448231257136169569665895551224821247160434722900390625e-61 or 9563 4.0 ** ( -50) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 9564 4.0 ** ( -20) <> 9.094947017729282379150390625e-13 or 9565 4.0 ** ( -10) <> 9.5367431640625e-7 or 9566 4.0 ** ( -5) <> 9.765625e-4 or 9567 4.0 ** ( -2) <> 6.25e-2 or 9568 4.0 ** ( -1) <> 0.25 or 9569 4.0 ** 0 <> 1.0 or 9570 4.0 ** 1 <> 4.0 or 9571 4.0 ** 2 <> 1.6e1 or 9572 4.0 ** 5 <> 1.024e3 or 9573 4.0 ** 10 <> 1.048576e6 or 9574 4.0 ** 20 <> 1.099511627776e12 or 9575 4.0 ** 50 <> 1.267650600228229401496703205376e30 or 9576 4.0 ** 100 <> 1.606938044258990275541962092341162602522202993782792835301376e60 or 9577 4.0 ** 200 <> 2.582249878086908589655919172003011874329705792829223512830659356540647622016841194629645353280137831435903171972747493376e+120 or 9578 4.0 ** 500 <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 9579 4.0 ** 2147483647 <> Infinity or 9580 4.0 ** 2147483648 <> Infinity or 9581 4.0 ** 9007199254740992 <> Infinity or 9582 4.0 ** 9007199254740993 <> Infinity or 9583 4.0 ** integer.last <> Infinity or 9584 floatExpr(4.0) ** integer.first <> 0.0 or 9585 floatExpr(4.0) ** (-9007199254740993) <> 0.0 or 9586 floatExpr(4.0) ** (-9007199254740992) <> 0.0 or 9587 floatExpr(4.0) ** (-2147483649) <> 0.0 or 9588 floatExpr(4.0) ** (-2147483648) <> 0.0 or 9589 floatExpr(4.0) ** (-500) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 9590 floatExpr(4.0) ** (-200) <> 3.872591914849318272818030633286351847570219192048790865487762941344416348097685964862682234277014596908057542507554467539370836398992350315522318050653350492002436065270530802738432038373174754090809367646454942400181270162578968846816261130394654088604511343874037265777587890625e-121 or 9591 floatExpr(4.0) ** (-100) <> 6.2230152778611417071440640537801242405902521687211671331011166147896988340353834411839448231257136169569665895551224821247160434722900390625e-61 or 9592 floatExpr(4.0) ** ( -50) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 9593 floatExpr(4.0) ** ( -20) <> 9.094947017729282379150390625e-13 or 9594 floatExpr(4.0) ** ( -10) <> 9.5367431640625e-7 or 9595 floatExpr(4.0) ** ( -5) <> 9.765625e-4 or 9596 floatExpr(4.0) ** ( -2) <> 6.25e-2 or 9597 floatExpr(4.0) ** ( -1) <> 0.25 or 9598 floatExpr(4.0) ** 0 <> 1.0 or 9599 floatExpr(4.0) ** 1 <> 4.0 or 9600 floatExpr(4.0) ** 2 <> 1.6e1 or 9601 floatExpr(4.0) ** 5 <> 1.024e3 or 9602 floatExpr(4.0) ** 10 <> 1.048576e6 or 9603 floatExpr(4.0) ** 20 <> 1.099511627776e12 or 9604 floatExpr(4.0) ** 50 <> 1.267650600228229401496703205376e30 or 9605 floatExpr(4.0) ** 100 <> 1.606938044258990275541962092341162602522202993782792835301376e60 or 9606 floatExpr(4.0) ** 200 <> 2.582249878086908589655919172003011874329705792829223512830659356540647622016841194629645353280137831435903171972747493376e+120 or 9607 floatExpr(4.0) ** 500 <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 9608 floatExpr(4.0) ** 2147483647 <> Infinity or 9609 floatExpr(4.0) ** 2147483648 <> Infinity or 9610 floatExpr(4.0) ** 9007199254740992 <> Infinity or 9611 floatExpr(4.0) ** 9007199254740993 <> Infinity or 9612 floatExpr(4.0) ** integer.last <> Infinity or 9613 4.0 ** intExpr( integer.first) <> 0.0 or 9614 4.0 ** intExpr(-9007199254740993) <> 0.0 or 9615 4.0 ** intExpr(-9007199254740992) <> 0.0 or 9616 4.0 ** intExpr( -2147483649) <> 0.0 or 9617 4.0 ** intExpr( -2147483648) <> 0.0 or 9618 4.0 ** intExpr(-500) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 9619 4.0 ** intExpr(-200) <> 3.872591914849318272818030633286351847570219192048790865487762941344416348097685964862682234277014596908057542507554467539370836398992350315522318050653350492002436065270530802738432038373174754090809367646454942400181270162578968846816261130394654088604511343874037265777587890625e-121 or 9620 4.0 ** intExpr(-100) <> 6.2230152778611417071440640537801242405902521687211671331011166147896988340353834411839448231257136169569665895551224821247160434722900390625e-61 or 9621 4.0 ** intExpr( -50) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 9622 4.0 ** intExpr( -20) <> 9.094947017729282379150390625e-13 or 9623 4.0 ** intExpr( -10) <> 9.5367431640625e-7 or 9624 4.0 ** intExpr( -5) <> 9.765625e-4 or 9625 4.0 ** intExpr( -2) <> 6.25e-2 or 9626 4.0 ** intExpr( -1) <> 0.25 or 9627 4.0 ** intExpr( 0) <> 1.0 or 9628 4.0 ** intExpr( 1) <> 4.0 or 9629 4.0 ** intExpr( 2) <> 1.6e1 or 9630 4.0 ** intExpr( 5) <> 1.024e3 or 9631 4.0 ** intExpr( 10) <> 1.048576e6 or 9632 4.0 ** intExpr( 20) <> 1.099511627776e12 or 9633 4.0 ** intExpr( 50) <> 1.267650600228229401496703205376e30 or 9634 4.0 ** intExpr( 100) <> 1.606938044258990275541962092341162602522202993782792835301376e60 or 9635 4.0 ** intExpr( 200) <> 2.582249878086908589655919172003011874329705792829223512830659356540647622016841194629645353280137831435903171972747493376e+120 or 9636 4.0 ** intExpr( 500) <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 9637 4.0 ** intExpr( 2147483647) <> Infinity or 9638 4.0 ** intExpr( 2147483648) <> Infinity or 9639 4.0 ** intExpr(9007199254740992) <> Infinity or 9640 4.0 ** intExpr(9007199254740993) <> Infinity or 9641 4.0 ** intExpr( integer.last) <> Infinity or 9642 floatExpr(4.0) ** intExpr( integer.first) <> 0.0 or 9643 floatExpr(4.0) ** intExpr(-9007199254740993) <> 0.0 or 9644 floatExpr(4.0) ** intExpr(-9007199254740992) <> 0.0 or 9645 floatExpr(4.0) ** intExpr( -2147483649) <> 0.0 or 9646 floatExpr(4.0) ** intExpr( -2147483648) <> 0.0 or 9647 floatExpr(4.0) ** intExpr(-500) <> 9.33263618503218878990089544723817169617091446371708024621714339795966910975775634454440327097881102359594989930324242624215487521354032394841520817203930756234410666138325150273995075985901831511100490796265113118240512514795933790805178271125415103810698378854426481119469814228660959222017662910442798456169448887147466528006328368452647429261829862165202793195289493607117850663668741065439805530718136320599844826041954101213229629869502194514609904214608668361244792952034826864617657926916047420065936389041737895822118365078045556628444273925387517127854796781556346403714877681766899855392069265439424008711973674701749862626690747296762535803929376233833981046927874558605253696441650390625e-302 or 9648 floatExpr(4.0) ** intExpr(-200) <> 3.872591914849318272818030633286351847570219192048790865487762941344416348097685964862682234277014596908057542507554467539370836398992350315522318050653350492002436065270530802738432038373174754090809367646454942400181270162578968846816261130394654088604511343874037265777587890625e-121 or 9649 floatExpr(4.0) ** intExpr(-100) <> 6.2230152778611417071440640537801242405902521687211671331011166147896988340353834411839448231257136169569665895551224821247160434722900390625e-61 or 9650 floatExpr(4.0) ** intExpr( -50) <> 7.888609052210118054117285652827862296732064351090230047702789306640625e-31 or 9651 floatExpr(4.0) ** intExpr( -20) <> 9.094947017729282379150390625e-13 or 9652 floatExpr(4.0) ** intExpr( -10) <> 9.5367431640625e-7 or 9653 floatExpr(4.0) ** intExpr( -5) <> 9.765625e-4 or 9654 floatExpr(4.0) ** intExpr( -2) <> 6.25e-2 or 9655 floatExpr(4.0) ** intExpr( -1) <> 0.25 or 9656 floatExpr(4.0) ** intExpr( 0) <> 1.0 or 9657 floatExpr(4.0) ** intExpr( 1) <> 4.0 or 9658 floatExpr(4.0) ** intExpr( 2) <> 1.6e1 or 9659 floatExpr(4.0) ** intExpr( 5) <> 1.024e3 or 9660 floatExpr(4.0) ** intExpr( 10) <> 1.048576e6 or 9661 floatExpr(4.0) ** intExpr( 20) <> 1.099511627776e12 or 9662 floatExpr(4.0) ** intExpr( 50) <> 1.267650600228229401496703205376e30 or 9663 floatExpr(4.0) ** intExpr( 100) <> 1.606938044258990275541962092341162602522202993782792835301376e60 or 9664 floatExpr(4.0) ** intExpr( 200) <> 2.582249878086908589655919172003011874329705792829223512830659356540647622016841194629645353280137831435903171972747493376e+120 or 9665 floatExpr(4.0) ** intExpr( 500) <> 1.0715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376e301 or 9666 floatExpr(4.0) ** intExpr( 2147483647) <> Infinity or 9667 floatExpr(4.0) ** intExpr( 2147483648) <> Infinity or 9668 floatExpr(4.0) ** intExpr(9007199254740992) <> Infinity or 9669 floatExpr(4.0) ** intExpr(9007199254740993) <> Infinity or 9670 floatExpr(4.0) ** intExpr( integer.last) <> Infinity then 9671 writeln(" ***** 4.0 ** B with integer B does not work correct."); 9672 okay := FALSE; 9673 end if; 9674 9675 if not isNaN(NaN ** integer.first ) or 9676 not isNaN(NaN ** (-9007199254740993)) or 9677 not isNaN(NaN ** (-9007199254740992)) or 9678 not isNaN(NaN ** (-4294967297)) or 9679 not isNaN(NaN ** (-4294967296)) or 9680 not isNaN(NaN ** (-4294967295)) or 9681 not isNaN(NaN ** (-2147483649)) or 9682 not isNaN(NaN ** (-2147483648)) or 9683 not isNaN(NaN ** (-2147483647)) or 9684 not isNaN(NaN ** (-30)) or 9685 not isNaN(NaN ** (-29)) or 9686 not isNaN(NaN ** (-28)) or 9687 not isNaN(NaN ** (-27)) or 9688 not isNaN(NaN ** (-26)) or 9689 not isNaN(NaN ** (-25)) or 9690 not isNaN(NaN ** (-24)) or 9691 not isNaN(NaN ** (-23)) or 9692 not isNaN(NaN ** (-22)) or 9693 not isNaN(NaN ** (-21)) or 9694 not isNaN(NaN ** (-20)) or 9695 not isNaN(NaN ** (-19)) or 9696 not isNaN(NaN ** (-18)) or 9697 not isNaN(NaN ** (-17)) or 9698 not isNaN(NaN ** (-16)) or 9699 not isNaN(NaN ** (-15)) or 9700 not isNaN(NaN ** (-14)) or 9701 not isNaN(NaN ** (-13)) or 9702 not isNaN(NaN ** (-12)) or 9703 not isNaN(NaN ** (-11)) or 9704 not isNaN(NaN ** (-10)) or 9705 not isNaN(NaN ** (-9)) or 9706 not isNaN(NaN ** (-8)) or 9707 not isNaN(NaN ** (-7)) or 9708 not isNaN(NaN ** (-6)) or 9709 not isNaN(NaN ** (-5)) or 9710 not isNaN(NaN ** (-4)) or 9711 not isNaN(NaN ** (-3)) or 9712 not isNaN(NaN ** (-2)) or 9713 not isNaN(NaN ** (-1)) or 9714 not isNaN(NaN ** 1 ) or 9715 not isNaN(NaN ** 2 ) or 9716 not isNaN(NaN ** 3 ) or 9717 not isNaN(NaN ** 4 ) or 9718 not isNaN(NaN ** 5 ) or 9719 not isNaN(NaN ** 6 ) or 9720 not isNaN(NaN ** 7 ) or 9721 not isNaN(NaN ** 8 ) or 9722 not isNaN(NaN ** 9 ) or 9723 not isNaN(NaN ** 10 ) or 9724 not isNaN(NaN ** 11 ) or 9725 not isNaN(NaN ** 12 ) or 9726 not isNaN(NaN ** 13 ) or 9727 not isNaN(NaN ** 14 ) or 9728 not isNaN(NaN ** 15 ) or 9729 not isNaN(NaN ** 16 ) or 9730 not isNaN(NaN ** 17 ) or 9731 not isNaN(NaN ** 18 ) or 9732 not isNaN(NaN ** 19 ) or 9733 not isNaN(NaN ** 20 ) or 9734 not isNaN(NaN ** 21 ) or 9735 not isNaN(NaN ** 22 ) or 9736 not isNaN(NaN ** 23 ) or 9737 not isNaN(NaN ** 24 ) or 9738 not isNaN(NaN ** 25 ) or 9739 not isNaN(NaN ** 26 ) or 9740 not isNaN(NaN ** 27 ) or 9741 not isNaN(NaN ** 28 ) or 9742 not isNaN(NaN ** 29 ) or 9743 not isNaN(NaN ** 30 ) or 9744 not isNaN(NaN ** 2147483647 ) or 9745 not isNaN(NaN ** 2147483648 ) or 9746 not isNaN(NaN ** 2147483649 ) or 9747 not isNaN(NaN ** 4294967295 ) or 9748 not isNaN(NaN ** 4294967296 ) or 9749 not isNaN(NaN ** 4294967297 ) or 9750 not isNaN(NaN ** 9007199254740992 ) or 9751 not isNaN(NaN ** 9007199254740993 ) or 9752 not isNaN(NaN ** integer.last ) or 9753 not isNaN(floatExpr(NaN) ** integer.first ) or 9754 not isNaN(floatExpr(NaN) ** (-9007199254740993)) or 9755 not isNaN(floatExpr(NaN) ** (-9007199254740992)) or 9756 not isNaN(floatExpr(NaN) ** (-4294967297)) or 9757 not isNaN(floatExpr(NaN) ** (-4294967296)) or 9758 not isNaN(floatExpr(NaN) ** (-4294967295)) or 9759 not isNaN(floatExpr(NaN) ** (-2147483649)) or 9760 not isNaN(floatExpr(NaN) ** (-2147483648)) or 9761 not isNaN(floatExpr(NaN) ** (-2147483647)) or 9762 not isNaN(floatExpr(NaN) ** (-30)) or 9763 not isNaN(floatExpr(NaN) ** (-29)) or 9764 not isNaN(floatExpr(NaN) ** (-28)) or 9765 not isNaN(floatExpr(NaN) ** (-27)) or 9766 not isNaN(floatExpr(NaN) ** (-26)) or 9767 not isNaN(floatExpr(NaN) ** (-25)) or 9768 not isNaN(floatExpr(NaN) ** (-24)) or 9769 not isNaN(floatExpr(NaN) ** (-23)) or 9770 not isNaN(floatExpr(NaN) ** (-22)) or 9771 not isNaN(floatExpr(NaN) ** (-21)) or 9772 not isNaN(floatExpr(NaN) ** (-20)) or 9773 not isNaN(floatExpr(NaN) ** (-19)) or 9774 not isNaN(floatExpr(NaN) ** (-18)) or 9775 not isNaN(floatExpr(NaN) ** (-17)) or 9776 not isNaN(floatExpr(NaN) ** (-16)) or 9777 not isNaN(floatExpr(NaN) ** (-15)) or 9778 not isNaN(floatExpr(NaN) ** (-14)) or 9779 not isNaN(floatExpr(NaN) ** (-13)) or 9780 not isNaN(floatExpr(NaN) ** (-12)) or 9781 not isNaN(floatExpr(NaN) ** (-11)) or 9782 not isNaN(floatExpr(NaN) ** (-10)) or 9783 not isNaN(floatExpr(NaN) ** (-9)) or 9784 not isNaN(floatExpr(NaN) ** (-8)) or 9785 not isNaN(floatExpr(NaN) ** (-7)) or 9786 not isNaN(floatExpr(NaN) ** (-6)) or 9787 not isNaN(floatExpr(NaN) ** (-5)) or 9788 not isNaN(floatExpr(NaN) ** (-4)) or 9789 not isNaN(floatExpr(NaN) ** (-3)) or 9790 not isNaN(floatExpr(NaN) ** (-2)) or 9791 not isNaN(floatExpr(NaN) ** (-1)) or 9792 not isNaN(floatExpr(NaN) ** 1 ) or 9793 not isNaN(floatExpr(NaN) ** 2 ) or 9794 not isNaN(floatExpr(NaN) ** 3 ) or 9795 not isNaN(floatExpr(NaN) ** 4 ) or 9796 not isNaN(floatExpr(NaN) ** 5 ) or 9797 not isNaN(floatExpr(NaN) ** 6 ) or 9798 not isNaN(floatExpr(NaN) ** 7 ) or 9799 not isNaN(floatExpr(NaN) ** 8 ) or 9800 not isNaN(floatExpr(NaN) ** 9 ) or 9801 not isNaN(floatExpr(NaN) ** 10 ) or 9802 not isNaN(floatExpr(NaN) ** 11 ) or 9803 not isNaN(floatExpr(NaN) ** 12 ) or 9804 not isNaN(floatExpr(NaN) ** 13 ) or 9805 not isNaN(floatExpr(NaN) ** 14 ) or 9806 not isNaN(floatExpr(NaN) ** 15 ) or 9807 not isNaN(floatExpr(NaN) ** 16 ) or 9808 not isNaN(floatExpr(NaN) ** 17 ) or 9809 not isNaN(floatExpr(NaN) ** 18 ) or 9810 not isNaN(floatExpr(NaN) ** 19 ) or 9811 not isNaN(floatExpr(NaN) ** 20 ) or 9812 not isNaN(floatExpr(NaN) ** 21 ) or 9813 not isNaN(floatExpr(NaN) ** 22 ) or 9814 not isNaN(floatExpr(NaN) ** 23 ) or 9815 not isNaN(floatExpr(NaN) ** 24 ) or 9816 not isNaN(floatExpr(NaN) ** 25 ) or 9817 not isNaN(floatExpr(NaN) ** 26 ) or 9818 not isNaN(floatExpr(NaN) ** 27 ) or 9819 not isNaN(floatExpr(NaN) ** 28 ) or 9820 not isNaN(floatExpr(NaN) ** 29 ) or 9821 not isNaN(floatExpr(NaN) ** 30 ) or 9822 not isNaN(floatExpr(NaN) ** 2147483647 ) or 9823 not isNaN(floatExpr(NaN) ** 2147483648 ) or 9824 not isNaN(floatExpr(NaN) ** 2147483649 ) or 9825 not isNaN(floatExpr(NaN) ** 4294967295 ) or 9826 not isNaN(floatExpr(NaN) ** 4294967296 ) or 9827 not isNaN(floatExpr(NaN) ** 4294967297 ) or 9828 not isNaN(floatExpr(NaN) ** 9007199254740992 ) or 9829 not isNaN(floatExpr(NaN) ** 9007199254740993 ) or 9830 not isNaN(floatExpr(NaN) ** integer.last ) or 9831 not isNaN(NaN ** intExpr( integer.first)) or 9832 not isNaN(NaN ** intExpr(-9007199254740993)) or 9833 not isNaN(NaN ** intExpr(-9007199254740992)) or 9834 not isNaN(NaN ** intExpr( -4294967297)) or 9835 not isNaN(NaN ** intExpr( -4294967296)) or 9836 not isNaN(NaN ** intExpr( -4294967295)) or 9837 not isNaN(NaN ** intExpr( -2147483649)) or 9838 not isNaN(NaN ** intExpr( -2147483648)) or 9839 not isNaN(NaN ** intExpr( -2147483647)) or 9840 not isNaN(NaN ** intExpr( -30)) or 9841 not isNaN(NaN ** intExpr( -29)) or 9842 not isNaN(NaN ** intExpr( -28)) or 9843 not isNaN(NaN ** intExpr( -27)) or 9844 not isNaN(NaN ** intExpr( -26)) or 9845 not isNaN(NaN ** intExpr( -25)) or 9846 not isNaN(NaN ** intExpr( -24)) or 9847 not isNaN(NaN ** intExpr( -23)) or 9848 not isNaN(NaN ** intExpr( -22)) or 9849 not isNaN(NaN ** intExpr( -21)) or 9850 not isNaN(NaN ** intExpr( -20)) or 9851 not isNaN(NaN ** intExpr( -19)) or 9852 not isNaN(NaN ** intExpr( -18)) or 9853 not isNaN(NaN ** intExpr( -17)) or 9854 not isNaN(NaN ** intExpr( -16)) or 9855 not isNaN(NaN ** intExpr( -15)) or 9856 not isNaN(NaN ** intExpr( -14)) or 9857 not isNaN(NaN ** intExpr( -13)) or 9858 not isNaN(NaN ** intExpr( -12)) or 9859 not isNaN(NaN ** intExpr( -11)) or 9860 not isNaN(NaN ** intExpr( -10)) or 9861 not isNaN(NaN ** intExpr( -9)) or 9862 not isNaN(NaN ** intExpr( -8)) or 9863 not isNaN(NaN ** intExpr( -7)) or 9864 not isNaN(NaN ** intExpr( -6)) or 9865 not isNaN(NaN ** intExpr( -5)) or 9866 not isNaN(NaN ** intExpr( -4)) or 9867 not isNaN(NaN ** intExpr( -3)) or 9868 not isNaN(NaN ** intExpr( -2)) or 9869 not isNaN(NaN ** intExpr( -1)) or 9870 not isNaN(NaN ** intExpr( 1)) or 9871 not isNaN(NaN ** intExpr( 2)) or 9872 not isNaN(NaN ** intExpr( 3)) or 9873 not isNaN(NaN ** intExpr( 4)) or 9874 not isNaN(NaN ** intExpr( 5)) or 9875 not isNaN(NaN ** intExpr( 6)) or 9876 not isNaN(NaN ** intExpr( 7)) or 9877 not isNaN(NaN ** intExpr( 8)) or 9878 not isNaN(NaN ** intExpr( 9)) or 9879 not isNaN(NaN ** intExpr( 10)) or 9880 not isNaN(NaN ** intExpr( 11)) or 9881 not isNaN(NaN ** intExpr( 12)) or 9882 not isNaN(NaN ** intExpr( 13)) or 9883 not isNaN(NaN ** intExpr( 14)) or 9884 not isNaN(NaN ** intExpr( 15)) or 9885 not isNaN(NaN ** intExpr( 16)) or 9886 not isNaN(NaN ** intExpr( 17)) or 9887 not isNaN(NaN ** intExpr( 18)) or 9888 not isNaN(NaN ** intExpr( 19)) or 9889 not isNaN(NaN ** intExpr( 20)) or 9890 not isNaN(NaN ** intExpr( 21)) or 9891 not isNaN(NaN ** intExpr( 22)) or 9892 not isNaN(NaN ** intExpr( 23)) or 9893 not isNaN(NaN ** intExpr( 24)) or 9894 not isNaN(NaN ** intExpr( 25)) or 9895 not isNaN(NaN ** intExpr( 26)) or 9896 not isNaN(NaN ** intExpr( 27)) or 9897 not isNaN(NaN ** intExpr( 28)) or 9898 not isNaN(NaN ** intExpr( 29)) or 9899 not isNaN(NaN ** intExpr( 30)) or 9900 not isNaN(NaN ** intExpr( 2147483647)) or 9901 not isNaN(NaN ** intExpr( 2147483648)) or 9902 not isNaN(NaN ** intExpr( 2147483649)) or 9903 not isNaN(NaN ** intExpr( 4294967295)) or 9904 not isNaN(NaN ** intExpr( 4294967296)) or 9905 not isNaN(NaN ** intExpr( 4294967297)) or 9906 not isNaN(NaN ** intExpr( 9007199254740992)) or 9907 not isNaN(NaN ** intExpr( 9007199254740993)) or 9908 not isNaN(NaN ** intExpr( integer.last)) or 9909 not isNaN(floatExpr(NaN) ** intExpr( integer.first)) or 9910 not isNaN(floatExpr(NaN) ** intExpr(-9007199254740993)) or 9911 not isNaN(floatExpr(NaN) ** intExpr(-9007199254740992)) or 9912 not isNaN(floatExpr(NaN) ** intExpr( -4294967297)) or 9913 not isNaN(floatExpr(NaN) ** intExpr( -4294967296)) or 9914 not isNaN(floatExpr(NaN) ** intExpr( -4294967295)) or 9915 not isNaN(floatExpr(NaN) ** intExpr( -2147483649)) or 9916 not isNaN(floatExpr(NaN) ** intExpr( -2147483648)) or 9917 not isNaN(floatExpr(NaN) ** intExpr( -2147483647)) or 9918 not isNaN(floatExpr(NaN) ** intExpr( -30)) or 9919 not isNaN(floatExpr(NaN) ** intExpr( -29)) or 9920 not isNaN(floatExpr(NaN) ** intExpr( -28)) or 9921 not isNaN(floatExpr(NaN) ** intExpr( -27)) or 9922 not isNaN(floatExpr(NaN) ** intExpr( -26)) or 9923 not isNaN(floatExpr(NaN) ** intExpr( -25)) or 9924 not isNaN(floatExpr(NaN) ** intExpr( -24)) or 9925 not isNaN(floatExpr(NaN) ** intExpr( -23)) or 9926 not isNaN(floatExpr(NaN) ** intExpr( -22)) or 9927 not isNaN(floatExpr(NaN) ** intExpr( -21)) or 9928 not isNaN(floatExpr(NaN) ** intExpr( -20)) or 9929 not isNaN(floatExpr(NaN) ** intExpr( -19)) or 9930 not isNaN(floatExpr(NaN) ** intExpr( -18)) or 9931 not isNaN(floatExpr(NaN) ** intExpr( -17)) or 9932 not isNaN(floatExpr(NaN) ** intExpr( -16)) or 9933 not isNaN(floatExpr(NaN) ** intExpr( -15)) or 9934 not isNaN(floatExpr(NaN) ** intExpr( -14)) or 9935 not isNaN(floatExpr(NaN) ** intExpr( -13)) or 9936 not isNaN(floatExpr(NaN) ** intExpr( -12)) or 9937 not isNaN(floatExpr(NaN) ** intExpr( -11)) or 9938 not isNaN(floatExpr(NaN) ** intExpr( -10)) or 9939 not isNaN(floatExpr(NaN) ** intExpr( -9)) or 9940 not isNaN(floatExpr(NaN) ** intExpr( -8)) or 9941 not isNaN(floatExpr(NaN) ** intExpr( -7)) or 9942 not isNaN(floatExpr(NaN) ** intExpr( -6)) or 9943 not isNaN(floatExpr(NaN) ** intExpr( -5)) or 9944 not isNaN(floatExpr(NaN) ** intExpr( -4)) or 9945 not isNaN(floatExpr(NaN) ** intExpr( -3)) or 9946 not isNaN(floatExpr(NaN) ** intExpr( -2)) or 9947 not isNaN(floatExpr(NaN) ** intExpr( -1)) or 9948 not isNaN(floatExpr(NaN) ** intExpr( 1)) or 9949 not isNaN(floatExpr(NaN) ** intExpr( 2)) or 9950 not isNaN(floatExpr(NaN) ** intExpr( 3)) or 9951 not isNaN(floatExpr(NaN) ** intExpr( 4)) or 9952 not isNaN(floatExpr(NaN) ** intExpr( 5)) or 9953 not isNaN(floatExpr(NaN) ** intExpr( 6)) or 9954 not isNaN(floatExpr(NaN) ** intExpr( 7)) or 9955 not isNaN(floatExpr(NaN) ** intExpr( 8)) or 9956 not isNaN(floatExpr(NaN) ** intExpr( 9)) or 9957 not isNaN(floatExpr(NaN) ** intExpr( 10)) or 9958 not isNaN(floatExpr(NaN) ** intExpr( 11)) or 9959 not isNaN(floatExpr(NaN) ** intExpr( 12)) or 9960 not isNaN(floatExpr(NaN) ** intExpr( 13)) or 9961 not isNaN(floatExpr(NaN) ** intExpr( 14)) or 9962 not isNaN(floatExpr(NaN) ** intExpr( 15)) or 9963 not isNaN(floatExpr(NaN) ** intExpr( 16)) or 9964 not isNaN(floatExpr(NaN) ** intExpr( 17)) or 9965 not isNaN(floatExpr(NaN) ** intExpr( 18)) or 9966 not isNaN(floatExpr(NaN) ** intExpr( 19)) or 9967 not isNaN(floatExpr(NaN) ** intExpr( 20)) or 9968 not isNaN(floatExpr(NaN) ** intExpr( 21)) or 9969 not isNaN(floatExpr(NaN) ** intExpr( 22)) or 9970 not isNaN(floatExpr(NaN) ** intExpr( 23)) or 9971 not isNaN(floatExpr(NaN) ** intExpr( 24)) or 9972 not isNaN(floatExpr(NaN) ** intExpr( 25)) or 9973 not isNaN(floatExpr(NaN) ** intExpr( 26)) or 9974 not isNaN(floatExpr(NaN) ** intExpr( 27)) or 9975 not isNaN(floatExpr(NaN) ** intExpr( 28)) or 9976 not isNaN(floatExpr(NaN) ** intExpr( 29)) or 9977 not isNaN(floatExpr(NaN) ** intExpr( 30)) or 9978 not isNaN(floatExpr(NaN) ** intExpr( 2147483647)) or 9979 not isNaN(floatExpr(NaN) ** intExpr( 2147483648)) or 9980 not isNaN(floatExpr(NaN) ** intExpr( 2147483649)) or 9981 not isNaN(floatExpr(NaN) ** intExpr( 4294967295)) or 9982 not isNaN(floatExpr(NaN) ** intExpr( 4294967296)) or 9983 not isNaN(floatExpr(NaN) ** intExpr( 4294967297)) or 9984 not isNaN(floatExpr(NaN) ** intExpr( 9007199254740992)) or 9985 not isNaN(floatExpr(NaN) ** intExpr( 9007199254740993)) or 9986 not isNaN(floatExpr(NaN) ** intExpr( integer.last)) then 9987 writeln(" ***** NaN ** B for integer B with B <> 0 not return NaN."); 9988 okay := FALSE; 9989 end if; 9990 9991 if NaN ** 0 <> 1.0 or 9992 floatExpr(NaN) ** 0 <> 1.0 or 9993 NaN ** intExpr(0) <> 1.0 or 9994 floatExpr(NaN) ** intExpr(0) <> 1.0 then 9995 writeln(" ***** NaN ** 0 does not return 1.0."); 9996 okay := FALSE; 9997 end if; 9998 9999 if okay then 10000 writeln("A ** B with integer B works correct for selected values."); 10001 else 10002 writeln(" ***** A ** B with integer B does not work correct."); 10003 end if; 10004 end func; 10005 10006 10007const proc: check_lshift is func 10008 local 10009 var boolean: okay is TRUE; 10010 begin 10011 if 0.0 << 10 <> 0.0 or 10012 1.234567890123456789e+123 << 0 <> 1.234567890123456789e+123 or 10013 Infinity << 10 <> Infinity or 10014 -Infinity << 10 <> -Infinity or 10015 2.221519243884861782e+284 << 2995 <> Infinity or 10016 -3.720881118398479847e+31 << 1616 <> -Infinity or 10017 2.234972294855364778e-99 << -823 <> 0.0 or 10018 -9.429403627481889418e-285 << -1093 <> 0.0 or 10019 1.751736975399683374e+305 << 10 <> 1.793778662809275800e+308 or 10020 8.883450423771940829e-84 << 483 <> 2.218551878577123500e+062 or 10021 5.777494836628130267e-309 << 1071 <> 1.461722466756107500e+014 or 10022 2.546209045782271622e-309 << 2047 <> 4.114292659568633900e+307 or 10023 6.603211093907156832e-309 << 2047 <> 1.066980065059728900e+308 or 10024 1.434557330032167675e-310 << 3059 <> Infinity or 10025 8.227352381334111684e+183 << -1633 <> 2.154156141625903463e-308 or 10026 6.009742445482107613e+258 << -1882 <> 1.739418242816761100e-308 or 10027 3.094739191357472818e+93 << -1334 <> 8.252961878480251800e-309 or 10028 -2.044542424689816058e-112 << -651 <> -2.188108984804417542e-308 or 10029 1.447562767514547211e-123 << -662 <> 7.410984687618698163e-323 or 10030 -9.122215700985469031e-309 << -46 <> -1.284570679187241015e-322 or 10031 1.590229628495541250e-308 << -3 <> 1.987787035619425328e-309 or 10032 1.106649978021704684e-308 << -2 <> 2.766624945054261710e-309 or 10033 -5.495829332017545722e-309 << -43 <> -6.225227137599706457e-322 or 10034 # 2.320160450702645352e-216 << -358 <> 4.940656458412465442e-324 or 10035 # 1.973266378845922681e-11 << -1025 <> 5.488575259650407859e-320 or 10036 # 1.632095641757055474e+130 << -1492 <> 1.191241678687829543e-319 or 10037 # 1.943808595063234196e-308 << -15 <> 5.932033065990738998e-313 or 10038 # 2.265259963921934671e-244 << -213 <> 1.720794355934250507e-308 or 10039 # 6.338957915016740072e-263 << -172 <> 1.058908938501717366e-314 or 10040 # 1.943808595063234196e-308 << -15 <> 5.932033065990738998e-313 or 10041 # -2.224466941245358019e-308 << -27 <> -1.657357042812545087e-316 or 10042 4.940656458412465442e-324 << 2046 <> 3.991680619069439623e+292 or 10043 -4.940656458412465442e-324 << 2046 <> -3.991680619069439623e+292 or 10044 4.940656458412465442e-324 << 2097 <> 8.988465674311579539e+307 or 10045 -4.940656458412465442e-324 << 2097 <> -8.988465674311579539e+307 or 10046 4.940656458412465442e-324 << 2098 <> Infinity or 10047 -4.940656458412465442e-324 << 2098 <> -Infinity or 10048 8.988465674311579539e+307 << -2046 <> 1.112536929253600692e-308 or 10049 -8.988465674311579539e+307 << -2046 <> -1.112536929253600692e-308 or 10050 8.988465674311579539e+307 << -2097 <> 4.940656458412465442e-324 or 10051 -8.988465674311579539e+307 << -2097 <> -4.940656458412465442e-324 or 10052 8.988465674311579539e+307 << -2098 <> 0.0 or 10053 -8.988465674311579539e+307 << -2098 <> 0.0 or 10054 # 1.797693134862315708e+308 << -2097 <> 4.940656458412465442e-324 or 10055 # -1.797693134862315708e+308 << -2097 <> -4.940656458412465442e-324 or 10056 # 1.797693134862315708e+308 << -2098 <> 4.940656458412465442e-324 or 10057 # -1.797693134862315708e+308 << -2098 <> -4.940656458412465442e-324 or 10058 1.797693134862315708e+308 << -2099 <> 0.0 or 10059 -1.797693134862315708e+308 << -2099 <> 0.0 or 10060 2.225073858507200889e-308 << 1023 <> 1.999999999999999556e+0 or 10061 -2.225073858507200889e-308 << 1023 <> -1.999999999999999556e+0 or 10062 4.940656458412465442e-324 << integer.first <> 0.0 or 10063 2.225073858507200889e-308 << integer.first <> 0.0 or 10064 2.225073858507201383e-308 << integer.first <> 0.0 or 10065 1.797693134862315708e+308 << integer.first <> 0.0 or 10066 -4.940656458412465442e-324 << integer.first <> -0.0 or 10067 -2.225073858507200889e-308 << integer.first <> -0.0 or 10068 -2.225073858507201383e-308 << integer.first <> -0.0 or 10069 -1.797693134862315708e+308 << integer.first <> -0.0 or 10070 4.940656458412465442e-324 << integer.last <> Infinity or 10071 2.225073858507200889e-308 << integer.last <> Infinity or 10072 2.225073858507201383e-308 << integer.last <> Infinity or 10073 1.797693134862315708e+308 << integer.last <> Infinity or 10074 -4.940656458412465442e-324 << integer.last <> -Infinity or 10075 -2.225073858507200889e-308 << integer.last <> -Infinity or 10076 -2.225073858507201383e-308 << integer.last <> -Infinity or 10077 -1.797693134862315708e+308 << integer.last <> -Infinity then 10078 writeln(" ***** Shift left of float values does not work correct. (1)"); 10079 okay := FALSE; 10080 end if; 10081 10082 if floatExpr( 0.0 ) << 10 <> 0.0 or 10083 floatExpr( 1.234567890123456789e+123) << 0 <> 1.234567890123456789e+123 or 10084 floatExpr( Infinity ) << 10 <> Infinity or 10085 floatExpr(-Infinity ) << 10 <> -Infinity or 10086 floatExpr( 2.221519243884861782e+284) << 2995 <> Infinity or 10087 floatExpr(-3.720881118398479847e+31 ) << 1616 <> -Infinity or 10088 floatExpr( 2.234972294855364778e-99 ) << -823 <> 0.0 or 10089 floatExpr(-9.429403627481889418e-285) << -1093 <> 0.0 or 10090 floatExpr( 1.751736975399683374e+305) << 10 <> 1.793778662809275800e+308 or 10091 floatExpr( 8.883450423771940829e-84 ) << 483 <> 2.218551878577123500e+062 or 10092 floatExpr( 5.777494836628130267e-309) << 1071 <> 1.461722466756107500e+014 or 10093 floatExpr( 2.546209045782271622e-309) << 2047 <> 4.114292659568633900e+307 or 10094 floatExpr( 6.603211093907156832e-309) << 2047 <> 1.066980065059728900e+308 or 10095 floatExpr( 1.434557330032167675e-310) << 3059 <> Infinity or 10096 floatExpr( 8.227352381334111684e+183) << -1633 <> 2.154156141625903463e-308 or 10097 floatExpr( 6.009742445482107613e+258) << -1882 <> 1.739418242816761100e-308 or 10098 floatExpr( 3.094739191357472818e+93 ) << -1334 <> 8.252961878480251800e-309 or 10099 floatExpr(-2.044542424689816058e-112) << -651 <> -2.188108984804417542e-308 or 10100 floatExpr( 1.447562767514547211e-123) << -662 <> 7.410984687618698163e-323 or 10101 floatExpr(-9.122215700985469031e-309) << -46 <> -1.284570679187241015e-322 or 10102 floatExpr( 1.590229628495541250e-308) << -3 <> 1.987787035619425328e-309 or 10103 floatExpr( 1.106649978021704684e-308) << -2 <> 2.766624945054261710e-309 or 10104 floatExpr(-5.495829332017545722e-309) << -43 <> -6.225227137599706457e-322 or 10105 # floatExpr( 2.320160450702645352e-216) << -358 <> 4.940656458412465442e-324 or 10106 # floatExpr( 1.973266378845922681e-11 ) << -1025 <> 5.488575259650407859e-320 or 10107 # floatExpr( 1.632095641757055474e+130) << -1492 <> 1.191241678687829543e-319 or 10108 # floatExpr( 1.943808595063234196e-308) << -15 <> 5.932033065990738998e-313 or 10109 # floatExpr( 2.265259963921934671e-244) << -213 <> 1.720794355934250507e-308 or 10110 # floatExpr( 6.338957915016740072e-263) << -172 <> 1.058908938501717366e-314 or 10111 # floatExpr( 1.943808595063234196e-308) << -15 <> 5.932033065990738998e-313 or 10112 # floatExpr(-2.224466941245358019e-308) << -27 <> -1.657357042812545087e-316 or 10113 floatExpr( 4.940656458412465442e-324) << 2046 <> 3.991680619069439623e+292 or 10114 floatExpr(-4.940656458412465442e-324) << 2046 <> -3.991680619069439623e+292 or 10115 floatExpr( 4.940656458412465442e-324) << 2097 <> 8.988465674311579539e+307 or 10116 floatExpr(-4.940656458412465442e-324) << 2097 <> -8.988465674311579539e+307 or 10117 floatExpr( 4.940656458412465442e-324) << 2098 <> Infinity or 10118 floatExpr(-4.940656458412465442e-324) << 2098 <> -Infinity or 10119 floatExpr( 8.988465674311579539e+307) << -2046 <> 1.112536929253600692e-308 or 10120 floatExpr(-8.988465674311579539e+307) << -2046 <> -1.112536929253600692e-308 or 10121 floatExpr( 8.988465674311579539e+307) << -2097 <> 4.940656458412465442e-324 or 10122 floatExpr(-8.988465674311579539e+307) << -2097 <> -4.940656458412465442e-324 or 10123 floatExpr( 8.988465674311579539e+307) << -2098 <> 0.0 or 10124 floatExpr(-8.988465674311579539e+307) << -2098 <> 0.0 or 10125 # floatExpr( 1.797693134862315708e+308) << -2097 <> 4.940656458412465442e-324 or 10126 # floatExpr(-1.797693134862315708e+308) << -2097 <> -4.940656458412465442e-324 or 10127 # floatExpr( 1.797693134862315708e+308) << -2098 <> 4.940656458412465442e-324 or 10128 # floatExpr(-1.797693134862315708e+308) << -2098 <> -4.940656458412465442e-324 or 10129 floatExpr( 1.797693134862315708e+308) << -2099 <> 0.0 or 10130 floatExpr(-1.797693134862315708e+308) << -2099 <> 0.0 or 10131 floatExpr( 2.225073858507200889e-308) << 1023 <> 1.999999999999999556e+0 or 10132 floatExpr(-2.225073858507200889e-308) << 1023 <> -1.999999999999999556e+0 or 10133 floatExpr( 4.940656458412465442e-324) << integer.first <> 0.0 or 10134 floatExpr( 2.225073858507200889e-308) << integer.first <> 0.0 or 10135 floatExpr( 2.225073858507201383e-308) << integer.first <> 0.0 or 10136 floatExpr( 1.797693134862315708e+308) << integer.first <> 0.0 or 10137 floatExpr(-4.940656458412465442e-324) << integer.first <> -0.0 or 10138 floatExpr(-2.225073858507200889e-308) << integer.first <> -0.0 or 10139 floatExpr(-2.225073858507201383e-308) << integer.first <> -0.0 or 10140 floatExpr(-1.797693134862315708e+308) << integer.first <> -0.0 or 10141 floatExpr( 4.940656458412465442e-324) << integer.last <> Infinity or 10142 floatExpr( 2.225073858507200889e-308) << integer.last <> Infinity or 10143 floatExpr( 2.225073858507201383e-308) << integer.last <> Infinity or 10144 floatExpr( 1.797693134862315708e+308) << integer.last <> Infinity or 10145 floatExpr(-4.940656458412465442e-324) << integer.last <> -Infinity or 10146 floatExpr(-2.225073858507200889e-308) << integer.last <> -Infinity or 10147 floatExpr(-2.225073858507201383e-308) << integer.last <> -Infinity or 10148 floatExpr(-1.797693134862315708e+308) << integer.last <> -Infinity then 10149 writeln(" ***** Shift left of float values does not work correct. (2)"); 10150 okay := FALSE; 10151 end if; 10152 10153 if 0.0 << intExpr( 10) <> 0.0 or 10154 1.234567890123456789e+123 << intExpr( 0) <> 1.234567890123456789e+123 or 10155 Infinity << intExpr( 10) <> Infinity or 10156 -Infinity << intExpr( 10) <> -Infinity or 10157 2.221519243884861782e+284 << intExpr( 2995) <> Infinity or 10158 -3.720881118398479847e+31 << intExpr( 1616) <> -Infinity or 10159 2.234972294855364778e-99 << intExpr( -823) <> 0.0 or 10160 -9.429403627481889418e-285 << intExpr(-1093) <> 0.0 or 10161 1.751736975399683374e+305 << intExpr( 10) <> 1.793778662809275800e+308 or 10162 8.883450423771940829e-84 << intExpr( 483) <> 2.218551878577123500e+062 or 10163 5.777494836628130267e-309 << intExpr( 1071) <> 1.461722466756107500e+014 or 10164 2.546209045782271622e-309 << intExpr( 2047) <> 4.114292659568633900e+307 or 10165 6.603211093907156832e-309 << intExpr( 2047) <> 1.066980065059728900e+308 or 10166 1.434557330032167675e-310 << intExpr( 3059) <> Infinity or 10167 8.227352381334111684e+183 << intExpr(-1633) <> 2.154156141625903463e-308 or 10168 6.009742445482107613e+258 << intExpr(-1882) <> 1.739418242816761100e-308 or 10169 3.094739191357472818e+93 << intExpr(-1334) <> 8.252961878480251800e-309 or 10170 -2.044542424689816058e-112 << intExpr( -651) <> -2.188108984804417542e-308 or 10171 1.447562767514547211e-123 << intExpr( -662) <> 7.410984687618698163e-323 or 10172 -9.122215700985469031e-309 << intExpr( -46) <> -1.284570679187241015e-322 or 10173 1.590229628495541250e-308 << intExpr( -3) <> 1.987787035619425328e-309 or 10174 1.106649978021704684e-308 << intExpr( -2) <> 2.766624945054261710e-309 or 10175 -5.495829332017545722e-309 << intExpr( -43) <> -6.225227137599706457e-322 or 10176 # 2.320160450702645352e-216 << intExpr( -358) <> 4.940656458412465442e-324 or 10177 # 1.973266378845922681e-11 << intExpr(-1025) <> 5.488575259650407859e-320 or 10178 # 1.632095641757055474e+130 << intExpr(-1492) <> 1.191241678687829543e-319 or 10179 # 1.943808595063234196e-308 << intExpr( -15) <> 5.932033065990738998e-313 or 10180 # 2.265259963921934671e-244 << intExpr( -213) <> 1.720794355934250507e-308 or 10181 # 6.338957915016740072e-263 << intExpr( -172) <> 1.058908938501717366e-314 or 10182 # 1.943808595063234196e-308 << intExpr( -15) <> 5.932033065990738998e-313 or 10183 # -2.224466941245358019e-308 << intExpr( -27) <> -1.657357042812545087e-316 or 10184 4.940656458412465442e-324 << intExpr( 2046) <> 3.991680619069439623e+292 or 10185 -4.940656458412465442e-324 << intExpr( 2046) <> -3.991680619069439623e+292 or 10186 4.940656458412465442e-324 << intExpr( 2097) <> 8.988465674311579539e+307 or 10187 -4.940656458412465442e-324 << intExpr( 2097) <> -8.988465674311579539e+307 or 10188 4.940656458412465442e-324 << intExpr( 2098) <> Infinity or 10189 -4.940656458412465442e-324 << intExpr( 2098) <> -Infinity or 10190 8.988465674311579539e+307 << intExpr(-2046) <> 1.112536929253600692e-308 or 10191 -8.988465674311579539e+307 << intExpr(-2046) <> -1.112536929253600692e-308 or 10192 8.988465674311579539e+307 << intExpr(-2097) <> 4.940656458412465442e-324 or 10193 -8.988465674311579539e+307 << intExpr(-2097) <> -4.940656458412465442e-324 or 10194 8.988465674311579539e+307 << intExpr(-2098) <> 0.0 or 10195 -8.988465674311579539e+307 << intExpr(-2098) <> 0.0 or 10196 # 1.797693134862315708e+308 << intExpr(-2097) <> 4.940656458412465442e-324 or 10197 # -1.797693134862315708e+308 << intExpr(-2097) <> -4.940656458412465442e-324 or 10198 # 1.797693134862315708e+308 << intExpr(-2098) <> 4.940656458412465442e-324 or 10199 # -1.797693134862315708e+308 << intExpr(-2098) <> -4.940656458412465442e-324 or 10200 1.797693134862315708e+308 << intExpr(-2099) <> 0.0 or 10201 -1.797693134862315708e+308 << intExpr(-2099) <> 0.0 or 10202 2.225073858507200889e-308 << intExpr( 1023) <> 1.999999999999999556e+0 or 10203 -2.225073858507200889e-308 << intExpr( 1023) <> -1.999999999999999556e+0 or 10204 4.940656458412465442e-324 << intExpr(integer.first) <> 0.0 or 10205 2.225073858507200889e-308 << intExpr(integer.first) <> 0.0 or 10206 2.225073858507201383e-308 << intExpr(integer.first) <> 0.0 or 10207 1.797693134862315708e+308 << intExpr(integer.first) <> 0.0 or 10208 -4.940656458412465442e-324 << intExpr(integer.first) <> -0.0 or 10209 -2.225073858507200889e-308 << intExpr(integer.first) <> -0.0 or 10210 -2.225073858507201383e-308 << intExpr(integer.first) <> -0.0 or 10211 -1.797693134862315708e+308 << intExpr(integer.first) <> -0.0 or 10212 4.940656458412465442e-324 << intExpr(integer.last ) <> Infinity or 10213 2.225073858507200889e-308 << intExpr(integer.last ) <> Infinity or 10214 2.225073858507201383e-308 << intExpr(integer.last ) <> Infinity or 10215 1.797693134862315708e+308 << intExpr(integer.last ) <> Infinity or 10216 -4.940656458412465442e-324 << intExpr(integer.last ) <> -Infinity or 10217 -2.225073858507200889e-308 << intExpr(integer.last ) <> -Infinity or 10218 -2.225073858507201383e-308 << intExpr(integer.last ) <> -Infinity or 10219 -1.797693134862315708e+308 << intExpr(integer.last ) <> -Infinity then 10220 writeln(" ***** Shift left of float values does not work correct. (3)"); 10221 okay := FALSE; 10222 end if; 10223 10224 if floatExpr( 0.0 ) << intExpr( 10) <> 0.0 or 10225 floatExpr( 1.234567890123456789e+123) << intExpr( 0) <> 1.234567890123456789e+123 or 10226 floatExpr( Infinity ) << intExpr( 10) <> Infinity or 10227 floatExpr(-Infinity ) << intExpr( 10) <> -Infinity or 10228 floatExpr( 2.221519243884861782e+284) << intExpr( 2995) <> Infinity or 10229 floatExpr(-3.720881118398479847e+31 ) << intExpr( 1616) <> -Infinity or 10230 floatExpr( 2.234972294855364778e-99 ) << intExpr( -823) <> 0.0 or 10231 floatExpr(-9.429403627481889418e-285) << intExpr(-1093) <> 0.0 or 10232 floatExpr( 1.751736975399683374e+305) << intExpr( 10) <> 1.793778662809275800e+308 or 10233 floatExpr( 8.883450423771940829e-84 ) << intExpr( 483) <> 2.218551878577123500e+062 or 10234 floatExpr( 5.777494836628130267e-309) << intExpr( 1071) <> 1.461722466756107500e+014 or 10235 floatExpr( 2.546209045782271622e-309) << intExpr( 2047) <> 4.114292659568633900e+307 or 10236 floatExpr( 6.603211093907156832e-309) << intExpr( 2047) <> 1.066980065059728900e+308 or 10237 floatExpr( 1.434557330032167675e-310) << intExpr( 3059) <> Infinity or 10238 floatExpr( 8.227352381334111684e+183) << intExpr(-1633) <> 2.154156141625903463e-308 or 10239 floatExpr( 6.009742445482107613e+258) << intExpr(-1882) <> 1.739418242816761100e-308 or 10240 floatExpr( 3.094739191357472818e+93 ) << intExpr(-1334) <> 8.252961878480251800e-309 or 10241 floatExpr(-2.044542424689816058e-112) << intExpr( -651) <> -2.188108984804417542e-308 or 10242 floatExpr( 1.447562767514547211e-123) << intExpr( -662) <> 7.410984687618698163e-323 or 10243 floatExpr(-9.122215700985469031e-309) << intExpr( -46) <> -1.284570679187241015e-322 or 10244 floatExpr( 1.590229628495541250e-308) << intExpr( -3) <> 1.987787035619425328e-309 or 10245 floatExpr( 1.106649978021704684e-308) << intExpr( -2) <> 2.766624945054261710e-309 or 10246 floatExpr(-5.495829332017545722e-309) << intExpr( -43) <> -6.225227137599706457e-322 or 10247 # floatExpr( 2.320160450702645352e-216) << intExpr( -358) <> 4.940656458412465442e-324 or 10248 # floatExpr( 1.973266378845922681e-11 ) << intExpr(-1025) <> 5.488575259650407859e-320 or 10249 # floatExpr( 1.632095641757055474e+130) << intExpr(-1492) <> 1.191241678687829543e-319 or 10250 # floatExpr( 1.943808595063234196e-308) << intExpr( -15) <> 5.932033065990738998e-313 or 10251 # floatExpr( 2.265259963921934671e-244) << intExpr( -213) <> 1.720794355934250507e-308 or 10252 # floatExpr( 6.338957915016740072e-263) << intExpr( -172) <> 1.058908938501717366e-314 or 10253 # floatExpr( 1.943808595063234196e-308) << intExpr( -15) <> 5.932033065990738998e-313 or 10254 # floatExpr(-2.224466941245358019e-308) << intExpr( -27) <> -1.657357042812545087e-316 or 10255 floatExpr( 4.940656458412465442e-324) << intExpr( 2046) <> 3.991680619069439623e+292 or 10256 floatExpr(-4.940656458412465442e-324) << intExpr( 2046) <> -3.991680619069439623e+292 or 10257 floatExpr( 4.940656458412465442e-324) << intExpr( 2097) <> 8.988465674311579539e+307 or 10258 floatExpr(-4.940656458412465442e-324) << intExpr( 2097) <> -8.988465674311579539e+307 or 10259 floatExpr( 4.940656458412465442e-324) << intExpr( 2098) <> Infinity or 10260 floatExpr(-4.940656458412465442e-324) << intExpr( 2098) <> -Infinity or 10261 floatExpr( 8.988465674311579539e+307) << intExpr(-2046) <> 1.112536929253600692e-308 or 10262 floatExpr(-8.988465674311579539e+307) << intExpr(-2046) <> -1.112536929253600692e-308 or 10263 floatExpr( 8.988465674311579539e+307) << intExpr(-2097) <> 4.940656458412465442e-324 or 10264 floatExpr(-8.988465674311579539e+307) << intExpr(-2097) <> -4.940656458412465442e-324 or 10265 floatExpr( 8.988465674311579539e+307) << intExpr(-2098) <> 0.0 or 10266 floatExpr(-8.988465674311579539e+307) << intExpr(-2098) <> 0.0 or 10267 # floatExpr( 1.797693134862315708e+308) << intExpr(-2097) <> 4.940656458412465442e-324 or 10268 # floatExpr(-1.797693134862315708e+308) << intExpr(-2097) <> -4.940656458412465442e-324 or 10269 # floatExpr( 1.797693134862315708e+308) << intExpr(-2098) <> 4.940656458412465442e-324 or 10270 # floatExpr(-1.797693134862315708e+308) << intExpr(-2098) <> -4.940656458412465442e-324 or 10271 floatExpr( 1.797693134862315708e+308) << intExpr(-2099) <> 0.0 or 10272 floatExpr(-1.797693134862315708e+308) << intExpr(-2099) <> 0.0 or 10273 floatExpr( 2.225073858507200889e-308) << intExpr( 1023) <> 1.999999999999999556e+0 or 10274 floatExpr(-2.225073858507200889e-308) << intExpr( 1023) <> -1.999999999999999556e+0 or 10275 floatExpr( 4.940656458412465442e-324) << intExpr(integer.first) <> 0.0 or 10276 floatExpr( 2.225073858507200889e-308) << intExpr(integer.first) <> 0.0 or 10277 floatExpr( 2.225073858507201383e-308) << intExpr(integer.first) <> 0.0 or 10278 floatExpr( 1.797693134862315708e+308) << intExpr(integer.first) <> 0.0 or 10279 floatExpr(-4.940656458412465442e-324) << intExpr(integer.first) <> -0.0 or 10280 floatExpr(-2.225073858507200889e-308) << intExpr(integer.first) <> -0.0 or 10281 floatExpr(-2.225073858507201383e-308) << intExpr(integer.first) <> -0.0 or 10282 floatExpr(-1.797693134862315708e+308) << intExpr(integer.first) <> -0.0 or 10283 floatExpr( 4.940656458412465442e-324) << intExpr(integer.last ) <> Infinity or 10284 floatExpr( 2.225073858507200889e-308) << intExpr(integer.last ) <> Infinity or 10285 floatExpr( 2.225073858507201383e-308) << intExpr(integer.last ) <> Infinity or 10286 floatExpr( 1.797693134862315708e+308) << intExpr(integer.last ) <> Infinity or 10287 floatExpr(-4.940656458412465442e-324) << intExpr(integer.last ) <> -Infinity or 10288 floatExpr(-2.225073858507200889e-308) << intExpr(integer.last ) <> -Infinity or 10289 floatExpr(-2.225073858507201383e-308) << intExpr(integer.last ) <> -Infinity or 10290 floatExpr(-1.797693134862315708e+308) << intExpr(integer.last ) <> -Infinity then 10291 writeln(" ***** Shift left of float values does not work correct. (4)"); 10292 okay := FALSE; 10293 end if; 10294 10295 if not isNaN(NaN << -9999) or 10296 not isNaN(NaN << 10) or 10297 not isNaN(NaN << 9999) or 10298 not isNaN(floatExpr(NaN ) << -9999) or 10299 not isNaN(floatExpr(NaN ) << 10) or 10300 not isNaN(floatExpr(NaN ) << 9999) or 10301 not isNaN(NaN << intExpr(-9999)) or 10302 not isNaN(NaN << intExpr( 10)) or 10303 not isNaN(NaN << intExpr( 9999)) or 10304 not isNaN(floatExpr(NaN ) << intExpr(-9999)) or 10305 not isNaN(floatExpr(NaN ) << intExpr( 10)) or 10306 not isNaN(floatExpr(NaN ) << intExpr( 9999)) then 10307 writeln(" ***** Shift left of NaN does not work correct."); 10308 okay := FALSE; 10309 end if; 10310 10311 if okay then 10312 writeln("Shift left of float values works correct for selected values."); 10313 end if; 10314 end func; 10315 10316 10317const proc: check_rshift is func 10318 local 10319 var boolean: okay is TRUE; 10320 begin 10321 if 0.0 >> -10 <> 0.0 or 10322 1.234567890123456789e+123 >> 0 <> 1.234567890123456789e+123 or 10323 Infinity >> -10 <> Infinity or 10324 -Infinity >> -10 <> -Infinity or 10325 2.221519243884861782e+284 >> -2995 <> Infinity or 10326 -3.720881118398479847e+31 >> -1616 <> -Infinity or 10327 2.234972294855364778e-99 >> 823 <> 0.0 or 10328 -9.429403627481889418e-285 >> 1093 <> 0.0 or 10329 1.751736975399683374e+305 >> -10 <> 1.793778662809275800e+308 or 10330 8.883450423771940829e-84 >> -483 <> 2.218551878577123500e+062 or 10331 5.777494836628130267e-309 >> -1071 <> 1.461722466756107500e+014 or 10332 2.546209045782271622e-309 >> -2047 <> 4.114292659568633900e+307 or 10333 6.603211093907156832e-309 >> -2047 <> 1.066980065059728900e+308 or 10334 1.434557330032167675e-310 >> -3059 <> Infinity or 10335 8.227352381334111684e+183 >> 1633 <> 2.154156141625903463e-308 or 10336 6.009742445482107613e+258 >> 1882 <> 1.739418242816761100e-308 or 10337 3.094739191357472818e+93 >> 1334 <> 8.252961878480251800e-309 or 10338 -2.044542424689816058e-112 >> 651 <> -2.188108984804417542e-308 or 10339 1.447562767514547211e-123 >> 662 <> 7.410984687618698163e-323 or 10340 -9.122215700985469031e-309 >> 46 <> -1.284570679187241015e-322 or 10341 1.590229628495541250e-308 >> 3 <> 1.987787035619425328e-309 or 10342 1.106649978021704684e-308 >> 2 <> 2.766624945054261710e-309 or 10343 -5.495829332017545722e-309 >> 43 <> -6.225227137599706457e-322 or 10344 # 2.320160450702645352e-216 >> 358 <> 4.940656458412465442e-324 or 10345 # 1.973266378845922681e-11 >> 1025 <> 5.488575259650407859e-320 or 10346 # 1.632095641757055474e+130 >> 1492 <> 1.191241678687829543e-319 or 10347 # 1.943808595063234196e-308 >> 15 <> 5.932033065990738998e-313 or 10348 # 2.265259963921934671e-244 >> 213 <> 1.720794355934250507e-308 or 10349 # 6.338957915016740072e-263 >> 172 <> 1.058908938501717366e-314 or 10350 # 1.943808595063234196e-308 >> 15 <> 5.932033065990738998e-313 or 10351 # -2.224466941245358019e-308 >> 27 <> -1.657357042812545087e-316 or 10352 4.940656458412465442e-324 >> -2046 <> 3.991680619069439623e+292 or 10353 -4.940656458412465442e-324 >> -2046 <> -3.991680619069439623e+292 or 10354 4.940656458412465442e-324 >> -2097 <> 8.988465674311579539e+307 or 10355 -4.940656458412465442e-324 >> -2097 <> -8.988465674311579539e+307 or 10356 4.940656458412465442e-324 >> -2098 <> Infinity or 10357 -4.940656458412465442e-324 >> -2098 <> -Infinity or 10358 8.988465674311579539e+307 >> 2046 <> 1.112536929253600692e-308 or 10359 -8.988465674311579539e+307 >> 2046 <> -1.112536929253600692e-308 or 10360 8.988465674311579539e+307 >> 2097 <> 4.940656458412465442e-324 or 10361 -8.988465674311579539e+307 >> 2097 <> -4.940656458412465442e-324 or 10362 8.988465674311579539e+307 >> 2098 <> 0.0 or 10363 -8.988465674311579539e+307 >> 2098 <> 0.0 or 10364 # 1.797693134862315708e+308 >> 2097 <> 4.940656458412465442e-324 or 10365 # -1.797693134862315708e+308 >> 2097 <> -4.940656458412465442e-324 or 10366 # 1.797693134862315708e+308 >> 2098 <> 4.940656458412465442e-324 or 10367 # -1.797693134862315708e+308 >> 2098 <> -4.940656458412465442e-324 or 10368 1.797693134862315708e+308 >> 2099 <> 0.0 or 10369 -1.797693134862315708e+308 >> 2099 <> 0.0 or 10370 2.225073858507200889e-308 >> -1023 <> 1.999999999999999556e+0 or 10371 -2.225073858507200889e-308 >> -1023 <> -1.999999999999999556e+0 or 10372 4.940656458412465442e-324 >> integer.last <> 0.0 or 10373 2.225073858507200889e-308 >> integer.last <> 0.0 or 10374 2.225073858507201383e-308 >> integer.last <> 0.0 or 10375 1.797693134862315708e+308 >> integer.last <> 0.0 or 10376 -4.940656458412465442e-324 >> integer.last <> -0.0 or 10377 -2.225073858507200889e-308 >> integer.last <> -0.0 or 10378 -2.225073858507201383e-308 >> integer.last <> -0.0 or 10379 -1.797693134862315708e+308 >> integer.last <> -0.0 or 10380 4.940656458412465442e-324 >> integer.first <> Infinity or 10381 2.225073858507200889e-308 >> integer.first <> Infinity or 10382 2.225073858507201383e-308 >> integer.first <> Infinity or 10383 1.797693134862315708e+308 >> integer.first <> Infinity or 10384 -4.940656458412465442e-324 >> integer.first <> -Infinity or 10385 -2.225073858507200889e-308 >> integer.first <> -Infinity or 10386 -2.225073858507201383e-308 >> integer.first <> -Infinity or 10387 -1.797693134862315708e+308 >> integer.first <> -Infinity then 10388 writeln(" ***** Shift right of float values does not work correct. (1)"); 10389 okay := FALSE; 10390 end if; 10391 10392 if floatExpr( 0.0 ) >> -10 <> 0.0 or 10393 floatExpr( 1.234567890123456789e+123) >> 0 <> 1.234567890123456789e+123 or 10394 floatExpr( Infinity ) >> -10 <> Infinity or 10395 floatExpr(-Infinity ) >> -10 <> -Infinity or 10396 floatExpr( 2.221519243884861782e+284) >> -2995 <> Infinity or 10397 floatExpr(-3.720881118398479847e+31 ) >> -1616 <> -Infinity or 10398 floatExpr( 2.234972294855364778e-99 ) >> 823 <> 0.0 or 10399 floatExpr(-9.429403627481889418e-285) >> 1093 <> 0.0 or 10400 floatExpr( 1.751736975399683374e+305) >> -10 <> 1.793778662809275800e+308 or 10401 floatExpr( 8.883450423771940829e-84 ) >> -483 <> 2.218551878577123500e+062 or 10402 floatExpr( 5.777494836628130267e-309) >> -1071 <> 1.461722466756107500e+014 or 10403 floatExpr( 2.546209045782271622e-309) >> -2047 <> 4.114292659568633900e+307 or 10404 floatExpr( 6.603211093907156832e-309) >> -2047 <> 1.066980065059728900e+308 or 10405 floatExpr( 1.434557330032167675e-310) >> -3059 <> Infinity or 10406 floatExpr( 8.227352381334111684e+183) >> 1633 <> 2.154156141625903463e-308 or 10407 floatExpr( 6.009742445482107613e+258) >> 1882 <> 1.739418242816761100e-308 or 10408 floatExpr( 3.094739191357472818e+93 ) >> 1334 <> 8.252961878480251800e-309 or 10409 floatExpr(-2.044542424689816058e-112) >> 651 <> -2.188108984804417542e-308 or 10410 floatExpr( 1.447562767514547211e-123) >> 662 <> 7.410984687618698163e-323 or 10411 floatExpr(-9.122215700985469031e-309) >> 46 <> -1.284570679187241015e-322 or 10412 floatExpr( 1.590229628495541250e-308) >> 3 <> 1.987787035619425328e-309 or 10413 floatExpr( 1.106649978021704684e-308) >> 2 <> 2.766624945054261710e-309 or 10414 floatExpr(-5.495829332017545722e-309) >> 43 <> -6.225227137599706457e-322 or 10415 # floatExpr( 2.320160450702645352e-216) >> 358 <> 4.940656458412465442e-324 or 10416 # floatExpr( 1.973266378845922681e-11 ) >> 1025 <> 5.488575259650407859e-320 or 10417 # floatExpr( 1.632095641757055474e+130) >> 1492 <> 1.191241678687829543e-319 or 10418 # floatExpr( 1.943808595063234196e-308) >> 15 <> 5.932033065990738998e-313 or 10419 # floatExpr( 2.265259963921934671e-244) >> 213 <> 1.720794355934250507e-308 or 10420 # floatExpr( 6.338957915016740072e-263) >> 172 <> 1.058908938501717366e-314 or 10421 # floatExpr( 1.943808595063234196e-308) >> 15 <> 5.932033065990738998e-313 or 10422 # floatExpr(-2.224466941245358019e-308) >> 27 <> -1.657357042812545087e-316 or 10423 floatExpr( 4.940656458412465442e-324) >> -2046 <> 3.991680619069439623e+292 or 10424 floatExpr(-4.940656458412465442e-324) >> -2046 <> -3.991680619069439623e+292 or 10425 floatExpr( 4.940656458412465442e-324) >> -2097 <> 8.988465674311579539e+307 or 10426 floatExpr(-4.940656458412465442e-324) >> -2097 <> -8.988465674311579539e+307 or 10427 floatExpr( 4.940656458412465442e-324) >> -2098 <> Infinity or 10428 floatExpr(-4.940656458412465442e-324) >> -2098 <> -Infinity or 10429 floatExpr( 8.988465674311579539e+307) >> 2046 <> 1.112536929253600692e-308 or 10430 floatExpr(-8.988465674311579539e+307) >> 2046 <> -1.112536929253600692e-308 or 10431 floatExpr( 8.988465674311579539e+307) >> 2097 <> 4.940656458412465442e-324 or 10432 floatExpr(-8.988465674311579539e+307) >> 2097 <> -4.940656458412465442e-324 or 10433 floatExpr( 8.988465674311579539e+307) >> 2098 <> 0.0 or 10434 floatExpr(-8.988465674311579539e+307) >> 2098 <> 0.0 or 10435 # floatExpr( 1.797693134862315708e+308) >> 2097 <> 4.940656458412465442e-324 or 10436 # floatExpr(-1.797693134862315708e+308) >> 2097 <> -4.940656458412465442e-324 or 10437 # floatExpr( 1.797693134862315708e+308) >> 2098 <> 4.940656458412465442e-324 or 10438 # floatExpr(-1.797693134862315708e+308) >> 2098 <> -4.940656458412465442e-324 or 10439 floatExpr( 1.797693134862315708e+308) >> 2099 <> 0.0 or 10440 floatExpr(-1.797693134862315708e+308) >> 2099 <> 0.0 or 10441 floatExpr( 2.225073858507200889e-308) >> -1023 <> 1.999999999999999556e+0 or 10442 floatExpr(-2.225073858507200889e-308) >> -1023 <> -1.999999999999999556e+0 or 10443 floatExpr( 4.940656458412465442e-324) >> integer.last <> 0.0 or 10444 floatExpr( 2.225073858507200889e-308) >> integer.last <> 0.0 or 10445 floatExpr( 2.225073858507201383e-308) >> integer.last <> 0.0 or 10446 floatExpr( 1.797693134862315708e+308) >> integer.last <> 0.0 or 10447 floatExpr(-4.940656458412465442e-324) >> integer.last <> -0.0 or 10448 floatExpr(-2.225073858507200889e-308) >> integer.last <> -0.0 or 10449 floatExpr(-2.225073858507201383e-308) >> integer.last <> -0.0 or 10450 floatExpr(-1.797693134862315708e+308) >> integer.last <> -0.0 or 10451 floatExpr( 4.940656458412465442e-324) >> integer.first <> Infinity or 10452 floatExpr( 2.225073858507200889e-308) >> integer.first <> Infinity or 10453 floatExpr( 2.225073858507201383e-308) >> integer.first <> Infinity or 10454 floatExpr( 1.797693134862315708e+308) >> integer.first <> Infinity or 10455 floatExpr(-4.940656458412465442e-324) >> integer.first <> -Infinity or 10456 floatExpr(-2.225073858507200889e-308) >> integer.first <> -Infinity or 10457 floatExpr(-2.225073858507201383e-308) >> integer.first <> -Infinity or 10458 floatExpr(-1.797693134862315708e+308) >> integer.first <> -Infinity then 10459 writeln(" ***** Shift right of float values does not work correct. (2)"); 10460 okay := FALSE; 10461 end if; 10462 10463 if 0.0 >> intExpr( -10) <> 0.0 or 10464 1.234567890123456789e+123 >> intExpr( 0) <> 1.234567890123456789e+123 or 10465 Infinity >> intExpr( -10) <> Infinity or 10466 -Infinity >> intExpr( -10) <> -Infinity or 10467 2.221519243884861782e+284 >> intExpr(-2995) <> Infinity or 10468 -3.720881118398479847e+31 >> intExpr(-1616) <> -Infinity or 10469 2.234972294855364778e-99 >> intExpr( 823) <> 0.0 or 10470 -9.429403627481889418e-285 >> intExpr( 1093) <> 0.0 or 10471 1.751736975399683374e+305 >> intExpr( -10) <> 1.793778662809275800e+308 or 10472 8.883450423771940829e-84 >> intExpr( -483) <> 2.218551878577123500e+062 or 10473 5.777494836628130267e-309 >> intExpr(-1071) <> 1.461722466756107500e+014 or 10474 2.546209045782271622e-309 >> intExpr(-2047) <> 4.114292659568633900e+307 or 10475 6.603211093907156832e-309 >> intExpr(-2047) <> 1.066980065059728900e+308 or 10476 1.434557330032167675e-310 >> intExpr(-3059) <> Infinity or 10477 8.227352381334111684e+183 >> intExpr( 1633) <> 2.154156141625903463e-308 or 10478 6.009742445482107613e+258 >> intExpr( 1882) <> 1.739418242816761100e-308 or 10479 3.094739191357472818e+93 >> intExpr( 1334) <> 8.252961878480251800e-309 or 10480 -2.044542424689816058e-112 >> intExpr( 651) <> -2.188108984804417542e-308 or 10481 1.447562767514547211e-123 >> intExpr( 662) <> 7.410984687618698163e-323 or 10482 -9.122215700985469031e-309 >> intExpr( 46) <> -1.284570679187241015e-322 or 10483 1.590229628495541250e-308 >> intExpr( 3) <> 1.987787035619425328e-309 or 10484 1.106649978021704684e-308 >> intExpr( 2) <> 2.766624945054261710e-309 or 10485 -5.495829332017545722e-309 >> intExpr( 43) <> -6.225227137599706457e-322 or 10486 # 2.320160450702645352e-216 >> intExpr( 358) <> 4.940656458412465442e-324 or 10487 # 1.973266378845922681e-11 >> intExpr( 1025) <> 5.488575259650407859e-320 or 10488 # 1.632095641757055474e+130 >> intExpr( 1492) <> 1.191241678687829543e-319 or 10489 # 1.943808595063234196e-308 >> intExpr( 15) <> 5.932033065990738998e-313 or 10490 # 2.265259963921934671e-244 >> intExpr( 213) <> 1.720794355934250507e-308 or 10491 # 6.338957915016740072e-263 >> intExpr( 172) <> 1.058908938501717366e-314 or 10492 # 1.943808595063234196e-308 >> intExpr( 15) <> 5.932033065990738998e-313 or 10493 # -2.224466941245358019e-308 >> intExpr( 27) <> -1.657357042812545087e-316 or 10494 4.940656458412465442e-324 >> intExpr(-2046) <> 3.991680619069439623e+292 or 10495 -4.940656458412465442e-324 >> intExpr(-2046) <> -3.991680619069439623e+292 or 10496 4.940656458412465442e-324 >> intExpr(-2097) <> 8.988465674311579539e+307 or 10497 -4.940656458412465442e-324 >> intExpr(-2097) <> -8.988465674311579539e+307 or 10498 4.940656458412465442e-324 >> intExpr(-2098) <> Infinity or 10499 -4.940656458412465442e-324 >> intExpr(-2098) <> -Infinity or 10500 8.988465674311579539e+307 >> intExpr( 2046) <> 1.112536929253600692e-308 or 10501 -8.988465674311579539e+307 >> intExpr( 2046) <> -1.112536929253600692e-308 or 10502 8.988465674311579539e+307 >> intExpr( 2097) <> 4.940656458412465442e-324 or 10503 -8.988465674311579539e+307 >> intExpr( 2097) <> -4.940656458412465442e-324 or 10504 8.988465674311579539e+307 >> intExpr( 2098) <> 0.0 or 10505 -8.988465674311579539e+307 >> intExpr( 2098) <> 0.0 or 10506 # 1.797693134862315708e+308 >> intExpr( 2097) <> 4.940656458412465442e-324 or 10507 # -1.797693134862315708e+308 >> intExpr( 2097) <> -4.940656458412465442e-324 or 10508 # 1.797693134862315708e+308 >> intExpr( 2098) <> 4.940656458412465442e-324 or 10509 # -1.797693134862315708e+308 >> intExpr( 2098) <> -4.940656458412465442e-324 or 10510 1.797693134862315708e+308 >> intExpr( 2099) <> 0.0 or 10511 -1.797693134862315708e+308 >> intExpr( 2099) <> 0.0 or 10512 2.225073858507200889e-308 >> intExpr(-1023) <> 1.999999999999999556e+0 or 10513 -2.225073858507200889e-308 >> intExpr(-1023) <> -1.999999999999999556e+0 or 10514 4.940656458412465442e-324 >> intExpr(integer.last ) <> 0.0 or 10515 2.225073858507200889e-308 >> intExpr(integer.last ) <> 0.0 or 10516 2.225073858507201383e-308 >> intExpr(integer.last ) <> 0.0 or 10517 1.797693134862315708e+308 >> intExpr(integer.last ) <> 0.0 or 10518 -4.940656458412465442e-324 >> intExpr(integer.last ) <> -0.0 or 10519 -2.225073858507200889e-308 >> intExpr(integer.last ) <> -0.0 or 10520 -2.225073858507201383e-308 >> intExpr(integer.last ) <> -0.0 or 10521 -1.797693134862315708e+308 >> intExpr(integer.last ) <> -0.0 or 10522 4.940656458412465442e-324 >> intExpr(integer.first) <> Infinity or 10523 2.225073858507200889e-308 >> intExpr(integer.first) <> Infinity or 10524 2.225073858507201383e-308 >> intExpr(integer.first) <> Infinity or 10525 1.797693134862315708e+308 >> intExpr(integer.first) <> Infinity or 10526 -4.940656458412465442e-324 >> intExpr(integer.first) <> -Infinity or 10527 -2.225073858507200889e-308 >> intExpr(integer.first) <> -Infinity or 10528 -2.225073858507201383e-308 >> intExpr(integer.first) <> -Infinity or 10529 -1.797693134862315708e+308 >> intExpr(integer.first) <> -Infinity then 10530 writeln(" ***** Shift right of float values does not work correct. (3)"); 10531 okay := FALSE; 10532 end if; 10533 10534 if floatExpr( 0.0 ) >> intExpr( -10) <> 0.0 or 10535 floatExpr( 1.234567890123456789e+123) >> intExpr( 0) <> 1.234567890123456789e+123 or 10536 floatExpr( Infinity ) >> intExpr( -10) <> Infinity or 10537 floatExpr(-Infinity ) >> intExpr( -10) <> -Infinity or 10538 floatExpr( 2.221519243884861782e+284) >> intExpr(-2995) <> Infinity or 10539 floatExpr(-3.720881118398479847e+31 ) >> intExpr(-1616) <> -Infinity or 10540 floatExpr( 2.234972294855364778e-99 ) >> intExpr( 823) <> 0.0 or 10541 floatExpr(-9.429403627481889418e-285) >> intExpr( 1093) <> 0.0 or 10542 floatExpr( 1.751736975399683374e+305) >> intExpr( -10) <> 1.793778662809275800e+308 or 10543 floatExpr( 8.883450423771940829e-84 ) >> intExpr( -483) <> 2.218551878577123500e+062 or 10544 floatExpr( 5.777494836628130267e-309) >> intExpr(-1071) <> 1.461722466756107500e+014 or 10545 floatExpr( 2.546209045782271622e-309) >> intExpr(-2047) <> 4.114292659568633900e+307 or 10546 floatExpr( 6.603211093907156832e-309) >> intExpr(-2047) <> 1.066980065059728900e+308 or 10547 floatExpr( 1.434557330032167675e-310) >> intExpr(-3059) <> Infinity or 10548 floatExpr( 8.227352381334111684e+183) >> intExpr( 1633) <> 2.154156141625903463e-308 or 10549 floatExpr( 6.009742445482107613e+258) >> intExpr( 1882) <> 1.739418242816761100e-308 or 10550 floatExpr( 3.094739191357472818e+93 ) >> intExpr( 1334) <> 8.252961878480251800e-309 or 10551 floatExpr(-2.044542424689816058e-112) >> intExpr( 651) <> -2.188108984804417542e-308 or 10552 floatExpr( 1.447562767514547211e-123) >> intExpr( 662) <> 7.410984687618698163e-323 or 10553 floatExpr(-9.122215700985469031e-309) >> intExpr( 46) <> -1.284570679187241015e-322 or 10554 floatExpr( 1.590229628495541250e-308) >> intExpr( 3) <> 1.987787035619425328e-309 or 10555 floatExpr( 1.106649978021704684e-308) >> intExpr( 2) <> 2.766624945054261710e-309 or 10556 floatExpr(-5.495829332017545722e-309) >> intExpr( 43) <> -6.225227137599706457e-322 or 10557 # floatExpr( 2.320160450702645352e-216) >> intExpr( 358) <> 4.940656458412465442e-324 or 10558 # floatExpr( 1.973266378845922681e-11 ) >> intExpr( 1025) <> 5.488575259650407859e-320 or 10559 # floatExpr( 1.632095641757055474e+130) >> intExpr( 1492) <> 1.191241678687829543e-319 or 10560 # floatExpr( 1.943808595063234196e-308) >> intExpr( 15) <> 5.932033065990738998e-313 or 10561 # floatExpr( 2.265259963921934671e-244) >> intExpr( 213) <> 1.720794355934250507e-308 or 10562 # floatExpr( 6.338957915016740072e-263) >> intExpr( 172) <> 1.058908938501717366e-314 or 10563 # floatExpr( 1.943808595063234196e-308) >> intExpr( 15) <> 5.932033065990738998e-313 or 10564 # floatExpr(-2.224466941245358019e-308) >> intExpr( 27) <> -1.657357042812545087e-316 or 10565 floatExpr( 4.940656458412465442e-324) >> intExpr(-2046) <> 3.991680619069439623e+292 or 10566 floatExpr(-4.940656458412465442e-324) >> intExpr(-2046) <> -3.991680619069439623e+292 or 10567 floatExpr( 4.940656458412465442e-324) >> intExpr(-2097) <> 8.988465674311579539e+307 or 10568 floatExpr(-4.940656458412465442e-324) >> intExpr(-2097) <> -8.988465674311579539e+307 or 10569 floatExpr( 4.940656458412465442e-324) >> intExpr(-2098) <> Infinity or 10570 floatExpr(-4.940656458412465442e-324) >> intExpr(-2098) <> -Infinity or 10571 floatExpr( 8.988465674311579539e+307) >> intExpr( 2046) <> 1.112536929253600692e-308 or 10572 floatExpr(-8.988465674311579539e+307) >> intExpr( 2046) <> -1.112536929253600692e-308 or 10573 floatExpr( 8.988465674311579539e+307) >> intExpr( 2097) <> 4.940656458412465442e-324 or 10574 floatExpr(-8.988465674311579539e+307) >> intExpr( 2097) <> -4.940656458412465442e-324 or 10575 floatExpr( 8.988465674311579539e+307) >> intExpr( 2098) <> 0.0 or 10576 floatExpr(-8.988465674311579539e+307) >> intExpr( 2098) <> 0.0 or 10577 # floatExpr( 1.797693134862315708e+308) >> intExpr( 2097) <> 4.940656458412465442e-324 or 10578 # floatExpr(-1.797693134862315708e+308) >> intExpr( 2097) <> -4.940656458412465442e-324 or 10579 # floatExpr( 1.797693134862315708e+308) >> intExpr( 2098) <> 4.940656458412465442e-324 or 10580 # floatExpr(-1.797693134862315708e+308) >> intExpr( 2098) <> -4.940656458412465442e-324 or 10581 floatExpr( 1.797693134862315708e+308) >> intExpr( 2099) <> 0.0 or 10582 floatExpr(-1.797693134862315708e+308) >> intExpr( 2099) <> 0.0 or 10583 floatExpr( 2.225073858507200889e-308) >> intExpr(-1023) <> 1.999999999999999556e+0 or 10584 floatExpr(-2.225073858507200889e-308) >> intExpr(-1023) <> -1.999999999999999556e+0 or 10585 floatExpr( 4.940656458412465442e-324) >> intExpr(integer.last ) <> 0.0 or 10586 floatExpr( 2.225073858507200889e-308) >> intExpr(integer.last ) <> 0.0 or 10587 floatExpr( 2.225073858507201383e-308) >> intExpr(integer.last ) <> 0.0 or 10588 floatExpr( 1.797693134862315708e+308) >> intExpr(integer.last ) <> 0.0 or 10589 floatExpr(-4.940656458412465442e-324) >> intExpr(integer.last ) <> -0.0 or 10590 floatExpr(-2.225073858507200889e-308) >> intExpr(integer.last ) <> -0.0 or 10591 floatExpr(-2.225073858507201383e-308) >> intExpr(integer.last ) <> -0.0 or 10592 floatExpr(-1.797693134862315708e+308) >> intExpr(integer.last ) <> -0.0 or 10593 floatExpr( 4.940656458412465442e-324) >> intExpr(integer.first) <> Infinity or 10594 floatExpr( 2.225073858507200889e-308) >> intExpr(integer.first) <> Infinity or 10595 floatExpr( 2.225073858507201383e-308) >> intExpr(integer.first) <> Infinity or 10596 floatExpr( 1.797693134862315708e+308) >> intExpr(integer.first) <> Infinity or 10597 floatExpr(-4.940656458412465442e-324) >> intExpr(integer.first) <> -Infinity or 10598 floatExpr(-2.225073858507200889e-308) >> intExpr(integer.first) <> -Infinity or 10599 floatExpr(-2.225073858507201383e-308) >> intExpr(integer.first) <> -Infinity or 10600 floatExpr(-1.797693134862315708e+308) >> intExpr(integer.first) <> -Infinity then 10601 writeln(" ***** Shift right of float values does not work correct. (4)"); 10602 okay := FALSE; 10603 end if; 10604 10605 if not isNaN(NaN >> -9999) or 10606 not isNaN(NaN >> 10) or 10607 not isNaN(NaN >> 9999) or 10608 not isNaN(floatExpr(NaN ) >> -9999) or 10609 not isNaN(floatExpr(NaN ) >> 10) or 10610 not isNaN(floatExpr(NaN ) >> 9999) or 10611 not isNaN(NaN >> intExpr(-9999)) or 10612 not isNaN(NaN >> intExpr( 10)) or 10613 not isNaN(NaN >> intExpr( 9999)) or 10614 not isNaN(floatExpr(NaN ) >> intExpr(-9999)) or 10615 not isNaN(floatExpr(NaN ) >> intExpr( 10)) or 10616 not isNaN(floatExpr(NaN ) >> intExpr( 9999)) then 10617 writeln(" ***** Shift right of NaN does not work correct."); 10618 okay := FALSE; 10619 end if; 10620 10621 if okay then 10622 writeln("Shift right of float values works correct for selected values."); 10623 end if; 10624 end func; 10625 10626 10627const proc: check_negative_zero is func 10628 local 10629 const float: neg_zero1 is -0.0; 10630 const float: neg_zero2 is -1.0 / Infinity; 10631 const float: neg_zero3 is 1.0 / -Infinity; 10632 begin 10633 if not isNegativeZero( -0.0) or 10634 not isNegativeZero( neg_zero1) or 10635 not isNegativeZero( -1.0 / Infinity) or 10636 not isNegativeZero( neg_zero2) or 10637 not isNegativeZero( 1.0 / -Infinity) or 10638 not isNegativeZero( neg_zero3) or 10639 not isNegativeZero(floatExpr( -0.0)) or 10640 not isNegativeZero(floatExpr( neg_zero1)) or 10641 not isNegativeZero(floatExpr(-1.0 / Infinity)) or 10642 not isNegativeZero(floatExpr( neg_zero2)) or 10643 not isNegativeZero(floatExpr( 1.0 / -Infinity)) or 10644 not isNegativeZero(floatExpr( neg_zero3)) then 10645 writeln(" ***** Negative zero does not work correct."); 10646 else 10647 writeln("Negative zero does work correct."); 10648 end if; 10649 end func; 10650 10651 10652const proc: check_inf is func 10653 local 10654 const float: minusZero is -0.0; 10655 const float: minusOne is -1.0; 10656 const float: minusTwo is -2.0; 10657 const float: minusInf is -Infinity; 10658 const float: minusBig is -1.0E37; 10659 const float: minusSmall is -1.0E-37; 10660 var float: floatVar is 0.0; 10661 var boolean: divAssignOkay is TRUE; 10662 var boolean: okay is TRUE; 10663 begin 10664 if -1.0E37 / -0.0 <> Infinity or 10665 -1.0E37 / minusZero <> Infinity or 10666 -1.0E37 / 0.0 <> -Infinity or 10667 minusBig / -0.0 <> Infinity or 10668 minusBig / minusZero <> Infinity or 10669 minusBig / 0.0 <> -Infinity or 10670 -1.0 / -0.0 <> Infinity or 10671 -1.0 / minusZero <> Infinity or 10672 -1.0 / 0.0 <> -Infinity or 10673 minusOne / -0.0 <> Infinity or 10674 minusOne / minusZero <> Infinity or 10675 minusOne / 0.0 <> -Infinity or 10676 1.0 / -0.0 <> -Infinity or 10677 1.0 / minusZero <> -Infinity or 10678 1.0 / 0.0 <> Infinity or 10679 1.0E37 / -0.0 <> -Infinity or 10680 1.0E37 / minusZero <> -Infinity or 10681 1.0E37 / 0.0 <> Infinity or 10682 floatExpr( -1.0E37) / -0.0 <> Infinity or 10683 floatExpr( -1.0E37) / minusZero <> Infinity or 10684 floatExpr( -1.0E37) / 0.0 <> -Infinity or 10685 floatExpr(minusBig) / -0.0 <> Infinity or 10686 floatExpr(minusBig) / minusZero <> Infinity or 10687 floatExpr(minusBig) / 0.0 <> -Infinity or 10688 floatExpr( -1.0) / -0.0 <> Infinity or 10689 floatExpr( -1.0) / minusZero <> Infinity or 10690 floatExpr( -1.0) / 0.0 <> -Infinity or 10691 floatExpr(minusOne) / -0.0 <> Infinity or 10692 floatExpr(minusOne) / minusZero <> Infinity or 10693 floatExpr(minusOne) / 0.0 <> -Infinity or 10694 floatExpr( 1.0) / -0.0 <> -Infinity or 10695 floatExpr( 1.0) / minusZero <> -Infinity or 10696 floatExpr( 1.0) / 0.0 <> Infinity or 10697 floatExpr( 1.0E37) / -0.0 <> -Infinity or 10698 floatExpr( 1.0E37) / minusZero <> -Infinity or 10699 floatExpr( 1.0E37) / 0.0 <> Infinity or 10700 -1.0E37 / floatExpr( -0.0) <> Infinity or 10701 -1.0E37 / floatExpr(minusZero) <> Infinity or 10702 -1.0E37 / floatExpr( 0.0) <> -Infinity or 10703 minusBig / floatExpr( -0.0) <> Infinity or 10704 minusBig / floatExpr(minusZero) <> Infinity or 10705 minusBig / floatExpr( 0.0) <> -Infinity or 10706 -1.0 / floatExpr( -0.0) <> Infinity or 10707 -1.0 / floatExpr(minusZero) <> Infinity or 10708 -1.0 / floatExpr( 0.0) <> -Infinity or 10709 minusOne / floatExpr( -0.0) <> Infinity or 10710 minusOne / floatExpr(minusZero) <> Infinity or 10711 minusOne / floatExpr( 0.0) <> -Infinity or 10712 1.0 / floatExpr( -0.0) <> -Infinity or 10713 1.0 / floatExpr(minusZero) <> -Infinity or 10714 1.0 / floatExpr( 0.0) <> Infinity or 10715 1.0E37 / floatExpr( -0.0) <> -Infinity or 10716 1.0E37 / floatExpr(minusZero) <> -Infinity or 10717 1.0E37 / floatExpr( 0.0) <> Infinity or 10718 floatExpr( -1.0E37) / floatExpr( -0.0) <> Infinity or 10719 floatExpr( -1.0E37) / floatExpr(minusZero) <> Infinity or 10720 floatExpr( -1.0E37) / floatExpr( 0.0) <> -Infinity or 10721 floatExpr(minusBig) / floatExpr( -0.0) <> Infinity or 10722 floatExpr(minusBig) / floatExpr(minusZero) <> Infinity or 10723 floatExpr(minusBig) / floatExpr( 0.0) <> -Infinity or 10724 floatExpr( -1.0) / floatExpr( -0.0) <> Infinity or 10725 floatExpr( -1.0) / floatExpr(minusZero) <> Infinity or 10726 floatExpr( -1.0) / floatExpr( 0.0) <> -Infinity or 10727 floatExpr(minusOne) / floatExpr( -0.0) <> Infinity or 10728 floatExpr(minusOne) / floatExpr(minusZero) <> Infinity or 10729 floatExpr(minusOne) / floatExpr( 0.0) <> -Infinity or 10730 floatExpr( 1.0) / floatExpr( -0.0) <> -Infinity or 10731 floatExpr( 1.0) / floatExpr(minusZero) <> -Infinity or 10732 floatExpr( 1.0) / floatExpr( 0.0) <> Infinity or 10733 floatExpr( 1.0E37) / floatExpr( -0.0) <> -Infinity or 10734 floatExpr( 1.0E37) / floatExpr(minusZero) <> -Infinity or 10735 floatExpr( 1.0E37) / floatExpr( 0.0) <> Infinity then 10736 writeln(" ***** Division by 0.0 does not return Infinity."); 10737 okay := FALSE; 10738 end if; 10739 10740 floatVar := -1.0E37; floatVar /:= -0.0; divAssignOkay := divAssignOkay and floatVar = Infinity; 10741 floatVar := -1.0E37; floatVar /:= minusZero; divAssignOkay := divAssignOkay and floatVar = Infinity; 10742 floatVar := -1.0E37; floatVar /:= 0.0; divAssignOkay := divAssignOkay and floatVar = -Infinity; 10743 floatVar := minusBig; floatVar /:= -0.0; divAssignOkay := divAssignOkay and floatVar = Infinity; 10744 floatVar := minusBig; floatVar /:= minusZero; divAssignOkay := divAssignOkay and floatVar = Infinity; 10745 floatVar := minusBig; floatVar /:= 0.0; divAssignOkay := divAssignOkay and floatVar = -Infinity; 10746 floatVar := -1.0; floatVar /:= -0.0; divAssignOkay := divAssignOkay and floatVar = Infinity; 10747 floatVar := -1.0; floatVar /:= minusZero; divAssignOkay := divAssignOkay and floatVar = Infinity; 10748 floatVar := -1.0; floatVar /:= 0.0; divAssignOkay := divAssignOkay and floatVar = -Infinity; 10749 floatVar := minusOne; floatVar /:= -0.0; divAssignOkay := divAssignOkay and floatVar = Infinity; 10750 floatVar := minusOne; floatVar /:= minusZero; divAssignOkay := divAssignOkay and floatVar = Infinity; 10751 floatVar := minusOne; floatVar /:= 0.0; divAssignOkay := divAssignOkay and floatVar = -Infinity; 10752 floatVar := 1.0; floatVar /:= -0.0; divAssignOkay := divAssignOkay and floatVar = -Infinity; 10753 floatVar := 1.0; floatVar /:= minusZero; divAssignOkay := divAssignOkay and floatVar = -Infinity; 10754 floatVar := 1.0; floatVar /:= 0.0; divAssignOkay := divAssignOkay and floatVar = Infinity; 10755 floatVar := 1.0E37; floatVar /:= -0.0; divAssignOkay := divAssignOkay and floatVar = -Infinity; 10756 floatVar := 1.0E37; floatVar /:= minusZero; divAssignOkay := divAssignOkay and floatVar = -Infinity; 10757 floatVar := 1.0E37; floatVar /:= 0.0; divAssignOkay := divAssignOkay and floatVar = Infinity; 10758 floatVar := -1.0E37; floatVar /:= floatExpr( -0.0); divAssignOkay := divAssignOkay and floatVar = Infinity; 10759 floatVar := -1.0E37; floatVar /:= floatExpr(minusZero); divAssignOkay := divAssignOkay and floatVar = Infinity; 10760 floatVar := -1.0E37; floatVar /:= floatExpr( 0.0); divAssignOkay := divAssignOkay and floatVar = -Infinity; 10761 floatVar := minusBig; floatVar /:= floatExpr( -0.0); divAssignOkay := divAssignOkay and floatVar = Infinity; 10762 floatVar := minusBig; floatVar /:= floatExpr(minusZero); divAssignOkay := divAssignOkay and floatVar = Infinity; 10763 floatVar := minusBig; floatVar /:= floatExpr( 0.0); divAssignOkay := divAssignOkay and floatVar = -Infinity; 10764 floatVar := -1.0; floatVar /:= floatExpr( -0.0); divAssignOkay := divAssignOkay and floatVar = Infinity; 10765 floatVar := -1.0; floatVar /:= floatExpr(minusZero); divAssignOkay := divAssignOkay and floatVar = Infinity; 10766 floatVar := -1.0; floatVar /:= floatExpr( 0.0); divAssignOkay := divAssignOkay and floatVar = -Infinity; 10767 floatVar := minusOne; floatVar /:= floatExpr( -0.0); divAssignOkay := divAssignOkay and floatVar = Infinity; 10768 floatVar := minusOne; floatVar /:= floatExpr(minusZero); divAssignOkay := divAssignOkay and floatVar = Infinity; 10769 floatVar := minusOne; floatVar /:= floatExpr( 0.0); divAssignOkay := divAssignOkay and floatVar = -Infinity; 10770 floatVar := 1.0; floatVar /:= floatExpr( -0.0); divAssignOkay := divAssignOkay and floatVar = -Infinity; 10771 floatVar := 1.0; floatVar /:= floatExpr(minusZero); divAssignOkay := divAssignOkay and floatVar = -Infinity; 10772 floatVar := 1.0; floatVar /:= floatExpr( 0.0); divAssignOkay := divAssignOkay and floatVar = Infinity; 10773 floatVar := 1.0E37; floatVar /:= floatExpr( -0.0); divAssignOkay := divAssignOkay and floatVar = -Infinity; 10774 floatVar := 1.0E37; floatVar /:= floatExpr(minusZero); divAssignOkay := divAssignOkay and floatVar = -Infinity; 10775 floatVar := 1.0E37; floatVar /:= floatExpr( 0.0); divAssignOkay := divAssignOkay and floatVar = Infinity; 10776 if not divAssignOkay then 10777 writeln(" ***** Assignment division by 0.0 does not assign Infinity."); 10778 okay := FALSE; 10779 end if; 10780 10781 if log( -0.0) <> -Infinity or 10782 log( minusZero) <> -Infinity or 10783 log( 0.0) <> -Infinity or 10784 log( floatExpr( -0.0)) <> -Infinity or 10785 log( floatExpr(minusZero)) <> -Infinity or 10786 log( floatExpr( 0.0)) <> -Infinity then 10787 writeln(" ***** log(0.0) does not return -Infinity."); 10788 okay := FALSE; 10789 end if; 10790 10791 if log1p( -1.0) <> -Infinity or 10792 log1p( floatExpr(-1.0)) <> -Infinity then 10793 writeln(" ***** log1p(-1.0) does not return -Infinity."); 10794 okay := FALSE; 10795 end if; 10796 10797 if log2( -0.0) <> -Infinity or 10798 log2( minusZero) <> -Infinity or 10799 log2( 0.0) <> -Infinity or 10800 log2( floatExpr( -0.0)) <> -Infinity or 10801 log2( floatExpr(minusZero)) <> -Infinity or 10802 log2( floatExpr( 0.0)) <> -Infinity then 10803 writeln(" ***** log2(0.0) does not return -Infinity."); 10804 okay := FALSE; 10805 end if; 10806 10807 if log10( -0.0) <> -Infinity or 10808 log10( minusZero) <> -Infinity or 10809 log10( 0.0) <> -Infinity or 10810 log10(floatExpr( -0.0)) <> -Infinity or 10811 log10(floatExpr(minusZero)) <> -Infinity or 10812 log10(floatExpr( 0.0)) <> -Infinity then 10813 writeln(" ***** log10(0.0) does not return -Infinity."); 10814 okay := FALSE; 10815 end if; 10816 10817 if Infinity + -1.0E37 <> Infinity or 10818 Infinity + minusBig <> Infinity or 10819 Infinity + -1000.0 <> Infinity or 10820 Infinity + -0.0 <> Infinity or 10821 Infinity + minusZero <> Infinity or 10822 Infinity + 0.0 <> Infinity or 10823 Infinity + 1000.0 <> Infinity or 10824 Infinity + 1.0E37 <> Infinity or 10825 Infinity + Infinity <> Infinity or 10826 Infinity - -Infinity <> Infinity or 10827 Infinity - minusInf <> Infinity or 10828 Infinity - -1.0E37 <> Infinity or 10829 Infinity - minusBig <> Infinity or 10830 Infinity - -1000.0 <> Infinity or 10831 Infinity - -0.0 <> Infinity or 10832 Infinity - minusZero <> Infinity or 10833 Infinity - 0.0 <> Infinity or 10834 Infinity - 1000.0 <> Infinity or 10835 Infinity - 1.0E37 <> Infinity or 10836 floatExpr(Infinity) + -1.0E37 <> Infinity or 10837 floatExpr(Infinity) + minusBig <> Infinity or 10838 floatExpr(Infinity) + -1000.0 <> Infinity or 10839 floatExpr(Infinity) + -0.0 <> Infinity or 10840 floatExpr(Infinity) + minusZero <> Infinity or 10841 floatExpr(Infinity) + 0.0 <> Infinity or 10842 floatExpr(Infinity) + 1000.0 <> Infinity or 10843 floatExpr(Infinity) + 1.0E37 <> Infinity or 10844 floatExpr(Infinity) + Infinity <> Infinity or 10845 floatExpr(Infinity) - -Infinity <> Infinity or 10846 floatExpr(Infinity) - minusInf <> Infinity or 10847 floatExpr(Infinity) - -1.0E37 <> Infinity or 10848 floatExpr(Infinity) - minusBig <> Infinity or 10849 floatExpr(Infinity) - -1000.0 <> Infinity or 10850 floatExpr(Infinity) - -0.0 <> Infinity or 10851 floatExpr(Infinity) - minusZero <> Infinity or 10852 floatExpr(Infinity) - 0.0 <> Infinity or 10853 floatExpr(Infinity) - 1000.0 <> Infinity or 10854 floatExpr(Infinity) - 1.0E37 <> Infinity or 10855 Infinity + floatExpr( -1.0E37) <> Infinity or 10856 Infinity + floatExpr( minusBig) <> Infinity or 10857 Infinity + floatExpr( -1000.0) <> Infinity or 10858 Infinity + floatExpr( -0.0) <> Infinity or 10859 Infinity + floatExpr(minusZero) <> Infinity or 10860 Infinity + floatExpr( 0.0) <> Infinity or 10861 Infinity + floatExpr( 1000.0) <> Infinity or 10862 Infinity + floatExpr( 1.0E37) <> Infinity or 10863 Infinity + floatExpr( Infinity) <> Infinity or 10864 Infinity - floatExpr(-Infinity) <> Infinity or 10865 Infinity - floatExpr( minusInf) <> Infinity or 10866 Infinity - floatExpr( -1.0E37) <> Infinity or 10867 Infinity - floatExpr( minusBig) <> Infinity or 10868 Infinity - floatExpr( -1000.0) <> Infinity or 10869 Infinity - floatExpr( -0.0) <> Infinity or 10870 Infinity - floatExpr(minusZero) <> Infinity or 10871 Infinity - floatExpr( 0.0) <> Infinity or 10872 Infinity - floatExpr( 1000.0) <> Infinity or 10873 Infinity - floatExpr( 1.0E37) <> Infinity or 10874 floatExpr(Infinity) + floatExpr( -1.0E37) <> Infinity or 10875 floatExpr(Infinity) + floatExpr( minusBig) <> Infinity or 10876 floatExpr(Infinity) + floatExpr( -1000.0) <> Infinity or 10877 floatExpr(Infinity) + floatExpr( -0.0) <> Infinity or 10878 floatExpr(Infinity) + floatExpr(minusZero) <> Infinity or 10879 floatExpr(Infinity) + floatExpr( 0.0) <> Infinity or 10880 floatExpr(Infinity) + floatExpr( 1000.0) <> Infinity or 10881 floatExpr(Infinity) + floatExpr( 1.0E37) <> Infinity or 10882 floatExpr(Infinity) + floatExpr( Infinity) <> Infinity or 10883 floatExpr(Infinity) - floatExpr(-Infinity) <> Infinity or 10884 floatExpr(Infinity) - floatExpr( minusInf) <> Infinity or 10885 floatExpr(Infinity) - floatExpr( -1.0E37) <> Infinity or 10886 floatExpr(Infinity) - floatExpr( minusBig) <> Infinity or 10887 floatExpr(Infinity) - floatExpr( -1000.0) <> Infinity or 10888 floatExpr(Infinity) - floatExpr( -0.0) <> Infinity or 10889 floatExpr(Infinity) - floatExpr(minusZero) <> Infinity or 10890 floatExpr(Infinity) - floatExpr( 0.0) <> Infinity or 10891 floatExpr(Infinity) - floatExpr( 1000.0) <> Infinity or 10892 floatExpr(Infinity) - floatExpr( 1.0E37) <> Infinity then 10893 writeln(" ***** Adding a finite value to Infinity does not return Infinity."); 10894 okay := FALSE; 10895 end if; 10896 10897 if -Infinity + -Infinity <> -Infinity or 10898 -Infinity + minusInf <> -Infinity or 10899 -Infinity + -1.0E37 <> -Infinity or 10900 -Infinity + minusBig <> -Infinity or 10901 -Infinity + -1000.0 <> -Infinity or 10902 -Infinity + -0.0 <> -Infinity or 10903 -Infinity + minusZero <> -Infinity or 10904 -Infinity + 0.0 <> -Infinity or 10905 -Infinity + 1000.0 <> -Infinity or 10906 -Infinity + 1.0E37 <> -Infinity or 10907 -Infinity - -1.0E37 <> -Infinity or 10908 -Infinity - minusBig <> -Infinity or 10909 -Infinity - -1000.0 <> -Infinity or 10910 -Infinity - -0.0 <> -Infinity or 10911 -Infinity - minusZero <> -Infinity or 10912 -Infinity - 0.0 <> -Infinity or 10913 -Infinity - 1000.0 <> -Infinity or 10914 -Infinity - 1.0E37 <> -Infinity or 10915 -Infinity - Infinity <> -Infinity or 10916 minusInf + -Infinity <> -Infinity or 10917 minusInf + minusInf <> -Infinity or 10918 minusInf + -1.0E37 <> -Infinity or 10919 minusInf + minusBig <> -Infinity or 10920 minusInf + -1000.0 <> -Infinity or 10921 minusInf + -0.0 <> -Infinity or 10922 minusInf + minusZero <> -Infinity or 10923 minusInf + 0.0 <> -Infinity or 10924 minusInf + 1000.0 <> -Infinity or 10925 minusInf + 1.0E37 <> -Infinity or 10926 minusInf - -1.0E37 <> -Infinity or 10927 minusInf - minusBig <> -Infinity or 10928 minusInf - -1000.0 <> -Infinity or 10929 minusInf - -0.0 <> -Infinity or 10930 minusInf - minusZero <> -Infinity or 10931 minusInf - 0.0 <> -Infinity or 10932 minusInf - 1000.0 <> -Infinity or 10933 minusInf - 1.0E37 <> -Infinity or 10934 minusInf - Infinity <> -Infinity or 10935 floatExpr(-Infinity) + -Infinity <> -Infinity or 10936 floatExpr(-Infinity) + minusInf <> -Infinity or 10937 floatExpr(-Infinity) + -1.0E37 <> -Infinity or 10938 floatExpr(-Infinity) + minusBig <> -Infinity or 10939 floatExpr(-Infinity) + -1000.0 <> -Infinity or 10940 floatExpr(-Infinity) + -0.0 <> -Infinity or 10941 floatExpr(-Infinity) + minusZero <> -Infinity or 10942 floatExpr(-Infinity) + 0.0 <> -Infinity or 10943 floatExpr(-Infinity) + 1000.0 <> -Infinity or 10944 floatExpr(-Infinity) + 1.0E37 <> -Infinity or 10945 floatExpr(-Infinity) - -1.0E37 <> -Infinity or 10946 floatExpr(-Infinity) - minusBig <> -Infinity or 10947 floatExpr(-Infinity) - -1000.0 <> -Infinity or 10948 floatExpr(-Infinity) - -0.0 <> -Infinity or 10949 floatExpr(-Infinity) - minusZero <> -Infinity or 10950 floatExpr(-Infinity) - 0.0 <> -Infinity or 10951 floatExpr(-Infinity) - 1000.0 <> -Infinity or 10952 floatExpr(-Infinity) - 1.0E37 <> -Infinity or 10953 floatExpr(-Infinity) - Infinity <> -Infinity or 10954 floatExpr( minusInf) + -Infinity <> -Infinity or 10955 floatExpr( minusInf) + minusInf <> -Infinity or 10956 floatExpr( minusInf) + -1.0E37 <> -Infinity or 10957 floatExpr( minusInf) + minusBig <> -Infinity or 10958 floatExpr( minusInf) + -1000.0 <> -Infinity or 10959 floatExpr( minusInf) + -0.0 <> -Infinity or 10960 floatExpr( minusInf) + minusZero <> -Infinity or 10961 floatExpr( minusInf) + 0.0 <> -Infinity or 10962 floatExpr( minusInf) + 1000.0 <> -Infinity or 10963 floatExpr( minusInf) + 1.0E37 <> -Infinity or 10964 floatExpr( minusInf) - -1.0E37 <> -Infinity or 10965 floatExpr( minusInf) - minusBig <> -Infinity or 10966 floatExpr( minusInf) - -1000.0 <> -Infinity or 10967 floatExpr( minusInf) - -0.0 <> -Infinity or 10968 floatExpr( minusInf) - minusZero <> -Infinity or 10969 floatExpr( minusInf) - 0.0 <> -Infinity or 10970 floatExpr( minusInf) - 1000.0 <> -Infinity or 10971 floatExpr( minusInf) - 1.0E37 <> -Infinity or 10972 floatExpr( minusInf) - Infinity <> -Infinity or 10973 -Infinity + floatExpr(-Infinity) <> -Infinity or 10974 -Infinity + floatExpr( minusInf) <> -Infinity or 10975 -Infinity + floatExpr( -1.0E37) <> -Infinity or 10976 -Infinity + floatExpr( minusBig) <> -Infinity or 10977 -Infinity + floatExpr( -1000.0) <> -Infinity or 10978 -Infinity + floatExpr( -0.0) <> -Infinity or 10979 -Infinity + floatExpr(minusZero) <> -Infinity or 10980 -Infinity + floatExpr( 0.0) <> -Infinity or 10981 -Infinity + floatExpr( 1000.0) <> -Infinity or 10982 -Infinity + floatExpr( 1.0E37) <> -Infinity or 10983 -Infinity - floatExpr( -1.0E37) <> -Infinity or 10984 -Infinity - floatExpr( minusBig) <> -Infinity or 10985 -Infinity - floatExpr( -1000.0) <> -Infinity or 10986 -Infinity - floatExpr( -0.0) <> -Infinity or 10987 -Infinity - floatExpr(minusZero) <> -Infinity or 10988 -Infinity - floatExpr( 0.0) <> -Infinity or 10989 -Infinity - floatExpr( 1000.0) <> -Infinity or 10990 -Infinity - floatExpr( 1.0E37) <> -Infinity or 10991 -Infinity - floatExpr( Infinity) <> -Infinity or 10992 minusInf + floatExpr(-Infinity) <> -Infinity or 10993 minusInf + floatExpr( minusInf) <> -Infinity or 10994 minusInf + floatExpr( -1.0E37) <> -Infinity or 10995 minusInf + floatExpr( minusBig) <> -Infinity or 10996 minusInf + floatExpr( -1000.0) <> -Infinity or 10997 minusInf + floatExpr( -0.0) <> -Infinity or 10998 minusInf + floatExpr(minusZero) <> -Infinity or 10999 minusInf + floatExpr( 0.0) <> -Infinity or 11000 minusInf + floatExpr( 1000.0) <> -Infinity or 11001 minusInf + floatExpr( 1.0E37) <> -Infinity or 11002 minusInf - floatExpr( -1.0E37) <> -Infinity or 11003 minusInf - floatExpr( minusBig) <> -Infinity or 11004 minusInf - floatExpr( -1000.0) <> -Infinity or 11005 minusInf - floatExpr( -0.0) <> -Infinity or 11006 minusInf - floatExpr(minusZero) <> -Infinity or 11007 minusInf - floatExpr( 0.0) <> -Infinity or 11008 minusInf - floatExpr( 1000.0) <> -Infinity or 11009 minusInf - floatExpr( 1.0E37) <> -Infinity or 11010 minusInf - floatExpr( Infinity) <> -Infinity or 11011 floatExpr(-Infinity) + floatExpr(-Infinity) <> -Infinity or 11012 floatExpr(-Infinity) + floatExpr( minusInf) <> -Infinity or 11013 floatExpr(-Infinity) + floatExpr( -1.0E37) <> -Infinity or 11014 floatExpr(-Infinity) + floatExpr( minusBig) <> -Infinity or 11015 floatExpr(-Infinity) + floatExpr( -1000.0) <> -Infinity or 11016 floatExpr(-Infinity) + floatExpr( -0.0) <> -Infinity or 11017 floatExpr(-Infinity) + floatExpr(minusZero) <> -Infinity or 11018 floatExpr(-Infinity) + floatExpr( 0.0) <> -Infinity or 11019 floatExpr(-Infinity) + floatExpr( 1000.0) <> -Infinity or 11020 floatExpr(-Infinity) + floatExpr( 1.0E37) <> -Infinity or 11021 floatExpr(-Infinity) - floatExpr( -1.0E37) <> -Infinity or 11022 floatExpr(-Infinity) - floatExpr( minusBig) <> -Infinity or 11023 floatExpr(-Infinity) - floatExpr( -1000.0) <> -Infinity or 11024 floatExpr(-Infinity) - floatExpr( -0.0) <> -Infinity or 11025 floatExpr(-Infinity) - floatExpr(minusZero) <> -Infinity or 11026 floatExpr(-Infinity) - floatExpr( 0.0) <> -Infinity or 11027 floatExpr(-Infinity) - floatExpr( 1000.0) <> -Infinity or 11028 floatExpr(-Infinity) - floatExpr( 1.0E37) <> -Infinity or 11029 floatExpr(-Infinity) - floatExpr( Infinity) <> -Infinity or 11030 floatExpr( minusInf) + floatExpr(-Infinity) <> -Infinity or 11031 floatExpr( minusInf) + floatExpr( minusInf) <> -Infinity or 11032 floatExpr( minusInf) + floatExpr( -1.0E37) <> -Infinity or 11033 floatExpr( minusInf) + floatExpr( minusBig) <> -Infinity or 11034 floatExpr( minusInf) + floatExpr( -1000.0) <> -Infinity or 11035 floatExpr( minusInf) + floatExpr( -0.0) <> -Infinity or 11036 floatExpr( minusInf) + floatExpr(minusZero) <> -Infinity or 11037 floatExpr( minusInf) + floatExpr( 0.0) <> -Infinity or 11038 floatExpr( minusInf) + floatExpr( 1000.0) <> -Infinity or 11039 floatExpr( minusInf) + floatExpr( 1.0E37) <> -Infinity or 11040 floatExpr( minusInf) - floatExpr( -1.0E37) <> -Infinity or 11041 floatExpr( minusInf) - floatExpr( minusBig) <> -Infinity or 11042 floatExpr( minusInf) - floatExpr( -1000.0) <> -Infinity or 11043 floatExpr( minusInf) - floatExpr( -0.0) <> -Infinity or 11044 floatExpr( minusInf) - floatExpr(minusZero) <> -Infinity or 11045 floatExpr( minusInf) - floatExpr( 0.0) <> -Infinity or 11046 floatExpr( minusInf) - floatExpr( 1000.0) <> -Infinity or 11047 floatExpr( minusInf) - floatExpr( 1.0E37) <> -Infinity or 11048 floatExpr( minusInf) - floatExpr( Infinity) <> -Infinity then 11049 writeln(" ***** Adding a finite value to -Infinity does not return -Infinity."); 11050 okay := FALSE; 11051 end if; 11052 11053 if Infinity * -Infinity <> -Infinity or 11054 Infinity * minusInf <> -Infinity or 11055 Infinity * -1.0E37 <> -Infinity or 11056 Infinity * minusBig <> -Infinity or 11057 Infinity * -1000.0 <> -Infinity or 11058 Infinity * -1.0 <> -Infinity or 11059 Infinity * minusOne <> -Infinity or 11060 Infinity * -1.0E-37 <> -Infinity or 11061 Infinity * minusSmall <> -Infinity or 11062 Infinity * 1.0E-37 <> Infinity or 11063 Infinity * 1.0 <> Infinity or 11064 Infinity * 1000.0 <> Infinity or 11065 Infinity * 1.0E37 <> Infinity or 11066 Infinity * Infinity <> Infinity or 11067 -Infinity * Infinity <> -Infinity or 11068 minusInf * Infinity <> -Infinity or 11069 -1.0E37 * Infinity <> -Infinity or 11070 minusBig * Infinity <> -Infinity or 11071 -1000.0 * Infinity <> -Infinity or 11072 -1.0 * Infinity <> -Infinity or 11073 minusOne * Infinity <> -Infinity or 11074 -1.0E-37 * Infinity <> -Infinity or 11075 minusSmall * Infinity <> -Infinity or 11076 1.0E-37 * Infinity <> Infinity or 11077 1.0 * Infinity <> Infinity or 11078 1000.0 * Infinity <> Infinity or 11079 1.0E37 * Infinity <> Infinity or 11080 Infinity * Infinity <> Infinity or 11081 floatExpr( Infinity) * -Infinity <> -Infinity or 11082 floatExpr( Infinity) * minusInf <> -Infinity or 11083 floatExpr( Infinity) * -1.0E37 <> -Infinity or 11084 floatExpr( Infinity) * minusBig <> -Infinity or 11085 floatExpr( Infinity) * -1000.0 <> -Infinity or 11086 floatExpr( Infinity) * -1.0 <> -Infinity or 11087 floatExpr( Infinity) * minusOne <> -Infinity or 11088 floatExpr( Infinity) * -1.0E-37 <> -Infinity or 11089 floatExpr( Infinity) * minusSmall <> -Infinity or 11090 floatExpr( Infinity) * 1.0E-37 <> Infinity or 11091 floatExpr( Infinity) * 1.0 <> Infinity or 11092 floatExpr( Infinity) * 1000.0 <> Infinity or 11093 floatExpr( Infinity) * 1.0E37 <> Infinity or 11094 floatExpr( Infinity) * Infinity <> Infinity or 11095 floatExpr( -Infinity) * Infinity <> -Infinity or 11096 floatExpr( minusInf) * Infinity <> -Infinity or 11097 floatExpr( -1.0E37) * Infinity <> -Infinity or 11098 floatExpr( minusBig) * Infinity <> -Infinity or 11099 floatExpr( -1000.0) * Infinity <> -Infinity or 11100 floatExpr( -1.0) * Infinity <> -Infinity or 11101 floatExpr( minusOne) * Infinity <> -Infinity or 11102 floatExpr( -1.0E-37) * Infinity <> -Infinity or 11103 floatExpr(minusSmall) * Infinity <> -Infinity or 11104 floatExpr( 1.0E-37) * Infinity <> Infinity or 11105 floatExpr( 1.0) * Infinity <> Infinity or 11106 floatExpr( 1000.0) * Infinity <> Infinity or 11107 floatExpr( 1.0E37) * Infinity <> Infinity or 11108 floatExpr( Infinity) * Infinity <> Infinity or 11109 Infinity * floatExpr( -Infinity) <> -Infinity or 11110 Infinity * floatExpr( minusInf) <> -Infinity or 11111 Infinity * floatExpr( -1.0E37) <> -Infinity or 11112 Infinity * floatExpr( minusBig) <> -Infinity or 11113 Infinity * floatExpr( -1000.0) <> -Infinity or 11114 Infinity * floatExpr( -1.0) <> -Infinity or 11115 Infinity * floatExpr( minusOne) <> -Infinity or 11116 Infinity * floatExpr( -1.0E-37) <> -Infinity or 11117 Infinity * floatExpr(minusSmall) <> -Infinity or 11118 Infinity * floatExpr( 1.0E-37) <> Infinity or 11119 Infinity * floatExpr( 1.0) <> Infinity or 11120 Infinity * floatExpr( 1000.0) <> Infinity or 11121 Infinity * floatExpr( 1.0E37) <> Infinity or 11122 Infinity * floatExpr( Infinity) <> Infinity or 11123 -Infinity * floatExpr( Infinity) <> -Infinity or 11124 minusInf * floatExpr( Infinity) <> -Infinity or 11125 -1.0E37 * floatExpr( Infinity) <> -Infinity or 11126 minusBig * floatExpr( Infinity) <> -Infinity or 11127 -1000.0 * floatExpr( Infinity) <> -Infinity or 11128 -1.0 * floatExpr( Infinity) <> -Infinity or 11129 minusOne * floatExpr( Infinity) <> -Infinity or 11130 -1.0E-37 * floatExpr( Infinity) <> -Infinity or 11131 minusSmall * floatExpr( Infinity) <> -Infinity or 11132 1.0E-37 * floatExpr( Infinity) <> Infinity or 11133 1.0 * floatExpr( Infinity) <> Infinity or 11134 1000.0 * floatExpr( Infinity) <> Infinity or 11135 1.0E37 * floatExpr( Infinity) <> Infinity or 11136 Infinity * floatExpr( Infinity) <> Infinity or 11137 floatExpr( Infinity) * floatExpr( -Infinity) <> -Infinity or 11138 floatExpr( Infinity) * floatExpr( minusInf) <> -Infinity or 11139 floatExpr( Infinity) * floatExpr( -1.0E37) <> -Infinity or 11140 floatExpr( Infinity) * floatExpr( minusBig) <> -Infinity or 11141 floatExpr( Infinity) * floatExpr( -1000.0) <> -Infinity or 11142 floatExpr( Infinity) * floatExpr( -1.0) <> -Infinity or 11143 floatExpr( Infinity) * floatExpr( minusOne) <> -Infinity or 11144 floatExpr( Infinity) * floatExpr( -1.0E-37) <> -Infinity or 11145 floatExpr( Infinity) * floatExpr(minusSmall) <> -Infinity or 11146 floatExpr( Infinity) * floatExpr( 1.0E-37) <> Infinity or 11147 floatExpr( Infinity) * floatExpr( 1.0) <> Infinity or 11148 floatExpr( Infinity) * floatExpr( 1000.0) <> Infinity or 11149 floatExpr( Infinity) * floatExpr( 1.0E37) <> Infinity or 11150 floatExpr( Infinity) * floatExpr( Infinity) <> Infinity or 11151 floatExpr( -Infinity) * floatExpr( Infinity) <> -Infinity or 11152 floatExpr( minusInf) * floatExpr( Infinity) <> -Infinity or 11153 floatExpr( -1.0E37) * floatExpr( Infinity) <> -Infinity or 11154 floatExpr( minusBig) * floatExpr( Infinity) <> -Infinity or 11155 floatExpr( -1000.0) * floatExpr( Infinity) <> -Infinity or 11156 floatExpr( -1.0) * floatExpr( Infinity) <> -Infinity or 11157 floatExpr( minusOne) * floatExpr( Infinity) <> -Infinity or 11158 floatExpr( -1.0E-37) * floatExpr( Infinity) <> -Infinity or 11159 floatExpr(minusSmall) * floatExpr( Infinity) <> -Infinity or 11160 floatExpr( 1.0E-37) * floatExpr( Infinity) <> Infinity or 11161 floatExpr( 1.0) * floatExpr( Infinity) <> Infinity or 11162 floatExpr( 1000.0) * floatExpr( Infinity) <> Infinity or 11163 floatExpr( 1.0E37) * floatExpr( Infinity) <> Infinity or 11164 floatExpr( Infinity) * floatExpr( Infinity) <> Infinity then 11165 writeln(" ***** Infinity multiplied by any value except zero, is not Infinity."); 11166 okay := FALSE; 11167 end if; 11168 11169 if -Infinity * -Infinity <> Infinity or 11170 -Infinity * minusInf <> Infinity or 11171 -Infinity * -1.0E37 <> Infinity or 11172 -Infinity * minusBig <> Infinity or 11173 -Infinity * -1000.0 <> Infinity or 11174 -Infinity * -1.0 <> Infinity or 11175 -Infinity * minusOne <> Infinity or 11176 -Infinity * -1.0E-37 <> Infinity or 11177 -Infinity * minusSmall <> Infinity or 11178 -Infinity * 1.0E-37 <> -Infinity or 11179 -Infinity * 1.0 <> -Infinity or 11180 -Infinity * 1000.0 <> -Infinity or 11181 -Infinity * 1.0E37 <> -Infinity or 11182 -Infinity * Infinity <> -Infinity or 11183 minusInf * -Infinity <> Infinity or 11184 minusInf * minusInf <> Infinity or 11185 minusInf * -1.0E37 <> Infinity or 11186 minusInf * minusBig <> Infinity or 11187 minusInf * -1000.0 <> Infinity or 11188 minusInf * -1.0 <> Infinity or 11189 minusInf * minusOne <> Infinity or 11190 minusInf * -1.0E-37 <> Infinity or 11191 minusInf * minusSmall <> Infinity or 11192 minusInf * 1.0E-37 <> -Infinity or 11193 minusInf * 1.0 <> -Infinity or 11194 minusInf * 1000.0 <> -Infinity or 11195 minusInf * 1.0E37 <> -Infinity or 11196 minusInf * Infinity <> -Infinity or 11197 -Infinity * -Infinity <> Infinity or 11198 minusInf * -Infinity <> Infinity or 11199 -1.0E37 * -Infinity <> Infinity or 11200 minusBig * -Infinity <> Infinity or 11201 -1000.0 * -Infinity <> Infinity or 11202 -1.0 * -Infinity <> Infinity or 11203 minusOne * -Infinity <> Infinity or 11204 -1.0E-37 * -Infinity <> Infinity or 11205 minusSmall * -Infinity <> Infinity or 11206 1.0E-37 * -Infinity <> -Infinity or 11207 1.0 * -Infinity <> -Infinity or 11208 1000.0 * -Infinity <> -Infinity or 11209 1.0E37 * -Infinity <> -Infinity or 11210 Infinity * -Infinity <> -Infinity or 11211 -Infinity * minusInf <> Infinity or 11212 minusInf * minusInf <> Infinity or 11213 -1.0E37 * minusInf <> Infinity or 11214 minusBig * minusInf <> Infinity or 11215 -1000.0 * minusInf <> Infinity or 11216 -1.0 * minusInf <> Infinity or 11217 minusOne * minusInf <> Infinity or 11218 -1.0E-37 * minusInf <> Infinity or 11219 minusSmall * minusInf <> Infinity or 11220 1.0E-37 * minusInf <> -Infinity or 11221 1.0 * minusInf <> -Infinity or 11222 1000.0 * minusInf <> -Infinity or 11223 1.0E37 * minusInf <> -Infinity or 11224 Infinity * minusInf <> -Infinity or 11225 floatExpr( -Infinity) * -Infinity <> Infinity or 11226 floatExpr( -Infinity) * minusInf <> Infinity or 11227 floatExpr( -Infinity) * -1.0E37 <> Infinity or 11228 floatExpr( -Infinity) * minusBig <> Infinity or 11229 floatExpr( -Infinity) * -1000.0 <> Infinity or 11230 floatExpr( -Infinity) * -1.0 <> Infinity or 11231 floatExpr( -Infinity) * minusOne <> Infinity or 11232 floatExpr( -Infinity) * -1.0E-37 <> Infinity or 11233 floatExpr( -Infinity) * minusSmall <> Infinity or 11234 floatExpr( -Infinity) * 1.0E-37 <> -Infinity or 11235 floatExpr( -Infinity) * 1.0 <> -Infinity or 11236 floatExpr( -Infinity) * 1000.0 <> -Infinity or 11237 floatExpr( -Infinity) * 1.0E37 <> -Infinity or 11238 floatExpr( -Infinity) * Infinity <> -Infinity or 11239 floatExpr( minusInf) * -Infinity <> Infinity or 11240 floatExpr( minusInf) * minusInf <> Infinity or 11241 floatExpr( minusInf) * -1.0E37 <> Infinity or 11242 floatExpr( minusInf) * minusBig <> Infinity or 11243 floatExpr( minusInf) * -1000.0 <> Infinity or 11244 floatExpr( minusInf) * -1.0 <> Infinity or 11245 floatExpr( minusInf) * minusOne <> Infinity or 11246 floatExpr( minusInf) * -1.0E-37 <> Infinity or 11247 floatExpr( minusInf) * minusSmall <> Infinity or 11248 floatExpr( minusInf) * 1.0E-37 <> -Infinity or 11249 floatExpr( minusInf) * 1.0 <> -Infinity or 11250 floatExpr( minusInf) * 1000.0 <> -Infinity or 11251 floatExpr( minusInf) * 1.0E37 <> -Infinity or 11252 floatExpr( minusInf) * Infinity <> -Infinity or 11253 floatExpr( -Infinity) * -Infinity <> Infinity or 11254 floatExpr( minusInf) * -Infinity <> Infinity or 11255 floatExpr( -1.0E37) * -Infinity <> Infinity or 11256 floatExpr( minusBig) * -Infinity <> Infinity or 11257 floatExpr( -1000.0) * -Infinity <> Infinity or 11258 floatExpr( -1.0) * -Infinity <> Infinity or 11259 floatExpr( minusOne) * -Infinity <> Infinity or 11260 floatExpr( -1.0E-37) * -Infinity <> Infinity or 11261 floatExpr(minusSmall) * -Infinity <> Infinity or 11262 floatExpr( 1.0E-37) * -Infinity <> -Infinity or 11263 floatExpr( 1.0) * -Infinity <> -Infinity or 11264 floatExpr( 1000.0) * -Infinity <> -Infinity or 11265 floatExpr( 1.0E37) * -Infinity <> -Infinity or 11266 floatExpr( Infinity) * -Infinity <> -Infinity or 11267 floatExpr( -Infinity) * minusInf <> Infinity or 11268 floatExpr( minusInf) * minusInf <> Infinity or 11269 floatExpr( -1.0E37) * minusInf <> Infinity or 11270 floatExpr( minusBig) * minusInf <> Infinity or 11271 floatExpr( -1000.0) * minusInf <> Infinity or 11272 floatExpr( -1.0) * minusInf <> Infinity or 11273 floatExpr( minusOne) * minusInf <> Infinity or 11274 floatExpr( -1.0E-37) * minusInf <> Infinity or 11275 floatExpr(minusSmall) * minusInf <> Infinity or 11276 floatExpr( 1.0E-37) * minusInf <> -Infinity or 11277 floatExpr( 1.0) * minusInf <> -Infinity or 11278 floatExpr( 1000.0) * minusInf <> -Infinity or 11279 floatExpr( 1.0E37) * minusInf <> -Infinity or 11280 floatExpr( Infinity) * minusInf <> -Infinity or 11281 -Infinity * floatExpr( -Infinity) <> Infinity or 11282 -Infinity * floatExpr( minusInf) <> Infinity or 11283 -Infinity * floatExpr( -1.0E37) <> Infinity or 11284 -Infinity * floatExpr( minusBig) <> Infinity or 11285 -Infinity * floatExpr( -1000.0) <> Infinity or 11286 -Infinity * floatExpr( -1.0) <> Infinity or 11287 -Infinity * floatExpr( minusOne) <> Infinity or 11288 -Infinity * floatExpr( -1.0E-37) <> Infinity or 11289 -Infinity * floatExpr(minusSmall) <> Infinity or 11290 -Infinity * floatExpr( 1.0E-37) <> -Infinity or 11291 -Infinity * floatExpr( 1.0) <> -Infinity or 11292 -Infinity * floatExpr( 1000.0) <> -Infinity or 11293 -Infinity * floatExpr( 1.0E37) <> -Infinity or 11294 -Infinity * floatExpr( Infinity) <> -Infinity or 11295 minusInf * floatExpr( -Infinity) <> Infinity or 11296 minusInf * floatExpr( minusInf) <> Infinity or 11297 minusInf * floatExpr( -1.0E37) <> Infinity or 11298 minusInf * floatExpr( minusBig) <> Infinity or 11299 minusInf * floatExpr( -1000.0) <> Infinity or 11300 minusInf * floatExpr( -1.0) <> Infinity or 11301 minusInf * floatExpr( minusOne) <> Infinity or 11302 minusInf * floatExpr( -1.0E-37) <> Infinity or 11303 minusInf * floatExpr(minusSmall) <> Infinity or 11304 minusInf * floatExpr( 1.0E-37) <> -Infinity or 11305 minusInf * floatExpr( 1.0) <> -Infinity or 11306 minusInf * floatExpr( 1000.0) <> -Infinity or 11307 minusInf * floatExpr( 1.0E37) <> -Infinity or 11308 minusInf * floatExpr( Infinity) <> -Infinity or 11309 -Infinity * floatExpr( -Infinity) <> Infinity or 11310 minusInf * floatExpr( -Infinity) <> Infinity or 11311 -1.0E37 * floatExpr( -Infinity) <> Infinity or 11312 minusBig * floatExpr( -Infinity) <> Infinity or 11313 -1000.0 * floatExpr( -Infinity) <> Infinity or 11314 -1.0 * floatExpr( -Infinity) <> Infinity or 11315 minusOne * floatExpr( -Infinity) <> Infinity or 11316 -1.0E-37 * floatExpr( -Infinity) <> Infinity or 11317 minusSmall * floatExpr( -Infinity) <> Infinity or 11318 1.0E-37 * floatExpr( -Infinity) <> -Infinity or 11319 1.0 * floatExpr( -Infinity) <> -Infinity or 11320 1000.0 * floatExpr( -Infinity) <> -Infinity or 11321 1.0E37 * floatExpr( -Infinity) <> -Infinity or 11322 Infinity * floatExpr( -Infinity) <> -Infinity or 11323 -Infinity * floatExpr( minusInf) <> Infinity or 11324 minusInf * floatExpr( minusInf) <> Infinity or 11325 -1.0E37 * floatExpr( minusInf) <> Infinity or 11326 minusBig * floatExpr( minusInf) <> Infinity or 11327 -1000.0 * floatExpr( minusInf) <> Infinity or 11328 -1.0 * floatExpr( minusInf) <> Infinity or 11329 minusOne * floatExpr( minusInf) <> Infinity or 11330 -1.0E-37 * floatExpr( minusInf) <> Infinity or 11331 minusSmall * floatExpr( minusInf) <> Infinity or 11332 1.0E-37 * floatExpr( minusInf) <> -Infinity or 11333 1.0 * floatExpr( minusInf) <> -Infinity or 11334 1000.0 * floatExpr( minusInf) <> -Infinity or 11335 1.0E37 * floatExpr( minusInf) <> -Infinity or 11336 Infinity * floatExpr( minusInf) <> -Infinity or 11337 floatExpr( -Infinity) * floatExpr( -Infinity) <> Infinity or 11338 floatExpr( -Infinity) * floatExpr( minusInf) <> Infinity or 11339 floatExpr( -Infinity) * floatExpr( -1.0E37) <> Infinity or 11340 floatExpr( -Infinity) * floatExpr( minusBig) <> Infinity or 11341 floatExpr( -Infinity) * floatExpr( -1000.0) <> Infinity or 11342 floatExpr( -Infinity) * floatExpr( -1.0) <> Infinity or 11343 floatExpr( -Infinity) * floatExpr( minusOne) <> Infinity or 11344 floatExpr( -Infinity) * floatExpr( -1.0E-37) <> Infinity or 11345 floatExpr( -Infinity) * floatExpr(minusSmall) <> Infinity or 11346 floatExpr( -Infinity) * floatExpr( 1.0E-37) <> -Infinity or 11347 floatExpr( -Infinity) * floatExpr( 1.0) <> -Infinity or 11348 floatExpr( -Infinity) * floatExpr( 1000.0) <> -Infinity or 11349 floatExpr( -Infinity) * floatExpr( 1.0E37) <> -Infinity or 11350 floatExpr( -Infinity) * floatExpr( Infinity) <> -Infinity or 11351 floatExpr( minusInf) * floatExpr( -Infinity) <> Infinity or 11352 floatExpr( minusInf) * floatExpr( minusInf) <> Infinity or 11353 floatExpr( minusInf) * floatExpr( -1.0E37) <> Infinity or 11354 floatExpr( minusInf) * floatExpr( minusBig) <> Infinity or 11355 floatExpr( minusInf) * floatExpr( -1000.0) <> Infinity or 11356 floatExpr( minusInf) * floatExpr( -1.0) <> Infinity or 11357 floatExpr( minusInf) * floatExpr( minusOne) <> Infinity or 11358 floatExpr( minusInf) * floatExpr( -1.0E-37) <> Infinity or 11359 floatExpr( minusInf) * floatExpr(minusSmall) <> Infinity or 11360 floatExpr( minusInf) * floatExpr( 1.0E-37) <> -Infinity or 11361 floatExpr( minusInf) * floatExpr( 1.0) <> -Infinity or 11362 floatExpr( minusInf) * floatExpr( 1000.0) <> -Infinity or 11363 floatExpr( minusInf) * floatExpr( 1.0E37) <> -Infinity or 11364 floatExpr( minusInf) * floatExpr( Infinity) <> -Infinity or 11365 floatExpr( -Infinity) * floatExpr( -Infinity) <> Infinity or 11366 floatExpr( minusInf) * floatExpr( -Infinity) <> Infinity or 11367 floatExpr( -1.0E37) * floatExpr( -Infinity) <> Infinity or 11368 floatExpr( minusBig) * floatExpr( -Infinity) <> Infinity or 11369 floatExpr( -1000.0) * floatExpr( -Infinity) <> Infinity or 11370 floatExpr( -1.0) * floatExpr( -Infinity) <> Infinity or 11371 floatExpr( minusOne) * floatExpr( -Infinity) <> Infinity or 11372 floatExpr( -1.0E-37) * floatExpr( -Infinity) <> Infinity or 11373 floatExpr(minusSmall) * floatExpr( -Infinity) <> Infinity or 11374 floatExpr( 1.0E-37) * floatExpr( -Infinity) <> -Infinity or 11375 floatExpr( 1.0) * floatExpr( -Infinity) <> -Infinity or 11376 floatExpr( 1000.0) * floatExpr( -Infinity) <> -Infinity or 11377 floatExpr( 1.0E37) * floatExpr( -Infinity) <> -Infinity or 11378 floatExpr( Infinity) * floatExpr( -Infinity) <> -Infinity or 11379 floatExpr( -Infinity) * floatExpr( minusInf) <> Infinity or 11380 floatExpr( minusInf) * floatExpr( minusInf) <> Infinity or 11381 floatExpr( -1.0E37) * floatExpr( minusInf) <> Infinity or 11382 floatExpr( minusBig) * floatExpr( minusInf) <> Infinity or 11383 floatExpr( -1000.0) * floatExpr( minusInf) <> Infinity or 11384 floatExpr( -1.0) * floatExpr( minusInf) <> Infinity or 11385 floatExpr( minusOne) * floatExpr( minusInf) <> Infinity or 11386 floatExpr( -1.0E-37) * floatExpr( minusInf) <> Infinity or 11387 floatExpr(minusSmall) * floatExpr( minusInf) <> Infinity or 11388 floatExpr( 1.0E-37) * floatExpr( minusInf) <> -Infinity or 11389 floatExpr( 1.0) * floatExpr( minusInf) <> -Infinity or 11390 floatExpr( 1000.0) * floatExpr( minusInf) <> -Infinity or 11391 floatExpr( 1.0E37) * floatExpr( minusInf) <> -Infinity or 11392 floatExpr( Infinity) * floatExpr( minusInf) <> -Infinity then 11393 writeln(" ***** -Infinity multiplied by any value except zero, is not Infinity."); 11394 okay := FALSE; 11395 end if; 11396 11397 if abs(-Infinity) <> Infinity or 11398 abs( minusInf) <> Infinity or 11399 abs( Infinity) <> Infinity or 11400 floatExpr(abs(-Infinity)) <> Infinity or 11401 floatExpr(abs( minusInf)) <> Infinity or 11402 floatExpr(abs( Infinity)) <> Infinity then 11403 writeln(" ***** Absolute value of Infinity does not work correct."); 11404 okay := FALSE; 11405 end if; 11406 11407 if okay then 11408 writeln("Infinity works correct for selected values."); 11409 else 11410 writeln(" ***** Infinity does not work correct."); 11411 end if; 11412 end func; 11413 11414 11415const proc: check_nan is func 11416 local 11417 const float: minusZero is -0.0; 11418 const float: minusInf is -Infinity; 11419 const float: minusBig is -1.0E37; 11420 var float: nanVar1 is NaN; 11421 var float: nanVar2 is NaN; 11422 var float: floatVar is 0.0; 11423 var boolean: divAssignOkay is TRUE; 11424 var boolean: okay is TRUE; 11425 begin 11426 if isNaN(-Infinity) or 11427 isNaN( -1.0E37) or 11428 isNaN( -1000.0) or 11429 isNaN( -0.0) or 11430 isNaN( 0.0) or 11431 isNaN( 1000.0) or 11432 isNaN( 1.0E37) or 11433 isNaN( Infinity) or 11434 isNaN(floatExpr(-Infinity)) or 11435 isNaN(floatExpr( -1.0E37)) or 11436 isNaN(floatExpr( -1000.0)) or 11437 isNaN(floatExpr( -0.0)) or 11438 isNaN(floatExpr( 0.0)) or 11439 isNaN(floatExpr( 1000.0)) or 11440 isNaN(floatExpr( 1.0E37)) or 11441 isNaN(floatExpr( Infinity)) then 11442 writeln(" ***** isNaN(normalValue) does not work correct."); 11443 okay := FALSE; 11444 end if; 11445 11446 if not isNaN(NaN) or 11447 not isNaN(floatExpr(NaN)) then 11448 writeln(" ***** isNaN(NaN) does not work correct."); 11449 okay := FALSE; 11450 end if; 11451 11452 if not isNaN( -0.0 / -0.0) or 11453 not isNaN( -0.0 / minusZero) or 11454 not isNaN( -0.0 / 0.0) or 11455 not isNaN( minusZero / -0.0) or 11456 not isNaN( minusZero / minusZero) or 11457 not isNaN( minusZero / 0.0) or 11458 not isNaN( 0.0 / -0.0) or 11459 not isNaN( 0.0 / minusZero) or 11460 not isNaN( 0.0 / 0.0) or 11461 not isNaN(floatExpr( -0.0) / -0.0) or 11462 not isNaN(floatExpr( -0.0) / minusZero) or 11463 not isNaN(floatExpr( -0.0) / 0.0) or 11464 not isNaN(floatExpr(minusZero) / -0.0) or 11465 not isNaN(floatExpr(minusZero) / minusZero) or 11466 not isNaN(floatExpr(minusZero) / 0.0) or 11467 not isNaN(floatExpr( 0.0) / -0.0) or 11468 not isNaN(floatExpr( 0.0) / minusZero) or 11469 not isNaN(floatExpr( 0.0) / 0.0) or 11470 not isNaN( -0.0 / floatExpr( -0.0)) or 11471 not isNaN( -0.0 / floatExpr(minusZero)) or 11472 not isNaN( -0.0 / floatExpr( 0.0)) or 11473 not isNaN( minusZero / floatExpr( -0.0)) or 11474 not isNaN( minusZero / floatExpr(minusZero)) or 11475 not isNaN( minusZero / floatExpr( 0.0)) or 11476 not isNaN( 0.0 / floatExpr( -0.0)) or 11477 not isNaN( 0.0 / floatExpr(minusZero)) or 11478 not isNaN( 0.0 / floatExpr( 0.0)) or 11479 not isNaN(floatExpr( -0.0) / floatExpr( -0.0)) or 11480 not isNaN(floatExpr( -0.0) / floatExpr(minusZero)) or 11481 not isNaN(floatExpr( -0.0) / floatExpr( 0.0)) or 11482 not isNaN(floatExpr(minusZero) / floatExpr( -0.0)) or 11483 not isNaN(floatExpr(minusZero) / floatExpr(minusZero)) or 11484 not isNaN(floatExpr(minusZero) / floatExpr( 0.0)) or 11485 not isNaN(floatExpr( 0.0) / floatExpr( -0.0)) or 11486 not isNaN(floatExpr( 0.0) / floatExpr(minusZero)) or 11487 not isNaN(floatExpr( 0.0) / floatExpr( 0.0)) then 11488 writeln(" ***** 0.0 / 0.0 does not return NaN."); 11489 okay := FALSE; 11490 end if; 11491 11492 if not isNaN( -Infinity / -Infinity) or 11493 not isNaN( -Infinity / minusInf) or 11494 not isNaN( -Infinity / Infinity) or 11495 not isNaN( minusInf / -Infinity) or 11496 not isNaN( minusInf / minusInf) or 11497 not isNaN( minusInf / Infinity) or 11498 not isNaN( Infinity / -Infinity) or 11499 not isNaN( Infinity / minusInf) or 11500 not isNaN( Infinity / Infinity) or 11501 not isNaN(floatExpr(-Infinity) / -Infinity) or 11502 not isNaN(floatExpr(-Infinity) / minusInf) or 11503 not isNaN(floatExpr(-Infinity) / Infinity) or 11504 not isNaN(floatExpr( minusInf) / -Infinity) or 11505 not isNaN(floatExpr( minusInf) / minusInf) or 11506 not isNaN(floatExpr( minusInf) / Infinity) or 11507 not isNaN(floatExpr( Infinity) / -Infinity) or 11508 not isNaN(floatExpr( Infinity) / minusInf) or 11509 not isNaN(floatExpr( Infinity) / Infinity) or 11510 not isNaN( -Infinity / floatExpr(-Infinity)) or 11511 not isNaN( -Infinity / floatExpr( minusInf)) or 11512 not isNaN( -Infinity / floatExpr( Infinity)) or 11513 not isNaN( minusInf / floatExpr(-Infinity)) or 11514 not isNaN( minusInf / floatExpr( minusInf)) or 11515 not isNaN( minusInf / floatExpr( Infinity)) or 11516 not isNaN( Infinity / floatExpr(-Infinity)) or 11517 not isNaN( Infinity / floatExpr( minusInf)) or 11518 not isNaN( Infinity / floatExpr( Infinity)) or 11519 not isNaN(floatExpr(-Infinity) / floatExpr(-Infinity)) or 11520 not isNaN(floatExpr(-Infinity) / floatExpr( minusInf)) or 11521 not isNaN(floatExpr(-Infinity) / floatExpr( Infinity)) or 11522 not isNaN(floatExpr( minusInf) / floatExpr(-Infinity)) or 11523 not isNaN(floatExpr( minusInf) / floatExpr( minusInf)) or 11524 not isNaN(floatExpr( minusInf) / floatExpr( Infinity)) or 11525 not isNaN(floatExpr( Infinity) / floatExpr(-Infinity)) or 11526 not isNaN(floatExpr( Infinity) / floatExpr( minusInf)) or 11527 not isNaN(floatExpr( Infinity) / floatExpr( Infinity)) then 11528 writeln(" ***** Infinity / Infinity does not return NaN."); 11529 okay := FALSE; 11530 end if; 11531 11532 if not isNaN( -0.0 * -Infinity) or 11533 not isNaN( -0.0 * minusInf) or 11534 not isNaN( -0.0 * Infinity) or 11535 not isNaN( minusZero * -Infinity) or 11536 not isNaN( minusZero * minusInf) or 11537 not isNaN( minusZero * Infinity) or 11538 not isNaN( 0.0 * -Infinity) or 11539 not isNaN( 0.0 * minusInf) or 11540 not isNaN( 0.0 * Infinity) or 11541 not isNaN(floatExpr( -0.0) * -Infinity) or 11542 not isNaN(floatExpr( -0.0) * minusInf) or 11543 not isNaN(floatExpr( -0.0) * Infinity) or 11544 not isNaN(floatExpr(minusZero) * -Infinity) or 11545 not isNaN(floatExpr(minusZero) * minusInf) or 11546 not isNaN(floatExpr(minusZero) * Infinity) or 11547 not isNaN(floatExpr( 0.0) * -Infinity) or 11548 not isNaN(floatExpr( 0.0) * minusInf) or 11549 not isNaN(floatExpr( 0.0) * Infinity) or 11550 not isNaN( -0.0 * floatExpr(-Infinity)) or 11551 not isNaN( -0.0 * floatExpr( minusInf)) or 11552 not isNaN( -0.0 * floatExpr( Infinity)) or 11553 not isNaN( minusZero * floatExpr(-Infinity)) or 11554 not isNaN( minusZero * floatExpr( minusInf)) or 11555 not isNaN( minusZero * floatExpr( Infinity)) or 11556 not isNaN( 0.0 * floatExpr(-Infinity)) or 11557 not isNaN( 0.0 * floatExpr( minusInf)) or 11558 not isNaN( 0.0 * floatExpr( Infinity)) or 11559 not isNaN(floatExpr( -0.0) * floatExpr(-Infinity)) or 11560 not isNaN(floatExpr( -0.0) * floatExpr( minusInf)) or 11561 not isNaN(floatExpr( -0.0) * floatExpr( Infinity)) or 11562 not isNaN(floatExpr(minusZero) * floatExpr(-Infinity)) or 11563 not isNaN(floatExpr(minusZero) * floatExpr( minusInf)) or 11564 not isNaN(floatExpr(minusZero) * floatExpr( Infinity)) or 11565 not isNaN(floatExpr( 0.0) * floatExpr(-Infinity)) or 11566 not isNaN(floatExpr( 0.0) * floatExpr( minusInf)) or 11567 not isNaN(floatExpr( 0.0) * floatExpr( Infinity)) then 11568 writeln(" ***** 0.0 * Infinity does not return NaN."); 11569 okay := FALSE; 11570 end if; 11571 11572 if not isNaN( -Infinity * -0.0) or 11573 not isNaN( minusInf * -0.0) or 11574 not isNaN( Infinity * -0.0) or 11575 not isNaN( -Infinity * minusZero) or 11576 not isNaN( minusInf * minusZero) or 11577 not isNaN( Infinity * minusZero) or 11578 not isNaN( -Infinity * 0.0) or 11579 not isNaN( minusInf * 0.0) or 11580 not isNaN( Infinity * 0.0) or 11581 not isNaN(floatExpr(-Infinity) * -0.0) or 11582 not isNaN(floatExpr( minusInf) * -0.0) or 11583 not isNaN(floatExpr( Infinity) * -0.0) or 11584 not isNaN(floatExpr(-Infinity) * minusZero) or 11585 not isNaN(floatExpr( minusInf) * minusZero) or 11586 not isNaN(floatExpr( Infinity) * minusZero) or 11587 not isNaN(floatExpr(-Infinity) * 0.0) or 11588 not isNaN(floatExpr( minusInf) * 0.0) or 11589 not isNaN(floatExpr( Infinity) * 0.0) or 11590 not isNaN( -Infinity * floatExpr( -0.0)) or 11591 not isNaN( minusInf * floatExpr( -0.0)) or 11592 not isNaN( Infinity * floatExpr( -0.0)) or 11593 not isNaN( -Infinity * floatExpr(minusZero)) or 11594 not isNaN( minusInf * floatExpr(minusZero)) or 11595 not isNaN( Infinity * floatExpr(minusZero)) or 11596 not isNaN( -Infinity * floatExpr( 0.0)) or 11597 not isNaN( minusInf * floatExpr( 0.0)) or 11598 not isNaN( Infinity * floatExpr( 0.0)) or 11599 not isNaN(floatExpr(-Infinity) * floatExpr( -0.0)) or 11600 not isNaN(floatExpr( minusInf) * floatExpr( -0.0)) or 11601 not isNaN(floatExpr( Infinity) * floatExpr( -0.0)) or 11602 not isNaN(floatExpr(-Infinity) * floatExpr(minusZero)) or 11603 not isNaN(floatExpr( minusInf) * floatExpr(minusZero)) or 11604 not isNaN(floatExpr( Infinity) * floatExpr(minusZero)) or 11605 not isNaN(floatExpr(-Infinity) * floatExpr( 0.0)) or 11606 not isNaN(floatExpr( minusInf) * floatExpr( 0.0)) or 11607 not isNaN(floatExpr( Infinity) * floatExpr( 0.0)) then 11608 writeln(" ***** Infinity * 0.0 does not return NaN."); 11609 okay := FALSE; 11610 end if; 11611 11612 if not isNaN( -Infinity - -Infinity) or 11613 not isNaN( -Infinity - minusInf) or 11614 not isNaN( -Infinity + Infinity) or 11615 not isNaN( minusInf - -Infinity) or 11616 not isNaN( minusInf - minusInf) or 11617 not isNaN( minusInf + Infinity) or 11618 not isNaN( Infinity + -Infinity) or 11619 not isNaN( Infinity + minusInf) or 11620 not isNaN( Infinity - Infinity) or 11621 not isNaN(floatExpr(-Infinity) - -Infinity) or 11622 not isNaN(floatExpr(-Infinity) - minusInf) or 11623 not isNaN(floatExpr(-Infinity) + Infinity) or 11624 not isNaN(floatExpr( minusInf) - -Infinity) or 11625 not isNaN(floatExpr( minusInf) - minusInf) or 11626 not isNaN(floatExpr( minusInf) + Infinity) or 11627 not isNaN(floatExpr( Infinity) + -Infinity) or 11628 not isNaN(floatExpr( Infinity) + minusInf) or 11629 not isNaN(floatExpr( Infinity) - Infinity) or 11630 not isNaN( -Infinity - floatExpr(-Infinity)) or 11631 not isNaN( -Infinity - floatExpr( minusInf)) or 11632 not isNaN( -Infinity + floatExpr( Infinity)) or 11633 not isNaN( minusInf - floatExpr(-Infinity)) or 11634 not isNaN( minusInf - floatExpr( minusInf)) or 11635 not isNaN( minusInf + floatExpr( Infinity)) or 11636 not isNaN( Infinity + floatExpr(-Infinity)) or 11637 not isNaN( Infinity + floatExpr( minusInf)) or 11638 not isNaN( Infinity - floatExpr( Infinity)) or 11639 not isNaN(floatExpr(-Infinity) - floatExpr(-Infinity)) or 11640 not isNaN(floatExpr(-Infinity) - floatExpr( minusInf)) or 11641 not isNaN(floatExpr(-Infinity) + floatExpr( Infinity)) or 11642 not isNaN(floatExpr( minusInf) - floatExpr(-Infinity)) or 11643 not isNaN(floatExpr( minusInf) - floatExpr( minusInf)) or 11644 not isNaN(floatExpr( minusInf) + floatExpr( Infinity)) or 11645 not isNaN(floatExpr( Infinity) + floatExpr(-Infinity)) or 11646 not isNaN(floatExpr( Infinity) + floatExpr( minusInf)) or 11647 not isNaN(floatExpr( Infinity) - floatExpr( Infinity)) then 11648 writeln(" ***** Infinity - Infinity does not return NaN."); 11649 okay := FALSE; 11650 end if; 11651 11652 if not isNaN(asin(-Infinity)) or 11653 not isNaN(asin(-1.1)) or 11654 not isNaN(asin(1.1)) or 11655 not isNaN(asin(Infinity)) or 11656 not isNaN(asin(NaN)) then 11657 writeln(" ***** NaN is not returned as error value for asin()."); 11658 okay := FALSE; 11659 end if; 11660 11661 if not isNaN(acos(-Infinity)) or 11662 not isNaN(acos(-1.1)) or 11663 not isNaN(acos(1.1)) or 11664 not isNaN(acos(Infinity)) or 11665 not isNaN(acos(NaN)) then 11666 writeln(" ***** NaN is not returned as error value for acos()."); 11667 okay := FALSE; 11668 end if; 11669 11670 if not isNaN(sqrt(-Infinity)) or 11671 not isNaN(sqrt(-1.0)) or 11672 not isNaN(sqrt(-FLOAT_MIN)) or 11673 not isNaN(sqrt(NaN)) then 11674 writeln(" ***** NaN is not returned as error value for sqrt()."); 11675 okay := FALSE; 11676 end if; 11677 11678 if not isNaN(log(-Infinity)) or 11679 not isNaN(log(-1.0)) or 11680 not isNaN(log(NaN)) then 11681 writeln(" ***** NaN is not returned as error value for log()."); 11682 okay := FALSE; 11683 end if; 11684 11685 if not isNaN(log1p(-Infinity)) or 11686 not isNaN(log1p(-2.0)) or 11687 not isNaN(log1p(NaN)) then 11688 writeln(" ***** NaN is not returned as error value for log1p()."); 11689 okay := FALSE; 11690 end if; 11691 11692 if not isNaN(log2(-Infinity)) or 11693 not isNaN(log2(-1.0)) or 11694 not isNaN(log2(NaN)) then 11695 writeln(" ***** NaN is not returned as error value for log2()."); 11696 okay := FALSE; 11697 end if; 11698 11699 if not isNaN(log10(-Infinity)) or 11700 not isNaN(log10(-1.0)) or 11701 not isNaN(log10(NaN)) then 11702 writeln(" ***** NaN is not returned as error value for log10()."); 11703 okay := FALSE; 11704 end if; 11705 11706 if not isNaN( NaN + -Infinity) or 11707 not isNaN( NaN + minusInf) or 11708 not isNaN( NaN + -1.0E37) or 11709 not isNaN( NaN + minusBig) or 11710 not isNaN( NaN + -1000.0) or 11711 not isNaN( NaN + -0.0) or 11712 not isNaN( NaN + minusZero) or 11713 not isNaN( NaN + 0.0) or 11714 not isNaN( NaN + 1000.0) or 11715 not isNaN( NaN + 1.0E37) or 11716 not isNaN( NaN + Infinity) or 11717 not isNaN( NaN + NaN) or 11718 not isNaN(floatExpr(NaN) + -Infinity) or 11719 not isNaN(floatExpr(NaN) + minusInf) or 11720 not isNaN(floatExpr(NaN) + -1.0E37) or 11721 not isNaN(floatExpr(NaN) + minusBig) or 11722 not isNaN(floatExpr(NaN) + -1000.0) or 11723 not isNaN(floatExpr(NaN) + -0.0) or 11724 not isNaN(floatExpr(NaN) + minusZero) or 11725 not isNaN(floatExpr(NaN) + 0.0) or 11726 not isNaN(floatExpr(NaN) + 1000.0) or 11727 not isNaN(floatExpr(NaN) + 1.0E37) or 11728 not isNaN(floatExpr(NaN) + Infinity) or 11729 not isNaN(floatExpr(NaN) + NaN) or 11730 not isNaN( NaN + floatExpr(-Infinity)) or 11731 not isNaN( NaN + floatExpr( minusInf)) or 11732 not isNaN( NaN + floatExpr( -1.0E37)) or 11733 not isNaN( NaN + floatExpr( minusBig)) or 11734 not isNaN( NaN + floatExpr( -1000.0)) or 11735 not isNaN( NaN + floatExpr( -0.0)) or 11736 not isNaN( NaN + floatExpr(minusZero)) or 11737 not isNaN( NaN + floatExpr( 0.0)) or 11738 not isNaN( NaN + floatExpr( 1000.0)) or 11739 not isNaN( NaN + floatExpr( 1.0E37)) or 11740 not isNaN( NaN + floatExpr( Infinity)) or 11741 not isNaN( NaN + floatExpr( NaN)) or 11742 not isNaN(floatExpr(NaN) + floatExpr(-Infinity)) or 11743 not isNaN(floatExpr(NaN) + floatExpr( minusInf)) or 11744 not isNaN(floatExpr(NaN) + floatExpr( -1.0E37)) or 11745 not isNaN(floatExpr(NaN) + floatExpr( minusBig)) or 11746 not isNaN(floatExpr(NaN) + floatExpr( -1000.0)) or 11747 not isNaN(floatExpr(NaN) + floatExpr( -0.0)) or 11748 not isNaN(floatExpr(NaN) + floatExpr(minusZero)) or 11749 not isNaN(floatExpr(NaN) + floatExpr( 0.0)) or 11750 not isNaN(floatExpr(NaN) + floatExpr( 1000.0)) or 11751 not isNaN(floatExpr(NaN) + floatExpr( 1.0E37)) or 11752 not isNaN(floatExpr(NaN) + floatExpr( Infinity)) or 11753 not isNaN(floatExpr(NaN) + floatExpr( NaN)) or 11754 not isNaN( -Infinity + NaN) or 11755 not isNaN( minusInf + NaN) or 11756 not isNaN( -1.0E37 + NaN) or 11757 not isNaN( minusBig + NaN) or 11758 not isNaN( -1000.0 + NaN) or 11759 not isNaN( -0.0 + NaN) or 11760 not isNaN( minusZero + NaN) or 11761 not isNaN( 0.0 + NaN) or 11762 not isNaN( 1000.0 + NaN) or 11763 not isNaN( 1.0E37 + NaN) or 11764 not isNaN( Infinity + NaN) or 11765 not isNaN( NaN + NaN) or 11766 not isNaN( -Infinity + floatExpr(NaN)) or 11767 not isNaN( minusInf + floatExpr(NaN)) or 11768 not isNaN( -1.0E37 + floatExpr(NaN)) or 11769 not isNaN( minusBig + floatExpr(NaN)) or 11770 not isNaN( -1000.0 + floatExpr(NaN)) or 11771 not isNaN( -0.0 + floatExpr(NaN)) or 11772 not isNaN( minusZero + floatExpr(NaN)) or 11773 not isNaN( 0.0 + floatExpr(NaN)) or 11774 not isNaN( 1000.0 + floatExpr(NaN)) or 11775 not isNaN( 1.0E37 + floatExpr(NaN)) or 11776 not isNaN( Infinity + floatExpr(NaN)) or 11777 not isNaN( NaN + floatExpr(NaN)) or 11778 not isNaN(floatExpr(-Infinity) + NaN) or 11779 not isNaN(floatExpr( minusInf) + NaN) or 11780 not isNaN(floatExpr( -1.0E37) + NaN) or 11781 not isNaN(floatExpr( minusBig) + NaN) or 11782 not isNaN(floatExpr( -1000.0) + NaN) or 11783 not isNaN(floatExpr( -0.0) + NaN) or 11784 not isNaN(floatExpr(minusZero) + NaN) or 11785 not isNaN(floatExpr( 0.0) + NaN) or 11786 not isNaN(floatExpr( 1000.0) + NaN) or 11787 not isNaN(floatExpr( 1.0E37) + NaN) or 11788 not isNaN(floatExpr( Infinity) + NaN) or 11789 not isNaN(floatExpr( NaN) + NaN) or 11790 not isNaN(floatExpr(-Infinity) + floatExpr(NaN)) or 11791 not isNaN(floatExpr( minusInf) + floatExpr(NaN)) or 11792 not isNaN(floatExpr( -1.0E37) + floatExpr(NaN)) or 11793 not isNaN(floatExpr( minusBig) + floatExpr(NaN)) or 11794 not isNaN(floatExpr( -1000.0) + floatExpr(NaN)) or 11795 not isNaN(floatExpr( -0.0) + floatExpr(NaN)) or 11796 not isNaN(floatExpr(minusZero) + floatExpr(NaN)) or 11797 not isNaN(floatExpr( 0.0) + floatExpr(NaN)) or 11798 not isNaN(floatExpr( 1000.0) + floatExpr(NaN)) or 11799 not isNaN(floatExpr( 1.0E37) + floatExpr(NaN)) or 11800 not isNaN(floatExpr( Infinity) + floatExpr(NaN)) or 11801 not isNaN(floatExpr( NaN) + floatExpr(NaN)) then 11802 writeln(" ***** Adding a value to NaN does not return NaN."); 11803 okay := FALSE; 11804 end if; 11805 11806 if not isNaN( NaN - -Infinity) or 11807 not isNaN( NaN - minusInf) or 11808 not isNaN( NaN - -1.0E37) or 11809 not isNaN( NaN - minusBig) or 11810 not isNaN( NaN - -1000.0) or 11811 not isNaN( NaN - -0.0) or 11812 not isNaN( NaN - minusZero) or 11813 not isNaN( NaN - 0.0) or 11814 not isNaN( NaN - 1000.0) or 11815 not isNaN( NaN - 1.0E37) or 11816 not isNaN( NaN - Infinity) or 11817 not isNaN( NaN - NaN) or 11818 not isNaN(floatExpr(NaN) - -Infinity) or 11819 not isNaN(floatExpr(NaN) - minusInf) or 11820 not isNaN(floatExpr(NaN) - -1.0E37) or 11821 not isNaN(floatExpr(NaN) - minusBig) or 11822 not isNaN(floatExpr(NaN) - -1000.0) or 11823 not isNaN(floatExpr(NaN) - -0.0) or 11824 not isNaN(floatExpr(NaN) - minusZero) or 11825 not isNaN(floatExpr(NaN) - 0.0) or 11826 not isNaN(floatExpr(NaN) - 1000.0) or 11827 not isNaN(floatExpr(NaN) - 1.0E37) or 11828 not isNaN(floatExpr(NaN) - Infinity) or 11829 not isNaN(floatExpr(NaN) - NaN) or 11830 not isNaN( NaN - floatExpr(-Infinity)) or 11831 not isNaN( NaN - floatExpr( minusInf)) or 11832 not isNaN( NaN - floatExpr( -1.0E37)) or 11833 not isNaN( NaN - floatExpr( minusBig)) or 11834 not isNaN( NaN - floatExpr( -1000.0)) or 11835 not isNaN( NaN - floatExpr( -0.0)) or 11836 not isNaN( NaN - floatExpr(minusZero)) or 11837 not isNaN( NaN - floatExpr( 0.0)) or 11838 not isNaN( NaN - floatExpr( 1000.0)) or 11839 not isNaN( NaN - floatExpr( 1.0E37)) or 11840 not isNaN( NaN - floatExpr( Infinity)) or 11841 not isNaN( NaN - floatExpr( NaN)) or 11842 not isNaN(floatExpr(NaN) - floatExpr(-Infinity)) or 11843 not isNaN(floatExpr(NaN) - floatExpr( minusInf)) or 11844 not isNaN(floatExpr(NaN) - floatExpr( -1.0E37)) or 11845 not isNaN(floatExpr(NaN) - floatExpr( minusBig)) or 11846 not isNaN(floatExpr(NaN) - floatExpr( -1000.0)) or 11847 not isNaN(floatExpr(NaN) - floatExpr( -0.0)) or 11848 not isNaN(floatExpr(NaN) - floatExpr(minusZero)) or 11849 not isNaN(floatExpr(NaN) - floatExpr( 0.0)) or 11850 not isNaN(floatExpr(NaN) - floatExpr( 1000.0)) or 11851 not isNaN(floatExpr(NaN) - floatExpr( 1.0E37)) or 11852 not isNaN(floatExpr(NaN) - floatExpr( Infinity)) or 11853 not isNaN(floatExpr(NaN) - floatExpr( NaN)) or 11854 not isNaN( -Infinity - NaN) or 11855 not isNaN( minusInf - NaN) or 11856 not isNaN( -1.0E37 - NaN) or 11857 not isNaN( minusBig - NaN) or 11858 not isNaN( -1000.0 - NaN) or 11859 not isNaN( -0.0 - NaN) or 11860 not isNaN( minusZero - NaN) or 11861 not isNaN( 0.0 - NaN) or 11862 not isNaN( 1000.0 - NaN) or 11863 not isNaN( 1.0E37 - NaN) or 11864 not isNaN( Infinity - NaN) or 11865 not isNaN( NaN - NaN) or 11866 not isNaN( -Infinity - floatExpr(NaN)) or 11867 not isNaN( minusInf - floatExpr(NaN)) or 11868 not isNaN( -1.0E37 - floatExpr(NaN)) or 11869 not isNaN( minusBig - floatExpr(NaN)) or 11870 not isNaN( -1000.0 - floatExpr(NaN)) or 11871 not isNaN( -0.0 - floatExpr(NaN)) or 11872 not isNaN( minusZero - floatExpr(NaN)) or 11873 not isNaN( 0.0 - floatExpr(NaN)) or 11874 not isNaN( 1000.0 - floatExpr(NaN)) or 11875 not isNaN( 1.0E37 - floatExpr(NaN)) or 11876 not isNaN( Infinity - floatExpr(NaN)) or 11877 not isNaN( NaN - floatExpr(NaN)) or 11878 not isNaN(floatExpr(-Infinity) - NaN) or 11879 not isNaN(floatExpr( minusInf) - NaN) or 11880 not isNaN(floatExpr( -1.0E37) - NaN) or 11881 not isNaN(floatExpr( minusBig) - NaN) or 11882 not isNaN(floatExpr( -1000.0) - NaN) or 11883 not isNaN(floatExpr( -0.0) - NaN) or 11884 not isNaN(floatExpr(minusZero) - NaN) or 11885 not isNaN(floatExpr( 0.0) - NaN) or 11886 not isNaN(floatExpr( 1000.0) - NaN) or 11887 not isNaN(floatExpr( 1.0E37) - NaN) or 11888 not isNaN(floatExpr( Infinity) - NaN) or 11889 not isNaN(floatExpr( NaN) - NaN) or 11890 not isNaN(floatExpr(-Infinity) - floatExpr(NaN)) or 11891 not isNaN(floatExpr( minusInf) - floatExpr(NaN)) or 11892 not isNaN(floatExpr( -1.0E37) - floatExpr(NaN)) or 11893 not isNaN(floatExpr( minusBig) - floatExpr(NaN)) or 11894 not isNaN(floatExpr( -1000.0) - floatExpr(NaN)) or 11895 not isNaN(floatExpr( -0.0) - floatExpr(NaN)) or 11896 not isNaN(floatExpr(minusZero) - floatExpr(NaN)) or 11897 not isNaN(floatExpr( 0.0) - floatExpr(NaN)) or 11898 not isNaN(floatExpr( 1000.0) - floatExpr(NaN)) or 11899 not isNaN(floatExpr( 1.0E37) - floatExpr(NaN)) or 11900 not isNaN(floatExpr( Infinity) - floatExpr(NaN)) or 11901 not isNaN(floatExpr( NaN) - floatExpr(NaN)) then 11902 writeln(" ***** Subtracting from NaN or subtracting NaN does not return NaN."); 11903 okay := FALSE; 11904 end if; 11905 11906 if not isNaN( NaN * -Infinity) or 11907 not isNaN( NaN * minusInf) or 11908 not isNaN( NaN * -1.0E37) or 11909 not isNaN( NaN * minusBig) or 11910 not isNaN( NaN * -1000.0) or 11911 not isNaN( NaN * -0.0) or 11912 not isNaN( NaN * minusZero) or 11913 not isNaN( NaN * 0.0) or 11914 not isNaN( NaN * 1000.0) or 11915 not isNaN( NaN * 1.0E37) or 11916 not isNaN( NaN * Infinity) or 11917 not isNaN( NaN * NaN) or 11918 not isNaN(floatExpr(NaN) * -Infinity) or 11919 not isNaN(floatExpr(NaN) * minusInf) or 11920 not isNaN(floatExpr(NaN) * -1.0E37) or 11921 not isNaN(floatExpr(NaN) * minusBig) or 11922 not isNaN(floatExpr(NaN) * -1000.0) or 11923 not isNaN(floatExpr(NaN) * -0.0) or 11924 not isNaN(floatExpr(NaN) * minusZero) or 11925 not isNaN(floatExpr(NaN) * 0.0) or 11926 not isNaN(floatExpr(NaN) * 1000.0) or 11927 not isNaN(floatExpr(NaN) * 1.0E37) or 11928 not isNaN(floatExpr(NaN) * Infinity) or 11929 not isNaN(floatExpr(NaN) * NaN) or 11930 not isNaN( NaN * floatExpr(-Infinity)) or 11931 not isNaN( NaN * floatExpr( minusInf)) or 11932 not isNaN( NaN * floatExpr( -1.0E37)) or 11933 not isNaN( NaN * floatExpr( minusBig)) or 11934 not isNaN( NaN * floatExpr( -1000.0)) or 11935 not isNaN( NaN * floatExpr( -0.0)) or 11936 not isNaN( NaN * floatExpr(minusZero)) or 11937 not isNaN( NaN * floatExpr( 0.0)) or 11938 not isNaN( NaN * floatExpr( 1000.0)) or 11939 not isNaN( NaN * floatExpr( 1.0E37)) or 11940 not isNaN( NaN * floatExpr( Infinity)) or 11941 not isNaN( NaN * floatExpr( NaN)) or 11942 not isNaN(floatExpr(NaN) * floatExpr(-Infinity)) or 11943 not isNaN(floatExpr(NaN) * floatExpr( minusInf)) or 11944 not isNaN(floatExpr(NaN) * floatExpr( -1.0E37)) or 11945 not isNaN(floatExpr(NaN) * floatExpr( minusBig)) or 11946 not isNaN(floatExpr(NaN) * floatExpr( -1000.0)) or 11947 not isNaN(floatExpr(NaN) * floatExpr( -0.0)) or 11948 not isNaN(floatExpr(NaN) * floatExpr(minusZero)) or 11949 not isNaN(floatExpr(NaN) * floatExpr( 0.0)) or 11950 not isNaN(floatExpr(NaN) * floatExpr( 1000.0)) or 11951 not isNaN(floatExpr(NaN) * floatExpr( 1.0E37)) or 11952 not isNaN(floatExpr(NaN) * floatExpr( Infinity)) or 11953 not isNaN(floatExpr(NaN) * floatExpr( NaN)) or 11954 not isNaN( -Infinity * NaN) or 11955 not isNaN( minusInf * NaN) or 11956 not isNaN( -1.0E37 * NaN) or 11957 not isNaN( minusBig * NaN) or 11958 not isNaN( -1000.0 * NaN) or 11959 not isNaN( -0.0 * NaN) or 11960 not isNaN( minusZero * NaN) or 11961 not isNaN( 0.0 * NaN) or 11962 not isNaN( 1000.0 * NaN) or 11963 not isNaN( 1.0E37 * NaN) or 11964 not isNaN( Infinity * NaN) or 11965 not isNaN( NaN * NaN) or 11966 not isNaN( -Infinity * floatExpr(NaN)) or 11967 not isNaN( minusInf * floatExpr(NaN)) or 11968 not isNaN( -1.0E37 * floatExpr(NaN)) or 11969 not isNaN( minusBig * floatExpr(NaN)) or 11970 not isNaN( -1000.0 * floatExpr(NaN)) or 11971 not isNaN( -0.0 * floatExpr(NaN)) or 11972 not isNaN( minusZero * floatExpr(NaN)) or 11973 not isNaN( 0.0 * floatExpr(NaN)) or 11974 not isNaN( 1000.0 * floatExpr(NaN)) or 11975 not isNaN( 1.0E37 * floatExpr(NaN)) or 11976 not isNaN( Infinity * floatExpr(NaN)) or 11977 not isNaN( NaN * floatExpr(NaN)) or 11978 not isNaN(floatExpr(-Infinity) * NaN) or 11979 not isNaN(floatExpr( minusInf) * NaN) or 11980 not isNaN(floatExpr( -1.0E37) * NaN) or 11981 not isNaN(floatExpr( minusBig) * NaN) or 11982 not isNaN(floatExpr( -1000.0) * NaN) or 11983 not isNaN(floatExpr( -0.0) * NaN) or 11984 not isNaN(floatExpr(minusZero) * NaN) or 11985 not isNaN(floatExpr( 0.0) * NaN) or 11986 not isNaN(floatExpr( 1000.0) * NaN) or 11987 not isNaN(floatExpr( 1.0E37) * NaN) or 11988 not isNaN(floatExpr( Infinity) * NaN) or 11989 not isNaN(floatExpr( NaN) * NaN) or 11990 not isNaN(floatExpr(-Infinity) * floatExpr(NaN)) or 11991 not isNaN(floatExpr( minusInf) * floatExpr(NaN)) or 11992 not isNaN(floatExpr( -1.0E37) * floatExpr(NaN)) or 11993 not isNaN(floatExpr( minusBig) * floatExpr(NaN)) or 11994 not isNaN(floatExpr( -1000.0) * floatExpr(NaN)) or 11995 not isNaN(floatExpr( -0.0) * floatExpr(NaN)) or 11996 not isNaN(floatExpr(minusZero) * floatExpr(NaN)) or 11997 not isNaN(floatExpr( 0.0) * floatExpr(NaN)) or 11998 not isNaN(floatExpr( 1000.0) * floatExpr(NaN)) or 11999 not isNaN(floatExpr( 1.0E37) * floatExpr(NaN)) or 12000 not isNaN(floatExpr( Infinity) * floatExpr(NaN)) or 12001 not isNaN(floatExpr( NaN) * floatExpr(NaN)) then 12002 writeln(" ***** Multiplying by NaN does not return NaN."); 12003 okay := FALSE; 12004 end if; 12005 12006 if not isNaN( NaN / -Infinity) or 12007 not isNaN( NaN / minusInf) or 12008 not isNaN( NaN / -1.0E37) or 12009 not isNaN( NaN / minusBig) or 12010 not isNaN( NaN / -1000.0) or 12011 not isNaN( NaN / -0.0) or 12012 not isNaN( NaN / minusZero) or 12013 not isNaN( NaN / 0.0) or 12014 not isNaN( NaN / 1000.0) or 12015 not isNaN( NaN / 1.0E37) or 12016 not isNaN( NaN / Infinity) or 12017 not isNaN( NaN / NaN) or 12018 not isNaN(floatExpr(NaN) / -Infinity) or 12019 not isNaN(floatExpr(NaN) / minusInf) or 12020 not isNaN(floatExpr(NaN) / -1.0E37) or 12021 not isNaN(floatExpr(NaN) / minusBig) or 12022 not isNaN(floatExpr(NaN) / -1000.0) or 12023 not isNaN(floatExpr(NaN) / -0.0) or 12024 not isNaN(floatExpr(NaN) / minusZero) or 12025 not isNaN(floatExpr(NaN) / 0.0) or 12026 not isNaN(floatExpr(NaN) / 1000.0) or 12027 not isNaN(floatExpr(NaN) / 1.0E37) or 12028 not isNaN(floatExpr(NaN) / Infinity) or 12029 not isNaN(floatExpr(NaN) / NaN) or 12030 not isNaN( NaN / floatExpr(-Infinity)) or 12031 not isNaN( NaN / floatExpr( minusInf)) or 12032 not isNaN( NaN / floatExpr( -1.0E37)) or 12033 not isNaN( NaN / floatExpr( minusBig)) or 12034 not isNaN( NaN / floatExpr( -1000.0)) or 12035 not isNaN( NaN / floatExpr( -0.0)) or 12036 not isNaN( NaN / floatExpr(minusZero)) or 12037 not isNaN( NaN / floatExpr( 0.0)) or 12038 not isNaN( NaN / floatExpr( 1000.0)) or 12039 not isNaN( NaN / floatExpr( 1.0E37)) or 12040 not isNaN( NaN / floatExpr( Infinity)) or 12041 not isNaN( NaN / floatExpr( NaN)) or 12042 not isNaN(floatExpr(NaN) / floatExpr(-Infinity)) or 12043 not isNaN(floatExpr(NaN) / floatExpr( minusInf)) or 12044 not isNaN(floatExpr(NaN) / floatExpr( -1.0E37)) or 12045 not isNaN(floatExpr(NaN) / floatExpr( minusBig)) or 12046 not isNaN(floatExpr(NaN) / floatExpr( -1000.0)) or 12047 not isNaN(floatExpr(NaN) / floatExpr( -0.0)) or 12048 not isNaN(floatExpr(NaN) / floatExpr(minusZero)) or 12049 not isNaN(floatExpr(NaN) / floatExpr( 0.0)) or 12050 not isNaN(floatExpr(NaN) / floatExpr( 1000.0)) or 12051 not isNaN(floatExpr(NaN) / floatExpr( 1.0E37)) or 12052 not isNaN(floatExpr(NaN) / floatExpr( Infinity)) or 12053 not isNaN(floatExpr(NaN) / floatExpr( NaN)) then 12054 writeln(" ***** Dividing NaN does not return NaN."); 12055 okay := FALSE; 12056 end if; 12057 12058 if not isNaN( -Infinity / NaN) or 12059 not isNaN( minusInf / NaN) or 12060 not isNaN( -1.0E37 / NaN) or 12061 not isNaN( minusBig / NaN) or 12062 not isNaN( -1000.0 / NaN) or 12063 not isNaN( -0.0 / NaN) or 12064 not isNaN( minusZero / NaN) or 12065 not isNaN( 0.0 / NaN) or 12066 not isNaN( 1000.0 / NaN) or 12067 not isNaN( 1.0E37 / NaN) or 12068 not isNaN( Infinity / NaN) or 12069 not isNaN( NaN / NaN) or 12070 not isNaN( -Infinity / floatExpr(NaN)) or 12071 not isNaN( minusInf / floatExpr(NaN)) or 12072 not isNaN( -1.0E37 / floatExpr(NaN)) or 12073 not isNaN( minusBig / floatExpr(NaN)) or 12074 not isNaN( -1000.0 / floatExpr(NaN)) or 12075 not isNaN( -0.0 / floatExpr(NaN)) or 12076 not isNaN( minusZero / floatExpr(NaN)) or 12077 not isNaN( 0.0 / floatExpr(NaN)) or 12078 not isNaN( 1000.0 / floatExpr(NaN)) or 12079 not isNaN( 1.0E37 / floatExpr(NaN)) or 12080 not isNaN( Infinity / floatExpr(NaN)) or 12081 not isNaN( NaN / floatExpr(NaN)) or 12082 not isNaN(floatExpr(-Infinity) / NaN) or 12083 not isNaN(floatExpr( minusInf) / NaN) or 12084 not isNaN(floatExpr( -1.0E37) / NaN) or 12085 not isNaN(floatExpr( minusBig) / NaN) or 12086 not isNaN(floatExpr( -1000.0) / NaN) or 12087 not isNaN(floatExpr( -0.0) / NaN) or 12088 not isNaN(floatExpr(minusZero) / NaN) or 12089 not isNaN(floatExpr( 0.0) / NaN) or 12090 not isNaN(floatExpr( 1000.0) / NaN) or 12091 not isNaN(floatExpr( 1.0E37) / NaN) or 12092 not isNaN(floatExpr( Infinity) / NaN) or 12093 not isNaN(floatExpr( NaN) / NaN) or 12094 not isNaN(floatExpr(-Infinity) / floatExpr(NaN)) or 12095 not isNaN(floatExpr( minusInf) / floatExpr(NaN)) or 12096 not isNaN(floatExpr( -1.0E37) / floatExpr(NaN)) or 12097 not isNaN(floatExpr( minusBig) / floatExpr(NaN)) or 12098 not isNaN(floatExpr( -1000.0) / floatExpr(NaN)) or 12099 not isNaN(floatExpr( -0.0) / floatExpr(NaN)) or 12100 not isNaN(floatExpr(minusZero) / floatExpr(NaN)) or 12101 not isNaN(floatExpr( 0.0) / floatExpr(NaN)) or 12102 not isNaN(floatExpr( 1000.0) / floatExpr(NaN)) or 12103 not isNaN(floatExpr( 1.0E37) / floatExpr(NaN)) or 12104 not isNaN(floatExpr( Infinity) / floatExpr(NaN)) or 12105 not isNaN(floatExpr( NaN) / floatExpr(NaN)) then 12106 writeln(" ***** Dividing by NaN does not return NaN."); 12107 okay := FALSE; 12108 end if; 12109 12110 floatVar := NaN; floatVar /:= -Infinity; divAssignOkay := divAssignOkay and isNaN(floatVar); 12111 floatVar := NaN; floatVar /:= minusInf; divAssignOkay := divAssignOkay and isNaN(floatVar); 12112 floatVar := NaN; floatVar /:= -1.0E37; divAssignOkay := divAssignOkay and isNaN(floatVar); 12113 floatVar := NaN; floatVar /:= minusBig; divAssignOkay := divAssignOkay and isNaN(floatVar); 12114 floatVar := NaN; floatVar /:= -1000.0; divAssignOkay := divAssignOkay and isNaN(floatVar); 12115 floatVar := NaN; floatVar /:= -0.0; divAssignOkay := divAssignOkay and isNaN(floatVar); 12116 floatVar := NaN; floatVar /:= minusZero; divAssignOkay := divAssignOkay and isNaN(floatVar); 12117 floatVar := NaN; floatVar /:= 0.0; divAssignOkay := divAssignOkay and isNaN(floatVar); 12118 floatVar := NaN; floatVar /:= 1000.0; divAssignOkay := divAssignOkay and isNaN(floatVar); 12119 floatVar := NaN; floatVar /:= 1.0E37; divAssignOkay := divAssignOkay and isNaN(floatVar); 12120 floatVar := NaN; floatVar /:= Infinity; divAssignOkay := divAssignOkay and isNaN(floatVar); 12121 floatVar := NaN; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12122 floatVar := floatExpr(NaN); floatVar /:= -Infinity; divAssignOkay := divAssignOkay and isNaN(floatVar); 12123 floatVar := floatExpr(NaN); floatVar /:= minusInf; divAssignOkay := divAssignOkay and isNaN(floatVar); 12124 floatVar := floatExpr(NaN); floatVar /:= -1.0E37; divAssignOkay := divAssignOkay and isNaN(floatVar); 12125 floatVar := floatExpr(NaN); floatVar /:= minusBig; divAssignOkay := divAssignOkay and isNaN(floatVar); 12126 floatVar := floatExpr(NaN); floatVar /:= -1000.0; divAssignOkay := divAssignOkay and isNaN(floatVar); 12127 floatVar := floatExpr(NaN); floatVar /:= -0.0; divAssignOkay := divAssignOkay and isNaN(floatVar); 12128 floatVar := floatExpr(NaN); floatVar /:= minusZero; divAssignOkay := divAssignOkay and isNaN(floatVar); 12129 floatVar := floatExpr(NaN); floatVar /:= 0.0; divAssignOkay := divAssignOkay and isNaN(floatVar); 12130 floatVar := floatExpr(NaN); floatVar /:= 1000.0; divAssignOkay := divAssignOkay and isNaN(floatVar); 12131 floatVar := floatExpr(NaN); floatVar /:= 1.0E37; divAssignOkay := divAssignOkay and isNaN(floatVar); 12132 floatVar := floatExpr(NaN); floatVar /:= Infinity; divAssignOkay := divAssignOkay and isNaN(floatVar); 12133 floatVar := floatExpr(NaN); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12134 floatVar := NaN; floatVar /:= floatExpr(-Infinity); divAssignOkay := divAssignOkay and isNaN(floatVar); 12135 floatVar := NaN; floatVar /:= floatExpr( minusInf); divAssignOkay := divAssignOkay and isNaN(floatVar); 12136 floatVar := NaN; floatVar /:= floatExpr( -1.0E37); divAssignOkay := divAssignOkay and isNaN(floatVar); 12137 floatVar := NaN; floatVar /:= floatExpr( minusBig); divAssignOkay := divAssignOkay and isNaN(floatVar); 12138 floatVar := NaN; floatVar /:= floatExpr( -1000.0); divAssignOkay := divAssignOkay and isNaN(floatVar); 12139 floatVar := NaN; floatVar /:= floatExpr( -0.0); divAssignOkay := divAssignOkay and isNaN(floatVar); 12140 floatVar := NaN; floatVar /:= floatExpr(minusZero); divAssignOkay := divAssignOkay and isNaN(floatVar); 12141 floatVar := NaN; floatVar /:= floatExpr( 0.0); divAssignOkay := divAssignOkay and isNaN(floatVar); 12142 floatVar := NaN; floatVar /:= floatExpr( 1000.0); divAssignOkay := divAssignOkay and isNaN(floatVar); 12143 floatVar := NaN; floatVar /:= floatExpr( 1.0E37); divAssignOkay := divAssignOkay and isNaN(floatVar); 12144 floatVar := NaN; floatVar /:= floatExpr( Infinity); divAssignOkay := divAssignOkay and isNaN(floatVar); 12145 floatVar := NaN; floatVar /:= floatExpr( NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12146 floatVar := floatExpr(NaN); floatVar /:= floatExpr(-Infinity); divAssignOkay := divAssignOkay and isNaN(floatVar); 12147 floatVar := floatExpr(NaN); floatVar /:= floatExpr( minusInf); divAssignOkay := divAssignOkay and isNaN(floatVar); 12148 floatVar := floatExpr(NaN); floatVar /:= floatExpr( -1.0E37); divAssignOkay := divAssignOkay and isNaN(floatVar); 12149 floatVar := floatExpr(NaN); floatVar /:= floatExpr( minusBig); divAssignOkay := divAssignOkay and isNaN(floatVar); 12150 floatVar := floatExpr(NaN); floatVar /:= floatExpr( -1000.0); divAssignOkay := divAssignOkay and isNaN(floatVar); 12151 floatVar := floatExpr(NaN); floatVar /:= floatExpr( -0.0); divAssignOkay := divAssignOkay and isNaN(floatVar); 12152 floatVar := floatExpr(NaN); floatVar /:= floatExpr(minusZero); divAssignOkay := divAssignOkay and isNaN(floatVar); 12153 floatVar := floatExpr(NaN); floatVar /:= floatExpr( 0.0); divAssignOkay := divAssignOkay and isNaN(floatVar); 12154 floatVar := floatExpr(NaN); floatVar /:= floatExpr( 1000.0); divAssignOkay := divAssignOkay and isNaN(floatVar); 12155 floatVar := floatExpr(NaN); floatVar /:= floatExpr( 1.0E37); divAssignOkay := divAssignOkay and isNaN(floatVar); 12156 floatVar := floatExpr(NaN); floatVar /:= floatExpr( Infinity); divAssignOkay := divAssignOkay and isNaN(floatVar); 12157 floatVar := floatExpr(NaN); floatVar /:= floatExpr( NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12158 floatVar := -Infinity; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12159 floatVar := minusInf; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12160 floatVar := -1.0E37; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12161 floatVar := minusBig; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12162 floatVar := -1000.0; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12163 floatVar := -0.0; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12164 floatVar := minusZero; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12165 floatVar := 0.0; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12166 floatVar := 1000.0; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12167 floatVar := 1.0E37; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12168 floatVar := Infinity; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12169 floatVar := NaN; floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12170 floatVar := -Infinity; floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12171 floatVar := minusInf; floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12172 floatVar := -1.0E37; floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12173 floatVar := minusBig; floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12174 floatVar := -1000.0; floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12175 floatVar := -0.0; floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12176 floatVar := minusZero; floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12177 floatVar := 0.0; floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12178 floatVar := 1000.0; floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12179 floatVar := 1.0E37; floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12180 floatVar := Infinity; floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12181 floatVar := NaN; floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12182 floatVar := floatExpr(-Infinity); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12183 floatVar := floatExpr( minusInf); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12184 floatVar := floatExpr( -1.0E37); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12185 floatVar := floatExpr( minusBig); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12186 floatVar := floatExpr( -1000.0); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12187 floatVar := floatExpr( -0.0); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12188 floatVar := floatExpr(minusZero); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12189 floatVar := floatExpr( 0.0); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12190 floatVar := floatExpr( 1000.0); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12191 floatVar := floatExpr( 1.0E37); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12192 floatVar := floatExpr( Infinity); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12193 floatVar := floatExpr( NaN); floatVar /:= NaN; divAssignOkay := divAssignOkay and isNaN(floatVar); 12194 floatVar := floatExpr(-Infinity); floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12195 floatVar := floatExpr( minusInf); floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12196 floatVar := floatExpr( -1.0E37); floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12197 floatVar := floatExpr( minusBig); floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12198 floatVar := floatExpr( -1000.0); floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12199 floatVar := floatExpr( -0.0); floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12200 floatVar := floatExpr(minusZero); floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12201 floatVar := floatExpr( 0.0); floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12202 floatVar := floatExpr( 1000.0); floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12203 floatVar := floatExpr( 1.0E37); floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12204 floatVar := floatExpr( Infinity); floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12205 floatVar := floatExpr( NaN); floatVar /:= floatExpr(NaN); divAssignOkay := divAssignOkay and isNaN(floatVar); 12206 if not divAssignOkay then 12207 writeln(" ***** Assignment dividing NaN or dividing by NaN does not return NaN."); 12208 okay := FALSE; 12209 end if; 12210 12211 if NaN = NaN or 12212 NaN = -Infinity or 12213 NaN = -1.0 or 12214 NaN = -0.0 or 12215 NaN = 0.0 or 12216 NaN = 1.0 or 12217 NaN = Infinity or 12218 NaN = nanVar1 or 12219 nanVar1 = nanVar1 or 12220 nanVar1 = nanVar2 or 12221 floatExpr( NaN) = NaN or 12222 floatExpr( NaN) = -Infinity or 12223 floatExpr( NaN) = -1.0 or 12224 floatExpr( NaN) = -0.0 or 12225 floatExpr( NaN) = 0.0 or 12226 floatExpr( NaN) = 1.0 or 12227 floatExpr( NaN) = Infinity or 12228 floatExpr( NaN) = nanVar1 or 12229 floatExpr( nanVar1) = nanVar1 or 12230 floatExpr( nanVar1) = nanVar2 or 12231 NaN = floatExpr( NaN) or 12232 NaN = floatExpr(-Infinity) or 12233 NaN = floatExpr( -1.0) or 12234 NaN = floatExpr( -0.0) or 12235 NaN = floatExpr( 0.0) or 12236 NaN = floatExpr( 1.0) or 12237 NaN = floatExpr( Infinity) or 12238 NaN = floatExpr( nanVar1) or 12239 nanVar1 = floatExpr( nanVar1) or 12240 nanVar1 = floatExpr( nanVar2) or 12241 floatExpr( NaN) = floatExpr( NaN) or 12242 floatExpr( NaN) = floatExpr(-Infinity) or 12243 floatExpr( NaN) = floatExpr( -1.0) or 12244 floatExpr( NaN) = floatExpr( -0.0) or 12245 floatExpr( NaN) = floatExpr( 0.0) or 12246 floatExpr( NaN) = floatExpr( 1.0) or 12247 floatExpr( NaN) = floatExpr( Infinity) or 12248 floatExpr( NaN) = floatExpr( nanVar1) or 12249 floatExpr( nanVar1) = floatExpr( nanVar1) or 12250 floatExpr( nanVar1) = floatExpr( nanVar2) or 12251 NaN = NaN or 12252 -Infinity = NaN or 12253 -1.0 = NaN or 12254 -0.0 = NaN or 12255 0.0 = NaN or 12256 1.0 = NaN or 12257 Infinity = NaN or 12258 nanVar1 = NaN or 12259 nanVar1 = nanVar1 or 12260 nanVar2 = nanVar1 or 12261 floatExpr( NaN) = NaN or 12262 floatExpr(-Infinity) = NaN or 12263 floatExpr( -1.0) = NaN or 12264 floatExpr( -0.0) = NaN or 12265 floatExpr( 0.0) = NaN or 12266 floatExpr( 1.0) = NaN or 12267 floatExpr( Infinity) = NaN or 12268 floatExpr( nanVar1) = NaN or 12269 floatExpr( nanVar1) = nanVar1 or 12270 floatExpr( nanVar2) = nanVar1 or 12271 NaN = floatExpr( NaN) or 12272 -Infinity = floatExpr( NaN) or 12273 -1.0 = floatExpr( NaN) or 12274 -0.0 = floatExpr( NaN) or 12275 0.0 = floatExpr( NaN) or 12276 1.0 = floatExpr( NaN) or 12277 Infinity = floatExpr( NaN) or 12278 nanVar1 = floatExpr( NaN) or 12279 nanVar1 = floatExpr( nanVar1) or 12280 nanVar2 = floatExpr( nanVar1) or 12281 floatExpr( NaN) = floatExpr( NaN) or 12282 floatExpr(-Infinity) = floatExpr( NaN) or 12283 floatExpr( -1.0) = floatExpr( NaN) or 12284 floatExpr( -0.0) = floatExpr( NaN) or 12285 floatExpr( 0.0) = floatExpr( NaN) or 12286 floatExpr( 1.0) = floatExpr( NaN) or 12287 floatExpr( Infinity) = floatExpr( NaN) or 12288 floatExpr( nanVar1) = floatExpr( NaN) or 12289 floatExpr( nanVar1) = floatExpr( nanVar1) or 12290 floatExpr( nanVar2) = floatExpr( nanVar1) then 12291 writeln(" ***** There are values that are equal to a NaN."); 12292 okay := FALSE; 12293 end if; 12294 12295 if not NaN <> NaN or 12296 not NaN <> -Infinity or 12297 not NaN <> -1.0 or 12298 not NaN <> -0.0 or 12299 not NaN <> 0.0 or 12300 not NaN <> 1.0 or 12301 not NaN <> Infinity or 12302 not NaN <> nanVar1 or 12303 not nanVar1 <> nanVar1 or 12304 not nanVar1 <> nanVar2 or 12305 not floatExpr( NaN) <> NaN or 12306 not floatExpr( NaN) <> -Infinity or 12307 not floatExpr( NaN) <> -1.0 or 12308 not floatExpr( NaN) <> -0.0 or 12309 not floatExpr( NaN) <> 0.0 or 12310 not floatExpr( NaN) <> 1.0 or 12311 not floatExpr( NaN) <> Infinity or 12312 not floatExpr( NaN) <> nanVar1 or 12313 not floatExpr( nanVar1) <> nanVar1 or 12314 not floatExpr( nanVar1) <> nanVar2 or 12315 not NaN <> floatExpr( NaN) or 12316 not NaN <> floatExpr(-Infinity) or 12317 not NaN <> floatExpr( -1.0) or 12318 not NaN <> floatExpr( -0.0) or 12319 not NaN <> floatExpr( 0.0) or 12320 not NaN <> floatExpr( 1.0) or 12321 not NaN <> floatExpr( Infinity) or 12322 not NaN <> floatExpr( nanVar1) or 12323 not nanVar1 <> floatExpr( nanVar1) or 12324 not nanVar1 <> floatExpr( nanVar2) or 12325 not floatExpr( NaN) <> floatExpr( NaN) or 12326 not floatExpr( NaN) <> floatExpr(-Infinity) or 12327 not floatExpr( NaN) <> floatExpr( -1.0) or 12328 not floatExpr( NaN) <> floatExpr( -0.0) or 12329 not floatExpr( NaN) <> floatExpr( 0.0) or 12330 not floatExpr( NaN) <> floatExpr( 1.0) or 12331 not floatExpr( NaN) <> floatExpr( Infinity) or 12332 not floatExpr( NaN) <> floatExpr( nanVar1) or 12333 not floatExpr( nanVar1) <> floatExpr( nanVar1) or 12334 not floatExpr( nanVar1) <> floatExpr( nanVar2) or 12335 not NaN <> NaN or 12336 not -Infinity <> NaN or 12337 not -1.0 <> NaN or 12338 not -0.0 <> NaN or 12339 not 0.0 <> NaN or 12340 not 1.0 <> NaN or 12341 not Infinity <> NaN or 12342 not nanVar1 <> NaN or 12343 not nanVar1 <> nanVar1 or 12344 not nanVar2 <> nanVar1 or 12345 not floatExpr( NaN) <> NaN or 12346 not floatExpr(-Infinity) <> NaN or 12347 not floatExpr( -1.0) <> NaN or 12348 not floatExpr( -0.0) <> NaN or 12349 not floatExpr( 0.0) <> NaN or 12350 not floatExpr( 1.0) <> NaN or 12351 not floatExpr( Infinity) <> NaN or 12352 not floatExpr( nanVar1) <> NaN or 12353 not floatExpr( nanVar1) <> nanVar1 or 12354 not floatExpr( nanVar2) <> nanVar1 or 12355 not NaN <> floatExpr( NaN) or 12356 not -Infinity <> floatExpr( NaN) or 12357 not -1.0 <> floatExpr( NaN) or 12358 not -0.0 <> floatExpr( NaN) or 12359 not 0.0 <> floatExpr( NaN) or 12360 not 1.0 <> floatExpr( NaN) or 12361 not Infinity <> floatExpr( NaN) or 12362 not nanVar1 <> floatExpr( NaN) or 12363 not nanVar1 <> floatExpr( nanVar1) or 12364 not nanVar2 <> floatExpr( nanVar1) or 12365 not floatExpr( NaN) <> floatExpr( NaN) or 12366 not floatExpr(-Infinity) <> floatExpr( NaN) or 12367 not floatExpr( -1.0) <> floatExpr( NaN) or 12368 not floatExpr( -0.0) <> floatExpr( NaN) or 12369 not floatExpr( 0.0) <> floatExpr( NaN) or 12370 not floatExpr( 1.0) <> floatExpr( NaN) or 12371 not floatExpr( Infinity) <> floatExpr( NaN) or 12372 not floatExpr( nanVar1) <> floatExpr( NaN) or 12373 not floatExpr( nanVar1) <> floatExpr( nanVar1) or 12374 not floatExpr( nanVar2) <> floatExpr( nanVar1) then 12375 writeln(" ***** Comparing a NaN for not equal returns FALSE."); 12376 okay := FALSE; 12377 end if; 12378 12379 if NaN < NaN or 12380 NaN < -Infinity or 12381 NaN < -1.0 or 12382 NaN < -0.0 or 12383 NaN < 0.0 or 12384 NaN < 1.0 or 12385 NaN < Infinity or 12386 NaN < nanVar1 or 12387 nanVar1 < nanVar1 or 12388 nanVar1 < nanVar2 or 12389 floatExpr( NaN) < NaN or 12390 floatExpr( NaN) < -Infinity or 12391 floatExpr( NaN) < -1.0 or 12392 floatExpr( NaN) < -0.0 or 12393 floatExpr( NaN) < 0.0 or 12394 floatExpr( NaN) < 1.0 or 12395 floatExpr( NaN) < Infinity or 12396 floatExpr( NaN) < nanVar1 or 12397 floatExpr( nanVar1) < nanVar1 or 12398 floatExpr( nanVar1) < nanVar2 or 12399 NaN < floatExpr( NaN) or 12400 NaN < floatExpr(-Infinity) or 12401 NaN < floatExpr( -1.0) or 12402 NaN < floatExpr( -0.0) or 12403 NaN < floatExpr( 0.0) or 12404 NaN < floatExpr( 1.0) or 12405 NaN < floatExpr( Infinity) or 12406 NaN < floatExpr( nanVar1) or 12407 nanVar1 < floatExpr( nanVar1) or 12408 nanVar1 < floatExpr( nanVar2) or 12409 floatExpr( NaN) < floatExpr( NaN) or 12410 floatExpr( NaN) < floatExpr(-Infinity) or 12411 floatExpr( NaN) < floatExpr( -1.0) or 12412 floatExpr( NaN) < floatExpr( -0.0) or 12413 floatExpr( NaN) < floatExpr( 0.0) or 12414 floatExpr( NaN) < floatExpr( 1.0) or 12415 floatExpr( NaN) < floatExpr( Infinity) or 12416 floatExpr( NaN) < floatExpr( nanVar1) or 12417 floatExpr( nanVar1) < floatExpr( nanVar1) or 12418 floatExpr( nanVar1) < floatExpr( nanVar2) or 12419 NaN < NaN or 12420 -Infinity < NaN or 12421 -1.0 < NaN or 12422 -0.0 < NaN or 12423 0.0 < NaN or 12424 1.0 < NaN or 12425 Infinity < NaN or 12426 nanVar1 < NaN or 12427 nanVar1 < nanVar1 or 12428 nanVar2 < nanVar1 or 12429 floatExpr( NaN) < NaN or 12430 floatExpr(-Infinity) < NaN or 12431 floatExpr( -1.0) < NaN or 12432 floatExpr( -0.0) < NaN or 12433 floatExpr( 0.0) < NaN or 12434 floatExpr( 1.0) < NaN or 12435 floatExpr( Infinity) < NaN or 12436 floatExpr( nanVar1) < NaN or 12437 floatExpr( nanVar1) < nanVar1 or 12438 floatExpr( nanVar2) < nanVar1 or 12439 NaN < floatExpr( NaN) or 12440 -Infinity < floatExpr( NaN) or 12441 -1.0 < floatExpr( NaN) or 12442 -0.0 < floatExpr( NaN) or 12443 0.0 < floatExpr( NaN) or 12444 1.0 < floatExpr( NaN) or 12445 Infinity < floatExpr( NaN) or 12446 nanVar1 < floatExpr( NaN) or 12447 nanVar1 < floatExpr( nanVar1) or 12448 nanVar2 < floatExpr( nanVar1) or 12449 floatExpr( NaN) < floatExpr( NaN) or 12450 floatExpr(-Infinity) < floatExpr( NaN) or 12451 floatExpr( -1.0) < floatExpr( NaN) or 12452 floatExpr( -0.0) < floatExpr( NaN) or 12453 floatExpr( 0.0) < floatExpr( NaN) or 12454 floatExpr( 1.0) < floatExpr( NaN) or 12455 floatExpr( Infinity) < floatExpr( NaN) or 12456 floatExpr( nanVar1) < floatExpr( NaN) or 12457 floatExpr( nanVar1) < floatExpr( nanVar1) or 12458 floatExpr( nanVar2) < floatExpr( nanVar1) then 12459 writeln(" ***** NaN is less than something."); 12460 okay := FALSE; 12461 end if; 12462 12463 if NaN > NaN or 12464 NaN > -Infinity or 12465 NaN > -1.0 or 12466 NaN > -0.0 or 12467 NaN > 0.0 or 12468 NaN > 1.0 or 12469 NaN > Infinity or 12470 NaN > nanVar1 or 12471 nanVar1 > nanVar1 or 12472 nanVar1 > nanVar2 or 12473 floatExpr( NaN) > NaN or 12474 floatExpr( NaN) > -Infinity or 12475 floatExpr( NaN) > -1.0 or 12476 floatExpr( NaN) > -0.0 or 12477 floatExpr( NaN) > 0.0 or 12478 floatExpr( NaN) > 1.0 or 12479 floatExpr( NaN) > Infinity or 12480 floatExpr( NaN) > nanVar1 or 12481 floatExpr( nanVar1) > nanVar1 or 12482 floatExpr( nanVar1) > nanVar2 or 12483 NaN > floatExpr( NaN) or 12484 NaN > floatExpr(-Infinity) or 12485 NaN > floatExpr( -1.0) or 12486 NaN > floatExpr( -0.0) or 12487 NaN > floatExpr( 0.0) or 12488 NaN > floatExpr( 1.0) or 12489 NaN > floatExpr( Infinity) or 12490 NaN > floatExpr( nanVar1) or 12491 nanVar1 > floatExpr( nanVar1) or 12492 nanVar1 > floatExpr( nanVar2) or 12493 floatExpr( NaN) > floatExpr( NaN) or 12494 floatExpr( NaN) > floatExpr(-Infinity) or 12495 floatExpr( NaN) > floatExpr( -1.0) or 12496 floatExpr( NaN) > floatExpr( -0.0) or 12497 floatExpr( NaN) > floatExpr( 0.0) or 12498 floatExpr( NaN) > floatExpr( 1.0) or 12499 floatExpr( NaN) > floatExpr( Infinity) or 12500 floatExpr( NaN) > floatExpr( nanVar1) or 12501 floatExpr( nanVar1) > floatExpr( nanVar1) or 12502 floatExpr( nanVar1) > floatExpr( nanVar2) or 12503 NaN > NaN or 12504 -Infinity > NaN or 12505 -1.0 > NaN or 12506 -0.0 > NaN or 12507 0.0 > NaN or 12508 1.0 > NaN or 12509 Infinity > NaN or 12510 nanVar1 > NaN or 12511 nanVar1 > nanVar1 or 12512 nanVar2 > nanVar1 or 12513 floatExpr( NaN) > NaN or 12514 floatExpr(-Infinity) > NaN or 12515 floatExpr( -1.0) > NaN or 12516 floatExpr( -0.0) > NaN or 12517 floatExpr( 0.0) > NaN or 12518 floatExpr( 1.0) > NaN or 12519 floatExpr( Infinity) > NaN or 12520 floatExpr( nanVar1) > NaN or 12521 floatExpr( nanVar1) > nanVar1 or 12522 floatExpr( nanVar2) > nanVar1 or 12523 NaN > floatExpr( NaN) or 12524 -Infinity > floatExpr( NaN) or 12525 -1.0 > floatExpr( NaN) or 12526 -0.0 > floatExpr( NaN) or 12527 0.0 > floatExpr( NaN) or 12528 1.0 > floatExpr( NaN) or 12529 Infinity > floatExpr( NaN) or 12530 nanVar1 > floatExpr( NaN) or 12531 nanVar1 > floatExpr( nanVar1) or 12532 nanVar2 > floatExpr( nanVar1) or 12533 floatExpr( NaN) > floatExpr( NaN) or 12534 floatExpr(-Infinity) > floatExpr( NaN) or 12535 floatExpr( -1.0) > floatExpr( NaN) or 12536 floatExpr( -0.0) > floatExpr( NaN) or 12537 floatExpr( 0.0) > floatExpr( NaN) or 12538 floatExpr( 1.0) > floatExpr( NaN) or 12539 floatExpr( Infinity) > floatExpr( NaN) or 12540 floatExpr( nanVar1) > floatExpr( NaN) or 12541 floatExpr( nanVar1) > floatExpr( nanVar1) or 12542 floatExpr( nanVar2) > floatExpr( nanVar1) then 12543 writeln(" ***** NaN is greater than something."); 12544 okay := FALSE; 12545 end if; 12546 12547 if NaN <= NaN or 12548 NaN <= -Infinity or 12549 NaN <= -1.0 or 12550 NaN <= -0.0 or 12551 NaN <= 0.0 or 12552 NaN <= 1.0 or 12553 NaN <= Infinity or 12554 NaN <= nanVar1 or 12555 nanVar1 <= nanVar1 or 12556 nanVar1 <= nanVar2 or 12557 floatExpr( NaN) <= NaN or 12558 floatExpr( NaN) <= -Infinity or 12559 floatExpr( NaN) <= -1.0 or 12560 floatExpr( NaN) <= -0.0 or 12561 floatExpr( NaN) <= 0.0 or 12562 floatExpr( NaN) <= 1.0 or 12563 floatExpr( NaN) <= Infinity or 12564 floatExpr( NaN) <= nanVar1 or 12565 floatExpr( nanVar1) <= nanVar1 or 12566 floatExpr( nanVar1) <= nanVar2 or 12567 NaN <= floatExpr( NaN) or 12568 NaN <= floatExpr(-Infinity) or 12569 NaN <= floatExpr( -1.0) or 12570 NaN <= floatExpr( -0.0) or 12571 NaN <= floatExpr( 0.0) or 12572 NaN <= floatExpr( 1.0) or 12573 NaN <= floatExpr( Infinity) or 12574 NaN <= floatExpr( nanVar1) or 12575 nanVar1 <= floatExpr( nanVar1) or 12576 nanVar1 <= floatExpr( nanVar2) or 12577 floatExpr( NaN) <= floatExpr( NaN) or 12578 floatExpr( NaN) <= floatExpr(-Infinity) or 12579 floatExpr( NaN) <= floatExpr( -1.0) or 12580 floatExpr( NaN) <= floatExpr( -0.0) or 12581 floatExpr( NaN) <= floatExpr( 0.0) or 12582 floatExpr( NaN) <= floatExpr( 1.0) or 12583 floatExpr( NaN) <= floatExpr( Infinity) or 12584 floatExpr( NaN) <= floatExpr( nanVar1) or 12585 floatExpr( nanVar1) <= floatExpr( nanVar1) or 12586 floatExpr( nanVar1) <= floatExpr( nanVar2) or 12587 NaN <= NaN or 12588 -Infinity <= NaN or 12589 -1.0 <= NaN or 12590 -0.0 <= NaN or 12591 0.0 <= NaN or 12592 1.0 <= NaN or 12593 Infinity <= NaN or 12594 nanVar1 <= NaN or 12595 nanVar1 <= nanVar1 or 12596 nanVar2 <= nanVar1 or 12597 floatExpr( NaN) <= NaN or 12598 floatExpr(-Infinity) <= NaN or 12599 floatExpr( -1.0) <= NaN or 12600 floatExpr( -0.0) <= NaN or 12601 floatExpr( 0.0) <= NaN or 12602 floatExpr( 1.0) <= NaN or 12603 floatExpr( Infinity) <= NaN or 12604 floatExpr( nanVar1) <= NaN or 12605 floatExpr( nanVar1) <= nanVar1 or 12606 floatExpr( nanVar2) <= nanVar1 or 12607 NaN <= floatExpr( NaN) or 12608 -Infinity <= floatExpr( NaN) or 12609 -1.0 <= floatExpr( NaN) or 12610 -0.0 <= floatExpr( NaN) or 12611 0.0 <= floatExpr( NaN) or 12612 1.0 <= floatExpr( NaN) or 12613 Infinity <= floatExpr( NaN) or 12614 nanVar1 <= floatExpr( NaN) or 12615 nanVar1 <= floatExpr( nanVar1) or 12616 nanVar2 <= floatExpr( nanVar1) or 12617 floatExpr( NaN) <= floatExpr( NaN) or 12618 floatExpr(-Infinity) <= floatExpr( NaN) or 12619 floatExpr( -1.0) <= floatExpr( NaN) or 12620 floatExpr( -0.0) <= floatExpr( NaN) or 12621 floatExpr( 0.0) <= floatExpr( NaN) or 12622 floatExpr( 1.0) <= floatExpr( NaN) or 12623 floatExpr( Infinity) <= floatExpr( NaN) or 12624 floatExpr( nanVar1) <= floatExpr( NaN) or 12625 floatExpr( nanVar1) <= floatExpr( nanVar1) or 12626 floatExpr( nanVar2) <= floatExpr( nanVar1) then 12627 writeln(" ***** NaN is less equal than something."); 12628 okay := FALSE; 12629 end if; 12630 12631 if NaN >= NaN or 12632 NaN >= -Infinity or 12633 NaN >= -1.0 or 12634 NaN >= -0.0 or 12635 NaN >= 0.0 or 12636 NaN >= 1.0 or 12637 NaN >= Infinity or 12638 NaN >= nanVar1 or 12639 nanVar1 >= nanVar1 or 12640 nanVar1 >= nanVar2 or 12641 floatExpr( NaN) >= NaN or 12642 floatExpr( NaN) >= -Infinity or 12643 floatExpr( NaN) >= -1.0 or 12644 floatExpr( NaN) >= -0.0 or 12645 floatExpr( NaN) >= 0.0 or 12646 floatExpr( NaN) >= 1.0 or 12647 floatExpr( NaN) >= Infinity or 12648 floatExpr( NaN) >= nanVar1 or 12649 floatExpr( nanVar1) >= nanVar1 or 12650 floatExpr( nanVar1) >= nanVar2 or 12651 NaN >= floatExpr( NaN) or 12652 NaN >= floatExpr(-Infinity) or 12653 NaN >= floatExpr( -1.0) or 12654 NaN >= floatExpr( -0.0) or 12655 NaN >= floatExpr( 0.0) or 12656 NaN >= floatExpr( 1.0) or 12657 NaN >= floatExpr( Infinity) or 12658 NaN >= floatExpr( nanVar1) or 12659 nanVar1 >= floatExpr( nanVar1) or 12660 nanVar1 >= floatExpr( nanVar2) or 12661 floatExpr( NaN) >= floatExpr( NaN) or 12662 floatExpr( NaN) >= floatExpr(-Infinity) or 12663 floatExpr( NaN) >= floatExpr( -1.0) or 12664 floatExpr( NaN) >= floatExpr( -0.0) or 12665 floatExpr( NaN) >= floatExpr( 0.0) or 12666 floatExpr( NaN) >= floatExpr( 1.0) or 12667 floatExpr( NaN) >= floatExpr( Infinity) or 12668 floatExpr( NaN) >= floatExpr( nanVar1) or 12669 floatExpr( nanVar1) >= floatExpr( nanVar1) or 12670 floatExpr( nanVar1) >= floatExpr( nanVar2) or 12671 NaN >= NaN or 12672 -Infinity >= NaN or 12673 -1.0 >= NaN or 12674 -0.0 >= NaN or 12675 0.0 >= NaN or 12676 1.0 >= NaN or 12677 Infinity >= NaN or 12678 nanVar1 >= NaN or 12679 nanVar1 >= nanVar1 or 12680 nanVar2 >= nanVar1 or 12681 floatExpr( NaN) >= NaN or 12682 floatExpr(-Infinity) >= NaN or 12683 floatExpr( -1.0) >= NaN or 12684 floatExpr( -0.0) >= NaN or 12685 floatExpr( 0.0) >= NaN or 12686 floatExpr( 1.0) >= NaN or 12687 floatExpr( Infinity) >= NaN or 12688 floatExpr( nanVar1) >= NaN or 12689 floatExpr( nanVar1) >= nanVar1 or 12690 floatExpr( nanVar2) >= nanVar1 or 12691 NaN >= floatExpr( NaN) or 12692 -Infinity >= floatExpr( NaN) or 12693 -1.0 >= floatExpr( NaN) or 12694 -0.0 >= floatExpr( NaN) or 12695 0.0 >= floatExpr( NaN) or 12696 1.0 >= floatExpr( NaN) or 12697 Infinity >= floatExpr( NaN) or 12698 nanVar1 >= floatExpr( NaN) or 12699 nanVar1 >= floatExpr( nanVar1) or 12700 nanVar2 >= floatExpr( nanVar1) or 12701 floatExpr( NaN) >= floatExpr( NaN) or 12702 floatExpr(-Infinity) >= floatExpr( NaN) or 12703 floatExpr( -1.0) >= floatExpr( NaN) or 12704 floatExpr( -0.0) >= floatExpr( NaN) or 12705 floatExpr( 0.0) >= floatExpr( NaN) or 12706 floatExpr( 1.0) >= floatExpr( NaN) or 12707 floatExpr( Infinity) >= floatExpr( NaN) or 12708 floatExpr( nanVar1) >= floatExpr( NaN) or 12709 floatExpr( nanVar1) >= floatExpr( nanVar1) or 12710 floatExpr( nanVar2) >= floatExpr( nanVar1) then 12711 writeln(" ***** NaN is greater equal than something."); 12712 okay := FALSE; 12713 end if; 12714 12715 if okay then 12716 writeln("NaN works correct for selected values."); 12717 else 12718 writeln(" ***** NaN does not work correct."); 12719 end if; 12720 end func; 12721 12722 12723const proc: check_rand is func 12724 12725 local 12726 var float: number is 0.0; 12727 var boolean: nanPresent is FALSE; 12728 var boolean: negativePresent is FALSE; 12729 var boolean: positivePresent is FALSE; 12730 var boolean: okay is TRUE; 12731 var boolean: ok is TRUE; 12732 begin 12733 number := rand(-Infinity, -2.0); ok := ok and number >= -Infinity and number < -2.0; 12734 number := rand(-Infinity, -1.0); ok := ok and number >= -Infinity and number < -1.0; 12735 number := rand(-Infinity, 0.0); ok := ok and number >= -Infinity and number < 0.0; 12736 number := rand(-Infinity, 1.0); ok := ok and number >= -Infinity and number < 1.0; 12737 number := rand(-Infinity, 2.0); ok := ok and number >= -Infinity and number < 2.0; 12738 number := rand(-Infinity, Infinity); ok := ok and number >= -Infinity and number <= Infinity; 12739 number := rand( -2.0, -1.0); ok := ok and number >= -2.0 and number < -1.0; 12740 number := rand( -2.0, 0.0); ok := ok and number >= -2.0 and number < 0.0; 12741 number := rand( -2.0, 1.0); ok := ok and number >= -2.0 and number < 1.0; 12742 number := rand( -2.0, 2.0); ok := ok and number >= -2.0 and number < 2.0; 12743 number := rand( -2.0, Infinity); ok := ok and number >= -2.0 and number <= Infinity; 12744 number := rand( -1.0, 0.0); ok := ok and number >= -1.0 and number < 0.0; 12745 number := rand( -1.0, 1.0); ok := ok and number >= -1.0 and number < 1.0; 12746 number := rand( -1.0, 2.0); ok := ok and number >= -1.0 and number < 2.0; 12747 number := rand( -1.0, Infinity); ok := ok and number >= -1.0 and number <= Infinity; 12748 number := rand( 0.0, 1.0); ok := ok and number >= 0.0 and number < 1.0; 12749 number := rand( 0.0, 2.0); ok := ok and number >= 0.0 and number < 2.0; 12750 number := rand( 0.0, Infinity); ok := ok and number >= 0.0 and number <= Infinity; 12751 number := rand( 1.0, 2.0); ok := ok and number >= 1.0 and number < 2.0; 12752 number := rand( 1.0, Infinity); ok := ok and number >= 1.0 and number <= Infinity; 12753 number := rand( 2.0, Infinity); ok := ok and number >= 2.0 and number <= Infinity; 12754 if not ok then 12755 writeln(" ***** rand(a, b) does not work correct."); 12756 okay := FALSE; 12757 end if; 12758 12759 ok := TRUE; 12760 number := rand(0.0, 2.0 ** 1000); ok := ok and number >= 0.0 and number < 2.0 ** 1000; 12761 number := rand(0.0, 2.0 ** 500); ok := ok and number >= 0.0 and number < 2.0 ** 500; 12762 number := rand(0.0, 2.0 ** 200); ok := ok and number >= 0.0 and number < 2.0 ** 200; 12763 number := rand(0.0, 1267650600228229401496703205376.0); ok := ok and number >= 0.0 and number < 1267650600228229401496703205376.0; 12764 number := rand(0.0, 1152921504606846976.0); ok := ok and number >= 0.0 and number < 1152921504606846976.0; 12765 number := rand(0.0, 1099511627776.0); ok := ok and number >= 0.0 and number < 1099511627776.0; 12766 number := rand(0.0, 1073741824.0); ok := ok and number >= 0.0 and number < 1073741824.0; 12767 number := rand(0.0, 1048576.0); ok := ok and number >= 0.0 and number < 1048576.0; 12768 number := rand(0.0, 65536.0); ok := ok and number >= 0.0 and number < 65536.0; 12769 number := rand(0.0, 1024.0); ok := ok and number >= 0.0 and number < 1024.0; 12770 number := rand(0.0, 4.0); ok := ok and number >= 0.0 and number < 4.0; 12771 number := rand(0.0, 2.0); ok := ok and number >= 0.0 and number < 2.0; 12772 number := rand(0.0, 1.0); ok := ok and number >= 0.0 and number < 1.0; 12773 number := rand(0.0, 0.5); ok := ok and number >= 0.0 and number < 0.5; 12774 number := rand(0.0, 0.25); ok := ok and number >= 0.0 and number < 0.25; 12775 number := rand(0.0, 0.125); ok := ok and number >= 0.0 and number < 0.125; 12776 number := rand(0.0, 0.0625); ok := ok and number >= 0.0 and number < 0.0625; 12777 number := rand(0.0, 0.03125); ok := ok and number >= 0.0 and number < 0.03125; 12778 number := rand(0.0, 0.015625); ok := ok and number >= 0.0 and number < 0.015625; 12779 number := rand(0.0, 0.0078125); ok := ok and number >= 0.0 and number < 0.0078125; 12780 number := rand(0.0, 0.0009765625); ok := ok and number >= 0.0 and number < 0.0009765625; 12781 number := rand(0.0, 0.000030517578125); ok := ok and number >= 0.0 and number < 0.000030517578125; 12782 number := rand(0.0, 0.00000095367431640625); ok := ok and number >= 0.0 and number < 0.00000095367431640625; 12783 number := rand(0.0, 0.000000000931322574615479); ok := ok and number >= 0.0 and number < 0.000000000931322574615479; 12784 number := rand(0.0, 0.000000000000909494701772928); ok := ok and number >= 0.0 and number < 0.000000000000909494701772928; 12785 number := rand(0.0, 2.0 ** ( -100)); ok := ok and number >= 0.0 and number < 2.0 ** ( -100); 12786 number := rand(0.0, 2.0 ** ( -200)); ok := ok and number >= 0.0 and number < 2.0 ** ( -200); 12787 number := rand(0.0, 2.0 ** ( -500)); ok := ok and number >= 0.0 and number < 2.0 ** ( -500); 12788 number := rand(0.0, 2.0 ** (-1000)); ok := ok and number >= 0.0 and number < 2.0 ** (-1000); 12789 if not ok then 12790 writeln(" ***** rand(0.0, upper) does not work correct if upper is a power of two."); 12791 okay := FALSE; 12792 end if; 12793 12794 for 10000 do 12795 number := rand(-Infinity, Infinity); 12796 if isNaN(number) then 12797 nanPresent := TRUE; 12798 elsif number < 0.0 then 12799 negativePresent := TRUE; 12800 elsif number > 0.0 then 12801 positivePresent := TRUE; 12802 end if; 12803 end for; 12804 12805 if nanPresent then 12806 writeln(" ***** rand(-Infinity, Infinity) returns NaN."); 12807 okay := FALSE; 12808 end if; 12809 if not negativePresent then 12810 writeln(" ***** rand(-Infinity, Infinity) returns only positive values."); 12811 okay := FALSE; 12812 end if; 12813 if not positivePresent then 12814 writeln(" ***** rand(-Infinity, Infinity) returns only negative values."); 12815 okay := FALSE; 12816 end if; 12817 12818 if not raisesRangeError(rand( -Infinity, -Infinity )) or 12819 not raisesRangeError(rand( -Infinity, floatExpr(-Infinity))) or 12820 not raisesRangeError(rand(floatExpr(-Infinity), -Infinity )) or 12821 not raisesRangeError(rand(floatExpr(-Infinity), floatExpr(-Infinity))) or 12822 not raisesRangeError(rand( -2.0, -2.0 )) or 12823 not raisesRangeError(rand( -2.0, floatExpr( -2.0))) or 12824 not raisesRangeError(rand(floatExpr( -2.0), -2.0 )) or 12825 not raisesRangeError(rand(floatExpr( -2.0), floatExpr( -2.0))) or 12826 not raisesRangeError(rand( -1.0, -1.0 )) or 12827 not raisesRangeError(rand( -1.0, floatExpr( -1.0))) or 12828 not raisesRangeError(rand(floatExpr( -1.0), -1.0 )) or 12829 not raisesRangeError(rand(floatExpr( -1.0), floatExpr( -1.0))) or 12830 not raisesRangeError(rand( 0.0, 0.0 )) or 12831 not raisesRangeError(rand( 0.0, floatExpr( 0.0))) or 12832 not raisesRangeError(rand(floatExpr( 0.0), 0.0 )) or 12833 not raisesRangeError(rand(floatExpr( 0.0), floatExpr( 0.0))) or 12834 not raisesRangeError(rand( 1.0, 1.0 )) or 12835 not raisesRangeError(rand( 1.0, floatExpr( 1.0))) or 12836 not raisesRangeError(rand(floatExpr( 1.0), 1.0 )) or 12837 not raisesRangeError(rand(floatExpr( 1.0), floatExpr( 1.0))) or 12838 not raisesRangeError(rand( 2.0, 2.0 )) or 12839 not raisesRangeError(rand( 2.0, floatExpr( 2.0))) or 12840 not raisesRangeError(rand(floatExpr( 2.0), 2.0 )) or 12841 not raisesRangeError(rand(floatExpr( 2.0), floatExpr( 2.0))) or 12842 not raisesRangeError(rand( Infinity, Infinity )) or 12843 not raisesRangeError(rand( Infinity, floatExpr( Infinity))) or 12844 not raisesRangeError(rand(floatExpr( Infinity), Infinity )) or 12845 not raisesRangeError(rand(floatExpr( Infinity), floatExpr( Infinity))) then 12846 writeln(" ***** rand(0.0, 0.0) does not raise RANGE_ERROR."); 12847 okay := FALSE; 12848 end if; 12849 12850 if not raisesRangeError(rand( 1.0, 0.0 )) or 12851 not raisesRangeError(rand( 1.0, floatExpr(0.0))) or 12852 not raisesRangeError(rand(floatExpr(1.0), 0.0 )) or 12853 not raisesRangeError(rand(floatExpr(1.0), floatExpr(0.0))) then 12854 writeln(" ***** rand(1.0, 0.0) does not raise RANGE_ERROR."); 12855 okay := FALSE; 12856 end if; 12857 12858 if not raisesRangeError(rand( 0.0, NaN )) or 12859 not raisesRangeError(rand( NaN, 1.0 )) or 12860 not raisesRangeError(rand( NaN, NaN )) or 12861 not raisesRangeError(rand( 0.0, floatExpr(NaN))) or 12862 not raisesRangeError(rand( NaN, floatExpr(1.0))) or 12863 not raisesRangeError(rand( NaN, floatExpr(NaN))) or 12864 not raisesRangeError(rand(floatExpr(0.0), NaN )) or 12865 not raisesRangeError(rand(floatExpr(NaN), 1.0 )) or 12866 not raisesRangeError(rand(floatExpr(NaN), NaN )) or 12867 not raisesRangeError(rand(floatExpr(0.0), floatExpr(NaN))) or 12868 not raisesRangeError(rand(floatExpr(NaN), floatExpr(1.0))) or 12869 not raisesRangeError(rand(floatExpr(NaN), floatExpr(NaN))) then 12870 writeln(" ***** rand with NaN as upper or lower bound does not raise RANGE_ERROR."); 12871 okay := FALSE; 12872 end if; 12873 12874 if okay then 12875 writeln("Rand works correct for selected values."); 12876 else 12877 writeln(" ***** Rand does not work correct."); 12878 end if; 12879 end func; 12880 12881 12882const proc: check_decompose is func 12883 local 12884 var floatElements: elems is floatElements.value; 12885 var boolean: okay is TRUE; 12886 var boolean: ok is TRUE; 12887 begin 12888 elems := decompose(0.0); ok := ok and elems.fraction = 0.0 and elems.exponent = 0; 12889 elems := decompose(0.5); ok := ok and elems.fraction = 0.5 and elems.exponent = 0; 12890 elems := decompose(1.0); ok := ok and elems.fraction = 0.5 and elems.exponent = 1; 12891 elems := decompose( 5.0e-324); ok := ok and elems.fraction = 0.5 and 12892 elems.exponent = -1073; # Min subnormal positive double. 12893 elems := decompose( 2.2250738585072009e-308); ok := ok and elems.fraction = 0.9999999999999998 and 12894 elems.exponent = -1022; # Max subnormal positive double 12895 elems := decompose( 2.2250738585072014e-308); ok := ok and elems.fraction = 0.5 and 12896 elems.exponent = -1021; # Min normalized positive double 12897 elems := decompose( 1.4012984643248171e-45); ok := ok and elems.fraction = 0.5 and 12898 elems.exponent = -148; # Min subnormal positive single. 12899 elems := decompose( 1.1754942106924411e-38); ok := ok and elems.fraction = 0.9999998807907105 and 12900 elems.exponent = -126; # Max subnormal positive single 12901 elems := decompose( 1.1754943508222875e-38); ok := ok and elems.fraction = 0.5 and 12902 elems.exponent = -125; # Min normalized positive single. 12903 elems := decompose( 3.4028234663852886e+38); ok := ok and elems.fraction = 0.9999999403953552 and 12904 elems.exponent = 128; # Max finite positive single. 12905 elems := decompose( 1.7976931348623157e+308); ok := ok and elems.fraction = 0.9999999999999999 and 12906 elems.exponent = 1024; # Max finite positive double 12907 if not ok then 12908 writeln(" ***** Decompose for normal values does not work correct."); 12909 okay := FALSE; 12910 end if; 12911 12912 ok := TRUE; 12913 elems := decompose( Infinity); ok := ok and elems.fraction = Infinity and elems.exponent = 0; 12914 elems := decompose(-Infinity); ok := ok and elems.fraction = -Infinity and elems.exponent = 0; 12915 elems := decompose( NaN); ok := ok and isNaN(elems.fraction) and elems.exponent = 0; 12916 if not ok then 12917 writeln(" ***** Decompose for special values does not work correct."); 12918 okay := FALSE; 12919 end if; 12920 12921 if okay then 12922 writeln("Decompose works correct for selected values."); 12923 end if; 12924 end func; 12925 12926 12927const proc: check_ternary is func 12928 local 12929 var boolean: okay is TRUE; 12930 var boolean: ok is TRUE; 12931 var float: number is 0.0; 12932 begin 12933 if ( TRUE ? 1.0 : 2.0) <> 1.0 or 12934 (FALSE ? 1.0 : 2.0) <> 2.0 or 12935 ( TRUE ? 1.0 : floatExpr(2.0)) <> 1.0 or 12936 (FALSE ? 1.0 : floatExpr(2.0)) <> 2.0 or 12937 ( TRUE ? floatExpr(1.0) : 2.0) <> 1.0 or 12938 (FALSE ? floatExpr(1.0) : 2.0) <> 2.0 or 12939 ( TRUE ? floatExpr(1.0) : floatExpr(2.0)) <> 1.0 or 12940 (FALSE ? floatExpr(1.0) : floatExpr(2.0)) <> 2.0 or 12941 (boolExpr( TRUE) ? 1.0 : 2.0) <> 1.0 or 12942 (boolExpr(FALSE) ? 1.0 : 2.0) <> 2.0 or 12943 (boolExpr( TRUE) ? 1.0 : floatExpr(2.0)) <> 1.0 or 12944 (boolExpr(FALSE) ? 1.0 : floatExpr(2.0)) <> 2.0 or 12945 (boolExpr( TRUE) ? floatExpr(1.0) : 2.0) <> 1.0 or 12946 (boolExpr(FALSE) ? floatExpr(1.0) : 2.0) <> 2.0 or 12947 (boolExpr( TRUE) ? floatExpr(1.0) : floatExpr(2.0)) <> 1.0 or 12948 (boolExpr(FALSE) ? floatExpr(1.0) : floatExpr(2.0)) <> 2.0 then 12949 writeln(" ***** The ternary operator ? : does not work correct. (1)"); 12950 okay := FALSE; 12951 end if; 12952 12953 number := TRUE ? 1.0 : 2.0; ok := ok and number = 1.0; 12954 number := FALSE ? 1.0 : 2.0; ok := ok and number = 2.0; 12955 number := TRUE ? 1.0 : floatExpr(2.0); ok := ok and number = 1.0; 12956 number := FALSE ? 1.0 : floatExpr(2.0); ok := ok and number = 2.0; 12957 number := TRUE ? floatExpr(1.0) : 2.0; ok := ok and number = 1.0; 12958 number := FALSE ? floatExpr(1.0) : 2.0; ok := ok and number = 2.0; 12959 number := TRUE ? floatExpr(1.0) : floatExpr(2.0); ok := ok and number = 1.0; 12960 number := FALSE ? floatExpr(1.0) : floatExpr(2.0); ok := ok and number = 2.0; 12961 number := boolExpr( TRUE) ? 1.0 : 2.0; ok := ok and number = 1.0; 12962 number := boolExpr(FALSE) ? 1.0 : 2.0; ok := ok and number = 2.0; 12963 number := boolExpr( TRUE) ? 1.0 : floatExpr(2.0); ok := ok and number = 1.0; 12964 number := boolExpr(FALSE) ? 1.0 : floatExpr(2.0); ok := ok and number = 2.0; 12965 number := boolExpr( TRUE) ? floatExpr(1.0) : 2.0; ok := ok and number = 1.0; 12966 number := boolExpr(FALSE) ? floatExpr(1.0) : 2.0; ok := ok and number = 2.0; 12967 number := boolExpr( TRUE) ? floatExpr(1.0) : floatExpr(2.0); ok := ok and number = 1.0; 12968 number := boolExpr(FALSE) ? floatExpr(1.0) : floatExpr(2.0); ok := ok and number = 2.0; 12969 if not ok then 12970 writeln(" ***** The ternary operator ? : does not work correct. (2)"); 12971 okay := FALSE; 12972 end if; 12973 12974 if okay then 12975 writeln("The ternary operator ? : works correct for float."); 12976 else 12977 writeln(" ***** The ternary operator ? : does not work correct."); 12978 end if; 12979 end func; 12980 12981 12982const proc: main is func 12983 12984 begin 12985 writeln; 12986 check_literal; 12987 check_comparison; 12988 check_compare; 12989 check_parse; 12990 check_str; 12991 check_conversion; 12992 check_trunc; 12993 check_round; 12994 check_add; 12995 check_mult; 12996 check_division; 12997 check_remainder; 12998 check_modulo; 12999 check_power; 13000 check_ipower; 13001 check_lshift; 13002 check_rshift; 13003 check_negative_zero; 13004 check_inf; 13005 check_nan; 13006 check_rand; 13007 check_decompose; 13008 check_ternary; 13009 end func; 13010