1 2(********************************************************************) 3(* *) 4(* chkbig.sd7 Checks bigInteger literals and operations *) 5(* Copyright (C) 2006 - 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 "bigint.s7i"; 28 include "bstring.s7i"; 29 include "bytedata.s7i"; 30 31 32# const func bigInteger: bigintExpr (in bigInteger: number) is 33# return number; 34 35 36const func bigInteger: bigintExpr (in bigInteger: number) is func 37 result 38 var bigInteger: exprResult is 0_; 39 begin 40 exprResult := number; 41 end func; 42 43 44const func integer: intExpr (in integer: number) is 45 return number + length(str(rand(1, 9))[2 ..]); 46 47 48const func string: striExpr (in string: stri) is 49 return stri & str(rand(1, 9))[2 ..]; 50 51 52const func boolean: boolExpr (in boolean: okay) is 53 return boolean(ord(okay) + length(str(rand(1, 9))[2 ..])); 54 55 56const func boolean: raisesRangeError (ref func string: expression) is func 57 result 58 var boolean: raisesRangeError is FALSE; 59 local 60 var string: exprResult is ""; 61 begin 62 block 63 exprResult := expression; 64 exception 65 catch RANGE_ERROR: 66 raisesRangeError := TRUE; 67 end block; 68 end func; 69 70 71const func boolean: raisesRangeError (ref func bigInteger: bigIntExpr) is func 72 result 73 var boolean: raisesRangeError is FALSE; 74 local 75 var bigInteger: exprResult is 0_; 76 begin 77 block 78 exprResult := bigIntExpr; 79 exception 80 catch RANGE_ERROR: 81 raisesRangeError := TRUE; 82 end block; 83 end func; 84 85 86const func boolean: raisesNumericError (ref func bigInteger: bigIntExpr) is func 87 result 88 var boolean: raisesRangeError is FALSE; 89 local 90 var bigInteger: exprResult is 0_; 91 begin 92 block 93 exprResult := bigIntExpr; 94 exception 95 catch NUMERIC_ERROR: 96 raisesRangeError := TRUE; 97 end block; 98 end func; 99 100 101var bigInteger: number is bigInteger parse "0"; 102 103 104const proc: chkLiteral is func 105 local 106 var boolean: okay is TRUE; 107 begin 108 if 0_ <> 2#0_ or 2#0_ <> 3#0_ or 109 3#0_ <> 4#0_ or 4#0_ <> 5#0_ or 5#0_ <> 6#0_ or 6#0_ <> 7#0_ or 110 7#0_ <> 8#0_ or 8#0_ <> 9#0_ or 9#0_ <> 10#0_ or 10#0_ <> 11#0_ or 111 11#0_ <> 12#0_ or 12#0_ <> 13#0_ or 13#0_ <> 14#0_ or 14#0_ <> 15#0_ or 112 15#0_ <> 16#0_ or 16#0_ <> 17#0_ or 17#0_ <> 18#0_ or 18#0_ <> 19#0_ or 113 19#0_ <> 20#0_ or 20#0_ <> 21#0_ or 21#0_ <> 22#0_ or 22#0_ <> 23#0_ or 114 23#0_ <> 24#0_ or 24#0_ <> 25#0_ or 25#0_ <> 26#0_ or 26#0_ <> 27#0_ or 115 27#0_ <> 28#0_ or 28#0_ <> 29#0_ or 29#0_ <> 30#0_ or 30#0_ <> 31#0_ or 116 31#0_ <> 32#0_ or 32#0_ <> 33#0_ or 33#0_ <> 34#0_ or 34#0_ <> 35#0_ or 117 35#0_ <> 36#0_ then 118 writeln("Based bigInteger literals do not work correct."); 119 okay := FALSE; 120 end if; 121 if 1_ <> 2#1_ or 2#1_ <> 3#1_ or 122 3#1_ <> 4#1_ or 4#1_ <> 5#1_ or 5#1_ <> 6#1_ or 6#1_ <> 7#1_ or 123 7#1_ <> 8#1_ or 8#1_ <> 9#1_ or 9#1_ <> 10#1_ or 10#1_ <> 11#1_ or 124 11#1_ <> 12#1_ or 12#1_ <> 13#1_ or 13#1_ <> 14#1_ or 14#1_ <> 15#1_ or 125 15#1_ <> 16#1_ or 16#1_ <> 17#1_ or 17#1_ <> 18#1_ or 18#1_ <> 19#1_ or 126 19#1_ <> 20#1_ or 20#1_ <> 21#1_ or 21#1_ <> 22#1_ or 22#1_ <> 23#1_ or 127 23#1_ <> 24#1_ or 24#1_ <> 25#1_ or 25#1_ <> 26#1_ or 26#1_ <> 27#1_ or 128 27#1_ <> 28#1_ or 28#1_ <> 29#1_ or 29#1_ <> 30#1_ or 30#1_ <> 31#1_ or 129 31#1_ <> 32#1_ or 32#1_ <> 33#1_ or 33#1_ <> 34#1_ or 34#1_ <> 35#1_ or 130 35#1_ <> 36#1_ then 131 writeln("Based bigInteger literals do not work correct."); 132 okay := FALSE; 133 end if; 134 if 2_ <> 2#10_ or 2#10_ <> 3#2_ or 135 3#2_ <> 4#2_ or 4#2_ <> 5#2_ or 5#2_ <> 6#2_ or 6#2_ <> 7#2_ or 136 7#2_ <> 8#2_ or 8#2_ <> 9#2_ or 9#2_ <> 10#2_ or 10#2_ <> 11#2_ or 137 11#2_ <> 12#2_ or 12#2_ <> 13#2_ or 13#2_ <> 14#2_ or 14#2_ <> 15#2_ or 138 15#2_ <> 16#2_ or 16#2_ <> 17#2_ or 17#2_ <> 18#2_ or 18#2_ <> 19#2_ or 139 19#2_ <> 20#2_ or 20#2_ <> 21#2_ or 21#2_ <> 22#2_ or 22#2_ <> 23#2_ or 140 23#2_ <> 24#2_ or 24#2_ <> 25#2_ or 25#2_ <> 26#2_ or 26#2_ <> 27#2_ or 141 27#2_ <> 28#2_ or 28#2_ <> 29#2_ or 29#2_ <> 30#2_ or 30#2_ <> 31#2_ or 142 31#2_ <> 32#2_ or 32#2_ <> 33#2_ or 33#2_ <> 34#2_ or 34#2_ <> 35#2_ or 143 35#2_ <> 36#2_ then 144 writeln("Based bigInteger literals do not work correct."); 145 okay := FALSE; 146 end if; 147 if 16_ <> 2#10000_ or 2#10000_ <> 3#121_ or 148 3#121_ <> 4#100_ or 4#100_ <> 5#31_ or 5#31_ <> 6#24_ or 6#24_ <> 7#22_ or 149 7#22_ <> 8#20_ or 8#20_ <> 9#17_ or 9#17_ <> 10#16_ or 10#16_ <> 11#15_ or 150 11#15_ <> 12#14_ or 12#14_ <> 13#13_ or 13#13_ <> 14#12_ or 14#12_ <> 15#11_ or 151 15#11_ <> 16#10_ or 16#10_ <> 17#G_ or 17#G_ <> 18#G_ or 18#G_ <> 19#G_ or 152 19#G_ <> 20#G_ or 20#G_ <> 21#G_ or 21#G_ <> 22#G_ or 22#G_ <> 23#G_ or 153 23#G_ <> 24#G_ or 24#G_ <> 25#G_ or 25#G_ <> 26#G_ or 26#G_ <> 27#G_ or 154 27#G_ <> 28#G_ or 28#G_ <> 29#G_ or 29#G_ <> 30#G_ or 30#G_ <> 31#G_ or 155 31#G_ <> 32#G_ or 32#G_ <> 33#G_ or 33#G_ <> 34#G_ or 34#G_ <> 35#G_ or 156 35#G_ <> 36#G_ then 157 writeln("Based bigInteger literals do not work correct."); 158 okay := FALSE; 159 end if; 160 if 32_ <> 2#100000_ or 2#100000_ <> 3#1012_ or 161 3#1012_ <> 4#200_ or 4#200_ <> 5#112_ or 5#112_ <> 6#52_ or 6#52_ <> 7#44_ or 162 7#44_ <> 8#40_ or 8#40_ <> 9#35_ or 9#35_ <> 10#32_ or 10#32_ <> 11#2A_ or 163 11#2A_ <> 12#28_ or 12#28_ <> 13#26_ or 13#26_ <> 14#24_ or 14#24_ <> 15#22_ or 164 15#22_ <> 16#20_ or 16#20_ <> 17#1F_ or 17#1F_ <> 18#1E_ or 18#1E_ <> 19#1D_ or 165 19#1D_ <> 20#1C_ or 20#1C_ <> 21#1B_ or 21#1B_ <> 22#1A_ or 22#1A_ <> 23#19_ or 166 23#19_ <> 24#18_ or 24#18_ <> 25#17_ or 25#17_ <> 26#16_ or 26#16_ <> 27#15_ or 167 27#15_ <> 28#14_ or 28#14_ <> 29#13_ or 29#13_ <> 30#12_ or 30#12_ <> 31#11_ or 168 31#11_ <> 32#10_ or 32#10_ <> 33#W_ or 33#W_ <> 34#W_ or 34#W_ <> 35#W_ or 169 35#W_ <> 36#W_ then 170 writeln("Based bigInteger literals do not work correct."); 171 okay := FALSE; 172 end if; 173 if 100000000000000000000_ <> 2#1010110101111000111010111100010110101100011000100000000000000000000_ or 174 100000000000000000000_ <> 3#220200020122120112010222022122002000100201_ or 175 100000000000000000000_ <> 4#1112233013113202311203010000000000_ or 176 100000000000000000000_ <> 5#23202330100000000000000000000_ or 177 100000000000000000000_ <> 6#33034304013023440042054544_ or 178 100000000000000000000_ <> 7#344015313561621001452562_ or 179 100000000000000000000_ <> 8#12657072742654304000000_ or 180 100000000000000000000_ <> 9#820218515128278060321_ or 181 100000000000000000000_ <> 10#100000000000000000000_ or 182 100000000000000000000_ <> 11#16a9322885328081a121_ or 183 100000000000000000000_ <> 12#390a66958a9464aa454_ or 184 100000000000000000000_ <> 13#b7388131b304451099_ or 185 100000000000000000000_ <> 14#33cb3bb449c2a91332_ or 186 100000000000000000000_ <> 15#1035749e25953d996a_ or 187 100000000000000000000_ <> 16#56bc75e2d63100000_ or 188 100000000000000000000_ <> 17#20ff5dab9g7f47384_ or 189 100000000000000000000_ <> 18#eee706h921ebb55a_ or 190 100000000000000000000_ <> 19#6b2i1gcaddd4ga45_ or 191 100000000000000000000_ <> 20#310e150000000000_ or 192 100000000000000000000_ <> 21#19h7djcjj8f750dg_ or 193 100000000000000000000_ <> 22#g1d1d41kh0d406c_ or 194 100000000000000000000_ <> 23#8e93h381mich183_ or 195 100000000000000000000_ <> 24#4i24imni329g72g_ or 196 100000000000000000000_ <> 25#2h2i10000000000_ or 197 100000000000000000000_ <> 26#1e7na9ijd1jl6hm_ or 198 100000000000000000000_ <> 27#oi6hfe3q8h209j_ or 199 100000000000000000000_ <> 28#fahhbc826cmp8g_ or 200 100000000000000000000_ <> 29#9liashaimceq07_ or 201 100000000000000000000_ <> 30#6850qa888gnl3a_ or 202 100000000000000000000_ <> 31#42tlg9if3mmgip_ or 203 100000000000000000000_ <> 32#2mnhqu5lhh0000_ or 204 100000000000000000000_ <> 33#1qvi340qbei9u1_ or 205 100000000000000000000_ <> 34#17uopd8lcnm544_ or 206 100000000000000000000_ <> 35#tkpxpiyscferu_ or 207 100000000000000000000_ <> 36#l3r41ifs0q5ts_ then 208 writeln("Based bigInteger literals do not work correct."); 209 okay := FALSE; 210 end if; 211 if 16#7_ <> 7_ or 212 16#8_ <> 8_ or 213 16#f_ <> 15_ or 214 16#7f_ <> 127_ or 215 16#80_ <> 128_ or 216 16#ff_ <> 255_ or 217 16#7fff_ <> 32767_ or 218 16#8000_ <> 32768_ or 219 16#ffff_ <> 65535_ or 220 16#7fffffff_ <> 2147483647_ or 221 16#80000000_ <> 2147483648_ or 222 16#ffffffff_ <> 4294967295_ or 223 16#7fffffffffff_ <> 140737488355327_ or 224 16#800000000000_ <> 140737488355328_ or 225 16#ffffffffffff_ <> 281474976710655_ or 226 16#7fffffffffffffff_ <> 9223372036854775807_ or 227 16#8000000000000000_ <> 9223372036854775808_ or 228 16#ffffffffffffffff_ <> 18446744073709551615_ or 229 16#7fffffffffffffffffff_ <> 604462909807314587353087_ or 230 16#80000000000000000000_ <> 604462909807314587353088_ or 231 16#ffffffffffffffffffff_ <> 1208925819614629174706175_ or 232 16#7fffffffffffffffffffffff_ <> 39614081257132168796771975167_ or 233 16#800000000000000000000000_ <> 39614081257132168796771975168_ or 234 16#ffffffffffffffffffffffff_ <> 79228162514264337593543950335_ or 235 16#7fffffffffffffffffffffffffff_ <> 2596148429267413814265248164610047_ or 236 16#8000000000000000000000000000_ <> 2596148429267413814265248164610048_ or 237 16#ffffffffffffffffffffffffffff_ <> 5192296858534827628530496329220095_ or 238 16#7fffffffffffffffffffffffffffffff_ <> 170141183460469231731687303715884105727_ or 239 16#80000000000000000000000000000000_ <> 170141183460469231731687303715884105728_ or 240 16#ffffffffffffffffffffffffffffffff_ <> 340282366920938463463374607431768211455_ or 241 -16#7_ <> -7_ or 242 -16#8_ <> -8_ or 243 -16#f_ <> -15_ or 244 -16#7f_ <> -127_ or 245 -16#80_ <> -128_ or 246 -16#ff_ <> -255_ or 247 -16#7fff_ <> -32767_ or 248 -16#8000_ <> -32768_ or 249 -16#ffff_ <> -65535_ or 250 -16#7fffffff_ <> -2147483647_ or 251 -16#80000000_ <> -2147483648_ or 252 -16#ffffffff_ <> -4294967295_ or 253 -16#7fffffffffff_ <> -140737488355327_ or 254 -16#800000000000_ <> -140737488355328_ or 255 -16#ffffffffffff_ <> -281474976710655_ or 256 -16#7fffffffffffffff_ <> -9223372036854775807_ or 257 -16#8000000000000000_ <> -9223372036854775808_ or 258 -16#ffffffffffffffff_ <> -18446744073709551615_ or 259 -16#7fffffffffffffffffff_ <> -604462909807314587353087_ or 260 -16#80000000000000000000_ <> -604462909807314587353088_ or 261 -16#ffffffffffffffffffff_ <> -1208925819614629174706175_ or 262 -16#7fffffffffffffffffffffff_ <> -39614081257132168796771975167_ or 263 -16#800000000000000000000000_ <> -39614081257132168796771975168_ or 264 -16#ffffffffffffffffffffffff_ <> -79228162514264337593543950335_ or 265 -16#7fffffffffffffffffffffffffff_ <> -2596148429267413814265248164610047_ or 266 -16#8000000000000000000000000000_ <> -2596148429267413814265248164610048_ or 267 -16#ffffffffffffffffffffffffffff_ <> -5192296858534827628530496329220095_ or 268 -16#7fffffffffffffffffffffffffffffff_ <> -170141183460469231731687303715884105727_ or 269 -16#80000000000000000000000000000000_ <> -170141183460469231731687303715884105728_ or 270 -16#ffffffffffffffffffffffffffffffff_ <> -340282366920938463463374607431768211455_ then 271 writeln("Based bigInteger literals do not work correct."); 272 okay := FALSE; 273 end if; 274 if 8#3_ <> 3_ or 275 8#4_ <> 4_ or 276 8#7_ <> 7_ or 277 8#10_ <> 8_ or 278 8#17_ <> 15_ or 279 8#20_ <> 16_ or 280 8#37_ <> 31_ or 281 8#40_ <> 32_ or 282 8#77_ <> 63_ or 283 8#100_ <> 64_ or 284 8#177_ <> 127_ or 285 8#200_ <> 128_ or 286 8#377_ <> 255_ or 287 8#400_ <> 256_ or 288 8#777_ <> 511_ or 289 8#40000_ <> 16384_ or 290 8#77777_ <> 32767_ or 291 8#100000_ <> 32768_ or 292 8#177777_ <> 65535_ or 293 8#200000_ <> 65536_ or 294 8#377777_ <> 131071_ or 295 8#17777777777_ <> 2147483647_ or 296 8#20000000000_ <> 2147483648_ or 297 8#37777777777_ <> 4294967295_ or 298 8#40000000000_ <> 4294967296_ or 299 8#77777777777_ <> 8589934591_ or 300 8#777777777777777777777_ <> 9223372036854775807_ or 301 8#1000000000000000000000_ <> 9223372036854775808_ or 302 8#1777777777777777777777_ <> 18446744073709551615_ or 303 8#2000000000000000000000_ <> 18446744073709551616_ or 304 8#3777777777777777777777_ <> 36893488147419103231_ or 305 8#1777777777777777777777777777777777777777777_ <> 170141183460469231731687303715884105727_ or 306 8#2000000000000000000000000000000000000000000_ <> 170141183460469231731687303715884105728_ or 307 8#3777777777777777777777777777777777777777777_ <> 340282366920938463463374607431768211455_ or 308 8#4000000000000000000000000000000000000000000_ <> 340282366920938463463374607431768211456_ or 309 -8#3_ <> -3_ or 310 -8#4_ <> -4_ or 311 -8#7_ <> -7_ or 312 -8#10_ <> -8_ or 313 -8#17_ <> -15_ or 314 -8#20_ <> -16_ or 315 -8#37_ <> -31_ or 316 -8#40_ <> -32_ or 317 -8#77_ <> -63_ or 318 -8#100_ <> -64_ or 319 -8#177_ <> -127_ or 320 -8#200_ <> -128_ or 321 -8#377_ <> -255_ or 322 -8#400_ <> -256_ or 323 -8#777_ <> -511_ or 324 -8#40000_ <> -16384_ or 325 -8#77777_ <> -32767_ or 326 -8#100000_ <> -32768_ or 327 -8#177777_ <> -65535_ or 328 -8#200000_ <> -65536_ or 329 -8#377777_ <> -131071_ or 330 -8#17777777777_ <> -2147483647_ or 331 -8#20000000000_ <> -2147483648_ or 332 -8#37777777777_ <> -4294967295_ or 333 -8#40000000000_ <> -4294967296_ or 334 -8#77777777777_ <> -8589934591_ or 335 -8#777777777777777777777_ <> -9223372036854775807_ or 336 -8#1000000000000000000000_ <> -9223372036854775808_ or 337 -8#1777777777777777777777_ <> -18446744073709551615_ or 338 -8#2000000000000000000000_ <> -18446744073709551616_ or 339 -8#3777777777777777777777_ <> -36893488147419103231_ or 340 -8#1777777777777777777777777777777777777777777_ <> -170141183460469231731687303715884105727_ or 341 -8#2000000000000000000000000000000000000000000_ <> -170141183460469231731687303715884105728_ or 342 -8#3777777777777777777777777777777777777777777_ <> -340282366920938463463374607431768211455_ or 343 -8#4000000000000000000000000000000000000000000_ <> -340282366920938463463374607431768211456_ then 344 writeln("Based bigInteger literals do not work correct."); 345 okay := FALSE; 346 end if; 347 348 if okay then 349 writeln("Based bigInteger literals work correct."); 350 else 351 writeln(" ***** Based bigInteger literals do not work correct."); 352 writeln; 353 end if; 354 end func; 355 356 357const proc: chkStringConv is func 358 local 359 var integer: base is 0; 360 var boolean: okay is TRUE; 361 begin 362 if str(bigInteger parse "0") <> "0" or 363 str(bigInteger parse "1") <> "1" or 364 str(bigInteger parse "2") <> "2" or 365 str(bigInteger parse "8") <> "8" or 366 str(bigInteger parse "9") <> "9" or 367 str(bigInteger parse "10") <> "10" or 368 str(bigInteger parse "11") <> "11" or 369 str(bigInteger parse "12") <> "12" or 370 str(bigInteger parse "98") <> "98" or 371 str(bigInteger parse "99") <> "99" or 372 str(bigInteger parse "100") <> "100" or 373 str(bigInteger parse "101") <> "101" or 374 str(bigInteger parse "102") <> "102" or 375 str(bigInteger parse "126") <> "126" or 376 str(bigInteger parse "127") <> "127" or 377 str(bigInteger parse "128") <> "128" or 378 str(bigInteger parse "129") <> "129" or 379 str(bigInteger parse "130") <> "130" or 380 str(bigInteger parse "254") <> "254" or 381 str(bigInteger parse "255") <> "255" or 382 str(bigInteger parse "256") <> "256" or 383 str(bigInteger parse "257") <> "257" or 384 str(bigInteger parse "258") <> "258" or 385 str(bigInteger parse "998") <> "998" or 386 str(bigInteger parse "999") <> "999" or 387 str(bigInteger parse "1000") <> "1000" or 388 str(bigInteger parse "1001") <> "1001" or 389 str(bigInteger parse "1002") <> "1002" or 390 str(bigInteger parse "9998") <> "9998" or 391 str(bigInteger parse "9999") <> "9999" or 392 str(bigInteger parse "10000") <> "10000" or 393 str(bigInteger parse "10001") <> "10001" or 394 str(bigInteger parse "10002") <> "10002" or 395 str(bigInteger parse "32766") <> "32766" or 396 str(bigInteger parse "32767") <> "32767" or 397 str(bigInteger parse "32768") <> "32768" or 398 str(bigInteger parse "32769") <> "32769" or 399 str(bigInteger parse "32770") <> "32770" or 400 str(bigInteger parse "65534") <> "65534" or 401 str(bigInteger parse "65535") <> "65535" or 402 str(bigInteger parse "65536") <> "65536" or 403 str(bigInteger parse "65537") <> "65537" or 404 str(bigInteger parse "65538") <> "65538" or 405 str(bigInteger parse "99998") <> "99998" or 406 str(bigInteger parse "99999") <> "99999" or 407 str(bigInteger parse "100000") <> "100000" or 408 str(bigInteger parse "100001") <> "100001" or 409 str(bigInteger parse "100002") <> "100002" or 410 str(bigInteger parse "999998") <> "999998" or 411 str(bigInteger parse "999999") <> "999999" or 412 str(bigInteger parse "1000000") <> "1000000" or 413 str(bigInteger parse "1000001") <> "1000001" or 414 str(bigInteger parse "1000002") <> "1000002" or 415 str(bigInteger parse "8388606") <> "8388606" or 416 str(bigInteger parse "8388607") <> "8388607" or 417 str(bigInteger parse "8388608") <> "8388608" or 418 str(bigInteger parse "8388609") <> "8388609" or 419 str(bigInteger parse "8388610") <> "8388610" or 420 str(bigInteger parse "9999998") <> "9999998" or 421 str(bigInteger parse "9999999") <> "9999999" or 422 str(bigInteger parse "10000000") <> "10000000" or 423 str(bigInteger parse "10000001") <> "10000001" or 424 str(bigInteger parse "10000002") <> "10000002" or 425 str(bigInteger parse "16777214") <> "16777214" or 426 str(bigInteger parse "16777215") <> "16777215" or 427 str(bigInteger parse "16777216") <> "16777216" or 428 str(bigInteger parse "16777217") <> "16777217" or 429 str(bigInteger parse "16777218") <> "16777218" or 430 str(bigInteger parse "99999998") <> "99999998" or 431 str(bigInteger parse "99999999") <> "99999999" or 432 str(bigInteger parse "100000000") <> "100000000" or 433 str(bigInteger parse "100000001") <> "100000001" or 434 str(bigInteger parse "100000002") <> "100000002" or 435 str(bigInteger parse "999999998") <> "999999998" or 436 str(bigInteger parse "999999999") <> "999999999" or 437 str(bigInteger parse "1000000000") <> "1000000000" or 438 str(bigInteger parse "1000000001") <> "1000000001" or 439 str(bigInteger parse "1000000002") <> "1000000002" or 440 str(bigInteger parse "2147483646") <> "2147483646" or 441 str(bigInteger parse "2147483647") <> "2147483647" or 442 str(bigInteger parse "2147483648") <> "2147483648" or 443 str(bigInteger parse "2147483649") <> "2147483649" or 444 str(bigInteger parse "2147483650") <> "2147483650" or 445 str(bigInteger parse "4294967294") <> "4294967294" or 446 str(bigInteger parse "4294967295") <> "4294967295" or 447 str(bigInteger parse "4294967296") <> "4294967296" or 448 str(bigInteger parse "4294967297") <> "4294967297" or 449 str(bigInteger parse "4294967298") <> "4294967298" or 450 str(bigInteger parse "9999999998") <> "9999999998" or 451 str(bigInteger parse "9999999999") <> "9999999999" or 452 str(bigInteger parse "10000000000") <> "10000000000" or 453 str(bigInteger parse "10000000001") <> "10000000001" or 454 str(bigInteger parse "10000000002") <> "10000000002" or 455 str(bigInteger parse "99999999998") <> "99999999998" or 456 str(bigInteger parse "99999999999") <> "99999999999" or 457 str(bigInteger parse "100000000000") <> "100000000000" or 458 str(bigInteger parse "100000000001") <> "100000000001" or 459 str(bigInteger parse "100000000002") <> "100000000002" or 460 str(bigInteger parse "549755813886") <> "549755813886" or 461 str(bigInteger parse "549755813887") <> "549755813887" or 462 str(bigInteger parse "549755813888") <> "549755813888" or 463 str(bigInteger parse "549755813889") <> "549755813889" or 464 str(bigInteger parse "549755813890") <> "549755813890" or 465 str(bigInteger parse "999999999998") <> "999999999998" or 466 str(bigInteger parse "999999999999") <> "999999999999" or 467 str(bigInteger parse "1000000000000") <> "1000000000000" or 468 str(bigInteger parse "1000000000001") <> "1000000000001" or 469 str(bigInteger parse "1000000000002") <> "1000000000002" or 470 str(bigInteger parse "1099511627774") <> "1099511627774" or 471 str(bigInteger parse "1099511627775") <> "1099511627775" or 472 str(bigInteger parse "1099511627776") <> "1099511627776" or 473 str(bigInteger parse "1099511627777") <> "1099511627777" or 474 str(bigInteger parse "1099511627778") <> "1099511627778" or 475 str(bigInteger parse "140737488355326") <> "140737488355326" or 476 str(bigInteger parse "140737488355327") <> "140737488355327" or 477 str(bigInteger parse "140737488355328") <> "140737488355328" or 478 str(bigInteger parse "140737488355329") <> "140737488355329" or 479 str(bigInteger parse "140737488355330") <> "140737488355330" or 480 str(bigInteger parse "281474976710654") <> "281474976710654" or 481 str(bigInteger parse "281474976710655") <> "281474976710655" or 482 str(bigInteger parse "281474976710656") <> "281474976710656" or 483 str(bigInteger parse "281474976710657") <> "281474976710657" or 484 str(bigInteger parse "281474976710658") <> "281474976710658" or 485 str(bigInteger parse "36028797018963966") <> "36028797018963966" or 486 str(bigInteger parse "36028797018963967") <> "36028797018963967" or 487 str(bigInteger parse "36028797018963968") <> "36028797018963968" or 488 str(bigInteger parse "36028797018963969") <> "36028797018963969" or 489 str(bigInteger parse "36028797018963970") <> "36028797018963970" or 490 str(bigInteger parse "72057594037927934") <> "72057594037927934" or 491 str(bigInteger parse "72057594037927935") <> "72057594037927935" or 492 str(bigInteger parse "72057594037927936") <> "72057594037927936" or 493 str(bigInteger parse "72057594037927937") <> "72057594037927937" or 494 str(bigInteger parse "72057594037927938") <> "72057594037927938" or 495 str(bigInteger parse "999999999000000000") <> "999999999000000000" or 496 str(bigInteger parse "9223372036854775806") <> "9223372036854775806" or 497 str(bigInteger parse "9223372036854775807") <> "9223372036854775807" or 498 str(bigInteger parse "9223372036854775808") <> "9223372036854775808" or 499 str(bigInteger parse "9223372036854775809") <> "9223372036854775809" or 500 str(bigInteger parse "9223372036854775810") <> "9223372036854775810" or 501 str(bigInteger parse "18446744073709551614") <> "18446744073709551614" or 502 str(bigInteger parse "18446744073709551615") <> "18446744073709551615" or 503 str(bigInteger parse "18446744073709551616") <> "18446744073709551616" or 504 str(bigInteger parse "18446744073709551617") <> "18446744073709551617" or 505 str(bigInteger parse "18446744073709551618") <> "18446744073709551618" or 506 str(bigInteger parse "2361183241434822606846") <> "2361183241434822606846" or 507 str(bigInteger parse "2361183241434822606847") <> "2361183241434822606847" or 508 str(bigInteger parse "2361183241434822606848") <> "2361183241434822606848" or 509 str(bigInteger parse "2361183241434822606849") <> "2361183241434822606849" or 510 str(bigInteger parse "2361183241434822606850") <> "2361183241434822606850" or 511 str(bigInteger parse "4722366482869645213694") <> "4722366482869645213694" or 512 str(bigInteger parse "4722366482869645213695") <> "4722366482869645213695" or 513 str(bigInteger parse "4722366482869645213696") <> "4722366482869645213696" or 514 str(bigInteger parse "4722366482869645213697") <> "4722366482869645213697" or 515 str(bigInteger parse "4722366482869645213698") <> "4722366482869645213698" or 516 str(bigInteger parse "604462909807314587353086") <> "604462909807314587353086" or 517 str(bigInteger parse "604462909807314587353087") <> "604462909807314587353087" or 518 str(bigInteger parse "604462909807314587353088") <> "604462909807314587353088" or 519 str(bigInteger parse "604462909807314587353089") <> "604462909807314587353089" or 520 str(bigInteger parse "604462909807314587353090") <> "604462909807314587353090" or 521 str(bigInteger parse "1208925819614629174706174") <> "1208925819614629174706174" or 522 str(bigInteger parse "1208925819614629174706175") <> "1208925819614629174706175" or 523 str(bigInteger parse "1208925819614629174706176") <> "1208925819614629174706176" or 524 str(bigInteger parse "1208925819614629174706177") <> "1208925819614629174706177" or 525 str(bigInteger parse "1208925819614629174706178") <> "1208925819614629174706178" then 526 writeln(" ***** Decimal conversion of a positive bigInteger does not work correct."); 527 okay := FALSE; 528 end if; 529 530 if str(bigInteger parse "+0") <> "0" or 531 str(bigInteger parse "+1") <> "1" or 532 str(bigInteger parse "+2") <> "2" or 533 str(bigInteger parse "+8") <> "8" or 534 str(bigInteger parse "+9") <> "9" or 535 str(bigInteger parse "+10") <> "10" or 536 str(bigInteger parse "+11") <> "11" or 537 str(bigInteger parse "+12") <> "12" or 538 str(bigInteger parse "+98") <> "98" or 539 str(bigInteger parse "+99") <> "99" or 540 str(bigInteger parse "+100") <> "100" or 541 str(bigInteger parse "+101") <> "101" or 542 str(bigInteger parse "+102") <> "102" or 543 str(bigInteger parse "+126") <> "126" or 544 str(bigInteger parse "+127") <> "127" or 545 str(bigInteger parse "+128") <> "128" or 546 str(bigInteger parse "+129") <> "129" or 547 str(bigInteger parse "+130") <> "130" or 548 str(bigInteger parse "+254") <> "254" or 549 str(bigInteger parse "+255") <> "255" or 550 str(bigInteger parse "+256") <> "256" or 551 str(bigInteger parse "+257") <> "257" or 552 str(bigInteger parse "+258") <> "258" or 553 str(bigInteger parse "+998") <> "998" or 554 str(bigInteger parse "+999") <> "999" or 555 str(bigInteger parse "+1000") <> "1000" or 556 str(bigInteger parse "+1001") <> "1001" or 557 str(bigInteger parse "+1002") <> "1002" or 558 str(bigInteger parse "+9998") <> "9998" or 559 str(bigInteger parse "+9999") <> "9999" or 560 str(bigInteger parse "+10000") <> "10000" or 561 str(bigInteger parse "+10001") <> "10001" or 562 str(bigInteger parse "+10002") <> "10002" or 563 str(bigInteger parse "+32766") <> "32766" or 564 str(bigInteger parse "+32767") <> "32767" or 565 str(bigInteger parse "+32768") <> "32768" or 566 str(bigInteger parse "+32769") <> "32769" or 567 str(bigInteger parse "+32770") <> "32770" or 568 str(bigInteger parse "+65534") <> "65534" or 569 str(bigInteger parse "+65535") <> "65535" or 570 str(bigInteger parse "+65536") <> "65536" or 571 str(bigInteger parse "+65537") <> "65537" or 572 str(bigInteger parse "+65538") <> "65538" or 573 str(bigInteger parse "+99998") <> "99998" or 574 str(bigInteger parse "+99999") <> "99999" or 575 str(bigInteger parse "+100000") <> "100000" or 576 str(bigInteger parse "+100001") <> "100001" or 577 str(bigInteger parse "+100002") <> "100002" or 578 str(bigInteger parse "+999998") <> "999998" or 579 str(bigInteger parse "+999999") <> "999999" or 580 str(bigInteger parse "+1000000") <> "1000000" or 581 str(bigInteger parse "+1000001") <> "1000001" or 582 str(bigInteger parse "+1000002") <> "1000002" or 583 str(bigInteger parse "+8388606") <> "8388606" or 584 str(bigInteger parse "+8388607") <> "8388607" or 585 str(bigInteger parse "+8388608") <> "8388608" or 586 str(bigInteger parse "+8388609") <> "8388609" or 587 str(bigInteger parse "+8388610") <> "8388610" or 588 str(bigInteger parse "+9999998") <> "9999998" or 589 str(bigInteger parse "+9999999") <> "9999999" or 590 str(bigInteger parse "+10000000") <> "10000000" or 591 str(bigInteger parse "+10000001") <> "10000001" or 592 str(bigInteger parse "+10000002") <> "10000002" or 593 str(bigInteger parse "+16777214") <> "16777214" or 594 str(bigInteger parse "+16777215") <> "16777215" or 595 str(bigInteger parse "+16777216") <> "16777216" or 596 str(bigInteger parse "+16777217") <> "16777217" or 597 str(bigInteger parse "+16777218") <> "16777218" or 598 str(bigInteger parse "+99999998") <> "99999998" or 599 str(bigInteger parse "+99999999") <> "99999999" or 600 str(bigInteger parse "+100000000") <> "100000000" or 601 str(bigInteger parse "+100000001") <> "100000001" or 602 str(bigInteger parse "+100000002") <> "100000002" or 603 str(bigInteger parse "+999999998") <> "999999998" or 604 str(bigInteger parse "+999999999") <> "999999999" or 605 str(bigInteger parse "+1000000000") <> "1000000000" or 606 str(bigInteger parse "+1000000001") <> "1000000001" or 607 str(bigInteger parse "+1000000002") <> "1000000002" or 608 str(bigInteger parse "+2147483646") <> "2147483646" or 609 str(bigInteger parse "+2147483647") <> "2147483647" or 610 str(bigInteger parse "+2147483648") <> "2147483648" or 611 str(bigInteger parse "+2147483649") <> "2147483649" or 612 str(bigInteger parse "+2147483650") <> "2147483650" or 613 str(bigInteger parse "+4294967294") <> "4294967294" or 614 str(bigInteger parse "+4294967295") <> "4294967295" or 615 str(bigInteger parse "+4294967296") <> "4294967296" or 616 str(bigInteger parse "+4294967297") <> "4294967297" or 617 str(bigInteger parse "+4294967298") <> "4294967298" or 618 str(bigInteger parse "+9999999998") <> "9999999998" or 619 str(bigInteger parse "+9999999999") <> "9999999999" or 620 str(bigInteger parse "+10000000000") <> "10000000000" or 621 str(bigInteger parse "+10000000001") <> "10000000001" or 622 str(bigInteger parse "+10000000002") <> "10000000002" or 623 str(bigInteger parse "+99999999998") <> "99999999998" or 624 str(bigInteger parse "+99999999999") <> "99999999999" or 625 str(bigInteger parse "+100000000000") <> "100000000000" or 626 str(bigInteger parse "+100000000001") <> "100000000001" or 627 str(bigInteger parse "+100000000002") <> "100000000002" or 628 str(bigInteger parse "+549755813886") <> "549755813886" or 629 str(bigInteger parse "+549755813887") <> "549755813887" or 630 str(bigInteger parse "+549755813888") <> "549755813888" or 631 str(bigInteger parse "+549755813889") <> "549755813889" or 632 str(bigInteger parse "+549755813890") <> "549755813890" or 633 str(bigInteger parse "+999999999998") <> "999999999998" or 634 str(bigInteger parse "+999999999999") <> "999999999999" or 635 str(bigInteger parse "+1000000000000") <> "1000000000000" or 636 str(bigInteger parse "+1000000000001") <> "1000000000001" or 637 str(bigInteger parse "+1000000000002") <> "1000000000002" or 638 str(bigInteger parse "+1099511627774") <> "1099511627774" or 639 str(bigInteger parse "+1099511627775") <> "1099511627775" or 640 str(bigInteger parse "+1099511627776") <> "1099511627776" or 641 str(bigInteger parse "+1099511627777") <> "1099511627777" or 642 str(bigInteger parse "+1099511627778") <> "1099511627778" or 643 str(bigInteger parse "+140737488355326") <> "140737488355326" or 644 str(bigInteger parse "+140737488355327") <> "140737488355327" or 645 str(bigInteger parse "+140737488355328") <> "140737488355328" or 646 str(bigInteger parse "+140737488355329") <> "140737488355329" or 647 str(bigInteger parse "+140737488355330") <> "140737488355330" or 648 str(bigInteger parse "+281474976710654") <> "281474976710654" or 649 str(bigInteger parse "+281474976710655") <> "281474976710655" or 650 str(bigInteger parse "+281474976710656") <> "281474976710656" or 651 str(bigInteger parse "+281474976710657") <> "281474976710657" or 652 str(bigInteger parse "+281474976710658") <> "281474976710658" or 653 str(bigInteger parse "+36028797018963966") <> "36028797018963966" or 654 str(bigInteger parse "+36028797018963967") <> "36028797018963967" or 655 str(bigInteger parse "+36028797018963968") <> "36028797018963968" or 656 str(bigInteger parse "+36028797018963969") <> "36028797018963969" or 657 str(bigInteger parse "+36028797018963970") <> "36028797018963970" or 658 str(bigInteger parse "+72057594037927934") <> "72057594037927934" or 659 str(bigInteger parse "+72057594037927935") <> "72057594037927935" or 660 str(bigInteger parse "+72057594037927936") <> "72057594037927936" or 661 str(bigInteger parse "+72057594037927937") <> "72057594037927937" or 662 str(bigInteger parse "+72057594037927938") <> "72057594037927938" or 663 str(bigInteger parse "+999999999000000000") <> "999999999000000000" or 664 str(bigInteger parse "+9223372036854775806") <> "9223372036854775806" or 665 str(bigInteger parse "+9223372036854775807") <> "9223372036854775807" or 666 str(bigInteger parse "+9223372036854775808") <> "9223372036854775808" or 667 str(bigInteger parse "+9223372036854775809") <> "9223372036854775809" or 668 str(bigInteger parse "+9223372036854775810") <> "9223372036854775810" or 669 str(bigInteger parse "+18446744073709551614") <> "18446744073709551614" or 670 str(bigInteger parse "+18446744073709551615") <> "18446744073709551615" or 671 str(bigInteger parse "+18446744073709551616") <> "18446744073709551616" or 672 str(bigInteger parse "+18446744073709551617") <> "18446744073709551617" or 673 str(bigInteger parse "+18446744073709551618") <> "18446744073709551618" or 674 str(bigInteger parse "+2361183241434822606846") <> "2361183241434822606846" or 675 str(bigInteger parse "+2361183241434822606847") <> "2361183241434822606847" or 676 str(bigInteger parse "+2361183241434822606848") <> "2361183241434822606848" or 677 str(bigInteger parse "+2361183241434822606849") <> "2361183241434822606849" or 678 str(bigInteger parse "+2361183241434822606850") <> "2361183241434822606850" or 679 str(bigInteger parse "+4722366482869645213694") <> "4722366482869645213694" or 680 str(bigInteger parse "+4722366482869645213695") <> "4722366482869645213695" or 681 str(bigInteger parse "+4722366482869645213696") <> "4722366482869645213696" or 682 str(bigInteger parse "+4722366482869645213697") <> "4722366482869645213697" or 683 str(bigInteger parse "+4722366482869645213698") <> "4722366482869645213698" or 684 str(bigInteger parse "+604462909807314587353086") <> "604462909807314587353086" or 685 str(bigInteger parse "+604462909807314587353087") <> "604462909807314587353087" or 686 str(bigInteger parse "+604462909807314587353088") <> "604462909807314587353088" or 687 str(bigInteger parse "+604462909807314587353089") <> "604462909807314587353089" or 688 str(bigInteger parse "+604462909807314587353090") <> "604462909807314587353090" or 689 str(bigInteger parse "+1208925819614629174706174") <> "1208925819614629174706174" or 690 str(bigInteger parse "+1208925819614629174706175") <> "1208925819614629174706175" or 691 str(bigInteger parse "+1208925819614629174706176") <> "1208925819614629174706176" or 692 str(bigInteger parse "+1208925819614629174706177") <> "1208925819614629174706177" or 693 str(bigInteger parse "+1208925819614629174706178") <> "1208925819614629174706178" then 694 writeln(" ***** Decimal conversion of a positive bigInteger with sign does not work correct."); 695 okay := FALSE; 696 end if; 697 698 if str(bigInteger parse "-0") <> "0" or 699 str(bigInteger parse "-1") <> "-1" or 700 str(bigInteger parse "-2") <> "-2" or 701 str(bigInteger parse "-8") <> "-8" or 702 str(bigInteger parse "-9") <> "-9" or 703 str(bigInteger parse "-10") <> "-10" or 704 str(bigInteger parse "-11") <> "-11" or 705 str(bigInteger parse "-12") <> "-12" or 706 str(bigInteger parse "-98") <> "-98" or 707 str(bigInteger parse "-99") <> "-99" or 708 str(bigInteger parse "-100") <> "-100" or 709 str(bigInteger parse "-101") <> "-101" or 710 str(bigInteger parse "-102") <> "-102" or 711 str(bigInteger parse "-126") <> "-126" or 712 str(bigInteger parse "-127") <> "-127" or 713 str(bigInteger parse "-128") <> "-128" or 714 str(bigInteger parse "-129") <> "-129" or 715 str(bigInteger parse "-130") <> "-130" or 716 str(bigInteger parse "-254") <> "-254" or 717 str(bigInteger parse "-255") <> "-255" or 718 str(bigInteger parse "-256") <> "-256" or 719 str(bigInteger parse "-257") <> "-257" or 720 str(bigInteger parse "-258") <> "-258" or 721 str(bigInteger parse "-998") <> "-998" or 722 str(bigInteger parse "-999") <> "-999" or 723 str(bigInteger parse "-1000") <> "-1000" or 724 str(bigInteger parse "-1001") <> "-1001" or 725 str(bigInteger parse "-1002") <> "-1002" or 726 str(bigInteger parse "-9998") <> "-9998" or 727 str(bigInteger parse "-9999") <> "-9999" or 728 str(bigInteger parse "-10000") <> "-10000" or 729 str(bigInteger parse "-10001") <> "-10001" or 730 str(bigInteger parse "-10002") <> "-10002" or 731 str(bigInteger parse "-32766") <> "-32766" or 732 str(bigInteger parse "-32767") <> "-32767" or 733 str(bigInteger parse "-32768") <> "-32768" or 734 str(bigInteger parse "-32769") <> "-32769" or 735 str(bigInteger parse "-32770") <> "-32770" or 736 str(bigInteger parse "-65534") <> "-65534" or 737 str(bigInteger parse "-65535") <> "-65535" or 738 str(bigInteger parse "-65536") <> "-65536" or 739 str(bigInteger parse "-65537") <> "-65537" or 740 str(bigInteger parse "-65538") <> "-65538" or 741 str(bigInteger parse "-99998") <> "-99998" or 742 str(bigInteger parse "-99999") <> "-99999" or 743 str(bigInteger parse "-100000") <> "-100000" or 744 str(bigInteger parse "-100001") <> "-100001" or 745 str(bigInteger parse "-100002") <> "-100002" or 746 str(bigInteger parse "-999998") <> "-999998" or 747 str(bigInteger parse "-999999") <> "-999999" or 748 str(bigInteger parse "-1000000") <> "-1000000" or 749 str(bigInteger parse "-1000001") <> "-1000001" or 750 str(bigInteger parse "-1000002") <> "-1000002" or 751 str(bigInteger parse "-8388606") <> "-8388606" or 752 str(bigInteger parse "-8388607") <> "-8388607" or 753 str(bigInteger parse "-8388608") <> "-8388608" or 754 str(bigInteger parse "-8388609") <> "-8388609" or 755 str(bigInteger parse "-8388610") <> "-8388610" or 756 str(bigInteger parse "-9999998") <> "-9999998" or 757 str(bigInteger parse "-9999999") <> "-9999999" or 758 str(bigInteger parse "-10000000") <> "-10000000" or 759 str(bigInteger parse "-10000001") <> "-10000001" or 760 str(bigInteger parse "-10000002") <> "-10000002" or 761 str(bigInteger parse "-16777214") <> "-16777214" or 762 str(bigInteger parse "-16777215") <> "-16777215" or 763 str(bigInteger parse "-16777216") <> "-16777216" or 764 str(bigInteger parse "-16777217") <> "-16777217" or 765 str(bigInteger parse "-16777218") <> "-16777218" or 766 str(bigInteger parse "-99999998") <> "-99999998" or 767 str(bigInteger parse "-99999999") <> "-99999999" or 768 str(bigInteger parse "-100000000") <> "-100000000" or 769 str(bigInteger parse "-100000001") <> "-100000001" or 770 str(bigInteger parse "-100000002") <> "-100000002" or 771 str(bigInteger parse "-999999998") <> "-999999998" or 772 str(bigInteger parse "-999999999") <> "-999999999" or 773 str(bigInteger parse "-1000000000") <> "-1000000000" or 774 str(bigInteger parse "-1000000001") <> "-1000000001" or 775 str(bigInteger parse "-1000000002") <> "-1000000002" or 776 str(bigInteger parse "-2147483646") <> "-2147483646" or 777 str(bigInteger parse "-2147483647") <> "-2147483647" or 778 str(bigInteger parse "-2147483648") <> "-2147483648" or 779 str(bigInteger parse "-2147483649") <> "-2147483649" or 780 str(bigInteger parse "-2147483650") <> "-2147483650" or 781 str(bigInteger parse "-4294967294") <> "-4294967294" or 782 str(bigInteger parse "-4294967295") <> "-4294967295" or 783 str(bigInteger parse "-4294967296") <> "-4294967296" or 784 str(bigInteger parse "-4294967297") <> "-4294967297" or 785 str(bigInteger parse "-4294967298") <> "-4294967298" or 786 str(bigInteger parse "-9999999998") <> "-9999999998" or 787 str(bigInteger parse "-9999999999") <> "-9999999999" or 788 str(bigInteger parse "-10000000000") <> "-10000000000" or 789 str(bigInteger parse "-10000000001") <> "-10000000001" or 790 str(bigInteger parse "-10000000002") <> "-10000000002" or 791 str(bigInteger parse "-99999999998") <> "-99999999998" or 792 str(bigInteger parse "-99999999999") <> "-99999999999" or 793 str(bigInteger parse "-100000000000") <> "-100000000000" or 794 str(bigInteger parse "-100000000001") <> "-100000000001" or 795 str(bigInteger parse "-100000000002") <> "-100000000002" or 796 str(bigInteger parse "-549755813886") <> "-549755813886" or 797 str(bigInteger parse "-549755813887") <> "-549755813887" or 798 str(bigInteger parse "-549755813888") <> "-549755813888" or 799 str(bigInteger parse "-549755813889") <> "-549755813889" or 800 str(bigInteger parse "-549755813890") <> "-549755813890" or 801 str(bigInteger parse "-999999999998") <> "-999999999998" or 802 str(bigInteger parse "-999999999999") <> "-999999999999" or 803 str(bigInteger parse "-1000000000000") <> "-1000000000000" or 804 str(bigInteger parse "-1000000000001") <> "-1000000000001" or 805 str(bigInteger parse "-1000000000002") <> "-1000000000002" or 806 str(bigInteger parse "-1099511627774") <> "-1099511627774" or 807 str(bigInteger parse "-1099511627775") <> "-1099511627775" or 808 str(bigInteger parse "-1099511627776") <> "-1099511627776" or 809 str(bigInteger parse "-1099511627777") <> "-1099511627777" or 810 str(bigInteger parse "-1099511627778") <> "-1099511627778" or 811 str(bigInteger parse "-140737488355326") <> "-140737488355326" or 812 str(bigInteger parse "-140737488355327") <> "-140737488355327" or 813 str(bigInteger parse "-140737488355328") <> "-140737488355328" or 814 str(bigInteger parse "-140737488355329") <> "-140737488355329" or 815 str(bigInteger parse "-140737488355330") <> "-140737488355330" or 816 str(bigInteger parse "-281474976710654") <> "-281474976710654" or 817 str(bigInteger parse "-281474976710655") <> "-281474976710655" or 818 str(bigInteger parse "-281474976710656") <> "-281474976710656" or 819 str(bigInteger parse "-281474976710657") <> "-281474976710657" or 820 str(bigInteger parse "-281474976710658") <> "-281474976710658" or 821 str(bigInteger parse "-36028797018963966") <> "-36028797018963966" or 822 str(bigInteger parse "-36028797018963967") <> "-36028797018963967" or 823 str(bigInteger parse "-36028797018963968") <> "-36028797018963968" or 824 str(bigInteger parse "-36028797018963969") <> "-36028797018963969" or 825 str(bigInteger parse "-36028797018963970") <> "-36028797018963970" or 826 str(bigInteger parse "-72057594037927934") <> "-72057594037927934" or 827 str(bigInteger parse "-72057594037927935") <> "-72057594037927935" or 828 str(bigInteger parse "-72057594037927936") <> "-72057594037927936" or 829 str(bigInteger parse "-72057594037927937") <> "-72057594037927937" or 830 str(bigInteger parse "-72057594037927938") <> "-72057594037927938" or 831 str(bigInteger parse "-9223372036854775806") <> "-9223372036854775806" or 832 str(bigInteger parse "-9223372036854775807") <> "-9223372036854775807" or 833 str(bigInteger parse "-9223372036854775808") <> "-9223372036854775808" or 834 str(bigInteger parse "-9223372036854775809") <> "-9223372036854775809" or 835 str(bigInteger parse "-9223372036854775810") <> "-9223372036854775810" or 836 str(bigInteger parse "-18446744073709551614") <> "-18446744073709551614" or 837 str(bigInteger parse "-18446744073709551615") <> "-18446744073709551615" or 838 str(bigInteger parse "-18446744073709551616") <> "-18446744073709551616" or 839 str(bigInteger parse "-18446744073709551617") <> "-18446744073709551617" or 840 str(bigInteger parse "-18446744073709551618") <> "-18446744073709551618" or 841 str(bigInteger parse "-2361183241434822606846") <> "-2361183241434822606846" or 842 str(bigInteger parse "-2361183241434822606847") <> "-2361183241434822606847" or 843 str(bigInteger parse "-2361183241434822606848") <> "-2361183241434822606848" or 844 str(bigInteger parse "-2361183241434822606849") <> "-2361183241434822606849" or 845 str(bigInteger parse "-2361183241434822606850") <> "-2361183241434822606850" or 846 str(bigInteger parse "-4722366482869645213694") <> "-4722366482869645213694" or 847 str(bigInteger parse "-4722366482869645213695") <> "-4722366482869645213695" or 848 str(bigInteger parse "-4722366482869645213696") <> "-4722366482869645213696" or 849 str(bigInteger parse "-4722366482869645213697") <> "-4722366482869645213697" or 850 str(bigInteger parse "-4722366482869645213698") <> "-4722366482869645213698" or 851 str(bigInteger parse "-604462909807314587353086") <> "-604462909807314587353086" or 852 str(bigInteger parse "-604462909807314587353087") <> "-604462909807314587353087" or 853 str(bigInteger parse "-604462909807314587353088") <> "-604462909807314587353088" or 854 str(bigInteger parse "-604462909807314587353089") <> "-604462909807314587353089" or 855 str(bigInteger parse "-604462909807314587353090") <> "-604462909807314587353090" or 856 str(bigInteger parse "-1208925819614629174706174") <> "-1208925819614629174706174" or 857 str(bigInteger parse "-1208925819614629174706175") <> "-1208925819614629174706175" or 858 str(bigInteger parse "-1208925819614629174706176") <> "-1208925819614629174706176" or 859 str(bigInteger parse "-1208925819614629174706177") <> "-1208925819614629174706177" or 860 str(bigInteger parse "-1208925819614629174706178") <> "-1208925819614629174706178" then 861 writeln(" ***** Decimal conversion of a negative bigInteger does not work correct."); 862 okay := FALSE; 863 end if; 864 865 if bigInteger parse str(123456789_ ** 1234) <> 123456789_ ** 1234 then 866 writeln(" ***** Decimal conversion of large bigInteger does not work correct."); 867 okay := FALSE; 868 end if; 869 870 for base range 2 to 36 do 871 if bigInteger("0", base) <> 0_ or 872 bigInteger("+0", base) <> 0_ or 873 bigInteger("-0", base) <> 0_ or 874 bigInteger("1", base) <> 1_ or 875 bigInteger("+1", base) <> 1_ or 876 bigInteger("-1", base) <> -1_ or 877 bigInteger(pred(base) radix 36, base) <> bigInteger conv pred(base) or 878 bigInteger("+" <& pred(base) radix 36, base) <> bigInteger conv pred(base) or 879 bigInteger("-" <& pred(base) radix 36, base) <> -bigInteger conv pred(base) or 880 bigInteger("10", base) <> bigInteger conv base or 881 bigInteger("+10", base) <> bigInteger conv base or 882 bigInteger("-10", base) <> -bigInteger conv base then 883 writeln(" ***** Conversion of numeric string with specified radix " <& base <& " does not work correct."); 884 okay := FALSE; 885 end if; 886 end for; 887 888 if 4611686018427387903_ <> bigInteger("11111111111111111111111111111111111111111111111111111111111111", 2) or 889 12157665459056928800_ <> bigInteger("2222222222222222222222222222222222222222", 3) or 890 1152921504606846975_ <> bigInteger("333333333333333333333333333333", 4) or 891 1490116119384765624_ <> bigInteger("44444444444444444444444444", 5) or 892 4738381338321616895_ <> bigInteger("555555555555555555555555", 6) or 893 3909821048582988048_ <> bigInteger("6666666666666666666666", 7) or 894 1152921504606846975_ <> bigInteger("77777777777777777777", 8) or 895 12157665459056928800_ <> bigInteger("88888888888888888888", 9) or 896 999999999999999999_ <> bigInteger("999999999999999999", 10) or 897 5559917313492231480_ <> bigInteger("aaaaaaaaaaaaaaaaaa", 11) or 898 184884258895036415_ <> bigInteger("bbbbbbbbbbbbbbbb", 12) or 899 665416609183179840_ <> bigInteger("cccccccccccccccc", 13) or 900 2177953337809371135_ <> bigInteger("dddddddddddddddd", 14) or 901 6568408355712890624_ <> bigInteger("eeeeeeeeeeeeeeee", 15) or 902 72057594037927935_ <> bigInteger("ffffffffffffff", 16) or 903 168377826559400928_ <> bigInteger("gggggggggggggg", 17) or 904 374813367582081023_ <> bigInteger("hhhhhhhhhhhhhh", 18) or 905 799006685782884120_ <> bigInteger("iiiiiiiiiiiiii", 19) or 906 1638399999999999999_ <> bigInteger("jjjjjjjjjjjjjj", 20) or 907 3243919932521508680_ <> bigInteger("kkkkkkkkkkkkkk", 21) or 908 6221821273427820543_ <> bigInteger("llllllllllllll", 22) or 909 11592836324538749808_ <> bigInteger("mmmmmmmmmmmmmm", 23) or 910 36520347436056575_ <> bigInteger("nnnnnnnnnnnn", 24) or 911 59604644775390624_ <> bigInteger("oooooooooooo", 25) or 912 95428956661682175_ <> bigInteger("pppppppppppp", 26) or 913 150094635296999120_ <> bigInteger("qqqqqqqqqqqq", 27) or 914 232218265089212415_ <> bigInteger("rrrrrrrrrrrr", 28) or 915 353814783205469040_ <> bigInteger("ssssssssssss", 29) or 916 531440999999999999_ <> bigInteger("tttttttttttt", 30) or 917 787662783788549760_ <> bigInteger("uuuuuuuuuuuu", 31) or 918 1152921504606846975_ <> bigInteger("vvvvvvvvvvvv", 32) or 919 1667889514952984960_ <> bigInteger("wwwwwwwwwwww", 33) or 920 2386420683693101055_ <> bigInteger("xxxxxxxxxxxx", 34) or 921 3379220508056640624_ <> bigInteger("yyyyyyyyyyyy", 35) or 922 4738381338321616895_ <> bigInteger("zzzzzzzzzzzz", 36) or 923 5559917313492231480_ <> bigInteger("AAAAAAAAAAAAAAAAAA", 11) or 924 184884258895036415_ <> bigInteger("BBBBBBBBBBBBBBBB", 12) or 925 665416609183179840_ <> bigInteger("CCCCCCCCCCCCCCCC", 13) or 926 2177953337809371135_ <> bigInteger("DDDDDDDDDDDDDDDD", 14) or 927 6568408355712890624_ <> bigInteger("EEEEEEEEEEEEEEEE", 15) or 928 72057594037927935_ <> bigInteger("FFFFFFFFFFFFFF", 16) or 929 168377826559400928_ <> bigInteger("GGGGGGGGGGGGGG", 17) or 930 374813367582081023_ <> bigInteger("HHHHHHHHHHHHHH", 18) or 931 799006685782884120_ <> bigInteger("IIIIIIIIIIIIII", 19) or 932 1638399999999999999_ <> bigInteger("JJJJJJJJJJJJJJ", 20) or 933 3243919932521508680_ <> bigInteger("KKKKKKKKKKKKKK", 21) or 934 6221821273427820543_ <> bigInteger("LLLLLLLLLLLLLL", 22) or 935 11592836324538749808_ <> bigInteger("MMMMMMMMMMMMMM", 23) or 936 36520347436056575_ <> bigInteger("NNNNNNNNNNNN", 24) or 937 59604644775390624_ <> bigInteger("OOOOOOOOOOOO", 25) or 938 95428956661682175_ <> bigInteger("PPPPPPPPPPPP", 26) or 939 150094635296999120_ <> bigInteger("QQQQQQQQQQQQ", 27) or 940 232218265089212415_ <> bigInteger("RRRRRRRRRRRR", 28) or 941 353814783205469040_ <> bigInteger("SSSSSSSSSSSS", 29) or 942 531440999999999999_ <> bigInteger("TTTTTTTTTTTT", 30) or 943 787662783788549760_ <> bigInteger("UUUUUUUUUUUU", 31) or 944 1152921504606846975_ <> bigInteger("VVVVVVVVVVVV", 32) or 945 1667889514952984960_ <> bigInteger("WWWWWWWWWWWW", 33) or 946 2386420683693101055_ <> bigInteger("XXXXXXXXXXXX", 34) or 947 3379220508056640624_ <> bigInteger("YYYYYYYYYYYY", 35) or 948 4738381338321616895_ <> bigInteger("ZZZZZZZZZZZZ", 36) or 949 4611686018427387904_ <> bigInteger("100000000000000000000000000000000000000000000000000000000000000", 2) or 950 12157665459056928801_ <> bigInteger("10000000000000000000000000000000000000000", 3) or 951 1152921504606846976_ <> bigInteger("1000000000000000000000000000000", 4) or 952 1490116119384765625_ <> bigInteger("100000000000000000000000000", 5) or 953 4738381338321616896_ <> bigInteger("1000000000000000000000000", 6) or 954 3909821048582988049_ <> bigInteger("10000000000000000000000", 7) or 955 1152921504606846976_ <> bigInteger("100000000000000000000", 8) or 956 12157665459056928801_ <> bigInteger("100000000000000000000", 9) or 957 1000000000000000000_ <> bigInteger("1000000000000000000", 10) or 958 5559917313492231481_ <> bigInteger("1000000000000000000", 11) or 959 184884258895036416_ <> bigInteger("10000000000000000", 12) or 960 665416609183179841_ <> bigInteger("10000000000000000", 13) or 961 2177953337809371136_ <> bigInteger("10000000000000000", 14) or 962 6568408355712890625_ <> bigInteger("10000000000000000", 15) or 963 72057594037927936_ <> bigInteger("100000000000000", 16) or 964 168377826559400929_ <> bigInteger("100000000000000", 17) or 965 374813367582081024_ <> bigInteger("100000000000000", 18) or 966 799006685782884121_ <> bigInteger("100000000000000", 19) or 967 1638400000000000000_ <> bigInteger("100000000000000", 20) or 968 3243919932521508681_ <> bigInteger("100000000000000", 21) or 969 6221821273427820544_ <> bigInteger("100000000000000", 22) or 970 11592836324538749809_ <> bigInteger("100000000000000", 23) or 971 36520347436056576_ <> bigInteger("1000000000000", 24) or 972 59604644775390625_ <> bigInteger("1000000000000", 25) or 973 95428956661682176_ <> bigInteger("1000000000000", 26) or 974 150094635296999121_ <> bigInteger("1000000000000", 27) or 975 232218265089212416_ <> bigInteger("1000000000000", 28) or 976 353814783205469041_ <> bigInteger("1000000000000", 29) or 977 531441000000000000_ <> bigInteger("1000000000000", 30) or 978 787662783788549761_ <> bigInteger("1000000000000", 31) or 979 1152921504606846976_ <> bigInteger("1000000000000", 32) or 980 1667889514952984961_ <> bigInteger("1000000000000", 33) or 981 2386420683693101056_ <> bigInteger("1000000000000", 34) or 982 3379220508056640625_ <> bigInteger("1000000000000", 35) or 983 4738381338321616896_ <> bigInteger("1000000000000", 36) then 984 writeln(" ***** Conversion of numeric string with specified radix does not work correct for positive values."); 985 okay := FALSE; 986 end if; 987 988 if -4611686018427387903_ <> bigInteger("-11111111111111111111111111111111111111111111111111111111111111", 2) or 989 -12157665459056928800_ <> bigInteger("-2222222222222222222222222222222222222222", 3) or 990 -1152921504606846975_ <> bigInteger("-333333333333333333333333333333", 4) or 991 -1490116119384765624_ <> bigInteger("-44444444444444444444444444", 5) or 992 -4738381338321616895_ <> bigInteger("-555555555555555555555555", 6) or 993 -3909821048582988048_ <> bigInteger("-6666666666666666666666", 7) or 994 -1152921504606846975_ <> bigInteger("-77777777777777777777", 8) or 995 -12157665459056928800_ <> bigInteger("-88888888888888888888", 9) or 996 -999999999999999999_ <> bigInteger("-999999999999999999", 10) or 997 -5559917313492231480_ <> bigInteger("-aaaaaaaaaaaaaaaaaa", 11) or 998 -184884258895036415_ <> bigInteger("-bbbbbbbbbbbbbbbb", 12) or 999 -665416609183179840_ <> bigInteger("-cccccccccccccccc", 13) or 1000 -2177953337809371135_ <> bigInteger("-dddddddddddddddd", 14) or 1001 -6568408355712890624_ <> bigInteger("-eeeeeeeeeeeeeeee", 15) or 1002 -72057594037927935_ <> bigInteger("-ffffffffffffff", 16) or 1003 -168377826559400928_ <> bigInteger("-gggggggggggggg", 17) or 1004 -374813367582081023_ <> bigInteger("-hhhhhhhhhhhhhh", 18) or 1005 -799006685782884120_ <> bigInteger("-iiiiiiiiiiiiii", 19) or 1006 -1638399999999999999_ <> bigInteger("-jjjjjjjjjjjjjj", 20) or 1007 -3243919932521508680_ <> bigInteger("-kkkkkkkkkkkkkk", 21) or 1008 -6221821273427820543_ <> bigInteger("-llllllllllllll", 22) or 1009 -11592836324538749808_ <> bigInteger("-mmmmmmmmmmmmmm", 23) or 1010 -36520347436056575_ <> bigInteger("-nnnnnnnnnnnn", 24) or 1011 -59604644775390624_ <> bigInteger("-oooooooooooo", 25) or 1012 -95428956661682175_ <> bigInteger("-pppppppppppp", 26) or 1013 -150094635296999120_ <> bigInteger("-qqqqqqqqqqqq", 27) or 1014 -232218265089212415_ <> bigInteger("-rrrrrrrrrrrr", 28) or 1015 -353814783205469040_ <> bigInteger("-ssssssssssss", 29) or 1016 -531440999999999999_ <> bigInteger("-tttttttttttt", 30) or 1017 -787662783788549760_ <> bigInteger("-uuuuuuuuuuuu", 31) or 1018 -1152921504606846975_ <> bigInteger("-vvvvvvvvvvvv", 32) or 1019 -1667889514952984960_ <> bigInteger("-wwwwwwwwwwww", 33) or 1020 -2386420683693101055_ <> bigInteger("-xxxxxxxxxxxx", 34) or 1021 -3379220508056640624_ <> bigInteger("-yyyyyyyyyyyy", 35) or 1022 -4738381338321616895_ <> bigInteger("-zzzzzzzzzzzz", 36) or 1023 -5559917313492231480_ <> bigInteger("-AAAAAAAAAAAAAAAAAA", 11) or 1024 -184884258895036415_ <> bigInteger("-BBBBBBBBBBBBBBBB", 12) or 1025 -665416609183179840_ <> bigInteger("-CCCCCCCCCCCCCCCC", 13) or 1026 -2177953337809371135_ <> bigInteger("-DDDDDDDDDDDDDDDD", 14) or 1027 -6568408355712890624_ <> bigInteger("-EEEEEEEEEEEEEEEE", 15) or 1028 -72057594037927935_ <> bigInteger("-FFFFFFFFFFFFFF", 16) or 1029 -168377826559400928_ <> bigInteger("-GGGGGGGGGGGGGG", 17) or 1030 -374813367582081023_ <> bigInteger("-HHHHHHHHHHHHHH", 18) or 1031 -799006685782884120_ <> bigInteger("-IIIIIIIIIIIIII", 19) or 1032 -1638399999999999999_ <> bigInteger("-JJJJJJJJJJJJJJ", 20) or 1033 -3243919932521508680_ <> bigInteger("-KKKKKKKKKKKKKK", 21) or 1034 -6221821273427820543_ <> bigInteger("-LLLLLLLLLLLLLL", 22) or 1035 -11592836324538749808_ <> bigInteger("-MMMMMMMMMMMMMM", 23) or 1036 -36520347436056575_ <> bigInteger("-NNNNNNNNNNNN", 24) or 1037 -59604644775390624_ <> bigInteger("-OOOOOOOOOOOO", 25) or 1038 -95428956661682175_ <> bigInteger("-PPPPPPPPPPPP", 26) or 1039 -150094635296999120_ <> bigInteger("-QQQQQQQQQQQQ", 27) or 1040 -232218265089212415_ <> bigInteger("-RRRRRRRRRRRR", 28) or 1041 -353814783205469040_ <> bigInteger("-SSSSSSSSSSSS", 29) or 1042 -531440999999999999_ <> bigInteger("-TTTTTTTTTTTT", 30) or 1043 -787662783788549760_ <> bigInteger("-UUUUUUUUUUUU", 31) or 1044 -1152921504606846975_ <> bigInteger("-VVVVVVVVVVVV", 32) or 1045 -1667889514952984960_ <> bigInteger("-WWWWWWWWWWWW", 33) or 1046 -2386420683693101055_ <> bigInteger("-XXXXXXXXXXXX", 34) or 1047 -3379220508056640624_ <> bigInteger("-YYYYYYYYYYYY", 35) or 1048 -4738381338321616895_ <> bigInteger("-ZZZZZZZZZZZZ", 36) or 1049 -4611686018427387904_ <> bigInteger("-100000000000000000000000000000000000000000000000000000000000000", 2) or 1050 -12157665459056928801_ <> bigInteger("-10000000000000000000000000000000000000000", 3) or 1051 -1152921504606846976_ <> bigInteger("-1000000000000000000000000000000", 4) or 1052 -1490116119384765625_ <> bigInteger("-100000000000000000000000000", 5) or 1053 -4738381338321616896_ <> bigInteger("-1000000000000000000000000", 6) or 1054 -3909821048582988049_ <> bigInteger("-10000000000000000000000", 7) or 1055 -1152921504606846976_ <> bigInteger("-100000000000000000000", 8) or 1056 -12157665459056928801_ <> bigInteger("-100000000000000000000", 9) or 1057 -1000000000000000000_ <> bigInteger("-1000000000000000000", 10) or 1058 -5559917313492231481_ <> bigInteger("-1000000000000000000", 11) or 1059 -184884258895036416_ <> bigInteger("-10000000000000000", 12) or 1060 -665416609183179841_ <> bigInteger("-10000000000000000", 13) or 1061 -2177953337809371136_ <> bigInteger("-10000000000000000", 14) or 1062 -6568408355712890625_ <> bigInteger("-10000000000000000", 15) or 1063 -72057594037927936_ <> bigInteger("-100000000000000", 16) or 1064 -168377826559400929_ <> bigInteger("-100000000000000", 17) or 1065 -374813367582081024_ <> bigInteger("-100000000000000", 18) or 1066 -799006685782884121_ <> bigInteger("-100000000000000", 19) or 1067 -1638400000000000000_ <> bigInteger("-100000000000000", 20) or 1068 -3243919932521508681_ <> bigInteger("-100000000000000", 21) or 1069 -6221821273427820544_ <> bigInteger("-100000000000000", 22) or 1070 -11592836324538749809_ <> bigInteger("-100000000000000", 23) or 1071 -36520347436056576_ <> bigInteger("-1000000000000", 24) or 1072 -59604644775390625_ <> bigInteger("-1000000000000", 25) or 1073 -95428956661682176_ <> bigInteger("-1000000000000", 26) or 1074 -150094635296999121_ <> bigInteger("-1000000000000", 27) or 1075 -232218265089212416_ <> bigInteger("-1000000000000", 28) or 1076 -353814783205469041_ <> bigInteger("-1000000000000", 29) or 1077 -531441000000000000_ <> bigInteger("-1000000000000", 30) or 1078 -787662783788549761_ <> bigInteger("-1000000000000", 31) or 1079 -1152921504606846976_ <> bigInteger("-1000000000000", 32) or 1080 -1667889514952984961_ <> bigInteger("-1000000000000", 33) or 1081 -2386420683693101056_ <> bigInteger("-1000000000000", 34) or 1082 -3379220508056640625_ <> bigInteger("-1000000000000", 35) or 1083 -4738381338321616896_ <> bigInteger("-1000000000000", 36) then 1084 writeln(" ***** Conversion of numeric string with specified radix does not work correct for negative values."); 1085 okay := FALSE; 1086 end if; 1087 1088 if 100000000000000000000_ <> bigInteger("1010110101111000111010111100010110101100011000100000000000000000000", 2) or 1089 100000000000000000000_ <> bigInteger("220200020122120112010222022122002000100201", 3) or 1090 100000000000000000000_ <> bigInteger("1112233013113202311203010000000000", 4) or 1091 100000000000000000000_ <> bigInteger("23202330100000000000000000000", 5) or 1092 100000000000000000000_ <> bigInteger("33034304013023440042054544", 6) or 1093 100000000000000000000_ <> bigInteger("344015313561621001452562", 7) or 1094 100000000000000000000_ <> bigInteger("12657072742654304000000", 8) or 1095 100000000000000000000_ <> bigInteger("820218515128278060321", 9) or 1096 100000000000000000000_ <> bigInteger("100000000000000000000", 10) or 1097 100000000000000000000_ <> bigInteger("16a9322885328081a121", 11) or 1098 100000000000000000000_ <> bigInteger("390a66958a9464aa454", 12) or 1099 100000000000000000000_ <> bigInteger("b7388131b304451099", 13) or 1100 100000000000000000000_ <> bigInteger("33cb3bb449c2a91332", 14) or 1101 100000000000000000000_ <> bigInteger("1035749e25953d996a", 15) or 1102 100000000000000000000_ <> bigInteger("56bc75e2d63100000", 16) or 1103 100000000000000000000_ <> bigInteger("20ff5dab9g7f47384", 17) or 1104 100000000000000000000_ <> bigInteger("eee706h921ebb55a", 18) or 1105 100000000000000000000_ <> bigInteger("6b2i1gcaddd4ga45", 19) or 1106 100000000000000000000_ <> bigInteger("310e150000000000", 20) or 1107 100000000000000000000_ <> bigInteger("19h7djcjj8f750dg", 21) or 1108 100000000000000000000_ <> bigInteger("g1d1d41kh0d406c", 22) or 1109 100000000000000000000_ <> bigInteger("8e93h381mich183", 23) or 1110 100000000000000000000_ <> bigInteger("4i24imni329g72g", 24) or 1111 100000000000000000000_ <> bigInteger("2h2i10000000000", 25) or 1112 100000000000000000000_ <> bigInteger("1e7na9ijd1jl6hm", 26) or 1113 100000000000000000000_ <> bigInteger("oi6hfe3q8h209j", 27) or 1114 100000000000000000000_ <> bigInteger("fahhbc826cmp8g", 28) or 1115 100000000000000000000_ <> bigInteger("9liashaimceq07", 29) or 1116 100000000000000000000_ <> bigInteger("6850qa888gnl3a", 30) or 1117 100000000000000000000_ <> bigInteger("42tlg9if3mmgip", 31) or 1118 100000000000000000000_ <> bigInteger("2mnhqu5lhh0000", 32) or 1119 100000000000000000000_ <> bigInteger("1qvi340qbei9u1", 33) or 1120 100000000000000000000_ <> bigInteger("17uopd8lcnm544", 34) or 1121 100000000000000000000_ <> bigInteger("tkpxpiyscferu", 35) or 1122 100000000000000000000_ <> bigInteger("l3r41ifs0q5ts", 36) or 1123 100000000000000000000_ <> bigInteger("+1010110101111000111010111100010110101100011000100000000000000000000", 2) or 1124 100000000000000000000_ <> bigInteger("+220200020122120112010222022122002000100201", 3) or 1125 100000000000000000000_ <> bigInteger("+1112233013113202311203010000000000", 4) or 1126 100000000000000000000_ <> bigInteger("+23202330100000000000000000000", 5) or 1127 100000000000000000000_ <> bigInteger("+33034304013023440042054544", 6) or 1128 100000000000000000000_ <> bigInteger("+344015313561621001452562", 7) or 1129 100000000000000000000_ <> bigInteger("+12657072742654304000000", 8) or 1130 100000000000000000000_ <> bigInteger("+820218515128278060321", 9) or 1131 100000000000000000000_ <> bigInteger("+100000000000000000000", 10) or 1132 100000000000000000000_ <> bigInteger("+16a9322885328081a121", 11) or 1133 100000000000000000000_ <> bigInteger("+390a66958a9464aa454", 12) or 1134 100000000000000000000_ <> bigInteger("+b7388131b304451099", 13) or 1135 100000000000000000000_ <> bigInteger("+33cb3bb449c2a91332", 14) or 1136 100000000000000000000_ <> bigInteger("+1035749e25953d996a", 15) or 1137 100000000000000000000_ <> bigInteger("+56bc75e2d63100000", 16) or 1138 100000000000000000000_ <> bigInteger("+20ff5dab9g7f47384", 17) or 1139 100000000000000000000_ <> bigInteger("+eee706h921ebb55a", 18) or 1140 100000000000000000000_ <> bigInteger("+6b2i1gcaddd4ga45", 19) or 1141 100000000000000000000_ <> bigInteger("+310e150000000000", 20) or 1142 100000000000000000000_ <> bigInteger("+19h7djcjj8f750dg", 21) or 1143 100000000000000000000_ <> bigInteger("+g1d1d41kh0d406c", 22) or 1144 100000000000000000000_ <> bigInteger("+8e93h381mich183", 23) or 1145 100000000000000000000_ <> bigInteger("+4i24imni329g72g", 24) or 1146 100000000000000000000_ <> bigInteger("+2h2i10000000000", 25) or 1147 100000000000000000000_ <> bigInteger("+1e7na9ijd1jl6hm", 26) or 1148 100000000000000000000_ <> bigInteger("+oi6hfe3q8h209j", 27) or 1149 100000000000000000000_ <> bigInteger("+fahhbc826cmp8g", 28) or 1150 100000000000000000000_ <> bigInteger("+9liashaimceq07", 29) or 1151 100000000000000000000_ <> bigInteger("+6850qa888gnl3a", 30) or 1152 100000000000000000000_ <> bigInteger("+42tlg9if3mmgip", 31) or 1153 100000000000000000000_ <> bigInteger("+2mnhqu5lhh0000", 32) or 1154 100000000000000000000_ <> bigInteger("+1qvi340qbei9u1", 33) or 1155 100000000000000000000_ <> bigInteger("+17uopd8lcnm544", 34) or 1156 100000000000000000000_ <> bigInteger("+tkpxpiyscferu", 35) or 1157 100000000000000000000_ <> bigInteger("+l3r41ifs0q5ts", 36) or 1158 -100000000000000000000_ <> bigInteger("-1010110101111000111010111100010110101100011000100000000000000000000", 2) or 1159 -100000000000000000000_ <> bigInteger("-220200020122120112010222022122002000100201", 3) or 1160 -100000000000000000000_ <> bigInteger("-1112233013113202311203010000000000", 4) or 1161 -100000000000000000000_ <> bigInteger("-23202330100000000000000000000", 5) or 1162 -100000000000000000000_ <> bigInteger("-33034304013023440042054544", 6) or 1163 -100000000000000000000_ <> bigInteger("-344015313561621001452562", 7) or 1164 -100000000000000000000_ <> bigInteger("-12657072742654304000000", 8) or 1165 -100000000000000000000_ <> bigInteger("-820218515128278060321", 9) or 1166 -100000000000000000000_ <> bigInteger("-100000000000000000000", 10) or 1167 -100000000000000000000_ <> bigInteger("-16a9322885328081a121", 11) or 1168 -100000000000000000000_ <> bigInteger("-390a66958a9464aa454", 12) or 1169 -100000000000000000000_ <> bigInteger("-b7388131b304451099", 13) or 1170 -100000000000000000000_ <> bigInteger("-33cb3bb449c2a91332", 14) or 1171 -100000000000000000000_ <> bigInteger("-1035749e25953d996a", 15) or 1172 -100000000000000000000_ <> bigInteger("-56bc75e2d63100000", 16) or 1173 -100000000000000000000_ <> bigInteger("-20ff5dab9g7f47384", 17) or 1174 -100000000000000000000_ <> bigInteger("-eee706h921ebb55a", 18) or 1175 -100000000000000000000_ <> bigInteger("-6b2i1gcaddd4ga45", 19) or 1176 -100000000000000000000_ <> bigInteger("-310e150000000000", 20) or 1177 -100000000000000000000_ <> bigInteger("-19h7djcjj8f750dg", 21) or 1178 -100000000000000000000_ <> bigInteger("-g1d1d41kh0d406c", 22) or 1179 -100000000000000000000_ <> bigInteger("-8e93h381mich183", 23) or 1180 -100000000000000000000_ <> bigInteger("-4i24imni329g72g", 24) or 1181 -100000000000000000000_ <> bigInteger("-2h2i10000000000", 25) or 1182 -100000000000000000000_ <> bigInteger("-1e7na9ijd1jl6hm", 26) or 1183 -100000000000000000000_ <> bigInteger("-oi6hfe3q8h209j", 27) or 1184 -100000000000000000000_ <> bigInteger("-fahhbc826cmp8g", 28) or 1185 -100000000000000000000_ <> bigInteger("-9liashaimceq07", 29) or 1186 -100000000000000000000_ <> bigInteger("-6850qa888gnl3a", 30) or 1187 -100000000000000000000_ <> bigInteger("-42tlg9if3mmgip", 31) or 1188 -100000000000000000000_ <> bigInteger("-2mnhqu5lhh0000", 32) or 1189 -100000000000000000000_ <> bigInteger("-1qvi340qbei9u1", 33) or 1190 -100000000000000000000_ <> bigInteger("-17uopd8lcnm544", 34) or 1191 -100000000000000000000_ <> bigInteger("-tkpxpiyscferu", 35) or 1192 -100000000000000000000_ <> bigInteger("-l3r41ifs0q5ts", 36) then 1193 writeln(" ***** Conversion of numeric string with specified radix does not work correct."); 1194 okay := FALSE; 1195 end if; 1196 1197 if -18446744069414584320_ <> bigInteger("-1111111111111111111111111111111100000000000000000000000000000000",2) or 1198 -18446744069414584320_ <> bigInteger("-33333333333333330000000000000000",4) or 1199 -18446744069414584320_ <> bigInteger("-1777777777740000000000", 8) or 1200 -18446744069414584320_ <> bigInteger("-ffffffff00000000", 16) or 1201 -18446744069414584320_ <> bigInteger("-fvvvvvs000000", 32) then 1202 writeln(" ***** Conversion of numeric string with specified radix does not work correct."); 1203 okay := FALSE; 1204 end if; 1205 1206 if bigInteger("AaBbCcDdEeFf", 16) <> 187723572702975_ or 1207 bigInteger("AaBbCcDdEeFfGgHhIiJjKk", 32) <> 418774549551207875851350455209620_ or 1208 bigInteger("LlMmNnOoPpQqRrSsTtUuVv", 32) <> 879381528937361939672604161833983_ or 1209 bigInteger("AaBbCcDdEeFfGgHhIiJjKkLlMm", 36) <> 8314392270933518733105677545691200337086_ or 1210 bigInteger("NnOoPpQqRrSsTtUuVvWwXxYyZz", 36) <> 19122267638176649601133944203224314202799_ then 1211 writeln(" ***** Conversion of numeric string with specified radix does not work correct for upper case chars."); 1212 okay := FALSE; 1213 end if; 1214 1215 if not raisesRangeError(bigInteger("99999999a999999999")) or 1216 not raisesRangeError(bigInteger("-9999999999a9999999")) or 1217 not raisesRangeError(bigInteger("@")) or 1218 not raisesRangeError(bigInteger("+")) or 1219 not raisesRangeError(bigInteger("++")) or 1220 not raisesRangeError(bigInteger("+-")) or 1221 not raisesRangeError(bigInteger("++1")) or 1222 not raisesRangeError(bigInteger("+-1")) or 1223 not raisesRangeError(bigInteger("-")) or 1224 not raisesRangeError(bigInteger("--")) or 1225 not raisesRangeError(bigInteger("-+")) or 1226 not raisesRangeError(bigInteger("--1")) or 1227 not raisesRangeError(bigInteger("-+1")) or 1228 not raisesRangeError(bigInteger("")) or 1229 not raisesRangeError(bigInteger(" 123")) or 1230 not raisesRangeError(bigInteger("\a123")) or 1231 not raisesRangeError(bigInteger("\f123")) or 1232 not raisesRangeError(bigInteger("\n123")) or 1233 not raisesRangeError(bigInteger("\r123")) or 1234 not raisesRangeError(bigInteger("\t123")) or 1235 not raisesRangeError(bigInteger("\v123")) or 1236 not raisesRangeError(bigInteger("123 ")) or 1237 not raisesRangeError(bigInteger("123\a")) or 1238 not raisesRangeError(bigInteger("123\f")) or 1239 not raisesRangeError(bigInteger("123\n")) or 1240 not raisesRangeError(bigInteger("123\r")) or 1241 not raisesRangeError(bigInteger("123\t")) or 1242 not raisesRangeError(bigInteger("123\v")) or 1243 not raisesRangeError(bigInteger("123@")) or 1244 not raisesRangeError(bigInteger("123@456")) or 1245 not raisesRangeError(bigInteger(striExpr("99999999a999999999"))) or 1246 not raisesRangeError(bigInteger(striExpr("-9999999999a9999999"))) or 1247 not raisesRangeError(bigInteger(striExpr("@"))) or 1248 not raisesRangeError(bigInteger(striExpr("+"))) or 1249 not raisesRangeError(bigInteger(striExpr("++"))) or 1250 not raisesRangeError(bigInteger(striExpr("+-"))) or 1251 not raisesRangeError(bigInteger(striExpr("++1"))) or 1252 not raisesRangeError(bigInteger(striExpr("+-1"))) or 1253 not raisesRangeError(bigInteger(striExpr("-"))) or 1254 not raisesRangeError(bigInteger(striExpr("--"))) or 1255 not raisesRangeError(bigInteger(striExpr("-+"))) or 1256 not raisesRangeError(bigInteger(striExpr("--1"))) or 1257 not raisesRangeError(bigInteger(striExpr("-+1"))) or 1258 not raisesRangeError(bigInteger(striExpr(""))) or 1259 not raisesRangeError(bigInteger(striExpr(" 123"))) or 1260 not raisesRangeError(bigInteger(striExpr("\a123"))) or 1261 not raisesRangeError(bigInteger(striExpr("\f123"))) or 1262 not raisesRangeError(bigInteger(striExpr("\n123"))) or 1263 not raisesRangeError(bigInteger(striExpr("\r123"))) or 1264 not raisesRangeError(bigInteger(striExpr("\t123"))) or 1265 not raisesRangeError(bigInteger(striExpr("\v123"))) or 1266 not raisesRangeError(bigInteger(striExpr("123 "))) or 1267 not raisesRangeError(bigInteger(striExpr("123\a"))) or 1268 not raisesRangeError(bigInteger(striExpr("123\f"))) or 1269 not raisesRangeError(bigInteger(striExpr("123\n"))) or 1270 not raisesRangeError(bigInteger(striExpr("123\r"))) or 1271 not raisesRangeError(bigInteger(striExpr("123\t"))) or 1272 not raisesRangeError(bigInteger(striExpr("123\v"))) or 1273 not raisesRangeError(bigInteger(striExpr("123@"))) or 1274 not raisesRangeError(bigInteger(striExpr("123@456"))) then 1275 writeln(" ***** Conversion of illegal numeric literal does not raise RANGE_ERROR. (1)"); 1276 okay := FALSE; 1277 end if; 1278 1279 if not raisesRangeError(bigInteger parse "99999999a999999999") or 1280 not raisesRangeError(bigInteger parse "-9999999999a9999999") or 1281 not raisesRangeError(bigInteger parse "@") or 1282 not raisesRangeError(bigInteger parse "+") or 1283 not raisesRangeError(bigInteger parse "++") or 1284 not raisesRangeError(bigInteger parse "+-") or 1285 not raisesRangeError(bigInteger parse "++1") or 1286 not raisesRangeError(bigInteger parse "+-1") or 1287 not raisesRangeError(bigInteger parse "-") or 1288 not raisesRangeError(bigInteger parse "--") or 1289 not raisesRangeError(bigInteger parse "-+") or 1290 not raisesRangeError(bigInteger parse "--1") or 1291 not raisesRangeError(bigInteger parse "-+1") or 1292 not raisesRangeError(bigInteger parse "") or 1293 not raisesRangeError(bigInteger parse " 123") or 1294 not raisesRangeError(bigInteger parse "\a123") or 1295 not raisesRangeError(bigInteger parse "\f123") or 1296 not raisesRangeError(bigInteger parse "\n123") or 1297 not raisesRangeError(bigInteger parse "\r123") or 1298 not raisesRangeError(bigInteger parse "\t123") or 1299 not raisesRangeError(bigInteger parse "\v123") or 1300 not raisesRangeError(bigInteger parse "123 ") or 1301 not raisesRangeError(bigInteger parse "123\a") or 1302 not raisesRangeError(bigInteger parse "123\f") or 1303 not raisesRangeError(bigInteger parse "123\n") or 1304 not raisesRangeError(bigInteger parse "123\r") or 1305 not raisesRangeError(bigInteger parse "123\t") or 1306 not raisesRangeError(bigInteger parse "123\v") or 1307 not raisesRangeError(bigInteger parse "123@") or 1308 not raisesRangeError(bigInteger parse "123@456") or 1309 not raisesRangeError(bigInteger parse striExpr("99999999a999999999")) or 1310 not raisesRangeError(bigInteger parse striExpr("-9999999999a9999999")) or 1311 not raisesRangeError(bigInteger parse striExpr("@")) or 1312 not raisesRangeError(bigInteger parse striExpr("+")) or 1313 not raisesRangeError(bigInteger parse striExpr("++")) or 1314 not raisesRangeError(bigInteger parse striExpr("+-")) or 1315 not raisesRangeError(bigInteger parse striExpr("++1")) or 1316 not raisesRangeError(bigInteger parse striExpr("+-1")) or 1317 not raisesRangeError(bigInteger parse striExpr("-")) or 1318 not raisesRangeError(bigInteger parse striExpr("--")) or 1319 not raisesRangeError(bigInteger parse striExpr("-+")) or 1320 not raisesRangeError(bigInteger parse striExpr("--1")) or 1321 not raisesRangeError(bigInteger parse striExpr("-+1")) or 1322 not raisesRangeError(bigInteger parse striExpr("")) or 1323 not raisesRangeError(bigInteger parse striExpr(" 123")) or 1324 not raisesRangeError(bigInteger parse striExpr("\a123")) or 1325 not raisesRangeError(bigInteger parse striExpr("\f123")) or 1326 not raisesRangeError(bigInteger parse striExpr("\n123")) or 1327 not raisesRangeError(bigInteger parse striExpr("\r123")) or 1328 not raisesRangeError(bigInteger parse striExpr("\t123")) or 1329 not raisesRangeError(bigInteger parse striExpr("\v123")) or 1330 not raisesRangeError(bigInteger parse striExpr("123 ")) or 1331 not raisesRangeError(bigInteger parse striExpr("123\a")) or 1332 not raisesRangeError(bigInteger parse striExpr("123\f")) or 1333 not raisesRangeError(bigInteger parse striExpr("123\n")) or 1334 not raisesRangeError(bigInteger parse striExpr("123\r")) or 1335 not raisesRangeError(bigInteger parse striExpr("123\t")) or 1336 not raisesRangeError(bigInteger parse striExpr("123\v")) or 1337 not raisesRangeError(bigInteger parse striExpr("123@")) or 1338 not raisesRangeError(bigInteger parse striExpr("123@456")) then 1339 writeln(" ***** Conversion of illegal numeric literal does not raise RANGE_ERROR. (2)"); 1340 okay := FALSE; 1341 end if; 1342 1343 if not raisesRangeError(bigInteger("11111111111111112111111111111111111111111111111111111111111111", 2)) or 1344 not raisesRangeError(bigInteger("2222222222222223222222222222222222222222", 3)) or 1345 not raisesRangeError(bigInteger("333333333333334333333333333333", 4)) or 1346 not raisesRangeError(bigInteger("44444444444445444444444444", 5)) or 1347 not raisesRangeError(bigInteger("555555555555655555555555", 6)) or 1348 not raisesRangeError(bigInteger("6666666666676666666666", 7)) or 1349 not raisesRangeError(bigInteger("77777777778777777777", 8)) or 1350 not raisesRangeError(bigInteger("88888888898888888888", 9)) or 1351 not raisesRangeError(bigInteger("99999999a999999999", 10)) or 1352 not raisesRangeError(bigInteger("aaaaaaabaaaaaaaaaa", 11)) or 1353 not raisesRangeError(bigInteger("bbbbbbcbbbbbbbbb", 12)) or 1354 not raisesRangeError(bigInteger("cccccdcccccccccc", 13)) or 1355 not raisesRangeError(bigInteger("ddddeddddddddddd", 14)) or 1356 not raisesRangeError(bigInteger("eeefeeeeeeeeeeee", 15)) or 1357 not raisesRangeError(bigInteger("ffgfffffffffff", 16)) or 1358 not raisesRangeError(bigInteger("ghgggggggggggg", 17)) or 1359 not raisesRangeError(bigInteger("hhihhhhhhhhhhh", 18)) or 1360 not raisesRangeError(bigInteger("iiijiiiiiiiiii", 19)) or 1361 not raisesRangeError(bigInteger("jjjjkjjjjjjjjj", 20)) or 1362 not raisesRangeError(bigInteger("kkkkklkkkkkkkk", 21)) or 1363 not raisesRangeError(bigInteger("llllllmlllllll", 22)) or 1364 not raisesRangeError(bigInteger("mmmmmmmnmmmmmm", 23)) or 1365 not raisesRangeError(bigInteger("nnnnnnnnonnn", 24)) or 1366 not raisesRangeError(bigInteger("ooooooooopoo", 25)) or 1367 not raisesRangeError(bigInteger("ppppppppppqp", 26)) or 1368 not raisesRangeError(bigInteger("qqqqqqqqqrqq", 27)) or 1369 not raisesRangeError(bigInteger("rrrrrrrrsrrr", 28)) or 1370 not raisesRangeError(bigInteger("ssssssstssss", 29)) or 1371 not raisesRangeError(bigInteger("ttttttuttttt", 30)) or 1372 not raisesRangeError(bigInteger("uuuuuvuuuuuu", 31)) or 1373 not raisesRangeError(bigInteger("vvvvwvvvvvvv", 32)) or 1374 not raisesRangeError(bigInteger("wwwxwwwwwwww", 33)) or 1375 not raisesRangeError(bigInteger("xxyxxxxxxxxx", 34)) or 1376 not raisesRangeError(bigInteger("yzyyyyyyyyyy", 35)) or 1377 not raisesRangeError(bigInteger("AAAAAAAAAAAAAAAABA", 11)) or 1378 not raisesRangeError(bigInteger("BBBBBBBBBBBBBBBC", 12)) or 1379 not raisesRangeError(bigInteger("CCCCCCCCCCCCCCDC", 13)) or 1380 not raisesRangeError(bigInteger("DDDDDDDDDDDDDEDD", 14)) or 1381 not raisesRangeError(bigInteger("EEEEEEEEEEEEFEEE", 15)) or 1382 not raisesRangeError(bigInteger("FFFFFFFFFFFGFF", 16)) or 1383 not raisesRangeError(bigInteger("GGGGGGGGGGHGGG", 17)) or 1384 not raisesRangeError(bigInteger("HHHHHHHHHIHHHH", 18)) or 1385 not raisesRangeError(bigInteger("IIIIIIIIJIIIII", 19)) or 1386 not raisesRangeError(bigInteger("JJJJJJJKJJJJJJ", 20)) or 1387 not raisesRangeError(bigInteger("KKKKKKLKKKKKKK", 21)) or 1388 not raisesRangeError(bigInteger("LLLLLMLLLLLLLL", 22)) or 1389 not raisesRangeError(bigInteger("MMMMNMMMMMMMMM", 23)) or 1390 not raisesRangeError(bigInteger("NNNONNNNNNNN", 24)) or 1391 not raisesRangeError(bigInteger("OOPOOOOOOOOO", 25)) or 1392 not raisesRangeError(bigInteger("PQPPPPPPPPPP", 26)) or 1393 not raisesRangeError(bigInteger("QQRQQQQQQQQQ", 27)) or 1394 not raisesRangeError(bigInteger("RRRSRRRRRRRR", 28)) or 1395 not raisesRangeError(bigInteger("SSSSTSSSSSSS", 29)) or 1396 not raisesRangeError(bigInteger("TTTTTUTTTTTT", 30)) or 1397 not raisesRangeError(bigInteger("UUUUUUVUUUUU", 31)) or 1398 not raisesRangeError(bigInteger("VVVVVVVWVVVV", 32)) or 1399 not raisesRangeError(bigInteger("WWWWWWWWXWWW", 33)) or 1400 not raisesRangeError(bigInteger("XXXXXXXXXYXX", 34)) or 1401 not raisesRangeError(bigInteger("YYYYYYYYYYZY", 35)) or 1402 not raisesRangeError(bigInteger("-11111111111111111111111112111111111111111111111111111111111111", 2)) or 1403 not raisesRangeError(bigInteger("-2222222222222222222222223222222222222222", 3)) or 1404 not raisesRangeError(bigInteger("-333333333333333333333334333333", 4)) or 1405 not raisesRangeError(bigInteger("-44444444444444444444445444", 5)) or 1406 not raisesRangeError(bigInteger("-555555555555555555555655", 6)) or 1407 not raisesRangeError(bigInteger("-6666666666666666666676", 7)) or 1408 not raisesRangeError(bigInteger("-77777777777777777778", 8)) or 1409 not raisesRangeError(bigInteger("-88888888888888888898", 9)) or 1410 not raisesRangeError(bigInteger("-99999999999999999a", 10)) or 1411 not raisesRangeError(bigInteger("-aaaaaaaaaaaaaaaaba", 11)) or 1412 not raisesRangeError(bigInteger("-bbbbbbbbbbbbbbbc", 12)) or 1413 not raisesRangeError(bigInteger("-ccccccccccccccdc", 13)) or 1414 not raisesRangeError(bigInteger("-dddddddddddddedd", 14)) or 1415 not raisesRangeError(bigInteger("-eeeeeeeeeeeefeee", 15)) or 1416 not raisesRangeError(bigInteger("-fffffffffffgff", 16)) or 1417 not raisesRangeError(bigInteger("-gggggggggghggg", 17)) or 1418 not raisesRangeError(bigInteger("-hhhhhhhhhihhhh", 18)) or 1419 not raisesRangeError(bigInteger("-iiiiiiiijiiiii", 19)) or 1420 not raisesRangeError(bigInteger("-jjjjjjjkjjjjjj", 20)) or 1421 not raisesRangeError(bigInteger("-kkkkkklkkkkkkk", 21)) or 1422 not raisesRangeError(bigInteger("-lllllmllllllll", 22)) or 1423 not raisesRangeError(bigInteger("-mmmmnmmmmmmmmm", 23)) or 1424 not raisesRangeError(bigInteger("-nnnonnnnnnnn", 24)) or 1425 not raisesRangeError(bigInteger("-oopooooooooo", 25)) or 1426 not raisesRangeError(bigInteger("-pqpppppppppp", 26)) or 1427 not raisesRangeError(bigInteger("-qqrqqqqqqqqq", 27)) or 1428 not raisesRangeError(bigInteger("-rrrsrrrrrrrr", 28)) or 1429 not raisesRangeError(bigInteger("-sssstsssssss", 29)) or 1430 not raisesRangeError(bigInteger("-tttttutttttt", 30)) or 1431 not raisesRangeError(bigInteger("-uuuuuuvuuuuu", 31)) or 1432 not raisesRangeError(bigInteger("-vvvvvvvwvvvv", 32)) or 1433 not raisesRangeError(bigInteger("-wwwwwwwwxwww", 33)) or 1434 not raisesRangeError(bigInteger("-xxxxxxxxxyxx", 34)) or 1435 not raisesRangeError(bigInteger("-yyyyyyyyyyzy", 35)) or 1436 not raisesRangeError(bigInteger("-AAAAAAABAAAAAAAAAA", 11)) or 1437 not raisesRangeError(bigInteger("-BBBBBBCBBBBBBBBB", 12)) or 1438 not raisesRangeError(bigInteger("-CCCCCDCCCCCCCCCC", 13)) or 1439 not raisesRangeError(bigInteger("-DDDDEDDDDDDDDDDD", 14)) or 1440 not raisesRangeError(bigInteger("-EEEFEEEEEEEEEEEE", 15)) or 1441 not raisesRangeError(bigInteger("-FFGFFFFFFFFFFF", 16)) or 1442 not raisesRangeError(bigInteger("-GHGGGGGGGGGGGG", 17)) or 1443 not raisesRangeError(bigInteger("-HHIHHHHHHHHHHH", 18)) or 1444 not raisesRangeError(bigInteger("-IIIJIIIIIIIIII", 19)) or 1445 not raisesRangeError(bigInteger("-JJJJKJJJJJJJJJ", 20)) or 1446 not raisesRangeError(bigInteger("-KKKKKLKKKKKKKK", 21)) or 1447 not raisesRangeError(bigInteger("-LLLLLLMLLLLLLL", 22)) or 1448 not raisesRangeError(bigInteger("-MMMMMMMNMMMMMM", 23)) or 1449 not raisesRangeError(bigInteger("-NNNNNNNNONNN", 24)) or 1450 not raisesRangeError(bigInteger("-OOOOOOOOOPOO", 25)) or 1451 not raisesRangeError(bigInteger("-PPPPPPPPPPQP", 26)) or 1452 not raisesRangeError(bigInteger("-QQQQQQQQQRQQ", 27)) or 1453 not raisesRangeError(bigInteger("-RRRRRRRRSRRR", 28)) or 1454 not raisesRangeError(bigInteger("-SSSSSSSTSSSS", 29)) or 1455 not raisesRangeError(bigInteger("-TTTTTTUTTTTT", 30)) or 1456 not raisesRangeError(bigInteger("-UUUUUVUUUUUU", 31)) or 1457 not raisesRangeError(bigInteger("-VVVVWVVVVVVV", 32)) or 1458 not raisesRangeError(bigInteger("-WWWXWWWWWWWW", 33)) or 1459 not raisesRangeError(bigInteger("-XXYXXXXXXXXX", 34)) or 1460 not raisesRangeError(bigInteger("-YZYYYYYYYYYY", 35)) or 1461 not raisesRangeError(bigInteger("", 2)) or 1462 not raisesRangeError(bigInteger("", 3)) or 1463 not raisesRangeError(bigInteger("", 4)) or 1464 not raisesRangeError(bigInteger("", 5)) or 1465 not raisesRangeError(bigInteger("", 6)) or 1466 not raisesRangeError(bigInteger("", 7)) or 1467 not raisesRangeError(bigInteger("", 8)) or 1468 not raisesRangeError(bigInteger("", 9)) or 1469 not raisesRangeError(bigInteger("", 10)) or 1470 not raisesRangeError(bigInteger("", 11)) or 1471 not raisesRangeError(bigInteger("", 12)) or 1472 not raisesRangeError(bigInteger("", 13)) or 1473 not raisesRangeError(bigInteger("", 14)) or 1474 not raisesRangeError(bigInteger("", 15)) or 1475 not raisesRangeError(bigInteger("", 16)) or 1476 not raisesRangeError(bigInteger("", 17)) or 1477 not raisesRangeError(bigInteger("", 18)) or 1478 not raisesRangeError(bigInteger("", 19)) or 1479 not raisesRangeError(bigInteger("", 20)) or 1480 not raisesRangeError(bigInteger("", 21)) or 1481 not raisesRangeError(bigInteger("", 22)) or 1482 not raisesRangeError(bigInteger("", 23)) or 1483 not raisesRangeError(bigInteger("", 24)) or 1484 not raisesRangeError(bigInteger("", 25)) or 1485 not raisesRangeError(bigInteger("", 26)) or 1486 not raisesRangeError(bigInteger("", 27)) or 1487 not raisesRangeError(bigInteger("", 28)) or 1488 not raisesRangeError(bigInteger("", 29)) or 1489 not raisesRangeError(bigInteger("", 30)) or 1490 not raisesRangeError(bigInteger("", 31)) or 1491 not raisesRangeError(bigInteger("", 32)) or 1492 not raisesRangeError(bigInteger("", 33)) or 1493 not raisesRangeError(bigInteger("", 34)) or 1494 not raisesRangeError(bigInteger("", 35)) or 1495 not raisesRangeError(bigInteger("", 36)) or 1496 not raisesRangeError(bigInteger("+", 2)) or 1497 not raisesRangeError(bigInteger("+", 3)) or 1498 not raisesRangeError(bigInteger("+", 4)) or 1499 not raisesRangeError(bigInteger("+", 5)) or 1500 not raisesRangeError(bigInteger("+", 6)) or 1501 not raisesRangeError(bigInteger("+", 7)) or 1502 not raisesRangeError(bigInteger("+", 8)) or 1503 not raisesRangeError(bigInteger("+", 9)) or 1504 not raisesRangeError(bigInteger("+", 10)) or 1505 not raisesRangeError(bigInteger("+", 11)) or 1506 not raisesRangeError(bigInteger("+", 12)) or 1507 not raisesRangeError(bigInteger("+", 13)) or 1508 not raisesRangeError(bigInteger("+", 14)) or 1509 not raisesRangeError(bigInteger("+", 15)) or 1510 not raisesRangeError(bigInteger("+", 16)) or 1511 not raisesRangeError(bigInteger("+", 17)) or 1512 not raisesRangeError(bigInteger("+", 18)) or 1513 not raisesRangeError(bigInteger("+", 19)) or 1514 not raisesRangeError(bigInteger("+", 20)) or 1515 not raisesRangeError(bigInteger("+", 21)) or 1516 not raisesRangeError(bigInteger("+", 22)) or 1517 not raisesRangeError(bigInteger("+", 23)) or 1518 not raisesRangeError(bigInteger("+", 24)) or 1519 not raisesRangeError(bigInteger("+", 25)) or 1520 not raisesRangeError(bigInteger("+", 26)) or 1521 not raisesRangeError(bigInteger("+", 27)) or 1522 not raisesRangeError(bigInteger("+", 28)) or 1523 not raisesRangeError(bigInteger("+", 29)) or 1524 not raisesRangeError(bigInteger("+", 30)) or 1525 not raisesRangeError(bigInteger("+", 31)) or 1526 not raisesRangeError(bigInteger("+", 32)) or 1527 not raisesRangeError(bigInteger("+", 33)) or 1528 not raisesRangeError(bigInteger("+", 34)) or 1529 not raisesRangeError(bigInteger("+", 35)) or 1530 not raisesRangeError(bigInteger("+", 36)) or 1531 not raisesRangeError(bigInteger("-", 2)) or 1532 not raisesRangeError(bigInteger("-", 3)) or 1533 not raisesRangeError(bigInteger("-", 4)) or 1534 not raisesRangeError(bigInteger("-", 5)) or 1535 not raisesRangeError(bigInteger("-", 6)) or 1536 not raisesRangeError(bigInteger("-", 7)) or 1537 not raisesRangeError(bigInteger("-", 8)) or 1538 not raisesRangeError(bigInteger("-", 9)) or 1539 not raisesRangeError(bigInteger("-", 10)) or 1540 not raisesRangeError(bigInteger("-", 11)) or 1541 not raisesRangeError(bigInteger("-", 12)) or 1542 not raisesRangeError(bigInteger("-", 13)) or 1543 not raisesRangeError(bigInteger("-", 14)) or 1544 not raisesRangeError(bigInteger("-", 15)) or 1545 not raisesRangeError(bigInteger("-", 16)) or 1546 not raisesRangeError(bigInteger("-", 17)) or 1547 not raisesRangeError(bigInteger("-", 18)) or 1548 not raisesRangeError(bigInteger("-", 19)) or 1549 not raisesRangeError(bigInteger("-", 20)) or 1550 not raisesRangeError(bigInteger("-", 21)) or 1551 not raisesRangeError(bigInteger("-", 22)) or 1552 not raisesRangeError(bigInteger("-", 23)) or 1553 not raisesRangeError(bigInteger("-", 24)) or 1554 not raisesRangeError(bigInteger("-", 25)) or 1555 not raisesRangeError(bigInteger("-", 26)) or 1556 not raisesRangeError(bigInteger("-", 27)) or 1557 not raisesRangeError(bigInteger("-", 28)) or 1558 not raisesRangeError(bigInteger("-", 29)) or 1559 not raisesRangeError(bigInteger("-", 30)) or 1560 not raisesRangeError(bigInteger("-", 31)) or 1561 not raisesRangeError(bigInteger("-", 32)) or 1562 not raisesRangeError(bigInteger("-", 33)) or 1563 not raisesRangeError(bigInteger("-", 34)) or 1564 not raisesRangeError(bigInteger("-", 35)) or 1565 not raisesRangeError(bigInteger("-", 36)) or 1566 not raisesRangeError(bigInteger("0", 1)) or 1567 not raisesRangeError(bigInteger("0", 37)) then 1568 writeln(" ***** Conversion of numeric string with specified radix does not raise RANGE_ERROR."); 1569 okay := FALSE; 1570 end if; 1571 1572 if not raisesRangeError(bigInteger(" 1", 2)) or 1573 not raisesRangeError(bigInteger("\a12", 3)) or 1574 not raisesRangeError(bigInteger("\f123", 4)) or 1575 not raisesRangeError(bigInteger("\n123", 5)) or 1576 not raisesRangeError(bigInteger("\r123", 6)) or 1577 not raisesRangeError(bigInteger("\t123", 7)) or 1578 not raisesRangeError(bigInteger("\v123", 8)) or 1579 not raisesRangeError(bigInteger("123 ", 9)) or 1580 not raisesRangeError(bigInteger("123\a", 10)) or 1581 not raisesRangeError(bigInteger("123\f", 11)) or 1582 not raisesRangeError(bigInteger("123\n", 12)) or 1583 not raisesRangeError(bigInteger("123\r", 13)) or 1584 not raisesRangeError(bigInteger("123\t", 14)) or 1585 not raisesRangeError(bigInteger("123\v", 15)) or 1586 not raisesRangeError(bigInteger("123@", 16)) or 1587 not raisesRangeError(bigInteger("123@456", 17)) then 1588 writeln(" ***** Conversion of numeric string containing whitespace with specified radix does not raise RANGE_ERROR."); 1589 okay := FALSE; 1590 end if; 1591 1592 if okay then 1593 writeln("String conversion of bigInteger works correct."); 1594 else 1595 writeln(" ***** String conversion of bigInteger does not work correct."); 1596 writeln; 1597 end if; 1598 end func; 1599 1600 1601const proc: chkRadix is func 1602 local 1603 var integer: base is 0; 1604 var bigInteger: bigNum is 0_; 1605 var boolean: okay is TRUE; 1606 begin 1607 for base range 2 to 36 do 1608 if (0_ radix base) <> "0" or 1609 (1_ radix base) <> "1" or 1610 (bigInteger conv pred(base) radix base) <> (pred(base) radix base) or 1611 (bigInteger conv base radix base) <> "10" or 1612 (-1_ radix base) <> "-1" or 1613 (-bigInteger conv pred(base) radix base) <> (-pred(base) radix base) or 1614 (-bigInteger conv base radix base) <> "-10" then 1615 writeln(" ***** The radix operator for bigInteger for base " <& base <& " does not work correct."); 1616 okay := FALSE; 1617 end if; 1618 end for; 1619 1620 if (32767_ radix 2) <> "111111111111111" or 1621 (59048_ radix 3) <> "2222222222" or 1622 (16383_ radix 4) <> "3333333" or 1623 (15624_ radix 5) <> "444444" or 1624 (46655_ radix 6) <> "555555" or 1625 (16806_ radix 7) <> "66666" or 1626 (32767_ radix 8) <> "77777" or 1627 (59048_ radix 9) <> "88888" or 1628 ( 9999_ radix 10) <> "9999" or 1629 (14640_ radix 11) <> "aaaa" or 1630 (20735_ radix 12) <> "bbbb" or 1631 (28560_ radix 13) <> "cccc" or 1632 (38415_ radix 14) <> "dddd" or 1633 (50624_ radix 15) <> "eeee" or 1634 ( 4095_ radix 16) <> "fff" or 1635 ( 4912_ radix 17) <> "ggg" or 1636 ( 5831_ radix 18) <> "hhh" or 1637 ( 6858_ radix 19) <> "iii" or 1638 ( 7999_ radix 20) <> "jjj" or 1639 ( 9260_ radix 21) <> "kkk" or 1640 (10647_ radix 22) <> "lll" or 1641 (12166_ radix 23) <> "mmm" or 1642 (13823_ radix 24) <> "nnn" or 1643 (15624_ radix 25) <> "ooo" or 1644 (17575_ radix 26) <> "ppp" or 1645 (19682_ radix 27) <> "qqq" or 1646 (21951_ radix 28) <> "rrr" or 1647 (24388_ radix 29) <> "sss" or 1648 (26999_ radix 30) <> "ttt" or 1649 (29790_ radix 31) <> "uuu" or 1650 (32767_ radix 32) <> "vvv" or 1651 (35936_ radix 33) <> "www" or 1652 (39303_ radix 34) <> "xxx" or 1653 (42874_ radix 35) <> "yyy" or 1654 (46655_ radix 36) <> "zzz" or 1655 (32768_ radix 2) <> "1000000000000000" or 1656 (59049_ radix 3) <> "10000000000" or 1657 (16384_ radix 4) <> "10000000" or 1658 (15625_ radix 5) <> "1000000" or 1659 (46656_ radix 6) <> "1000000" or 1660 (16807_ radix 7) <> "100000" or 1661 (32768_ radix 8) <> "100000" or 1662 (59049_ radix 9) <> "100000" or 1663 (10000_ radix 10) <> "10000" or 1664 (14641_ radix 11) <> "10000" or 1665 (20736_ radix 12) <> "10000" or 1666 (28561_ radix 13) <> "10000" or 1667 (38416_ radix 14) <> "10000" or 1668 (50625_ radix 15) <> "10000" or 1669 ( 4096_ radix 16) <> "1000" or 1670 ( 4913_ radix 17) <> "1000" or 1671 ( 5832_ radix 18) <> "1000" or 1672 ( 6859_ radix 19) <> "1000" or 1673 ( 8000_ radix 20) <> "1000" or 1674 ( 9261_ radix 21) <> "1000" or 1675 (10648_ radix 22) <> "1000" or 1676 (12167_ radix 23) <> "1000" or 1677 (13824_ radix 24) <> "1000" or 1678 (15625_ radix 25) <> "1000" or 1679 (17576_ radix 26) <> "1000" or 1680 (19683_ radix 27) <> "1000" or 1681 (21952_ radix 28) <> "1000" or 1682 (24389_ radix 29) <> "1000" or 1683 (27000_ radix 30) <> "1000" or 1684 (29791_ radix 31) <> "1000" or 1685 (32768_ radix 32) <> "1000" or 1686 (35937_ radix 33) <> "1000" or 1687 (39304_ radix 34) <> "1000" or 1688 (42875_ radix 35) <> "1000" or 1689 (46656_ radix 36) <> "1000" or 1690 (2147483647_ radix 2) <> "1111111111111111111111111111111" or 1691 (3486784400_ radix 3) <> "22222222222222222222" or 1692 (1073741823_ radix 4) <> "333333333333333" or 1693 (1220703124_ radix 5) <> "4444444444444" or 1694 (2176782335_ radix 6) <> "555555555555" or 1695 (1977326742_ radix 7) <> "66666666666" or 1696 (1073741823_ radix 8) <> "7777777777" or 1697 (3486784400_ radix 9) <> "8888888888" or 1698 ( 999999999_ radix 10) <> "999999999" or 1699 (2357947690_ radix 11) <> "aaaaaaaaa" or 1700 ( 429981695_ radix 12) <> "bbbbbbbb" or 1701 ( 815730720_ radix 13) <> "cccccccc" or 1702 (1475789055_ radix 14) <> "dddddddd" or 1703 (2562890624_ radix 15) <> "eeeeeeee" or 1704 ( 268435455_ radix 16) <> "fffffff" or 1705 ( 410338672_ radix 17) <> "ggggggg" or 1706 ( 612220031_ radix 18) <> "hhhhhhh" or 1707 ( 893871738_ radix 19) <> "iiiiiii" or 1708 (1279999999_ radix 20) <> "jjjjjjj" or 1709 (1801088540_ radix 21) <> "kkkkkkk" or 1710 (2494357887_ radix 22) <> "lllllll" or 1711 (3404825446_ radix 23) <> "mmmmmmm" or 1712 ( 191102975_ radix 24) <> "nnnnnn" or 1713 ( 244140624_ radix 25) <> "oooooo" or 1714 ( 308915775_ radix 26) <> "pppppp" or 1715 ( 387420488_ radix 27) <> "qqqqqq" or 1716 ( 481890303_ radix 28) <> "rrrrrr" or 1717 ( 594823320_ radix 29) <> "ssssss" or 1718 ( 728999999_ radix 30) <> "tttttt" or 1719 ( 887503680_ radix 31) <> "uuuuuu" or 1720 (1073741823_ radix 32) <> "vvvvvv" or 1721 (1291467968_ radix 33) <> "wwwwww" or 1722 (1544804415_ radix 34) <> "xxxxxx" or 1723 (1838265624_ radix 35) <> "yyyyyy" or 1724 (2176782335_ radix 36) <> "zzzzzz" or 1725 (2147483648_ radix 2) <> "10000000000000000000000000000000" or 1726 (3486784401_ radix 3) <> "100000000000000000000" or 1727 (1073741824_ radix 4) <> "1000000000000000" or 1728 (1220703125_ radix 5) <> "10000000000000" or 1729 (2176782336_ radix 6) <> "1000000000000" or 1730 (1977326743_ radix 7) <> "100000000000" or 1731 (1073741824_ radix 8) <> "10000000000" or 1732 (3486784401_ radix 9) <> "10000000000" or 1733 (1000000000_ radix 10) <> "1000000000" or 1734 (2357947691_ radix 11) <> "1000000000" or 1735 ( 429981696_ radix 12) <> "100000000" or 1736 ( 815730721_ radix 13) <> "100000000" or 1737 (1475789056_ radix 14) <> "100000000" or 1738 (2562890625_ radix 15) <> "100000000" or 1739 ( 268435456_ radix 16) <> "10000000" or 1740 ( 410338673_ radix 17) <> "10000000" or 1741 ( 612220032_ radix 18) <> "10000000" or 1742 ( 893871739_ radix 19) <> "10000000" or 1743 (1280000000_ radix 20) <> "10000000" or 1744 (1801088541_ radix 21) <> "10000000" or 1745 (2494357888_ radix 22) <> "10000000" or 1746 (3404825447_ radix 23) <> "10000000" or 1747 ( 191102976_ radix 24) <> "1000000" or 1748 ( 244140625_ radix 25) <> "1000000" or 1749 ( 308915776_ radix 26) <> "1000000" or 1750 ( 387420489_ radix 27) <> "1000000" or 1751 ( 481890304_ radix 28) <> "1000000" or 1752 ( 594823321_ radix 29) <> "1000000" or 1753 ( 729000000_ radix 30) <> "1000000" or 1754 ( 887503681_ radix 31) <> "1000000" or 1755 (1073741824_ radix 32) <> "1000000" or 1756 (1291467969_ radix 33) <> "1000000" or 1757 (1544804416_ radix 34) <> "1000000" or 1758 (1838265625_ radix 35) <> "1000000" or 1759 (2176782336_ radix 36) <> "1000000" or 1760 ( 4611686016279904256_ radix 2) <> "11111111111111111111111111111110000000000000000000000000000000" or 1761 (12157665455570144400_ radix 3) <> "2222222222222222222200000000000000000000" or 1762 ( 1152921503533105152_ radix 4) <> "333333333333333000000000000000" or 1763 ( 1490116118164062500_ radix 5) <> "44444444444440000000000000" or 1764 ( 4738381336144834560_ radix 6) <> "555555555555000000000000" or 1765 ( 3909821046605661306_ radix 7) <> "6666666666600000000000" or 1766 ( 1152921503533105152_ radix 8) <> "77777777770000000000" or 1767 (12157665455570144400_ radix 9) <> "88888888880000000000" or 1768 ( 999999999000000000_ radix 10) <> "999999999000000000" or 1769 ( 5559917311134283790_ radix 11) <> "aaaaaaaaa000000000" or 1770 ( 184884258465054720_ radix 12) <> "bbbbbbbb00000000" or 1771 ( 665416608367449120_ radix 13) <> "cccccccc00000000" or 1772 ( 2177953336333582080_ radix 14) <> "dddddddd00000000" or 1773 ( 6568408353150000000_ radix 15) <> "eeeeeeee00000000" or 1774 ( 72057593769492480_ radix 16) <> "fffffff0000000" or 1775 ( 168377826149062256_ radix 17) <> "ggggggg0000000" or 1776 ( 374813366969860992_ radix 18) <> "hhhhhhh0000000" or 1777 ( 799006684889012382_ radix 19) <> "iiiiiii0000000" or 1778 ( 1638399998720000000_ radix 20) <> "jjjjjjj0000000" or 1779 ( 3243919930720420140_ radix 21) <> "kkkkkkk0000000" or 1780 ( 6221821270933462656_ radix 22) <> "lllllll0000000" or 1781 (11592836321133924362_ radix 23) <> "mmmmmmm0000000" or 1782 ( 36520347244953600_ radix 24) <> "nnnnnn000000" or 1783 ( 59604644531250000_ radix 25) <> "oooooo000000" or 1784 ( 95428956352766400_ radix 26) <> "pppppp000000" or 1785 ( 150094634909578632_ radix 27) <> "qqqqqq000000" or 1786 ( 232218264607322112_ radix 28) <> "rrrrrr000000" or 1787 ( 353814782610645720_ radix 29) <> "ssssss000000" or 1788 ( 531440999271000000_ radix 30) <> "tttttt000000" or 1789 ( 787662782901046080_ radix 31) <> "uuuuuu000000" or 1790 ( 1152921503533105152_ radix 32) <> "vvvvvv000000" or 1791 ( 1667889513661516992_ radix 33) <> "wwwwww000000" or 1792 ( 2386420682148296640_ radix 34) <> "xxxxxx000000" or 1793 ( 3379220506218375000_ radix 35) <> "yyyyyy000000" or 1794 ( 4738381336144834560_ radix 36) <> "zzzzzz000000" or 1795 ( 4611686018427387903_ radix 2) <> "11111111111111111111111111111111111111111111111111111111111111" or 1796 (12157665459056928800_ radix 3) <> "2222222222222222222222222222222222222222" or 1797 ( 1152921504606846975_ radix 4) <> "333333333333333333333333333333" or 1798 ( 1490116119384765624_ radix 5) <> "44444444444444444444444444" or 1799 ( 4738381338321616895_ radix 6) <> "555555555555555555555555" or 1800 ( 3909821048582988048_ radix 7) <> "6666666666666666666666" or 1801 ( 1152921504606846975_ radix 8) <> "77777777777777777777" or 1802 (12157665459056928800_ radix 9) <> "88888888888888888888" or 1803 ( 999999999999999999_ radix 10) <> "999999999999999999" or 1804 ( 5559917313492231480_ radix 11) <> "aaaaaaaaaaaaaaaaaa" or 1805 ( 184884258895036415_ radix 12) <> "bbbbbbbbbbbbbbbb" or 1806 ( 665416609183179840_ radix 13) <> "cccccccccccccccc" or 1807 ( 2177953337809371135_ radix 14) <> "dddddddddddddddd" or 1808 ( 6568408355712890624_ radix 15) <> "eeeeeeeeeeeeeeee" or 1809 ( 72057594037927935_ radix 16) <> "ffffffffffffff" or 1810 ( 168377826559400928_ radix 17) <> "gggggggggggggg" or 1811 ( 374813367582081023_ radix 18) <> "hhhhhhhhhhhhhh" or 1812 ( 799006685782884120_ radix 19) <> "iiiiiiiiiiiiii" or 1813 ( 1638399999999999999_ radix 20) <> "jjjjjjjjjjjjjj" or 1814 ( 3243919932521508680_ radix 21) <> "kkkkkkkkkkkkkk" or 1815 ( 6221821273427820543_ radix 22) <> "llllllllllllll" or 1816 (11592836324538749808_ radix 23) <> "mmmmmmmmmmmmmm" or 1817 ( 36520347436056575_ radix 24) <> "nnnnnnnnnnnn" or 1818 ( 59604644775390624_ radix 25) <> "oooooooooooo" or 1819 ( 95428956661682175_ radix 26) <> "pppppppppppp" or 1820 ( 150094635296999120_ radix 27) <> "qqqqqqqqqqqq" or 1821 ( 232218265089212415_ radix 28) <> "rrrrrrrrrrrr" or 1822 ( 353814783205469040_ radix 29) <> "ssssssssssss" or 1823 ( 531440999999999999_ radix 30) <> "tttttttttttt" or 1824 ( 787662783788549760_ radix 31) <> "uuuuuuuuuuuu" or 1825 ( 1152921504606846975_ radix 32) <> "vvvvvvvvvvvv" or 1826 ( 1667889514952984960_ radix 33) <> "wwwwwwwwwwww" or 1827 ( 2386420683693101055_ radix 34) <> "xxxxxxxxxxxx" or 1828 ( 3379220508056640624_ radix 35) <> "yyyyyyyyyyyy" or 1829 ( 4738381338321616895_ radix 36) <> "zzzzzzzzzzzz" or 1830 ( 4611686018427387904_ radix 2) <> "100000000000000000000000000000000000000000000000000000000000000" or 1831 (12157665459056928801_ radix 3) <> "10000000000000000000000000000000000000000" or 1832 ( 1152921504606846976_ radix 4) <> "1000000000000000000000000000000" or 1833 ( 1490116119384765625_ radix 5) <> "100000000000000000000000000" or 1834 ( 4738381338321616896_ radix 6) <> "1000000000000000000000000" or 1835 ( 3909821048582988049_ radix 7) <> "10000000000000000000000" or 1836 ( 1152921504606846976_ radix 8) <> "100000000000000000000" or 1837 (12157665459056928801_ radix 9) <> "100000000000000000000" or 1838 ( 1000000000000000000_ radix 10) <> "1000000000000000000" or 1839 ( 5559917313492231481_ radix 11) <> "1000000000000000000" or 1840 ( 184884258895036416_ radix 12) <> "10000000000000000" or 1841 ( 665416609183179841_ radix 13) <> "10000000000000000" or 1842 ( 2177953337809371136_ radix 14) <> "10000000000000000" or 1843 ( 6568408355712890625_ radix 15) <> "10000000000000000" or 1844 ( 72057594037927936_ radix 16) <> "100000000000000" or 1845 ( 168377826559400929_ radix 17) <> "100000000000000" or 1846 ( 374813367582081024_ radix 18) <> "100000000000000" or 1847 ( 799006685782884121_ radix 19) <> "100000000000000" or 1848 ( 1638400000000000000_ radix 20) <> "100000000000000" or 1849 ( 3243919932521508681_ radix 21) <> "100000000000000" or 1850 ( 6221821273427820544_ radix 22) <> "100000000000000" or 1851 (11592836324538749809_ radix 23) <> "100000000000000" or 1852 ( 36520347436056576_ radix 24) <> "1000000000000" or 1853 ( 59604644775390625_ radix 25) <> "1000000000000" or 1854 ( 95428956661682176_ radix 26) <> "1000000000000" or 1855 ( 150094635296999121_ radix 27) <> "1000000000000" or 1856 ( 232218265089212416_ radix 28) <> "1000000000000" or 1857 ( 353814783205469041_ radix 29) <> "1000000000000" or 1858 ( 531441000000000000_ radix 30) <> "1000000000000" or 1859 ( 787662783788549761_ radix 31) <> "1000000000000" or 1860 ( 1152921504606846976_ radix 32) <> "1000000000000" or 1861 ( 1667889514952984961_ radix 33) <> "1000000000000" or 1862 ( 2386420683693101056_ radix 34) <> "1000000000000" or 1863 ( 3379220508056640625_ radix 35) <> "1000000000000" or 1864 ( 4738381338321616896_ radix 36) <> "1000000000000" or 1865 ( 4611686020574871551_ radix 2) <> "100000000000000000000000000000001111111111111111111111111111111" or 1866 (12157665462543713201_ radix 3) <> "10000000000000000000022222222222222222222" or 1867 ( 1152921505680588799_ radix 4) <> "1000000000000000333333333333333" or 1868 ( 1490116120605468749_ radix 5) <> "100000000000004444444444444" or 1869 ( 4738381340498399231_ radix 6) <> "1000000000000555555555555" or 1870 ( 3909821050560314791_ radix 7) <> "10000000000066666666666" or 1871 ( 1152921505680588799_ radix 8) <> "100000000007777777777" or 1872 (12157665462543713201_ radix 9) <> "100000000008888888888" or 1873 ( 1000000000999999999_ radix 10) <> "1000000000999999999" or 1874 ( 5559917315850179171_ radix 11) <> "1000000000aaaaaaaaa" or 1875 ( 184884259325018111_ radix 12) <> "100000000bbbbbbbb" or 1876 ( 665416609998910561_ radix 13) <> "100000000cccccccc" or 1877 ( 2177953339285160191_ radix 14) <> "100000000dddddddd" or 1878 ( 6568408358275781249_ radix 15) <> "100000000eeeeeeee" or 1879 ( 72057594306363391_ radix 16) <> "10000000fffffff" or 1880 ( 168377826969739601_ radix 17) <> "10000000ggggggg" or 1881 ( 374813368194301055_ radix 18) <> "10000000hhhhhhh" or 1882 ( 799006686676755859_ radix 19) <> "10000000iiiiiii" or 1883 ( 1638400001279999999_ radix 20) <> "10000000jjjjjjj" or 1884 ( 3243919934322597221_ radix 21) <> "10000000kkkkkkk" or 1885 ( 6221821275922178431_ radix 22) <> "10000000lllllll" or 1886 (11592836327943575255_ radix 23) <> "10000000mmmmmmm" or 1887 ( 36520347627159551_ radix 24) <> "1000000nnnnnn" or 1888 ( 59604645019531249_ radix 25) <> "1000000oooooo" or 1889 ( 95428956970597951_ radix 26) <> "1000000pppppp" or 1890 ( 150094635684419609_ radix 27) <> "1000000qqqqqq" or 1891 ( 232218265571102719_ radix 28) <> "1000000rrrrrr" or 1892 ( 353814783800292361_ radix 29) <> "1000000ssssss" or 1893 ( 531441000728999999_ radix 30) <> "1000000tttttt" or 1894 ( 787662784676053441_ radix 31) <> "1000000uuuuuu" or 1895 ( 1152921505680588799_ radix 32) <> "1000000vvvvvv" or 1896 ( 1667889516244452929_ radix 33) <> "1000000wwwwww" or 1897 ( 2386420685237905471_ radix 34) <> "1000000xxxxxx" or 1898 ( 3379220509894906249_ radix 35) <> "1000000yyyyyy" or 1899 ( 4738381340498399231_ radix 36) <> "1000000zzzzzz" or 1900 ( 4611686020574871552_ radix 2) <> "100000000000000000000000000000010000000000000000000000000000000" or 1901 (12157665462543713202_ radix 3) <> "10000000000000000000100000000000000000000" or 1902 ( 1152921505680588800_ radix 4) <> "1000000000000001000000000000000" or 1903 ( 1490116120605468750_ radix 5) <> "100000000000010000000000000" or 1904 ( 4738381340498399232_ radix 6) <> "1000000000001000000000000" or 1905 ( 3909821050560314792_ radix 7) <> "10000000000100000000000" or 1906 ( 1152921505680588800_ radix 8) <> "100000000010000000000" or 1907 (12157665462543713202_ radix 9) <> "100000000010000000000" or 1908 ( 1000000001000000000_ radix 10) <> "1000000001000000000" or 1909 ( 5559917315850179172_ radix 11) <> "1000000001000000000" or 1910 ( 184884259325018112_ radix 12) <> "10000000100000000" or 1911 ( 665416609998910562_ radix 13) <> "10000000100000000" or 1912 ( 2177953339285160192_ radix 14) <> "10000000100000000" or 1913 ( 6568408358275781250_ radix 15) <> "10000000100000000" or 1914 ( 72057594306363392_ radix 16) <> "100000010000000" or 1915 ( 168377826969739602_ radix 17) <> "100000010000000" or 1916 ( 374813368194301056_ radix 18) <> "100000010000000" or 1917 ( 799006686676755860_ radix 19) <> "100000010000000" or 1918 ( 1638400001280000000_ radix 20) <> "100000010000000" or 1919 ( 3243919934322597222_ radix 21) <> "100000010000000" or 1920 ( 6221821275922178432_ radix 22) <> "100000010000000" or 1921 (11592836327943575256_ radix 23) <> "100000010000000" or 1922 ( 36520347627159552_ radix 24) <> "1000001000000" or 1923 ( 59604645019531250_ radix 25) <> "1000001000000" or 1924 ( 95428956970597952_ radix 26) <> "1000001000000" or 1925 ( 150094635684419610_ radix 27) <> "1000001000000" or 1926 ( 232218265571102720_ radix 28) <> "1000001000000" or 1927 ( 353814783800292362_ radix 29) <> "1000001000000" or 1928 ( 531441000729000000_ radix 30) <> "1000001000000" or 1929 ( 787662784676053442_ radix 31) <> "1000001000000" or 1930 ( 1152921505680588800_ radix 32) <> "1000001000000" or 1931 ( 1667889516244452930_ radix 33) <> "1000001000000" or 1932 ( 2386420685237905472_ radix 34) <> "1000001000000" or 1933 ( 3379220509894906250_ radix 35) <> "1000001000000" or 1934 ( 4738381340498399232_ radix 36) <> "1000001000000" or 1935 (100000000000000000000000000319_ radix 2) <> "1010000110001111000001111101011100110110101110010000101111100101010100000000000000000000100111111" or 1936 (100000000000000000000000000319_ radix 3) <> "2100200200212000022212220120022010001221202000002022000220112" or 1937 (100000000000000000000000000319_ radix 4) <> "1100301320033223212311302011330222200000000010333" or 1938 (100000000000000000000000000319_ radix 5) <> "204441433212200000000000000000000000002234" or 1939 (100000000000000000000000000319_ radix 6) <> "13410053220220505231115301204001140235" or 1940 (100000000000000000000000000319_ radix 7) <> "15635454446002645363053156623005412" or 1941 (100000000000000000000000000319_ radix 8) <> "120617017534665620574524000000477" or 1942 (100000000000000000000000000319_ radix 9) <> "2320625008786508101852002260815" or 1943 (100000000000000000000000000319_ radix 10) <> "100000000000000000000000000319" or 1944 (100000000000000000000000000319_ radix 11) <> "769a618102a154016670a237962a" or 1945 (100000000000000000000000000319_ radix 12) <> "889ab3137a3b54451601162a67b" or 1946 (100000000000000000000000000319_ radix 13) <> "1122ca73297a54c075c32b0230b" or 1947 (100000000000000000000000000319_ radix 14) <> "2317d25dba3b3d12d48933db79" or 1948 (100000000000000000000000000319_ radix 15) <> "5e1889d6d71b3e0dc36589ace" or 1949 (100000000000000000000000000319_ radix 16) <> "1431e0fae6d7217caa000013f" or 1950 (100000000000000000000000000319_ radix 17) <> "5025f49e1fg7a601df34ebe7" or 1951 (100000000000000000000000000319_ radix 18) <> "163e400hgce02ecage96a455" or 1952 (100000000000000000000000000319_ radix 19) <> "770579101b5d9f940bc733a" or 1953 (100000000000000000000000000319_ radix 20) <> "27dd9eaca000000000000fj" or 1954 (100000000000000000000000000319_ radix 21) <> "h290bbh0jjc15bk46095j2" or 1955 (100000000000000000000000000319_ radix 22) <> "69gef0gk1ggel7e7d3k9hl" or 1956 (100000000000000000000000000319_ radix 23) <> "2c64g5i7i2395emd7dcj1b" or 1957 (100000000000000000000000000319_ radix 24) <> "10l09dbii6c9eme651g7fn" or 1958 (100000000000000000000000000319_ radix 25) <> "aolnh7a000000000000cj" or 1959 (100000000000000000000000000319_ radix 26) <> "50c4m3pm8jamaee6loh0b" or 1960 (100000000000000000000000000319_ radix 27) <> "29iin08nof831pk0280oe" or 1961 (100000000000000000000000000319_ radix 28) <> "13phe5j1kdhobiief3dan" or 1962 (100000000000000000000000000319_ radix 29) <> "gb4f0pjcrjblceq2cmpa" or 1963 (100000000000000000000000000319_ radix 30) <> "8i3fls3pqmq0btbqnldt" or 1964 (100000000000000000000000000319_ radix 31) <> "4j1hhmj57rlnnsf4ito6" or 1965 (100000000000000000000000000319_ radix 32) <> "2gou1un6qsgnpag0009v" or 1966 (100000000000000000000000000319_ radix 33) <> "1de0gbkuognupu9fnj0w" or 1967 (100000000000000000000000000319_ radix 34) <> "r496vggek1grfuv3wo7" or 1968 (100000000000000000000000000319_ radix 35) <> "g3f6xlpcxahu7f49rl9" or 1969 (100000000000000000000000000319_ radix 36) <> "9p0xe2cuwj7x1co1a2n" then 1970 writeln(" ***** The radix operator for bigInteger does not work correct for positive values."); 1971 okay := FALSE; 1972 end if; 1973 1974 if (-32767_ radix 2) <> "-111111111111111" or 1975 (-59048_ radix 3) <> "-2222222222" or 1976 (-16383_ radix 4) <> "-3333333" or 1977 (-15624_ radix 5) <> "-444444" or 1978 (-46655_ radix 6) <> "-555555" or 1979 (-16806_ radix 7) <> "-66666" or 1980 (-32767_ radix 8) <> "-77777" or 1981 (-59048_ radix 9) <> "-88888" or 1982 ( -9999_ radix 10) <> "-9999" or 1983 (-14640_ radix 11) <> "-aaaa" or 1984 (-20735_ radix 12) <> "-bbbb" or 1985 (-28560_ radix 13) <> "-cccc" or 1986 (-38415_ radix 14) <> "-dddd" or 1987 (-50624_ radix 15) <> "-eeee" or 1988 ( -4095_ radix 16) <> "-fff" or 1989 ( -4912_ radix 17) <> "-ggg" or 1990 ( -5831_ radix 18) <> "-hhh" or 1991 ( -6858_ radix 19) <> "-iii" or 1992 ( -7999_ radix 20) <> "-jjj" or 1993 ( -9260_ radix 21) <> "-kkk" or 1994 (-10647_ radix 22) <> "-lll" or 1995 (-12166_ radix 23) <> "-mmm" or 1996 (-13823_ radix 24) <> "-nnn" or 1997 (-15624_ radix 25) <> "-ooo" or 1998 (-17575_ radix 26) <> "-ppp" or 1999 (-19682_ radix 27) <> "-qqq" or 2000 (-21951_ radix 28) <> "-rrr" or 2001 (-24388_ radix 29) <> "-sss" or 2002 (-26999_ radix 30) <> "-ttt" or 2003 (-29790_ radix 31) <> "-uuu" or 2004 (-32767_ radix 32) <> "-vvv" or 2005 (-35936_ radix 33) <> "-www" or 2006 (-39303_ radix 34) <> "-xxx" or 2007 (-42874_ radix 35) <> "-yyy" or 2008 (-46655_ radix 36) <> "-zzz" or 2009 (-32768_ radix 2) <> "-1000000000000000" or 2010 (-59049_ radix 3) <> "-10000000000" or 2011 (-16384_ radix 4) <> "-10000000" or 2012 (-15625_ radix 5) <> "-1000000" or 2013 (-46656_ radix 6) <> "-1000000" or 2014 (-16807_ radix 7) <> "-100000" or 2015 (-32768_ radix 8) <> "-100000" or 2016 (-59049_ radix 9) <> "-100000" or 2017 (-10000_ radix 10) <> "-10000" or 2018 (-14641_ radix 11) <> "-10000" or 2019 (-20736_ radix 12) <> "-10000" or 2020 (-28561_ radix 13) <> "-10000" or 2021 (-38416_ radix 14) <> "-10000" or 2022 (-50625_ radix 15) <> "-10000" or 2023 ( -4096_ radix 16) <> "-1000" or 2024 ( -4913_ radix 17) <> "-1000" or 2025 ( -5832_ radix 18) <> "-1000" or 2026 ( -6859_ radix 19) <> "-1000" or 2027 ( -8000_ radix 20) <> "-1000" or 2028 ( -9261_ radix 21) <> "-1000" or 2029 (-10648_ radix 22) <> "-1000" or 2030 (-12167_ radix 23) <> "-1000" or 2031 (-13824_ radix 24) <> "-1000" or 2032 (-15625_ radix 25) <> "-1000" or 2033 (-17576_ radix 26) <> "-1000" or 2034 (-19683_ radix 27) <> "-1000" or 2035 (-21952_ radix 28) <> "-1000" or 2036 (-24389_ radix 29) <> "-1000" or 2037 (-27000_ radix 30) <> "-1000" or 2038 (-29791_ radix 31) <> "-1000" or 2039 (-32768_ radix 32) <> "-1000" or 2040 (-35937_ radix 33) <> "-1000" or 2041 (-39304_ radix 34) <> "-1000" or 2042 (-42875_ radix 35) <> "-1000" or 2043 (-46656_ radix 36) <> "-1000" or 2044 (-2147483647_ radix 2) <> "-1111111111111111111111111111111" or 2045 (-3486784400_ radix 3) <> "-22222222222222222222" or 2046 (-1073741823_ radix 4) <> "-333333333333333" or 2047 (-1220703124_ radix 5) <> "-4444444444444" or 2048 (-2176782335_ radix 6) <> "-555555555555" or 2049 (-1977326742_ radix 7) <> "-66666666666" or 2050 (-1073741823_ radix 8) <> "-7777777777" or 2051 (-3486784400_ radix 9) <> "-8888888888" or 2052 ( -999999999_ radix 10) <> "-999999999" or 2053 (-2357947690_ radix 11) <> "-aaaaaaaaa" or 2054 ( -429981695_ radix 12) <> "-bbbbbbbb" or 2055 ( -815730720_ radix 13) <> "-cccccccc" or 2056 (-1475789055_ radix 14) <> "-dddddddd" or 2057 (-2562890624_ radix 15) <> "-eeeeeeee" or 2058 ( -268435455_ radix 16) <> "-fffffff" or 2059 ( -410338672_ radix 17) <> "-ggggggg" or 2060 ( -612220031_ radix 18) <> "-hhhhhhh" or 2061 ( -893871738_ radix 19) <> "-iiiiiii" or 2062 (-1279999999_ radix 20) <> "-jjjjjjj" or 2063 (-1801088540_ radix 21) <> "-kkkkkkk" or 2064 (-2494357887_ radix 22) <> "-lllllll" or 2065 (-3404825446_ radix 23) <> "-mmmmmmm" or 2066 ( -191102975_ radix 24) <> "-nnnnnn" or 2067 ( -244140624_ radix 25) <> "-oooooo" or 2068 ( -308915775_ radix 26) <> "-pppppp" or 2069 ( -387420488_ radix 27) <> "-qqqqqq" or 2070 ( -481890303_ radix 28) <> "-rrrrrr" or 2071 ( -594823320_ radix 29) <> "-ssssss" or 2072 ( -728999999_ radix 30) <> "-tttttt" or 2073 ( -887503680_ radix 31) <> "-uuuuuu" or 2074 (-1073741823_ radix 32) <> "-vvvvvv" or 2075 (-1291467968_ radix 33) <> "-wwwwww" or 2076 (-1544804415_ radix 34) <> "-xxxxxx" or 2077 (-1838265624_ radix 35) <> "-yyyyyy" or 2078 (-2176782335_ radix 36) <> "-zzzzzz" or 2079 (-2147483648_ radix 2) <> "-10000000000000000000000000000000" or 2080 (-3486784401_ radix 3) <> "-100000000000000000000" or 2081 (-1073741824_ radix 4) <> "-1000000000000000" or 2082 (-1220703125_ radix 5) <> "-10000000000000" or 2083 (-2176782336_ radix 6) <> "-1000000000000" or 2084 (-1977326743_ radix 7) <> "-100000000000" or 2085 (-1073741824_ radix 8) <> "-10000000000" or 2086 (-3486784401_ radix 9) <> "-10000000000" or 2087 (-1000000000_ radix 10) <> "-1000000000" or 2088 (-2357947691_ radix 11) <> "-1000000000" or 2089 ( -429981696_ radix 12) <> "-100000000" or 2090 ( -815730721_ radix 13) <> "-100000000" or 2091 (-1475789056_ radix 14) <> "-100000000" or 2092 (-2562890625_ radix 15) <> "-100000000" or 2093 ( -268435456_ radix 16) <> "-10000000" or 2094 ( -410338673_ radix 17) <> "-10000000" or 2095 ( -612220032_ radix 18) <> "-10000000" or 2096 ( -893871739_ radix 19) <> "-10000000" or 2097 (-1280000000_ radix 20) <> "-10000000" or 2098 (-1801088541_ radix 21) <> "-10000000" or 2099 (-2494357888_ radix 22) <> "-10000000" or 2100 (-3404825447_ radix 23) <> "-10000000" or 2101 ( -191102976_ radix 24) <> "-1000000" or 2102 ( -244140625_ radix 25) <> "-1000000" or 2103 ( -308915776_ radix 26) <> "-1000000" or 2104 ( -387420489_ radix 27) <> "-1000000" or 2105 ( -481890304_ radix 28) <> "-1000000" or 2106 ( -594823321_ radix 29) <> "-1000000" or 2107 ( -729000000_ radix 30) <> "-1000000" or 2108 ( -887503681_ radix 31) <> "-1000000" or 2109 (-1073741824_ radix 32) <> "-1000000" or 2110 (-1291467969_ radix 33) <> "-1000000" or 2111 (-1544804416_ radix 34) <> "-1000000" or 2112 (-1838265625_ radix 35) <> "-1000000" or 2113 (-2176782336_ radix 36) <> "-1000000" or 2114 ( -4611686016279904256_ radix 2) <> "-11111111111111111111111111111110000000000000000000000000000000" or 2115 (-12157665455570144400_ radix 3) <> "-2222222222222222222200000000000000000000" or 2116 ( -1152921503533105152_ radix 4) <> "-333333333333333000000000000000" or 2117 ( -1490116118164062500_ radix 5) <> "-44444444444440000000000000" or 2118 ( -4738381336144834560_ radix 6) <> "-555555555555000000000000" or 2119 ( -3909821046605661306_ radix 7) <> "-6666666666600000000000" or 2120 ( -1152921503533105152_ radix 8) <> "-77777777770000000000" or 2121 (-12157665455570144400_ radix 9) <> "-88888888880000000000" or 2122 ( -999999999000000000_ radix 10) <> "-999999999000000000" or 2123 ( -5559917311134283790_ radix 11) <> "-aaaaaaaaa000000000" or 2124 ( -184884258465054720_ radix 12) <> "-bbbbbbbb00000000" or 2125 ( -665416608367449120_ radix 13) <> "-cccccccc00000000" or 2126 ( -2177953336333582080_ radix 14) <> "-dddddddd00000000" or 2127 ( -6568408353150000000_ radix 15) <> "-eeeeeeee00000000" or 2128 ( -72057593769492480_ radix 16) <> "-fffffff0000000" or 2129 ( -168377826149062256_ radix 17) <> "-ggggggg0000000" or 2130 ( -374813366969860992_ radix 18) <> "-hhhhhhh0000000" or 2131 ( -799006684889012382_ radix 19) <> "-iiiiiii0000000" or 2132 ( -1638399998720000000_ radix 20) <> "-jjjjjjj0000000" or 2133 ( -3243919930720420140_ radix 21) <> "-kkkkkkk0000000" or 2134 ( -6221821270933462656_ radix 22) <> "-lllllll0000000" or 2135 (-11592836321133924362_ radix 23) <> "-mmmmmmm0000000" or 2136 ( -36520347244953600_ radix 24) <> "-nnnnnn000000" or 2137 ( -59604644531250000_ radix 25) <> "-oooooo000000" or 2138 ( -95428956352766400_ radix 26) <> "-pppppp000000" or 2139 ( -150094634909578632_ radix 27) <> "-qqqqqq000000" or 2140 ( -232218264607322112_ radix 28) <> "-rrrrrr000000" or 2141 ( -353814782610645720_ radix 29) <> "-ssssss000000" or 2142 ( -531440999271000000_ radix 30) <> "-tttttt000000" or 2143 ( -787662782901046080_ radix 31) <> "-uuuuuu000000" or 2144 ( -1152921503533105152_ radix 32) <> "-vvvvvv000000" or 2145 ( -1667889513661516992_ radix 33) <> "-wwwwww000000" or 2146 ( -2386420682148296640_ radix 34) <> "-xxxxxx000000" or 2147 ( -3379220506218375000_ radix 35) <> "-yyyyyy000000" or 2148 ( -4738381336144834560_ radix 36) <> "-zzzzzz000000" or 2149 ( -4611686018427387903_ radix 2) <> "-11111111111111111111111111111111111111111111111111111111111111" or 2150 (-12157665459056928800_ radix 3) <> "-2222222222222222222222222222222222222222" or 2151 ( -1152921504606846975_ radix 4) <> "-333333333333333333333333333333" or 2152 ( -1490116119384765624_ radix 5) <> "-44444444444444444444444444" or 2153 ( -4738381338321616895_ radix 6) <> "-555555555555555555555555" or 2154 ( -3909821048582988048_ radix 7) <> "-6666666666666666666666" or 2155 ( -1152921504606846975_ radix 8) <> "-77777777777777777777" or 2156 (-12157665459056928800_ radix 9) <> "-88888888888888888888" or 2157 ( -999999999999999999_ radix 10) <> "-999999999999999999" or 2158 ( -5559917313492231480_ radix 11) <> "-aaaaaaaaaaaaaaaaaa" or 2159 ( -184884258895036415_ radix 12) <> "-bbbbbbbbbbbbbbbb" or 2160 ( -665416609183179840_ radix 13) <> "-cccccccccccccccc" or 2161 ( -2177953337809371135_ radix 14) <> "-dddddddddddddddd" or 2162 ( -6568408355712890624_ radix 15) <> "-eeeeeeeeeeeeeeee" or 2163 ( -72057594037927935_ radix 16) <> "-ffffffffffffff" or 2164 ( -168377826559400928_ radix 17) <> "-gggggggggggggg" or 2165 ( -374813367582081023_ radix 18) <> "-hhhhhhhhhhhhhh" or 2166 ( -799006685782884120_ radix 19) <> "-iiiiiiiiiiiiii" or 2167 ( -1638399999999999999_ radix 20) <> "-jjjjjjjjjjjjjj" or 2168 ( -3243919932521508680_ radix 21) <> "-kkkkkkkkkkkkkk" or 2169 ( -6221821273427820543_ radix 22) <> "-llllllllllllll" or 2170 (-11592836324538749808_ radix 23) <> "-mmmmmmmmmmmmmm" or 2171 ( -36520347436056575_ radix 24) <> "-nnnnnnnnnnnn" or 2172 ( -59604644775390624_ radix 25) <> "-oooooooooooo" or 2173 ( -95428956661682175_ radix 26) <> "-pppppppppppp" or 2174 ( -150094635296999120_ radix 27) <> "-qqqqqqqqqqqq" or 2175 ( -232218265089212415_ radix 28) <> "-rrrrrrrrrrrr" or 2176 ( -353814783205469040_ radix 29) <> "-ssssssssssss" or 2177 ( -531440999999999999_ radix 30) <> "-tttttttttttt" or 2178 ( -787662783788549760_ radix 31) <> "-uuuuuuuuuuuu" or 2179 ( -1152921504606846975_ radix 32) <> "-vvvvvvvvvvvv" or 2180 ( -1667889514952984960_ radix 33) <> "-wwwwwwwwwwww" or 2181 ( -2386420683693101055_ radix 34) <> "-xxxxxxxxxxxx" or 2182 ( -3379220508056640624_ radix 35) <> "-yyyyyyyyyyyy" or 2183 ( -4738381338321616895_ radix 36) <> "-zzzzzzzzzzzz" or 2184 ( -4611686018427387904_ radix 2) <> "-100000000000000000000000000000000000000000000000000000000000000" or 2185 (-12157665459056928801_ radix 3) <> "-10000000000000000000000000000000000000000" or 2186 ( -1152921504606846976_ radix 4) <> "-1000000000000000000000000000000" or 2187 ( -1490116119384765625_ radix 5) <> "-100000000000000000000000000" or 2188 ( -4738381338321616896_ radix 6) <> "-1000000000000000000000000" or 2189 ( -3909821048582988049_ radix 7) <> "-10000000000000000000000" or 2190 ( -1152921504606846976_ radix 8) <> "-100000000000000000000" or 2191 (-12157665459056928801_ radix 9) <> "-100000000000000000000" or 2192 ( -1000000000000000000_ radix 10) <> "-1000000000000000000" or 2193 ( -5559917313492231481_ radix 11) <> "-1000000000000000000" or 2194 ( -184884258895036416_ radix 12) <> "-10000000000000000" or 2195 ( -665416609183179841_ radix 13) <> "-10000000000000000" or 2196 ( -2177953337809371136_ radix 14) <> "-10000000000000000" or 2197 ( -6568408355712890625_ radix 15) <> "-10000000000000000" or 2198 ( -72057594037927936_ radix 16) <> "-100000000000000" or 2199 ( -168377826559400929_ radix 17) <> "-100000000000000" or 2200 ( -374813367582081024_ radix 18) <> "-100000000000000" or 2201 ( -799006685782884121_ radix 19) <> "-100000000000000" or 2202 ( -1638400000000000000_ radix 20) <> "-100000000000000" or 2203 ( -3243919932521508681_ radix 21) <> "-100000000000000" or 2204 ( -6221821273427820544_ radix 22) <> "-100000000000000" or 2205 (-11592836324538749809_ radix 23) <> "-100000000000000" or 2206 ( -36520347436056576_ radix 24) <> "-1000000000000" or 2207 ( -59604644775390625_ radix 25) <> "-1000000000000" or 2208 ( -95428956661682176_ radix 26) <> "-1000000000000" or 2209 ( -150094635296999121_ radix 27) <> "-1000000000000" or 2210 ( -232218265089212416_ radix 28) <> "-1000000000000" or 2211 ( -353814783205469041_ radix 29) <> "-1000000000000" or 2212 ( -531441000000000000_ radix 30) <> "-1000000000000" or 2213 ( -787662783788549761_ radix 31) <> "-1000000000000" or 2214 ( -1152921504606846976_ radix 32) <> "-1000000000000" or 2215 ( -1667889514952984961_ radix 33) <> "-1000000000000" or 2216 ( -2386420683693101056_ radix 34) <> "-1000000000000" or 2217 ( -3379220508056640625_ radix 35) <> "-1000000000000" or 2218 ( -4738381338321616896_ radix 36) <> "-1000000000000" or 2219 ( -4611686020574871551_ radix 2) <> "-100000000000000000000000000000001111111111111111111111111111111" or 2220 (-12157665462543713201_ radix 3) <> "-10000000000000000000022222222222222222222" or 2221 ( -1152921505680588799_ radix 4) <> "-1000000000000000333333333333333" or 2222 ( -1490116120605468749_ radix 5) <> "-100000000000004444444444444" or 2223 ( -4738381340498399231_ radix 6) <> "-1000000000000555555555555" or 2224 ( -3909821050560314791_ radix 7) <> "-10000000000066666666666" or 2225 ( -1152921505680588799_ radix 8) <> "-100000000007777777777" or 2226 (-12157665462543713201_ radix 9) <> "-100000000008888888888" or 2227 ( -1000000000999999999_ radix 10) <> "-1000000000999999999" or 2228 ( -5559917315850179171_ radix 11) <> "-1000000000aaaaaaaaa" or 2229 ( -184884259325018111_ radix 12) <> "-100000000bbbbbbbb" or 2230 ( -665416609998910561_ radix 13) <> "-100000000cccccccc" or 2231 ( -2177953339285160191_ radix 14) <> "-100000000dddddddd" or 2232 ( -6568408358275781249_ radix 15) <> "-100000000eeeeeeee" or 2233 ( -72057594306363391_ radix 16) <> "-10000000fffffff" or 2234 ( -168377826969739601_ radix 17) <> "-10000000ggggggg" or 2235 ( -374813368194301055_ radix 18) <> "-10000000hhhhhhh" or 2236 ( -799006686676755859_ radix 19) <> "-10000000iiiiiii" or 2237 ( -1638400001279999999_ radix 20) <> "-10000000jjjjjjj" or 2238 ( -3243919934322597221_ radix 21) <> "-10000000kkkkkkk" or 2239 ( -6221821275922178431_ radix 22) <> "-10000000lllllll" or 2240 (-11592836327943575255_ radix 23) <> "-10000000mmmmmmm" or 2241 ( -36520347627159551_ radix 24) <> "-1000000nnnnnn" or 2242 ( -59604645019531249_ radix 25) <> "-1000000oooooo" or 2243 ( -95428956970597951_ radix 26) <> "-1000000pppppp" or 2244 ( -150094635684419609_ radix 27) <> "-1000000qqqqqq" or 2245 ( -232218265571102719_ radix 28) <> "-1000000rrrrrr" or 2246 ( -353814783800292361_ radix 29) <> "-1000000ssssss" or 2247 ( -531441000728999999_ radix 30) <> "-1000000tttttt" or 2248 ( -787662784676053441_ radix 31) <> "-1000000uuuuuu" or 2249 ( -1152921505680588799_ radix 32) <> "-1000000vvvvvv" or 2250 ( -1667889516244452929_ radix 33) <> "-1000000wwwwww" or 2251 ( -2386420685237905471_ radix 34) <> "-1000000xxxxxx" or 2252 ( -3379220509894906249_ radix 35) <> "-1000000yyyyyy" or 2253 ( -4738381340498399231_ radix 36) <> "-1000000zzzzzz" or 2254 ( -4611686020574871552_ radix 2) <> "-100000000000000000000000000000010000000000000000000000000000000" or 2255 (-12157665462543713202_ radix 3) <> "-10000000000000000000100000000000000000000" or 2256 ( -1152921505680588800_ radix 4) <> "-1000000000000001000000000000000" or 2257 ( -1490116120605468750_ radix 5) <> "-100000000000010000000000000" or 2258 ( -4738381340498399232_ radix 6) <> "-1000000000001000000000000" or 2259 ( -3909821050560314792_ radix 7) <> "-10000000000100000000000" or 2260 ( -1152921505680588800_ radix 8) <> "-100000000010000000000" or 2261 (-12157665462543713202_ radix 9) <> "-100000000010000000000" or 2262 ( -1000000001000000000_ radix 10) <> "-1000000001000000000" or 2263 ( -5559917315850179172_ radix 11) <> "-1000000001000000000" or 2264 ( -184884259325018112_ radix 12) <> "-10000000100000000" or 2265 ( -665416609998910562_ radix 13) <> "-10000000100000000" or 2266 ( -2177953339285160192_ radix 14) <> "-10000000100000000" or 2267 ( -6568408358275781250_ radix 15) <> "-10000000100000000" or 2268 ( -72057594306363392_ radix 16) <> "-100000010000000" or 2269 ( -168377826969739602_ radix 17) <> "-100000010000000" or 2270 ( -374813368194301056_ radix 18) <> "-100000010000000" or 2271 ( -799006686676755860_ radix 19) <> "-100000010000000" or 2272 ( -1638400001280000000_ radix 20) <> "-100000010000000" or 2273 ( -3243919934322597222_ radix 21) <> "-100000010000000" or 2274 ( -6221821275922178432_ radix 22) <> "-100000010000000" or 2275 (-11592836327943575256_ radix 23) <> "-100000010000000" or 2276 ( -36520347627159552_ radix 24) <> "-1000001000000" or 2277 ( -59604645019531250_ radix 25) <> "-1000001000000" or 2278 ( -95428956970597952_ radix 26) <> "-1000001000000" or 2279 ( -150094635684419610_ radix 27) <> "-1000001000000" or 2280 ( -232218265571102720_ radix 28) <> "-1000001000000" or 2281 ( -353814783800292362_ radix 29) <> "-1000001000000" or 2282 ( -531441000729000000_ radix 30) <> "-1000001000000" or 2283 ( -787662784676053442_ radix 31) <> "-1000001000000" or 2284 ( -1152921505680588800_ radix 32) <> "-1000001000000" or 2285 ( -1667889516244452930_ radix 33) <> "-1000001000000" or 2286 ( -2386420685237905472_ radix 34) <> "-1000001000000" or 2287 ( -3379220509894906250_ radix 35) <> "-1000001000000" or 2288 ( -4738381340498399232_ radix 36) <> "-1000001000000" or 2289 (-100000000000000000000000000319_ radix 2) <> "-1010000110001111000001111101011100110110101110010000101111100101010100000000000000000000100111111" or 2290 (-100000000000000000000000000319_ radix 3) <> "-2100200200212000022212220120022010001221202000002022000220112" or 2291 (-100000000000000000000000000319_ radix 4) <> "-1100301320033223212311302011330222200000000010333" or 2292 (-100000000000000000000000000319_ radix 5) <> "-204441433212200000000000000000000000002234" or 2293 (-100000000000000000000000000319_ radix 6) <> "-13410053220220505231115301204001140235" or 2294 (-100000000000000000000000000319_ radix 7) <> "-15635454446002645363053156623005412" or 2295 (-100000000000000000000000000319_ radix 8) <> "-120617017534665620574524000000477" or 2296 (-100000000000000000000000000319_ radix 9) <> "-2320625008786508101852002260815" or 2297 (-100000000000000000000000000319_ radix 10) <> "-100000000000000000000000000319" or 2298 (-100000000000000000000000000319_ radix 11) <> "-769a618102a154016670a237962a" or 2299 (-100000000000000000000000000319_ radix 12) <> "-889ab3137a3b54451601162a67b" or 2300 (-100000000000000000000000000319_ radix 13) <> "-1122ca73297a54c075c32b0230b" or 2301 (-100000000000000000000000000319_ radix 14) <> "-2317d25dba3b3d12d48933db79" or 2302 (-100000000000000000000000000319_ radix 15) <> "-5e1889d6d71b3e0dc36589ace" or 2303 (-100000000000000000000000000319_ radix 16) <> "-1431e0fae6d7217caa000013f" or 2304 (-100000000000000000000000000319_ radix 17) <> "-5025f49e1fg7a601df34ebe7" or 2305 (-100000000000000000000000000319_ radix 18) <> "-163e400hgce02ecage96a455" or 2306 (-100000000000000000000000000319_ radix 19) <> "-770579101b5d9f940bc733a" or 2307 (-100000000000000000000000000319_ radix 20) <> "-27dd9eaca000000000000fj" or 2308 (-100000000000000000000000000319_ radix 21) <> "-h290bbh0jjc15bk46095j2" or 2309 (-100000000000000000000000000319_ radix 22) <> "-69gef0gk1ggel7e7d3k9hl" or 2310 (-100000000000000000000000000319_ radix 23) <> "-2c64g5i7i2395emd7dcj1b" or 2311 (-100000000000000000000000000319_ radix 24) <> "-10l09dbii6c9eme651g7fn" or 2312 (-100000000000000000000000000319_ radix 25) <> "-aolnh7a000000000000cj" or 2313 (-100000000000000000000000000319_ radix 26) <> "-50c4m3pm8jamaee6loh0b" or 2314 (-100000000000000000000000000319_ radix 27) <> "-29iin08nof831pk0280oe" or 2315 (-100000000000000000000000000319_ radix 28) <> "-13phe5j1kdhobiief3dan" or 2316 (-100000000000000000000000000319_ radix 29) <> "-gb4f0pjcrjblceq2cmpa" or 2317 (-100000000000000000000000000319_ radix 30) <> "-8i3fls3pqmq0btbqnldt" or 2318 (-100000000000000000000000000319_ radix 31) <> "-4j1hhmj57rlnnsf4ito6" or 2319 (-100000000000000000000000000319_ radix 32) <> "-2gou1un6qsgnpag0009v" or 2320 (-100000000000000000000000000319_ radix 33) <> "-1de0gbkuognupu9fnj0w" or 2321 (-100000000000000000000000000319_ radix 34) <> "-r496vggek1grfuv3wo7" or 2322 (-100000000000000000000000000319_ radix 35) <> "-g3f6xlpcxahu7f49rl9" or 2323 (-100000000000000000000000000319_ radix 36) <> "-9p0xe2cuwj7x1co1a2n" then 2324 writeln(" ***** The radix operator for bigInteger does not work correct for negative values."); 2325 okay := FALSE; 2326 end if; 2327 2328 if (-18446744069414584320_ radix 2) <> "-1111111111111111111111111111111100000000000000000000000000000000" or 2329 (-18446744069414584320_ radix 4) <> "-33333333333333330000000000000000" or 2330 (-18446744069414584320_ radix 8) <> "-1777777777740000000000" or 2331 (-18446744069414584320_ radix 16) <> "-ffffffff00000000" or 2332 (-18446744069414584320_ radix 32) <> "-fvvvvvs000000" then 2333 writeln(" ***** The radix operator for bigInteger does not work correct for negative values."); 2334 okay := FALSE; 2335 end if; 2336 2337 if ( 2_ RADIX 2) <> "10" or 2338 ( 21_ RADIX 3) <> "210" or 2339 ( 228_ RADIX 4) <> "3210" or 2340 ( 2930_ RADIX 5) <> "43210" or 2341 ( 44790_ RADIX 6) <> "543210" or 2342 ( 800667_ RADIX 7) <> "6543210" or 2343 ( 16434824_ RADIX 8) <> "76543210" or 2344 ( 381367044_ RADIX 9) <> "876543210" or 2345 ( 9876543210_ RADIX 10) <> "9876543210" or 2346 ( 282458553905_ RADIX 11) <> "A9876543210" or 2347 ( 8842413667692_ RADIX 12) <> "BA9876543210" or 2348 ( 300771807240918_ RADIX 13) <> "CBA9876543210" or 2349 ( 11046255305880158_ RADIX 14) <> "DCBA9876543210" or 2350 ( 435659737878916215_ RADIX 15) <> "EDCBA9876543210" or 2351 ( 18364758544493064720_ RADIX 16) <> "FEDCBA9876543210" or 2352 ( 824008854613343261192_ RADIX 17) <> "GFEDCBA9876543210" or 2353 ( 39210261334551566857170_ RADIX 18) <> "HGFEDCBA9876543210" or 2354 ( 1972313422155189164466189_ RADIX 19) <> "IHGFEDCBA9876543210" or 2355 ( 104567135734072022160664820_ RADIX 20) <> "JIHGFEDCBA9876543210" or 2356 ( 5827980550840017565077671610_ RADIX 21) <> "KJIHGFEDCBA9876543210" or 2357 ( 340653664490377789692799452102_ RADIX 22) <> "LKJIHGFEDCBA9876543210" or 2358 ( 20837326537038308910317109288851_ RADIX 23) <> "MLKJIHGFEDCBA9876543210" or 2359 ( 1331214537196502869015340298036888_ RADIX 24) <> "NMLKJIHGFEDCBA9876543210" or 2360 ( 88663644327703473714387251271141900_ RADIX 25) <> "ONMLKJIHGFEDCBA9876543210" or 2361 ( 6146269788878825859099399609538763450_ RADIX 26) <> "PONMLKJIHGFEDCBA9876543210" or 2362 ( 442770531899482980347734468443677777577_ RADIX 27) <> "QPONMLKJIHGFEDCBA9876543210" or 2363 ( 33100056003358651440264672384704297711484_ RADIX 28) <> "RQPONMLKJIHGFEDCBA9876543210" or 2364 ( 2564411043271974895869785066497940850811934_ RADIX 29) <> "SRQPONMLKJIHGFEDCBA9876543210" or 2365 ( 205646315052919334126040428061831153388822830_ RADIX 30) <> "TSRQPONMLKJIHGFEDCBA9876543210" or 2366 ( 17050208381689099029767742314582582184093573615_ RADIX 31) <> "UTSRQPONMLKJIHGFEDCBA9876543210" or 2367 ( 1459980823972598128486511383358617792788444579872_ RADIX 32) <> "VUTSRQPONMLKJIHGFEDCBA9876543210" or 2368 ( 128983956064237823710866404905431464703849549412368_ RADIX 33) <> "WVUTSRQPONMLKJIHGFEDCBA9876543210" or 2369 ( 11745843093701610854378775891116314824081102660800418_ RADIX 34) <> "XWVUTSRQPONMLKJIHGFEDCBA9876543210" or 2370 ( 1101553773143634726491620528194292510495517905608180485_ RADIX 35) <> "YXWVUTSRQPONMLKJIHGFEDCBA9876543210" or 2371 (106300512100105327644605138221229898724869759421181854980_ RADIX 36) <> "ZYXWVUTSRQPONMLKJIHGFEDCBA9876543210" then 2372 writeln(" ***** The RADIX operator for bigInteger does not work correct."); 2373 okay := FALSE; 2374 end if; 2375 2376 bigNum := 123456789_ ** 12345; 2377 if bigInteger(bigNum radix 2, 2) <> bigNum or 2378 bigInteger(bigNum RADIX 2, 2) <> bigNum or 2379 bigInteger(bigNum radix 4, 4) <> bigNum or 2380 bigInteger(bigNum RADIX 4, 4) <> bigNum or 2381 bigInteger(bigNum radix 8, 8) <> bigNum or 2382 bigInteger(bigNum RADIX 8, 8) <> bigNum or 2383 bigInteger(bigNum radix 16, 16) <> bigNum or 2384 bigInteger(bigNum RADIX 16, 16) <> bigNum or 2385 bigInteger(bigNum radix 32, 32) <> bigNum or 2386 bigInteger(bigNum RADIX 32, 32) <> bigNum then 2387 writeln(" ***** The radix operator for bigInteger does not work correct for big values."); 2388 okay := FALSE; 2389 end if; 2390 2391 bigNum := 123456789_ ** 1234; 2392 for base range 2 to 36 do 2393 if bigInteger(bigNum radix base, base) <> bigNum or 2394 bigInteger(bigNum RADIX base, base) <> bigNum then 2395 writeln(" ***** The radix operator for large bigInteger does not work correct."); 2396 okay := FALSE; 2397 end if; 2398 end for; 2399 2400 bigNum := 123_; 2401 if not raisesRangeError( bigNum radix integer.first ) or 2402 not raisesRangeError( bigNum radix -1 ) or 2403 not raisesRangeError( bigNum radix 0 ) or 2404 not raisesRangeError( bigNum radix 1 ) or 2405 not raisesRangeError( bigNum radix 37 ) or 2406 not raisesRangeError( bigNum radix 38 ) or 2407 not raisesRangeError( bigNum radix integer.last ) or 2408 not raisesRangeError( 123_ radix integer.first ) or 2409 not raisesRangeError( 123_ radix -1 ) or 2410 not raisesRangeError( 123_ radix 0 ) or 2411 not raisesRangeError( 123_ radix 1 ) or 2412 not raisesRangeError( 123_ radix 37 ) or 2413 not raisesRangeError( 123_ radix 38 ) or 2414 not raisesRangeError( 123_ radix integer.last ) or 2415 not raisesRangeError(bigintExpr(123_) radix integer.first ) or 2416 not raisesRangeError(bigintExpr(123_) radix -1 ) or 2417 not raisesRangeError(bigintExpr(123_) radix 0 ) or 2418 not raisesRangeError(bigintExpr(123_) radix 1 ) or 2419 not raisesRangeError(bigintExpr(123_) radix 37 ) or 2420 not raisesRangeError(bigintExpr(123_) radix 38 ) or 2421 not raisesRangeError(bigintExpr(123_) radix integer.last ) or 2422 not raisesRangeError( bigNum radix intExpr(integer.first )) or 2423 not raisesRangeError( bigNum radix intExpr( -1 )) or 2424 not raisesRangeError( bigNum radix intExpr( 0 )) or 2425 not raisesRangeError( bigNum radix intExpr( 1 )) or 2426 not raisesRangeError( bigNum radix intExpr( 37 )) or 2427 not raisesRangeError( bigNum radix intExpr( 38 )) or 2428 not raisesRangeError( bigNum radix intExpr( integer.last )) or 2429 not raisesRangeError( 123_ radix intExpr(integer.first )) or 2430 not raisesRangeError( 123_ radix intExpr( -1 )) or 2431 not raisesRangeError( 123_ radix intExpr( 0 )) or 2432 not raisesRangeError( 123_ radix intExpr( 1 )) or 2433 not raisesRangeError( 123_ radix intExpr( 37 )) or 2434 not raisesRangeError( 123_ radix intExpr( 38 )) or 2435 not raisesRangeError( 123_ radix intExpr( integer.last )) or 2436 not raisesRangeError(bigintExpr(123_) radix intExpr(integer.first )) or 2437 not raisesRangeError(bigintExpr(123_) radix intExpr( -1 )) or 2438 not raisesRangeError(bigintExpr(123_) radix intExpr( 0 )) or 2439 not raisesRangeError(bigintExpr(123_) radix intExpr( 1 )) or 2440 not raisesRangeError(bigintExpr(123_) radix intExpr( 37 )) or 2441 not raisesRangeError(bigintExpr(123_) radix intExpr( 38 )) or 2442 not raisesRangeError(bigintExpr(123_) radix intExpr( integer.last )) then 2443 writeln(" ***** The radix operator does not raise RANGE_ERROR for an illegal base."); 2444 okay := FALSE; 2445 end if; 2446 2447 bigNum := 123_; 2448 if not raisesRangeError( bigNum RADIX integer.first ) or 2449 not raisesRangeError( bigNum RADIX -1 ) or 2450 not raisesRangeError( bigNum RADIX 0 ) or 2451 not raisesRangeError( bigNum RADIX 1 ) or 2452 not raisesRangeError( bigNum RADIX 37 ) or 2453 not raisesRangeError( bigNum RADIX 38 ) or 2454 not raisesRangeError( bigNum RADIX integer.last ) or 2455 not raisesRangeError( 123_ RADIX integer.first ) or 2456 not raisesRangeError( 123_ RADIX -1 ) or 2457 not raisesRangeError( 123_ RADIX 0 ) or 2458 not raisesRangeError( 123_ RADIX 1 ) or 2459 not raisesRangeError( 123_ RADIX 37 ) or 2460 not raisesRangeError( 123_ RADIX 38 ) or 2461 not raisesRangeError( 123_ RADIX integer.last ) or 2462 not raisesRangeError(bigintExpr(123_) RADIX integer.first ) or 2463 not raisesRangeError(bigintExpr(123_) RADIX -1 ) or 2464 not raisesRangeError(bigintExpr(123_) RADIX 0 ) or 2465 not raisesRangeError(bigintExpr(123_) RADIX 1 ) or 2466 not raisesRangeError(bigintExpr(123_) RADIX 37 ) or 2467 not raisesRangeError(bigintExpr(123_) RADIX 38 ) or 2468 not raisesRangeError(bigintExpr(123_) RADIX integer.last ) or 2469 not raisesRangeError( bigNum RADIX intExpr(integer.first )) or 2470 not raisesRangeError( bigNum RADIX intExpr( -1 )) or 2471 not raisesRangeError( bigNum RADIX intExpr( 0 )) or 2472 not raisesRangeError( bigNum RADIX intExpr( 1 )) or 2473 not raisesRangeError( bigNum RADIX intExpr( 37 )) or 2474 not raisesRangeError( bigNum RADIX intExpr( 38 )) or 2475 not raisesRangeError( bigNum RADIX intExpr( integer.last )) or 2476 not raisesRangeError( 123_ RADIX intExpr(integer.first )) or 2477 not raisesRangeError( 123_ RADIX intExpr( -1 )) or 2478 not raisesRangeError( 123_ RADIX intExpr( 0 )) or 2479 not raisesRangeError( 123_ RADIX intExpr( 1 )) or 2480 not raisesRangeError( 123_ RADIX intExpr( 37 )) or 2481 not raisesRangeError( 123_ RADIX intExpr( 38 )) or 2482 not raisesRangeError( 123_ RADIX intExpr( integer.last )) or 2483 not raisesRangeError(bigintExpr(123_) RADIX intExpr(integer.first )) or 2484 not raisesRangeError(bigintExpr(123_) RADIX intExpr( -1 )) or 2485 not raisesRangeError(bigintExpr(123_) RADIX intExpr( 0 )) or 2486 not raisesRangeError(bigintExpr(123_) RADIX intExpr( 1 )) or 2487 not raisesRangeError(bigintExpr(123_) RADIX intExpr( 37 )) or 2488 not raisesRangeError(bigintExpr(123_) RADIX intExpr( 38 )) or 2489 not raisesRangeError(bigintExpr(123_) RADIX intExpr( integer.last )) then 2490 writeln(" ***** The RADIX operator does not raise RANGE_ERROR for an illegal base."); 2491 okay := FALSE; 2492 end if; 2493 2494 if okay then 2495 writeln("The radix operator for bigInteger works correct."); 2496 else 2497 writeln(" ***** The radix operator for bigInteger does not work correct."); 2498 writeln; 2499 end if; 2500 end func; 2501 2502 2503const proc: chkOrd is func 2504 local 2505 var boolean: okay is TRUE; 2506 begin 2507 if ord( 0_) <> 0 or 2508 ord( 1_) <> 1 or 2509 ord( 2_) <> 2 or 2510 ord( 8_) <> 8 or 2511 ord( 9_) <> 9 or 2512 ord( 10_) <> 10 or 2513 ord( 11_) <> 11 or 2514 ord( 12_) <> 12 or 2515 ord( 98_) <> 98 or 2516 ord( 99_) <> 99 or 2517 ord( 100_) <> 100 or 2518 ord( 101_) <> 101 or 2519 ord( 102_) <> 102 or 2520 ord( 126_) <> 126 or 2521 ord( 127_) <> 127 or 2522 ord( 128_) <> 128 or 2523 ord( 129_) <> 129 or 2524 ord( 130_) <> 130 or 2525 ord( 254_) <> 254 or 2526 ord( 255_) <> 255 or 2527 ord( 256_) <> 256 or 2528 ord( 257_) <> 257 or 2529 ord( 258_) <> 258 or 2530 ord( 998_) <> 998 or 2531 ord( 999_) <> 999 or 2532 ord( 1000_) <> 1000 or 2533 ord( 1001_) <> 1001 or 2534 ord( 1002_) <> 1002 or 2535 ord( 9998_) <> 9998 or 2536 ord( 9999_) <> 9999 or 2537 ord( 10000_) <> 10000 or 2538 ord( 10001_) <> 10001 or 2539 ord( 10002_) <> 10002 or 2540 ord( 32766_) <> 32766 or 2541 ord( 32767_) <> 32767 or 2542 ord( 32768_) <> 32768 or 2543 ord( 32769_) <> 32769 or 2544 ord( 32770_) <> 32770 or 2545 ord( 65534_) <> 65534 or 2546 ord( 65535_) <> 65535 or 2547 ord( 65536_) <> 65536 or 2548 ord( 65537_) <> 65537 or 2549 ord( 65538_) <> 65538 or 2550 ord( 99998_) <> 99998 or 2551 ord( 99999_) <> 99999 or 2552 ord( 100000_) <> 100000 or 2553 ord( 100001_) <> 100001 or 2554 ord( 100002_) <> 100002 or 2555 ord( 999998_) <> 999998 or 2556 ord( 999999_) <> 999999 or 2557 ord( 1000000_) <> 1000000 or 2558 ord( 1000001_) <> 1000001 or 2559 ord( 1000002_) <> 1000002 or 2560 ord( 8388606_) <> 8388606 or 2561 ord( 8388607_) <> 8388607 or 2562 ord( 8388608_) <> 8388608 or 2563 ord( 8388609_) <> 8388609 or 2564 ord( 8388610_) <> 8388610 or 2565 ord( 9999998_) <> 9999998 or 2566 ord( 9999999_) <> 9999999 or 2567 ord( 10000000_) <> 10000000 or 2568 ord( 10000001_) <> 10000001 or 2569 ord( 10000002_) <> 10000002 or 2570 ord( 16777214_) <> 16777214 or 2571 ord( 16777215_) <> 16777215 or 2572 ord( 16777216_) <> 16777216 or 2573 ord( 16777217_) <> 16777217 or 2574 ord( 16777218_) <> 16777218 or 2575 ord( 99999998_) <> 99999998 or 2576 ord( 99999999_) <> 99999999 or 2577 ord( 100000000_) <> 100000000 or 2578 ord( 100000001_) <> 100000001 or 2579 ord( 100000002_) <> 100000002 or 2580 ord( 999999998_) <> 999999998 or 2581 ord( 999999999_) <> 999999999 or 2582 ord(1000000000_) <> 1000000000 or 2583 ord(1000000001_) <> 1000000001 or 2584 ord(1000000002_) <> 1000000002 or 2585 ord(2147483646_) <> 2147483646 or 2586 ord(2147483647_) <> 2147483647 or 2587 ord(1234567890123456_) <> 1234567890123456 then 2588 writeln("Conversion of a positive bigInteger to integer does not work correct."); 2589 okay := FALSE; 2590 end if; 2591 2592 if ord( -1_) <> -1 or 2593 ord( -2_) <> -2 or 2594 ord( -8_) <> -8 or 2595 ord( -9_) <> -9 or 2596 ord( -10_) <> -10 or 2597 ord( -11_) <> -11 or 2598 ord( -12_) <> -12 or 2599 ord( -98_) <> -98 or 2600 ord( -99_) <> -99 or 2601 ord( -100_) <> -100 or 2602 ord( -101_) <> -101 or 2603 ord( -102_) <> -102 or 2604 ord( -126_) <> -126 or 2605 ord( -127_) <> -127 or 2606 ord( -128_) <> -128 or 2607 ord( -129_) <> -129 or 2608 ord( -130_) <> -130 or 2609 ord( -254_) <> -254 or 2610 ord( -255_) <> -255 or 2611 ord( -256_) <> -256 or 2612 ord( -257_) <> -257 or 2613 ord( -258_) <> -258 or 2614 ord( -998_) <> -998 or 2615 ord( -999_) <> -999 or 2616 ord( -1000_) <> -1000 or 2617 ord( -1001_) <> -1001 or 2618 ord( -1002_) <> -1002 or 2619 ord( -9998_) <> -9998 or 2620 ord( -9999_) <> -9999 or 2621 ord( -10000_) <> -10000 or 2622 ord( -10001_) <> -10001 or 2623 ord( -10002_) <> -10002 or 2624 ord( -32766_) <> -32766 or 2625 ord( -32767_) <> -32767 or 2626 ord( -32768_) <> -32768 or 2627 ord( -32769_) <> -32769 or 2628 ord( -32770_) <> -32770 or 2629 ord( -65534_) <> -65534 or 2630 ord( -65535_) <> -65535 or 2631 ord( -65536_) <> -65536 or 2632 ord( -65537_) <> -65537 or 2633 ord( -65538_) <> -65538 or 2634 ord( -99998_) <> -99998 or 2635 ord( -99999_) <> -99999 or 2636 ord( -100000_) <> -100000 or 2637 ord( -100001_) <> -100001 or 2638 ord( -100002_) <> -100002 or 2639 ord( -999998_) <> -999998 or 2640 ord( -999999_) <> -999999 or 2641 ord( -1000000_) <> -1000000 or 2642 ord( -1000001_) <> -1000001 or 2643 ord( -1000002_) <> -1000002 or 2644 ord( -8388606_) <> -8388606 or 2645 ord( -8388607_) <> -8388607 or 2646 ord( -8388608_) <> -8388608 or 2647 ord( -8388609_) <> -8388609 or 2648 ord( -8388610_) <> -8388610 or 2649 ord( -9999998_) <> -9999998 or 2650 ord( -9999999_) <> -9999999 or 2651 ord( -10000000_) <> -10000000 or 2652 ord( -10000001_) <> -10000001 or 2653 ord( -10000002_) <> -10000002 or 2654 ord( -16777214_) <> -16777214 or 2655 ord( -16777215_) <> -16777215 or 2656 ord( -16777216_) <> -16777216 or 2657 ord( -16777217_) <> -16777217 or 2658 ord( -16777218_) <> -16777218 or 2659 ord( -99999998_) <> -99999998 or 2660 ord( -99999999_) <> -99999999 or 2661 ord( -100000000_) <> -100000000 or 2662 ord( -100000001_) <> -100000001 or 2663 ord( -100000002_) <> -100000002 or 2664 ord( -999999998_) <> -999999998 or 2665 ord( -999999999_) <> -999999999 or 2666 ord(-1000000000_) <> -1000000000 or 2667 ord(-1000000001_) <> -1000000001 or 2668 ord(-1000000002_) <> -1000000002 or 2669 ord(-2147483646_) <> -2147483646 or 2670 ord(-2147483647_) <> -2147483647 or 2671 ord(-2147483648_) <> pred(-2147483647) or 2672 ord(-1234567890123456_) <> -1234567890123456 then 2673 writeln("Conversion of a negative bigInteger to integer does not work correct."); 2674 okay := FALSE; 2675 end if; 2676 2677 if okay then 2678 writeln("Conversion of bigInteger to integer works correct."); 2679 else 2680 writeln(" ***** Conversion of bigInteger to integer does not work correct."); 2681 writeln; 2682 end if; 2683 end func; 2684 2685 2686const proc: chkBigOrdWithBigMod is func 2687 local 2688 const integer: aPositive1 is 3552952533233593397; 2689 const integer: aPositive2 is 5074619335926251242; 2690 const integer: aPositive3 is 3745810425333604960; 2691 const integer: aPositive4 is 2207119669289072373; 2692 const integer: aNegative1 is -5670419503621182411; 2693 const integer: aNegative2 is -4148752700928524566; 2694 const integer: aNegative3 is -5477561611521170848; 2695 const integer: aNegative4 is -7016252367565703435; 2696 const bigInteger: aBig1 is 123456789012345678901_; 2697 const bigInteger: aBig2 is 198765432109876543210_; 2698 const bigInteger: aBig3 is 31415926535897932384_; 2699 const bigInteger: aBig4 is 48323979853562951413_; 2700 const bigInteger: powTwo63 is 2_**63; 2701 const bigInteger: powTwo60 is 2_**60; 2702 var boolean: okay is TRUE; 2703 begin 2704 if ord( aBig1 mod powTwo63) <> 3552952533233593397 or 2705 ord( aBig2 mod powTwo63) <> 5074619335926251242 or 2706 ord( aBig3 mod powTwo63) <> 3745810425333604960 or 2707 ord( aBig4 mod powTwo63) <> 2207119669289072373 or 2708 ord(bigintExpr(aBig1) mod powTwo63) <> 3552952533233593397 or 2709 ord(bigintExpr(aBig2) mod powTwo63) <> 5074619335926251242 or 2710 ord(bigintExpr(aBig3) mod powTwo63) <> 3745810425333604960 or 2711 ord(bigintExpr(aBig4) mod powTwo63) <> 2207119669289072373 then 2712 writeln(" ***** ord(aBigInt mod 2_**63) does not work correct."); 2713 okay := FALSE; 2714 end if; 2715 2716 if ord(bigInteger( aPositive1 ) mod powTwo63) <> 3552952533233593397 or 2717 ord(bigInteger( aPositive2 ) mod powTwo63) <> 5074619335926251242 or 2718 ord(bigInteger( aPositive3 ) mod powTwo63) <> 3745810425333604960 or 2719 ord(bigInteger( aPositive4 ) mod powTwo63) <> 2207119669289072373 or 2720 ord(bigInteger(intExpr(aPositive1)) mod powTwo63) <> 3552952533233593397 or 2721 ord(bigInteger(intExpr(aPositive2)) mod powTwo63) <> 5074619335926251242 or 2722 ord(bigInteger(intExpr(aPositive3)) mod powTwo63) <> 3745810425333604960 or 2723 ord(bigInteger(intExpr(aPositive4)) mod powTwo63) <> 2207119669289072373 then 2724 writeln(" ***** ord(bigInteger(aPositive1) mod 2_**63) does not work correct."); 2725 okay := FALSE; 2726 end if; 2727 2728 if ord(bigInteger( aNegative1 ) mod powTwo63) <> 3552952533233593397 or 2729 ord(bigInteger( aNegative2 ) mod powTwo63) <> 5074619335926251242 or 2730 ord(bigInteger( aNegative3 ) mod powTwo63) <> 3745810425333604960 or 2731 ord(bigInteger( aNegative4 ) mod powTwo63) <> 2207119669289072373 or 2732 ord(bigInteger(intExpr(aNegative1)) mod powTwo63) <> 3552952533233593397 or 2733 ord(bigInteger(intExpr(aNegative2)) mod powTwo63) <> 5074619335926251242 or 2734 ord(bigInteger(intExpr(aNegative3)) mod powTwo63) <> 3745810425333604960 or 2735 ord(bigInteger(intExpr(aNegative4)) mod powTwo63) <> 2207119669289072373 then 2736 writeln(" ***** ord(bigInteger(number) mod 2_**63) does not work correct."); 2737 okay := FALSE; 2738 end if; 2739 2740 if ord(bigInteger conv aNegative1 mod powTwo63) <> 3552952533233593397 or 2741 ord(bigInteger conv aNegative2 mod powTwo63) <> 5074619335926251242 or 2742 ord(bigInteger conv aNegative3 mod powTwo63) <> 3745810425333604960 or 2743 ord(bigInteger conv aNegative4 mod powTwo63) <> 2207119669289072373 or 2744 ord(bigInteger conv intExpr(aNegative1) mod powTwo63) <> 3552952533233593397 or 2745 ord(bigInteger conv intExpr(aNegative2) mod powTwo63) <> 5074619335926251242 or 2746 ord(bigInteger conv intExpr(aNegative3) mod powTwo63) <> 3745810425333604960 or 2747 ord(bigInteger conv intExpr(aNegative4) mod powTwo63) <> 2207119669289072373 then 2748 writeln(" ***** ord(bigInteger conv number mod 2_**63) does not work correct."); 2749 okay := FALSE; 2750 end if; 2751 2752 if ord( aBig1 mod powTwo60) <> 94188019413052469 or 2753 ord( aBig2 mod powTwo60) <> 462933317498863338 or 2754 ord( aBig3 mod powTwo60) <> 287045911513064032 or 2755 ord( aBig4 mod powTwo60) <> 1054198164682225397 or 2756 ord(bigintExpr(aBig1) mod powTwo60) <> 94188019413052469 or 2757 ord(bigintExpr(aBig2) mod powTwo60) <> 462933317498863338 or 2758 ord(bigintExpr(aBig3) mod powTwo60) <> 287045911513064032 or 2759 ord(bigintExpr(aBig4) mod powTwo60) <> 1054198164682225397 then 2760 writeln(" ***** ord(aBigInt mod 2_**60) does not work correct."); 2761 okay := FALSE; 2762 end if; 2763 2764 if ord(bigInteger( aPositive1 ) mod powTwo60) <> 94188019413052469 or 2765 ord(bigInteger( aPositive2 ) mod powTwo60) <> 462933317498863338 or 2766 ord(bigInteger( aPositive3 ) mod powTwo60) <> 287045911513064032 or 2767 ord(bigInteger( aPositive4 ) mod powTwo60) <> 1054198164682225397 or 2768 ord(bigInteger(intExpr(aPositive1)) mod powTwo60) <> 94188019413052469 or 2769 ord(bigInteger(intExpr(aPositive2)) mod powTwo60) <> 462933317498863338 or 2770 ord(bigInteger(intExpr(aPositive3)) mod powTwo60) <> 287045911513064032 or 2771 ord(bigInteger(intExpr(aPositive4)) mod powTwo60) <> 1054198164682225397 then 2772 writeln(" ***** ord(bigInteger(aPositive1) mod 2_**60) does not work correct."); 2773 okay := FALSE; 2774 end if; 2775 2776 if ord(bigInteger( aNegative1 ) mod powTwo60) <> 94188019413052469 or 2777 ord(bigInteger( aNegative2 ) mod powTwo60) <> 462933317498863338 or 2778 ord(bigInteger( aNegative3 ) mod powTwo60) <> 287045911513064032 or 2779 ord(bigInteger( aNegative4 ) mod powTwo60) <> 1054198164682225397 or 2780 ord(bigInteger(intExpr(aNegative1)) mod powTwo60) <> 94188019413052469 or 2781 ord(bigInteger(intExpr(aNegative2)) mod powTwo60) <> 462933317498863338 or 2782 ord(bigInteger(intExpr(aNegative3)) mod powTwo60) <> 287045911513064032 or 2783 ord(bigInteger(intExpr(aNegative4)) mod powTwo60) <> 1054198164682225397 then 2784 writeln(" ***** ord(bigInteger(number) mod 2_**60) does not work correct."); 2785 okay := FALSE; 2786 end if; 2787 2788 if ord(bigInteger conv aNegative1 mod powTwo60) <> 94188019413052469 or 2789 ord(bigInteger conv aNegative2 mod powTwo60) <> 462933317498863338 or 2790 ord(bigInteger conv aNegative3 mod powTwo60) <> 287045911513064032 or 2791 ord(bigInteger conv aNegative4 mod powTwo60) <> 1054198164682225397 or 2792 ord(bigInteger conv intExpr(aNegative1) mod powTwo60) <> 94188019413052469 or 2793 ord(bigInteger conv intExpr(aNegative2) mod powTwo60) <> 462933317498863338 or 2794 ord(bigInteger conv intExpr(aNegative3) mod powTwo60) <> 287045911513064032 or 2795 ord(bigInteger conv intExpr(aNegative4) mod powTwo60) <> 1054198164682225397 then 2796 writeln(" ***** ord(bigInteger conv number mod 2_**60) does not work correct."); 2797 okay := FALSE; 2798 end if; 2799 2800 if ord(( aBig1 + aBig2 ) mod powTwo63) <> 8627571869159844639 or 2801 ord(( aBig1 + bigintExpr(aBig2)) mod powTwo63) <> 8627571869159844639 or 2802 ord((bigintExpr(aBig1) + aBig2 ) mod powTwo63) <> 8627571869159844639 or 2803 ord((bigintExpr(aBig1) + bigintExpr(aBig2)) mod powTwo63) <> 8627571869159844639 or 2804 ord(( aBig3 + aBig4 ) mod powTwo63) <> 5952930094622677333 or 2805 ord(( aBig3 + bigintExpr(aBig4)) mod powTwo63) <> 5952930094622677333 or 2806 ord((bigintExpr(aBig3) + aBig4 ) mod powTwo63) <> 5952930094622677333 or 2807 ord((bigintExpr(aBig3) + bigintExpr(aBig4)) mod powTwo63) <> 5952930094622677333 then 2808 writeln(" ***** ord((aBigInt1 + aBigInt2) mod 2_**63) does not work correct."); 2809 okay := FALSE; 2810 end if; 2811 2812 if ord((bigInteger( aPositive1 ) + bigInteger( aPositive2 )) mod powTwo63) <> 8627571869159844639 or 2813 ord((bigInteger( aPositive1 ) + bigInteger(intExpr(aPositive2))) mod powTwo63) <> 8627571869159844639 or 2814 ord((bigInteger(intExpr(aPositive1)) + bigInteger( aPositive2 )) mod powTwo63) <> 8627571869159844639 or 2815 ord((bigInteger(intExpr(aPositive1)) + bigInteger(intExpr(aPositive2))) mod powTwo63) <> 8627571869159844639 or 2816 ord((bigInteger( aPositive3 ) + bigInteger( aPositive4 )) mod powTwo63) <> 5952930094622677333 or 2817 ord((bigInteger( aPositive3 ) + bigInteger(intExpr(aPositive4))) mod powTwo63) <> 5952930094622677333 or 2818 ord((bigInteger(intExpr(aPositive3)) + bigInteger( aPositive4 )) mod powTwo63) <> 5952930094622677333 or 2819 ord((bigInteger(intExpr(aPositive3)) + bigInteger(intExpr(aPositive4))) mod powTwo63) <> 5952930094622677333 then 2820 writeln(" ***** ord((bigInteger(aPositive1) + bigInteger(aPositive2) mod 2_**63) does not work correct."); 2821 okay := FALSE; 2822 end if; 2823 2824 if ord((bigInteger( aNegative1 ) + bigInteger( aNegative2 )) mod powTwo63) <> 8627571869159844639 or 2825 ord((bigInteger( aNegative1 ) + bigInteger(intExpr(aNegative2))) mod powTwo63) <> 8627571869159844639 or 2826 ord((bigInteger(intExpr(aNegative1)) + bigInteger( aNegative2 )) mod powTwo63) <> 8627571869159844639 or 2827 ord((bigInteger(intExpr(aNegative1)) + bigInteger(intExpr(aNegative2))) mod powTwo63) <> 8627571869159844639 or 2828 ord((bigInteger( aNegative3 ) + bigInteger( aNegative4 )) mod powTwo63) <> 5952930094622677333 or 2829 ord((bigInteger( aNegative3 ) + bigInteger(intExpr(aNegative4))) mod powTwo63) <> 5952930094622677333 or 2830 ord((bigInteger(intExpr(aNegative3)) + bigInteger( aNegative4 )) mod powTwo63) <> 5952930094622677333 or 2831 ord((bigInteger(intExpr(aNegative3)) + bigInteger(intExpr(aNegative4))) mod powTwo63) <> 5952930094622677333 then 2832 writeln(" ***** ord((bigInteger(aNegative1) + bigInteger(aNegative2) mod 2_**63) does not work correct."); 2833 okay := FALSE; 2834 end if; 2835 2836 if ord((bigInteger( aNegative1 ) + bigInteger conv aNegative2 ) mod powTwo63) <> 8627571869159844639 or 2837 ord((bigInteger( aNegative1 ) + bigInteger conv intExpr(aNegative2)) mod powTwo63) <> 8627571869159844639 or 2838 ord((bigInteger(intExpr(aNegative1)) + bigInteger conv aNegative2 ) mod powTwo63) <> 8627571869159844639 or 2839 ord((bigInteger(intExpr(aNegative1)) + bigInteger conv intExpr(aNegative2)) mod powTwo63) <> 8627571869159844639 or 2840 ord((bigInteger( aNegative3 ) + bigInteger conv aNegative4 ) mod powTwo63) <> 5952930094622677333 or 2841 ord((bigInteger( aNegative3 ) + bigInteger conv intExpr(aNegative4)) mod powTwo63) <> 5952930094622677333 or 2842 ord((bigInteger(intExpr(aNegative3)) + bigInteger conv aNegative4 ) mod powTwo63) <> 5952930094622677333 or 2843 ord((bigInteger(intExpr(aNegative3)) + bigInteger conv intExpr(aNegative4)) mod powTwo63) <> 5952930094622677333 then 2844 writeln(" ***** ord((bigInteger(aNegative1) + bigInteger conv aNegative2) mod 2_**63) does not work correct."); 2845 okay := FALSE; 2846 end if; 2847 2848 if ord((bigInteger conv aNegative1 + bigInteger( aNegative2 )) mod powTwo63) <> 8627571869159844639 or 2849 ord((bigInteger conv aNegative1 + bigInteger(intExpr(aNegative2))) mod powTwo63) <> 8627571869159844639 or 2850 ord((bigInteger conv intExpr(aNegative1) + bigInteger( aNegative2 )) mod powTwo63) <> 8627571869159844639 or 2851 ord((bigInteger conv intExpr(aNegative1) + bigInteger(intExpr(aNegative2))) mod powTwo63) <> 8627571869159844639 or 2852 ord((bigInteger conv aNegative3 + bigInteger( aNegative4 )) mod powTwo63) <> 5952930094622677333 or 2853 ord((bigInteger conv aNegative3 + bigInteger(intExpr(aNegative4))) mod powTwo63) <> 5952930094622677333 or 2854 ord((bigInteger conv intExpr(aNegative3) + bigInteger( aNegative4 )) mod powTwo63) <> 5952930094622677333 or 2855 ord((bigInteger conv intExpr(aNegative3) + bigInteger(intExpr(aNegative4))) mod powTwo63) <> 5952930094622677333 then 2856 writeln(" ***** ord((bigInteger conv aNegative1 + bigInteger(aNegative2)) mod 2_**63) does not work correct."); 2857 okay := FALSE; 2858 end if; 2859 2860 if ord((bigInteger conv aNegative1 + bigInteger conv aNegative2 ) mod powTwo63) <> 8627571869159844639 or 2861 ord((bigInteger conv aNegative1 + bigInteger conv intExpr(aNegative2)) mod powTwo63) <> 8627571869159844639 or 2862 ord((bigInteger conv intExpr(aNegative1) + bigInteger conv aNegative2 ) mod powTwo63) <> 8627571869159844639 or 2863 ord((bigInteger conv intExpr(aNegative1) + bigInteger conv intExpr(aNegative2)) mod powTwo63) <> 8627571869159844639 or 2864 ord((bigInteger conv aNegative3 + bigInteger conv aNegative4 ) mod powTwo63) <> 5952930094622677333 or 2865 ord((bigInteger conv aNegative3 + bigInteger conv intExpr(aNegative4)) mod powTwo63) <> 5952930094622677333 or 2866 ord((bigInteger conv intExpr(aNegative3) + bigInteger conv aNegative4 ) mod powTwo63) <> 5952930094622677333 or 2867 ord((bigInteger conv intExpr(aNegative3) + bigInteger conv intExpr(aNegative4)) mod powTwo63) <> 5952930094622677333 then 2868 writeln(" ***** ord((bigInteger conv aNegative1 + bigInteger conv aNegative2) mod 2_**63) does not work correct."); 2869 okay := FALSE; 2870 end if; 2871 2872 if ord(( aBig1 + aBig2 ) mod powTwo60) <> 557121336911915807 or 2873 ord(( aBig1 + bigintExpr(aBig2)) mod powTwo60) <> 557121336911915807 or 2874 ord((bigintExpr(aBig1) + aBig2 ) mod powTwo60) <> 557121336911915807 or 2875 ord((bigintExpr(aBig1) + bigintExpr(aBig2)) mod powTwo60) <> 557121336911915807 or 2876 ord(( aBig3 + aBig4 ) mod powTwo60) <> 188322571588442453 or 2877 ord(( aBig3 + bigintExpr(aBig4)) mod powTwo60) <> 188322571588442453 or 2878 ord((bigintExpr(aBig3) + aBig4 ) mod powTwo60) <> 188322571588442453 or 2879 ord((bigintExpr(aBig3) + bigintExpr(aBig4)) mod powTwo60) <> 188322571588442453 then 2880 writeln(" ***** ord((aBigInt1 + aBigInt2) mod 2_**60) does not work correct."); 2881 okay := FALSE; 2882 end if; 2883 2884 if ord((bigInteger( aPositive1 ) + bigInteger( aPositive2 )) mod powTwo60) <> 557121336911915807 or 2885 ord((bigInteger( aPositive1 ) + bigInteger(intExpr(aPositive2))) mod powTwo60) <> 557121336911915807 or 2886 ord((bigInteger(intExpr(aPositive1)) + bigInteger( aPositive2 )) mod powTwo60) <> 557121336911915807 or 2887 ord((bigInteger(intExpr(aPositive1)) + bigInteger(intExpr(aPositive2))) mod powTwo60) <> 557121336911915807 or 2888 ord((bigInteger( aPositive3 ) + bigInteger( aPositive4 )) mod powTwo60) <> 188322571588442453 or 2889 ord((bigInteger( aPositive3 ) + bigInteger(intExpr(aPositive4))) mod powTwo60) <> 188322571588442453 or 2890 ord((bigInteger(intExpr(aPositive3)) + bigInteger( aPositive4 )) mod powTwo60) <> 188322571588442453 or 2891 ord((bigInteger(intExpr(aPositive3)) + bigInteger(intExpr(aPositive4))) mod powTwo60) <> 188322571588442453 then 2892 writeln(" ***** ord((bigInteger(aPositive1) + bigInteger(aPositive2) mod 2_**60) does not work correct."); 2893 okay := FALSE; 2894 end if; 2895 2896 if ord((bigInteger( aNegative1 ) + bigInteger( aNegative2 )) mod powTwo60) <> 557121336911915807 or 2897 ord((bigInteger( aNegative1 ) + bigInteger(intExpr(aNegative2))) mod powTwo60) <> 557121336911915807 or 2898 ord((bigInteger(intExpr(aNegative1)) + bigInteger( aNegative2 )) mod powTwo60) <> 557121336911915807 or 2899 ord((bigInteger(intExpr(aNegative1)) + bigInteger(intExpr(aNegative2))) mod powTwo60) <> 557121336911915807 or 2900 ord((bigInteger( aNegative3 ) + bigInteger( aNegative4 )) mod powTwo60) <> 188322571588442453 or 2901 ord((bigInteger( aNegative3 ) + bigInteger(intExpr(aNegative4))) mod powTwo60) <> 188322571588442453 or 2902 ord((bigInteger(intExpr(aNegative3)) + bigInteger( aNegative4 )) mod powTwo60) <> 188322571588442453 or 2903 ord((bigInteger(intExpr(aNegative3)) + bigInteger(intExpr(aNegative4))) mod powTwo60) <> 188322571588442453 then 2904 writeln(" ***** ord((bigInteger(aNegative1) + bigInteger(aNegative2)) mod 2_**60) does not work correct."); 2905 okay := FALSE; 2906 end if; 2907 2908 if ord((bigInteger( aNegative1 ) + bigInteger conv aNegative2 ) mod powTwo60) <> 557121336911915807 or 2909 ord((bigInteger( aNegative1 ) + bigInteger conv intExpr(aNegative2)) mod powTwo60) <> 557121336911915807 or 2910 ord((bigInteger(intExpr(aNegative1)) + bigInteger conv aNegative2 ) mod powTwo60) <> 557121336911915807 or 2911 ord((bigInteger(intExpr(aNegative1)) + bigInteger conv intExpr(aNegative2)) mod powTwo60) <> 557121336911915807 or 2912 ord((bigInteger( aNegative3 ) + bigInteger conv aNegative4 ) mod powTwo60) <> 188322571588442453 or 2913 ord((bigInteger( aNegative3 ) + bigInteger conv intExpr(aNegative4)) mod powTwo60) <> 188322571588442453 or 2914 ord((bigInteger(intExpr(aNegative3)) + bigInteger conv aNegative4 ) mod powTwo60) <> 188322571588442453 or 2915 ord((bigInteger(intExpr(aNegative3)) + bigInteger conv intExpr(aNegative4)) mod powTwo60) <> 188322571588442453 then 2916 writeln(" ***** ord((bigInteger(aNegative1) + bigInteger conv aNegative2) mod 2_**60) does not work correct."); 2917 okay := FALSE; 2918 end if; 2919 2920 if ord((bigInteger conv aNegative1 + bigInteger( aNegative2 )) mod powTwo60) <> 557121336911915807 or 2921 ord((bigInteger conv aNegative1 + bigInteger(intExpr(aNegative2))) mod powTwo60) <> 557121336911915807 or 2922 ord((bigInteger conv intExpr(aNegative1) + bigInteger( aNegative2 )) mod powTwo60) <> 557121336911915807 or 2923 ord((bigInteger conv intExpr(aNegative1) + bigInteger(intExpr(aNegative2))) mod powTwo60) <> 557121336911915807 or 2924 ord((bigInteger conv aNegative3 + bigInteger( aNegative4 )) mod powTwo60) <> 188322571588442453 or 2925 ord((bigInteger conv aNegative3 + bigInteger(intExpr(aNegative4))) mod powTwo60) <> 188322571588442453 or 2926 ord((bigInteger conv intExpr(aNegative3) + bigInteger( aNegative4 )) mod powTwo60) <> 188322571588442453 or 2927 ord((bigInteger conv intExpr(aNegative3) + bigInteger(intExpr(aNegative4))) mod powTwo60) <> 188322571588442453 then 2928 writeln(" ***** ord((bigInteger conv aNegative1 + bigInteger(aNegative2)) mod 2_**60) does not work correct."); 2929 okay := FALSE; 2930 end if; 2931 2932 if ord((bigInteger conv aNegative1 + bigInteger conv aNegative2 ) mod powTwo60) <> 557121336911915807 or 2933 ord((bigInteger conv aNegative1 + bigInteger conv intExpr(aNegative2)) mod powTwo60) <> 557121336911915807 or 2934 ord((bigInteger conv intExpr(aNegative1) + bigInteger conv aNegative2 ) mod powTwo60) <> 557121336911915807 or 2935 ord((bigInteger conv intExpr(aNegative1) + bigInteger conv intExpr(aNegative2)) mod powTwo60) <> 557121336911915807 or 2936 ord((bigInteger conv aNegative3 + bigInteger conv aNegative4 ) mod powTwo60) <> 188322571588442453 or 2937 ord((bigInteger conv aNegative3 + bigInteger conv intExpr(aNegative4)) mod powTwo60) <> 188322571588442453 or 2938 ord((bigInteger conv intExpr(aNegative3) + bigInteger conv aNegative4 ) mod powTwo60) <> 188322571588442453 or 2939 ord((bigInteger conv intExpr(aNegative3) + bigInteger conv intExpr(aNegative4)) mod powTwo60) <> 188322571588442453 then 2940 writeln(" ***** ord((bigInteger conv aNegative1 + bigInteger conv aNegative2) mod 2_**60) does not work correct."); 2941 okay := FALSE; 2942 end if; 2943 2944 if okay then 2945 writeln("ord(aBigInteger mod 2_**y) works correct."); 2946 end if; 2947 end func; 2948 2949 2950const proc: chkConv is func 2951 local 2952 var boolean: okay is TRUE; 2953 begin 2954 if bigInteger( 0) <> 0_ or 2955 bigInteger( 1) <> 1_ or 2956 bigInteger( 2) <> 2_ or 2957 bigInteger( 8) <> 8_ or 2958 bigInteger( 9) <> 9_ or 2959 bigInteger( 10) <> 10_ or 2960 bigInteger( 11) <> 11_ or 2961 bigInteger( 12) <> 12_ or 2962 bigInteger( 98) <> 98_ or 2963 bigInteger( 99) <> 99_ or 2964 bigInteger( 100) <> 100_ or 2965 bigInteger( 101) <> 101_ or 2966 bigInteger( 102) <> 102_ or 2967 bigInteger( 126) <> 126_ or 2968 bigInteger( 127) <> 127_ or 2969 bigInteger( 128) <> 128_ or 2970 bigInteger( 129) <> 129_ or 2971 bigInteger( 130) <> 130_ or 2972 bigInteger( 254) <> 254_ or 2973 bigInteger( 255) <> 255_ or 2974 bigInteger( 256) <> 256_ or 2975 bigInteger( 257) <> 257_ or 2976 bigInteger( 258) <> 258_ or 2977 bigInteger( 998) <> 998_ or 2978 bigInteger( 999) <> 999_ or 2979 bigInteger( 1000) <> 1000_ or 2980 bigInteger( 1001) <> 1001_ or 2981 bigInteger( 1002) <> 1002_ or 2982 bigInteger( 9998) <> 9998_ or 2983 bigInteger( 9999) <> 9999_ or 2984 bigInteger( 10000) <> 10000_ or 2985 bigInteger( 10001) <> 10001_ or 2986 bigInteger( 10002) <> 10002_ or 2987 bigInteger( 32766) <> 32766_ or 2988 bigInteger( 32767) <> 32767_ or 2989 bigInteger( 32768) <> 32768_ or 2990 bigInteger( 32769) <> 32769_ or 2991 bigInteger( 32770) <> 32770_ or 2992 bigInteger( 65534) <> 65534_ or 2993 bigInteger( 65535) <> 65535_ or 2994 bigInteger( 65536) <> 65536_ or 2995 bigInteger( 65537) <> 65537_ or 2996 bigInteger( 65538) <> 65538_ or 2997 bigInteger( 99998) <> 99998_ or 2998 bigInteger( 99999) <> 99999_ or 2999 bigInteger( 100000) <> 100000_ or 3000 bigInteger( 100001) <> 100001_ or 3001 bigInteger( 100002) <> 100002_ or 3002 bigInteger( 999998) <> 999998_ or 3003 bigInteger( 999999) <> 999999_ or 3004 bigInteger( 1000000) <> 1000000_ or 3005 bigInteger( 1000001) <> 1000001_ or 3006 bigInteger( 1000002) <> 1000002_ or 3007 bigInteger( 8388606) <> 8388606_ or 3008 bigInteger( 8388607) <> 8388607_ or 3009 bigInteger( 8388608) <> 8388608_ or 3010 bigInteger( 8388609) <> 8388609_ or 3011 bigInteger( 8388610) <> 8388610_ or 3012 bigInteger( 9999998) <> 9999998_ or 3013 bigInteger( 9999999) <> 9999999_ or 3014 bigInteger( 10000000) <> 10000000_ or 3015 bigInteger( 10000001) <> 10000001_ or 3016 bigInteger( 10000002) <> 10000002_ or 3017 bigInteger( 16777214) <> 16777214_ or 3018 bigInteger( 16777215) <> 16777215_ or 3019 bigInteger( 16777216) <> 16777216_ or 3020 bigInteger( 16777217) <> 16777217_ or 3021 bigInteger( 16777218) <> 16777218_ or 3022 bigInteger( 99999998) <> 99999998_ or 3023 bigInteger( 99999999) <> 99999999_ or 3024 bigInteger( 100000000) <> 100000000_ or 3025 bigInteger( 100000001) <> 100000001_ or 3026 bigInteger( 100000002) <> 100000002_ or 3027 bigInteger( 999999998) <> 999999998_ or 3028 bigInteger( 999999999) <> 999999999_ or 3029 bigInteger(1000000000) <> 1000000000_ or 3030 bigInteger(1000000001) <> 1000000001_ or 3031 bigInteger(1000000002) <> 1000000002_ or 3032 bigInteger(2147483646) <> 2147483646_ or 3033 bigInteger(2147483647) <> 2147483647_ or 3034 bigInteger(1234567890123456) <> 1234567890123456_ or 3035 bigInteger(9223372036854775806) <> 9223372036854775806_ or 3036 bigInteger(9223372036854775807) <> 9223372036854775807_ then 3037 writeln("Conversion of a positive integer to bigInteger does not work correct."); 3038 okay := FALSE; 3039 end if; 3040 3041 if bigInteger( -1) <> -1_ or 3042 bigInteger( -2) <> -2_ or 3043 bigInteger( -8) <> -8_ or 3044 bigInteger( -9) <> -9_ or 3045 bigInteger( -10) <> -10_ or 3046 bigInteger( -11) <> -11_ or 3047 bigInteger( -12) <> -12_ or 3048 bigInteger( -98) <> -98_ or 3049 bigInteger( -99) <> -99_ or 3050 bigInteger( -100) <> -100_ or 3051 bigInteger( -101) <> -101_ or 3052 bigInteger( -102) <> -102_ or 3053 bigInteger( -126) <> -126_ or 3054 bigInteger( -127) <> -127_ or 3055 bigInteger( -128) <> -128_ or 3056 bigInteger( -129) <> -129_ or 3057 bigInteger( -130) <> -130_ or 3058 bigInteger( -254) <> -254_ or 3059 bigInteger( -255) <> -255_ or 3060 bigInteger( -256) <> -256_ or 3061 bigInteger( -257) <> -257_ or 3062 bigInteger( -258) <> -258_ or 3063 bigInteger( -998) <> -998_ or 3064 bigInteger( -999) <> -999_ or 3065 bigInteger( -1000) <> -1000_ or 3066 bigInteger( -1001) <> -1001_ or 3067 bigInteger( -1002) <> -1002_ or 3068 bigInteger( -9998) <> -9998_ or 3069 bigInteger( -9999) <> -9999_ or 3070 bigInteger( -10000) <> -10000_ or 3071 bigInteger( -10001) <> -10001_ or 3072 bigInteger( -10002) <> -10002_ or 3073 bigInteger( -32766) <> -32766_ or 3074 bigInteger( -32767) <> -32767_ or 3075 bigInteger( -32768) <> -32768_ or 3076 bigInteger( -32769) <> -32769_ or 3077 bigInteger( -32770) <> -32770_ or 3078 bigInteger( -65534) <> -65534_ or 3079 bigInteger( -65535) <> -65535_ or 3080 bigInteger( -65536) <> -65536_ or 3081 bigInteger( -65537) <> -65537_ or 3082 bigInteger( -65538) <> -65538_ or 3083 bigInteger( -99998) <> -99998_ or 3084 bigInteger( -99999) <> -99999_ or 3085 bigInteger( -100000) <> -100000_ or 3086 bigInteger( -100001) <> -100001_ or 3087 bigInteger( -100002) <> -100002_ or 3088 bigInteger( -999998) <> -999998_ or 3089 bigInteger( -999999) <> -999999_ or 3090 bigInteger( -1000000) <> -1000000_ or 3091 bigInteger( -1000001) <> -1000001_ or 3092 bigInteger( -1000002) <> -1000002_ or 3093 bigInteger( -8388606) <> -8388606_ or 3094 bigInteger( -8388607) <> -8388607_ or 3095 bigInteger( -8388608) <> -8388608_ or 3096 bigInteger( -8388609) <> -8388609_ or 3097 bigInteger( -8388610) <> -8388610_ or 3098 bigInteger( -9999998) <> -9999998_ or 3099 bigInteger( -9999999) <> -9999999_ or 3100 bigInteger( -10000000) <> -10000000_ or 3101 bigInteger( -10000001) <> -10000001_ or 3102 bigInteger( -10000002) <> -10000002_ or 3103 bigInteger( -16777214) <> -16777214_ or 3104 bigInteger( -16777215) <> -16777215_ or 3105 bigInteger( -16777216) <> -16777216_ or 3106 bigInteger( -16777217) <> -16777217_ or 3107 bigInteger( -16777218) <> -16777218_ or 3108 bigInteger( -99999998) <> -99999998_ or 3109 bigInteger( -99999999) <> -99999999_ or 3110 bigInteger( -100000000) <> -100000000_ or 3111 bigInteger( -100000001) <> -100000001_ or 3112 bigInteger( -100000002) <> -100000002_ or 3113 bigInteger( -999999998) <> -999999998_ or 3114 bigInteger( -999999999) <> -999999999_ or 3115 bigInteger(-1000000000) <> -1000000000_ or 3116 bigInteger(-1000000001) <> -1000000001_ or 3117 bigInteger(-1000000002) <> -1000000002_ or 3118 bigInteger(-2147483646) <> -2147483646_ or 3119 bigInteger(-2147483647) <> -2147483647_ or 3120 bigInteger(-2147483648) <> -2147483648_ or 3121 bigInteger(-1234567890123456) <> -1234567890123456_ or 3122 bigInteger(-9223372036854775807) <> -9223372036854775807_ or 3123 bigInteger(pred(-9223372036854775807)) <> -9223372036854775808_ then 3124 writeln("Conversion of a negative integer to bigInteger does not work correct."); 3125 okay := FALSE; 3126 end if; 3127 3128 if bigInteger conv 0 <> 0_ or 3129 bigInteger conv 1 <> 1_ or 3130 bigInteger conv 2 <> 2_ or 3131 bigInteger conv 8 <> 8_ or 3132 bigInteger conv 9 <> 9_ or 3133 bigInteger conv 10 <> 10_ or 3134 bigInteger conv 11 <> 11_ or 3135 bigInteger conv 12 <> 12_ or 3136 bigInteger conv 98 <> 98_ or 3137 bigInteger conv 99 <> 99_ or 3138 bigInteger conv 100 <> 100_ or 3139 bigInteger conv 101 <> 101_ or 3140 bigInteger conv 102 <> 102_ or 3141 bigInteger conv 126 <> 126_ or 3142 bigInteger conv 127 <> 127_ or 3143 bigInteger conv 128 <> 128_ or 3144 bigInteger conv 129 <> 129_ or 3145 bigInteger conv 130 <> 130_ or 3146 bigInteger conv 254 <> 254_ or 3147 bigInteger conv 255 <> 255_ or 3148 bigInteger conv 256 <> 256_ or 3149 bigInteger conv 257 <> 257_ or 3150 bigInteger conv 258 <> 258_ or 3151 bigInteger conv 998 <> 998_ or 3152 bigInteger conv 999 <> 999_ or 3153 bigInteger conv 1000 <> 1000_ or 3154 bigInteger conv 1001 <> 1001_ or 3155 bigInteger conv 1002 <> 1002_ or 3156 bigInteger conv 9998 <> 9998_ or 3157 bigInteger conv 9999 <> 9999_ or 3158 bigInteger conv 10000 <> 10000_ or 3159 bigInteger conv 10001 <> 10001_ or 3160 bigInteger conv 10002 <> 10002_ or 3161 bigInteger conv 32766 <> 32766_ or 3162 bigInteger conv 32767 <> 32767_ or 3163 bigInteger conv 32768 <> 32768_ or 3164 bigInteger conv 32769 <> 32769_ or 3165 bigInteger conv 32770 <> 32770_ or 3166 bigInteger conv 65534 <> 65534_ or 3167 bigInteger conv 65535 <> 65535_ or 3168 bigInteger conv 65536 <> 65536_ or 3169 bigInteger conv 65537 <> 65537_ or 3170 bigInteger conv 65538 <> 65538_ or 3171 bigInteger conv 99998 <> 99998_ or 3172 bigInteger conv 99999 <> 99999_ or 3173 bigInteger conv 100000 <> 100000_ or 3174 bigInteger conv 100001 <> 100001_ or 3175 bigInteger conv 100002 <> 100002_ or 3176 bigInteger conv 999998 <> 999998_ or 3177 bigInteger conv 999999 <> 999999_ or 3178 bigInteger conv 1000000 <> 1000000_ or 3179 bigInteger conv 1000001 <> 1000001_ or 3180 bigInteger conv 1000002 <> 1000002_ or 3181 bigInteger conv 8388606 <> 8388606_ or 3182 bigInteger conv 8388607 <> 8388607_ or 3183 bigInteger conv 8388608 <> 8388608_ or 3184 bigInteger conv 8388609 <> 8388609_ or 3185 bigInteger conv 8388610 <> 8388610_ or 3186 bigInteger conv 9999998 <> 9999998_ or 3187 bigInteger conv 9999999 <> 9999999_ or 3188 bigInteger conv 10000000 <> 10000000_ or 3189 bigInteger conv 10000001 <> 10000001_ or 3190 bigInteger conv 10000002 <> 10000002_ or 3191 bigInteger conv 16777214 <> 16777214_ or 3192 bigInteger conv 16777215 <> 16777215_ or 3193 bigInteger conv 16777216 <> 16777216_ or 3194 bigInteger conv 16777217 <> 16777217_ or 3195 bigInteger conv 16777218 <> 16777218_ or 3196 bigInteger conv 99999998 <> 99999998_ or 3197 bigInteger conv 99999999 <> 99999999_ or 3198 bigInteger conv 100000000 <> 100000000_ or 3199 bigInteger conv 100000001 <> 100000001_ or 3200 bigInteger conv 100000002 <> 100000002_ or 3201 bigInteger conv 999999998 <> 999999998_ or 3202 bigInteger conv 999999999 <> 999999999_ or 3203 bigInteger conv 1000000000 <> 1000000000_ or 3204 bigInteger conv 1000000001 <> 1000000001_ or 3205 bigInteger conv 1000000002 <> 1000000002_ or 3206 bigInteger conv 2147483646 <> 2147483646_ or 3207 bigInteger conv 2147483647 <> 2147483647_ or 3208 bigInteger conv 1234567890123456 <> 1234567890123456_ or 3209 bigInteger conv 9223372036854775806 <> 9223372036854775806_ or 3210 bigInteger conv 9223372036854775807 <> 9223372036854775807_ then 3211 writeln("Conversion of a positive integer to bigInteger does not work correct."); 3212 okay := FALSE; 3213 end if; 3214 3215 if bigInteger conv ( -1) <> -1_ or 3216 bigInteger conv ( -2) <> -2_ or 3217 bigInteger conv ( -8) <> -8_ or 3218 bigInteger conv ( -9) <> -9_ or 3219 bigInteger conv ( -10) <> -10_ or 3220 bigInteger conv ( -11) <> -11_ or 3221 bigInteger conv ( -12) <> -12_ or 3222 bigInteger conv ( -98) <> -98_ or 3223 bigInteger conv ( -99) <> -99_ or 3224 bigInteger conv ( -100) <> -100_ or 3225 bigInteger conv ( -101) <> -101_ or 3226 bigInteger conv ( -102) <> -102_ or 3227 bigInteger conv ( -126) <> -126_ or 3228 bigInteger conv ( -127) <> -127_ or 3229 bigInteger conv ( -128) <> -128_ or 3230 bigInteger conv ( -129) <> -129_ or 3231 bigInteger conv ( -130) <> -130_ or 3232 bigInteger conv ( -254) <> -254_ or 3233 bigInteger conv ( -255) <> -255_ or 3234 bigInteger conv ( -256) <> -256_ or 3235 bigInteger conv ( -257) <> -257_ or 3236 bigInteger conv ( -258) <> -258_ or 3237 bigInteger conv ( -998) <> -998_ or 3238 bigInteger conv ( -999) <> -999_ or 3239 bigInteger conv ( -1000) <> -1000_ or 3240 bigInteger conv ( -1001) <> -1001_ or 3241 bigInteger conv ( -1002) <> -1002_ or 3242 bigInteger conv ( -9998) <> -9998_ or 3243 bigInteger conv ( -9999) <> -9999_ or 3244 bigInteger conv ( -10000) <> -10000_ or 3245 bigInteger conv ( -10001) <> -10001_ or 3246 bigInteger conv ( -10002) <> -10002_ or 3247 bigInteger conv ( -32766) <> -32766_ or 3248 bigInteger conv ( -32767) <> -32767_ or 3249 bigInteger conv ( -32768) <> -32768_ or 3250 bigInteger conv ( -32769) <> -32769_ or 3251 bigInteger conv ( -32770) <> -32770_ or 3252 bigInteger conv ( -65534) <> -65534_ or 3253 bigInteger conv ( -65535) <> -65535_ or 3254 bigInteger conv ( -65536) <> -65536_ or 3255 bigInteger conv ( -65537) <> -65537_ or 3256 bigInteger conv ( -65538) <> -65538_ or 3257 bigInteger conv ( -99998) <> -99998_ or 3258 bigInteger conv ( -99999) <> -99999_ or 3259 bigInteger conv ( -100000) <> -100000_ or 3260 bigInteger conv ( -100001) <> -100001_ or 3261 bigInteger conv ( -100002) <> -100002_ or 3262 bigInteger conv ( -999998) <> -999998_ or 3263 bigInteger conv ( -999999) <> -999999_ or 3264 bigInteger conv ( -1000000) <> -1000000_ or 3265 bigInteger conv ( -1000001) <> -1000001_ or 3266 bigInteger conv ( -1000002) <> -1000002_ or 3267 bigInteger conv ( -8388606) <> -8388606_ or 3268 bigInteger conv ( -8388607) <> -8388607_ or 3269 bigInteger conv ( -8388608) <> -8388608_ or 3270 bigInteger conv ( -8388609) <> -8388609_ or 3271 bigInteger conv ( -8388610) <> -8388610_ or 3272 bigInteger conv ( -9999998) <> -9999998_ or 3273 bigInteger conv ( -9999999) <> -9999999_ or 3274 bigInteger conv ( -10000000) <> -10000000_ or 3275 bigInteger conv ( -10000001) <> -10000001_ or 3276 bigInteger conv ( -10000002) <> -10000002_ or 3277 bigInteger conv ( -16777214) <> -16777214_ or 3278 bigInteger conv ( -16777215) <> -16777215_ or 3279 bigInteger conv ( -16777216) <> -16777216_ or 3280 bigInteger conv ( -16777217) <> -16777217_ or 3281 bigInteger conv ( -16777218) <> -16777218_ or 3282 bigInteger conv ( -99999998) <> -99999998_ or 3283 bigInteger conv ( -99999999) <> -99999999_ or 3284 bigInteger conv ( -100000000) <> -100000000_ or 3285 bigInteger conv ( -100000001) <> -100000001_ or 3286 bigInteger conv ( -100000002) <> -100000002_ or 3287 bigInteger conv ( -999999998) <> -999999998_ or 3288 bigInteger conv ( -999999999) <> -999999999_ or 3289 bigInteger conv (-1000000000) <> -1000000000_ or 3290 bigInteger conv (-1000000001) <> -1000000001_ or 3291 bigInteger conv (-1000000002) <> -1000000002_ or 3292 bigInteger conv (-2147483646) <> -2147483646_ or 3293 bigInteger conv (-2147483647) <> -2147483647_ or 3294 bigInteger conv (-2147483648) <> -2147483648_ or 3295 bigInteger conv (-1234567890123456) <> -1234567890123456_ or 3296 bigInteger conv (-9223372036854775807) <> -9223372036854775807_ or 3297 bigInteger conv pred(-9223372036854775807) <> -9223372036854775808_ then 3298 writeln("Conversion of a negative integer to bigInteger does not work correct."); 3299 okay := FALSE; 3300 end if; 3301 3302 if okay then 3303 writeln("Conversion of integer to bigInteger works correct."); 3304 else 3305 writeln(" ***** Conversion of integer to bigInteger does not work correct."); 3306 writeln; 3307 end if; 3308 end func; 3309 3310 3311const proc: chkBytesBe is func 3312 local 3313 var boolean: okay is TRUE; 3314 begin 3315 if bytes(-1208925819614629174706177_, SIGNED, BE) <> "\254;\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;" or 3316 bytes(-1208925819614629174706176_, SIGNED, BE) <> "\255;\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;" or 3317 bytes( -604462909807314587353089_, SIGNED, BE) <> "\255;\127;\255;\255;\255;\255;\255;\255;\255;\255;\255;" or 3318 bytes( -604462909807314587353088_, SIGNED, BE) <> "\128;\000;\000;\000;\000;\000;\000;\000;\000;\000;" or 3319 bytes( -4722366482869645213697_, SIGNED, BE) <> "\254;\255;\255;\255;\255;\255;\255;\255;\255;\255;" or 3320 bytes( -4722366482869645213696_, SIGNED, BE) <> "\255;\000;\000;\000;\000;\000;\000;\000;\000;\000;" or 3321 bytes( -2361183241434822606849_, SIGNED, BE) <> "\255;\127;\255;\255;\255;\255;\255;\255;\255;\255;" or 3322 bytes( -2361183241434822606848_, SIGNED, BE) <> "\128;\000;\000;\000;\000;\000;\000;\000;\000;" or 3323 bytes( -18446744073709551617_, SIGNED, BE) <> "\254;\255;\255;\255;\255;\255;\255;\255;\255;" or 3324 bytes( -18446744073709551616_, SIGNED, BE) <> "\255;\000;\000;\000;\000;\000;\000;\000;\000;" or 3325 bytes( -9223372036854775809_, SIGNED, BE) <> "\255;\127;\255;\255;\255;\255;\255;\255;\255;" or 3326 bytes( -9223372036854775808_, SIGNED, BE) <> "\128;\000;\000;\000;\000;\000;\000;\000;" or 3327 bytes( -72057594037927937_, SIGNED, BE) <> "\254;\255;\255;\255;\255;\255;\255;\255;" or 3328 bytes( -72057594037927936_, SIGNED, BE) <> "\255;\000;\000;\000;\000;\000;\000;\000;" or 3329 bytes( -36028797018963969_, SIGNED, BE) <> "\255;\127;\255;\255;\255;\255;\255;\255;" or 3330 bytes( -36028797018963968_, SIGNED, BE) <> "\128;\000;\000;\000;\000;\000;\000;" or 3331 bytes( -281474976710657_, SIGNED, BE) <> "\254;\255;\255;\255;\255;\255;\255;" or 3332 bytes( -281474976710656_, SIGNED, BE) <> "\255;\000;\000;\000;\000;\000;\000;" or 3333 bytes( -140737488355329_, SIGNED, BE) <> "\255;\127;\255;\255;\255;\255;\255;" or 3334 bytes( -140737488355328_, SIGNED, BE) <> "\128;\000;\000;\000;\000;\000;" or 3335 bytes( -1099511627777_, SIGNED, BE) <> "\254;\255;\255;\255;\255;\255;" or 3336 bytes( -1099511627776_, SIGNED, BE) <> "\255;\000;\000;\000;\000;\000;" or 3337 bytes( -549755813889_, SIGNED, BE) <> "\255;\127;\255;\255;\255;\255;" or 3338 bytes( -549755813888_, SIGNED, BE) <> "\128;\000;\000;\000;\000;" or 3339 bytes( -4294967297_, SIGNED, BE) <> "\254;\255;\255;\255;\255;" or 3340 bytes( -4294967296_, SIGNED, BE) <> "\255;\000;\000;\000;\000;" or 3341 bytes( -2147483649_, SIGNED, BE) <> "\255;\127;\255;\255;\255;" or 3342 bytes( -2147483648_, SIGNED, BE) <> "\128;\000;\000;\000;" or 3343 bytes( -16777217_, SIGNED, BE) <> "\254;\255;\255;\255;" or 3344 bytes( -16777216_, SIGNED, BE) <> "\255;\000;\000;\000;" or 3345 bytes( -8388609_, SIGNED, BE) <> "\255;\127;\255;\255;" or 3346 bytes( -8388608_, SIGNED, BE) <> "\128;\000;\000;" or 3347 bytes( -65537_, SIGNED, BE) <> "\254;\255;\255;" or 3348 bytes( -65536_, SIGNED, BE) <> "\255;\000;\000;" or 3349 bytes( -65281_, SIGNED, BE) <> "\255;\000;\255;" or 3350 bytes( -65280_, SIGNED, BE) <> "\255;\001;\000;" or 3351 bytes( -65025_, SIGNED, BE) <> "\255;\001;\255;" or 3352 bytes( -65024_, SIGNED, BE) <> "\255;\002;\000;" or 3353 bytes( -32770_, SIGNED, BE) <> "\255;\127;\254;" or 3354 bytes( -32769_, SIGNED, BE) <> "\255;\127;\255;" or 3355 bytes( -32768_, SIGNED, BE) <> "\128;\000;" or 3356 bytes( -32767_, SIGNED, BE) <> "\128;\001;" or 3357 bytes( -32514_, SIGNED, BE) <> "\128;\254;" or 3358 bytes( -32513_, SIGNED, BE) <> "\128;\255;" or 3359 bytes( -32512_, SIGNED, BE) <> "\129;\000;" or 3360 bytes( -32511_, SIGNED, BE) <> "\129;\001;" or 3361 bytes( -32258_, SIGNED, BE) <> "\129;\254;" or 3362 bytes( -32257_, SIGNED, BE) <> "\129;\255;" or 3363 bytes( -32256_, SIGNED, BE) <> "\130;\000;" or 3364 bytes( -32255_, SIGNED, BE) <> "\130;\001;" or 3365 bytes( -514_, SIGNED, BE) <> "\253;\254;" or 3366 bytes( -513_, SIGNED, BE) <> "\253;\255;" or 3367 bytes( -512_, SIGNED, BE) <> "\254;\000;" or 3368 bytes( -511_, SIGNED, BE) <> "\254;\001;" or 3369 bytes( -258_, SIGNED, BE) <> "\254;\254;" or 3370 bytes( -257_, SIGNED, BE) <> "\254;\255;" or 3371 bytes( -256_, SIGNED, BE) <> "\255;\000;" or 3372 bytes( -255_, SIGNED, BE) <> "\255;\001;" or 3373 bytes( -130_, SIGNED, BE) <> "\255;\126;" or 3374 bytes( -129_, SIGNED, BE) <> "\255;\127;" or 3375 bytes( -128_, SIGNED, BE) <> "\128;" or 3376 bytes( -127_, SIGNED, BE) <> "\129;" or 3377 bytes( -2_, SIGNED, BE) <> "\254;" or 3378 bytes( -1_, SIGNED, BE) <> "\255;" or 3379 bytes( 0_, SIGNED, BE) <> "\000;" or 3380 bytes( 1_, SIGNED, BE) <> "\001;" or 3381 bytes( 2_, SIGNED, BE) <> "\002;" or 3382 bytes( 126_, SIGNED, BE) <> "\126;" or 3383 bytes( 127_, SIGNED, BE) <> "\127;" or 3384 bytes( 128_, SIGNED, BE) <> "\000;\128;" or 3385 bytes( 129_, SIGNED, BE) <> "\000;\129;" or 3386 bytes( 254_, SIGNED, BE) <> "\000;\254;" or 3387 bytes( 255_, SIGNED, BE) <> "\000;\255;" or 3388 bytes( 256_, SIGNED, BE) <> "\001;\000;" or 3389 bytes( 257_, SIGNED, BE) <> "\001;\001;" or 3390 bytes( 510_, SIGNED, BE) <> "\001;\254;" or 3391 bytes( 511_, SIGNED, BE) <> "\001;\255;" or 3392 bytes( 512_, SIGNED, BE) <> "\002;\000;" or 3393 bytes( 513_, SIGNED, BE) <> "\002;\001;" or 3394 bytes( 32254_, SIGNED, BE) <> "\125;\254;" or 3395 bytes( 32255_, SIGNED, BE) <> "\125;\255;" or 3396 bytes( 32256_, SIGNED, BE) <> "\126;\000;" or 3397 bytes( 32257_, SIGNED, BE) <> "\126;\001;" or 3398 bytes( 32510_, SIGNED, BE) <> "\126;\254;" or 3399 bytes( 32511_, SIGNED, BE) <> "\126;\255;" or 3400 bytes( 32512_, SIGNED, BE) <> "\127;\000;" or 3401 bytes( 32513_, SIGNED, BE) <> "\127;\001;" or 3402 bytes( 32766_, SIGNED, BE) <> "\127;\254;" or 3403 bytes( 32767_, SIGNED, BE) <> "\127;\255;" or 3404 bytes( 32768_, SIGNED, BE) <> "\000;\128;\000;" or 3405 bytes( 32769_, SIGNED, BE) <> "\000;\128;\001;" or 3406 bytes( 65023_, SIGNED, BE) <> "\000;\253;\255;" or 3407 bytes( 65024_, SIGNED, BE) <> "\000;\254;\000;" or 3408 bytes( 65279_, SIGNED, BE) <> "\000;\254;\255;" or 3409 bytes( 65280_, SIGNED, BE) <> "\000;\255;\000;" or 3410 bytes( 65535_, SIGNED, BE) <> "\000;\255;\255;" or 3411 bytes( 65536_, SIGNED, BE) <> "\001;\000;\000;" or 3412 bytes( 8388607_, SIGNED, BE) <> "\127;\255;\255;" or 3413 bytes( 8388608_, SIGNED, BE) <> "\000;\128;\000;\000;" or 3414 bytes( 16777215_, SIGNED, BE) <> "\000;\255;\255;\255;" or 3415 bytes( 16777216_, SIGNED, BE) <> "\001;\000;\000;\000;" or 3416 bytes( 2147483647_, SIGNED, BE) <> "\127;\255;\255;\255;" or 3417 bytes( 2147483648_, SIGNED, BE) <> "\000;\128;\000;\000;\000;" or 3418 bytes( 4294967295_, SIGNED, BE) <> "\000;\255;\255;\255;\255;" or 3419 bytes( 4294967296_, SIGNED, BE) <> "\001;\000;\000;\000;\000;" or 3420 bytes( 549755813887_, SIGNED, BE) <> "\127;\255;\255;\255;\255;" or 3421 bytes( 549755813888_, SIGNED, BE) <> "\000;\128;\000;\000;\000;\000;" or 3422 bytes( 1099511627775_, SIGNED, BE) <> "\000;\255;\255;\255;\255;\255;" or 3423 bytes( 1099511627776_, SIGNED, BE) <> "\001;\000;\000;\000;\000;\000;" or 3424 bytes( 140737488355327_, SIGNED, BE) <> "\127;\255;\255;\255;\255;\255;" or 3425 bytes( 140737488355328_, SIGNED, BE) <> "\000;\128;\000;\000;\000;\000;\000;" or 3426 bytes( 281474976710655_, SIGNED, BE) <> "\000;\255;\255;\255;\255;\255;\255;" or 3427 bytes( 281474976710656_, SIGNED, BE) <> "\001;\000;\000;\000;\000;\000;\000;" or 3428 bytes( 36028797018963967_, SIGNED, BE) <> "\127;\255;\255;\255;\255;\255;\255;" or 3429 bytes( 36028797018963968_, SIGNED, BE) <> "\000;\128;\000;\000;\000;\000;\000;\000;" or 3430 bytes( 72057594037927935_, SIGNED, BE) <> "\000;\255;\255;\255;\255;\255;\255;\255;" or 3431 bytes( 72057594037927936_, SIGNED, BE) <> "\001;\000;\000;\000;\000;\000;\000;\000;" or 3432 bytes( 9223372036854775807_, SIGNED, BE) <> "\127;\255;\255;\255;\255;\255;\255;\255;" or 3433 bytes( 9223372036854775808_, SIGNED, BE) <> "\000;\128;\000;\000;\000;\000;\000;\000;\000;" or 3434 bytes( 18446744073709551615_, SIGNED, BE) <> "\000;\255;\255;\255;\255;\255;\255;\255;\255;" or 3435 bytes( 18446744073709551616_, SIGNED, BE) <> "\001;\000;\000;\000;\000;\000;\000;\000;\000;" or 3436 bytes( 2361183241434822606847_, SIGNED, BE) <> "\127;\255;\255;\255;\255;\255;\255;\255;\255;" or 3437 bytes( 2361183241434822606848_, SIGNED, BE) <> "\000;\128;\000;\000;\000;\000;\000;\000;\000;\000;" or 3438 bytes( 4722366482869645213695_, SIGNED, BE) <> "\000;\255;\255;\255;\255;\255;\255;\255;\255;\255;" or 3439 bytes( 4722366482869645213696_, SIGNED, BE) <> "\001;\000;\000;\000;\000;\000;\000;\000;\000;\000;" or 3440 bytes( 604462909807314587353087_, SIGNED, BE) <> "\127;\255;\255;\255;\255;\255;\255;\255;\255;\255;" or 3441 bytes( 604462909807314587353088_, SIGNED, BE) <> "\000;\128;\000;\000;\000;\000;\000;\000;\000;\000;\000;" or 3442 bytes( 1208925819614629174706175_, SIGNED, BE) <> "\000;\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;" or 3443 bytes( 1208925819614629174706176_, SIGNED, BE) <> "\001;\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;" then 3444 writeln("Conversion of bigInteger to big endian byte string does not work correct."); 3445 okay := FALSE; 3446 end if; 3447 3448 if bytes( 258_, SIGNED, BE) <> "\1;\2;" or 3449 bytes( 66051_, SIGNED, BE) <> "\1;\2;\3;" or 3450 bytes( 16909060_, SIGNED, BE) <> "\1;\2;\3;\4;" or 3451 bytes( 4328719365_, SIGNED, BE) <> "\1;\2;\3;\4;\5;" or 3452 bytes( 1108152157446_, SIGNED, BE) <> "\1;\2;\3;\4;\5;\6;" or 3453 bytes( 283686952306183_, SIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;" or 3454 bytes( 72623859790382856_, SIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;" or 3455 bytes( 18591708106338011145_, SIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;" or 3456 bytes( 4759477275222530853130_, SIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;" or 3457 bytes( 1218426182456967898401291_, SIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;" or 3458 bytes( 311917102708983781990730508_, SIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;" or 3459 bytes( 79850778293499848189627010061_, SIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;" or 3460 bytes( 20441799243135961136544514575630_, SIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;" or 3461 bytes( 5233100606242806050955395731361295_, SIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;" or 3462 bytes( 1339673755198158349044581307228491536_, SIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;" or 3463 bytes( 342956481330728537355412814650493833233_, SIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;\17;" or 3464 bytes( 513_, SIGNED, BE) <> "\2;\1;" or 3465 bytes( 197121_, SIGNED, BE) <> "\3;\2;\1;" or 3466 bytes( 67305985_, SIGNED, BE) <> "\4;\3;\2;\1;" or 3467 bytes( 21542142465_, SIGNED, BE) <> "\5;\4;\3;\2;\1;" or 3468 bytes( 6618611909121_, SIGNED, BE) <> "\6;\5;\4;\3;\2;\1;" or 3469 bytes( 1976943448883713_, SIGNED, BE) <> "\7;\6;\5;\4;\3;\2;\1;" or 3470 bytes( 578437695752307201_, SIGNED, BE) <> "\8;\7;\6;\5;\4;\3;\2;\1;" or 3471 bytes( 166599134359138271745_, SIGNED, BE) <> "\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3472 bytes( 47390263963055590408705_, SIGNED, BE) <> "\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3473 bytes( 13345574279723976512176641_, SIGNED, BE) <> "\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3474 bytes( 3727165692135864801209549313_, SIGNED, BE) <> "\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3475 bytes( 1033693278377572253517280903681_, SIGNED, BE) <> "\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3476 bytes( 284987427729500958188778798907905_, SIGNED, BE) <> "\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3477 bytes( 78169440305751915386146223737209345_, SIGNED, BE) <> "\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3478 bytes( 21345817372864405881847059188222722561_, SIGNED, BE) <> "\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3479 bytes(5806146055028818284759215385528282317313_, SIGNED, BE) <> "\17;\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" then 3480 writeln("Conversion of bigInteger to big endian byte string does not work correct."); 3481 okay := FALSE; 3482 end if; 3483 3484 if bytes( -255_, SIGNED, BE) <> "\255;\1;" or 3485 bytes( -65278_, SIGNED, BE) <> "\255;\1;\2;" or 3486 bytes( -16711165_, SIGNED, BE) <> "\255;\1;\2;\3;" or 3487 bytes( -4278058236_, SIGNED, BE) <> "\255;\1;\2;\3;\4;" or 3488 bytes( -1095182908411_, SIGNED, BE) <> "\255;\1;\2;\3;\4;\5;" or 3489 bytes( -280366824553210_, SIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;" or 3490 bytes( -71773907085621753_, SIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;" or 3491 bytes( -18374120213919168760_, SIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;" or 3492 bytes( -4703774774763307202551_, SIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;" or 3493 bytes( -1204166342339406643853046_, SIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;" or 3494 bytes( -308266583638888100826379765_, SIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;" or 3495 bytes( -78916245411555353811553219828_, SIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;" or 3496 bytes( -20202558825358170575757624275955_, SIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;" or 3497 bytes( -5171855059291691667393951814644466_, SIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;" or 3498 bytes( -1323994895178673066852851664548983281_, SIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;" or 3499 bytes(-338942693165740305114330026124539719920_, SIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;" or 3500 bytes( -255_, SIGNED, BE) <> "\255;\1;" or 3501 bytes( -65023_, SIGNED, BE) <> "\255;\2;\1;" or 3502 bytes( -16580095_, SIGNED, BE) <> "\255;\3;\2;\1;" or 3503 bytes( -4227661311_, SIGNED, BE) <> "\255;\4;\3;\2;\1;" or 3504 bytes( -1077969485311_, SIGNED, BE) <> "\255;\5;\4;\3;\2;\1;" or 3505 bytes( -274856364801535_, SIGNED, BE) <> "\255;\6;\5;\4;\3;\2;\1;" or 3506 bytes( -70080650589044223_, SIGNED, BE) <> "\255;\7;\6;\5;\4;\3;\2;\1;" or 3507 bytes( -17868306377957244415_, SIGNED, BE) <> "\255;\8;\7;\6;\5;\4;\3;\2;\1;" or 3508 bytes( -4555767348510506941951_, SIGNED, BE) <> "\255;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3509 bytes( -1161535555651573584297471_, SIGNED, BE) <> "\255;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3510 bytes( -296139435541621092212604415_, SIGNED, BE) <> "\255;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3511 bytes( -75500996822128472792334401023_, SIGNED, BE) <> "\255;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3512 bytes( -19248716325274098170429970382335_, SIGNED, BE) <> "\255;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3513 bytes( -4907309430805326670341717530312191_, SIGNED, BE) <> "\255;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3514 bytes( -1251058555479163957517660836543135231_, SIGNED, BE) <> "\255;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3515 bytes(-318936549548074057581527548243545488895_, SIGNED, BE) <> "\255;\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" then 3516 writeln("Conversion of bigInteger to big endian byte string does not work correct."); 3517 okay := FALSE; 3518 end if; 3519 3520 if bytes( 0_, UNSIGNED, BE) <> "\000;" or 3521 bytes( 1_, UNSIGNED, BE) <> "\001;" or 3522 bytes( 2_, UNSIGNED, BE) <> "\002;" or 3523 bytes( 126_, UNSIGNED, BE) <> "\126;" or 3524 bytes( 127_, UNSIGNED, BE) <> "\127;" or 3525 bytes( 128_, UNSIGNED, BE) <> "\128;" or 3526 bytes( 129_, UNSIGNED, BE) <> "\129;" or 3527 bytes( 254_, UNSIGNED, BE) <> "\254;" or 3528 bytes( 255_, UNSIGNED, BE) <> "\255;" or 3529 bytes( 256_, UNSIGNED, BE) <> "\001;\000;" or 3530 bytes( 257_, UNSIGNED, BE) <> "\001;\001;" or 3531 bytes( 510_, UNSIGNED, BE) <> "\001;\254;" or 3532 bytes( 511_, UNSIGNED, BE) <> "\001;\255;" or 3533 bytes( 512_, UNSIGNED, BE) <> "\002;\000;" or 3534 bytes( 513_, UNSIGNED, BE) <> "\002;\001;" or 3535 bytes( 32254_, UNSIGNED, BE) <> "\125;\254;" or 3536 bytes( 32255_, UNSIGNED, BE) <> "\125;\255;" or 3537 bytes( 32256_, UNSIGNED, BE) <> "\126;\000;" or 3538 bytes( 32257_, UNSIGNED, BE) <> "\126;\001;" or 3539 bytes( 32510_, UNSIGNED, BE) <> "\126;\254;" or 3540 bytes( 32511_, UNSIGNED, BE) <> "\126;\255;" or 3541 bytes( 32512_, UNSIGNED, BE) <> "\127;\000;" or 3542 bytes( 32513_, UNSIGNED, BE) <> "\127;\001;" or 3543 bytes( 32766_, UNSIGNED, BE) <> "\127;\254;" or 3544 bytes( 32767_, UNSIGNED, BE) <> "\127;\255;" or 3545 bytes( 32768_, UNSIGNED, BE) <> "\128;\000;" or 3546 bytes( 32769_, UNSIGNED, BE) <> "\128;\001;" or 3547 bytes( 65023_, UNSIGNED, BE) <> "\253;\255;" or 3548 bytes( 65024_, UNSIGNED, BE) <> "\254;\000;" or 3549 bytes( 65279_, UNSIGNED, BE) <> "\254;\255;" or 3550 bytes( 65280_, UNSIGNED, BE) <> "\255;\000;" or 3551 bytes( 65535_, UNSIGNED, BE) <> "\255;\255;" or 3552 bytes( 65536_, UNSIGNED, BE) <> "\001;\000;\000;" or 3553 bytes( 8388607_, UNSIGNED, BE) <> "\127;\255;\255;" or 3554 bytes( 8388608_, UNSIGNED, BE) <> "\128;\000;\000;" or 3555 bytes( 16777215_, UNSIGNED, BE) <> "\255;\255;\255;" or 3556 bytes( 16777216_, UNSIGNED, BE) <> "\001;\000;\000;\000;" or 3557 bytes( 2147483647_, UNSIGNED, BE) <> "\127;\255;\255;\255;" or 3558 bytes( 2147483648_, UNSIGNED, BE) <> "\128;\000;\000;\000;" or 3559 bytes( 4294967295_, UNSIGNED, BE) <> "\255;\255;\255;\255;" or 3560 bytes( 4294967296_, UNSIGNED, BE) <> "\001;\000;\000;\000;\000;" or 3561 bytes( 549755813887_, UNSIGNED, BE) <> "\127;\255;\255;\255;\255;" or 3562 bytes( 549755813888_, UNSIGNED, BE) <> "\128;\000;\000;\000;\000;" or 3563 bytes( 1099511627775_, UNSIGNED, BE) <> "\255;\255;\255;\255;\255;" or 3564 bytes( 1099511627776_, UNSIGNED, BE) <> "\001;\000;\000;\000;\000;\000;" or 3565 bytes( 140737488355327_, UNSIGNED, BE) <> "\127;\255;\255;\255;\255;\255;" or 3566 bytes( 140737488355328_, UNSIGNED, BE) <> "\128;\000;\000;\000;\000;\000;" or 3567 bytes( 281474976710655_, UNSIGNED, BE) <> "\255;\255;\255;\255;\255;\255;" or 3568 bytes( 281474976710656_, UNSIGNED, BE) <> "\001;\000;\000;\000;\000;\000;\000;" or 3569 bytes( 36028797018963967_, UNSIGNED, BE) <> "\127;\255;\255;\255;\255;\255;\255;" or 3570 bytes( 36028797018963968_, UNSIGNED, BE) <> "\128;\000;\000;\000;\000;\000;\000;" or 3571 bytes( 72057594037927935_, UNSIGNED, BE) <> "\255;\255;\255;\255;\255;\255;\255;" or 3572 bytes( 72057594037927936_, UNSIGNED, BE) <> "\001;\000;\000;\000;\000;\000;\000;\000;" or 3573 bytes( 9223372036854775807_, UNSIGNED, BE) <> "\127;\255;\255;\255;\255;\255;\255;\255;" or 3574 bytes( 9223372036854775808_, UNSIGNED, BE) <> "\128;\000;\000;\000;\000;\000;\000;\000;" or 3575 bytes( 18446744073709551615_, UNSIGNED, BE) <> "\255;\255;\255;\255;\255;\255;\255;\255;" or 3576 bytes( 18446744073709551616_, UNSIGNED, BE) <> "\001;\000;\000;\000;\000;\000;\000;\000;\000;" or 3577 bytes( 2361183241434822606847_, UNSIGNED, BE) <> "\127;\255;\255;\255;\255;\255;\255;\255;\255;" or 3578 bytes( 2361183241434822606848_, UNSIGNED, BE) <> "\128;\000;\000;\000;\000;\000;\000;\000;\000;" or 3579 bytes( 4722366482869645213695_, UNSIGNED, BE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\255;" or 3580 bytes( 4722366482869645213696_, UNSIGNED, BE) <> "\001;\000;\000;\000;\000;\000;\000;\000;\000;\000;" or 3581 bytes( 604462909807314587353087_, UNSIGNED, BE) <> "\127;\255;\255;\255;\255;\255;\255;\255;\255;\255;" or 3582 bytes( 604462909807314587353088_, UNSIGNED, BE) <> "\128;\000;\000;\000;\000;\000;\000;\000;\000;\000;" or 3583 bytes(1208925819614629174706175_, UNSIGNED, BE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;" or 3584 bytes(1208925819614629174706176_, UNSIGNED, BE) <> "\001;\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;" then 3585 writeln("Conversion of bigInteger to unsigned big endian byte string does not work correct."); 3586 okay := FALSE; 3587 end if; 3588 3589 if bytes( 258_, UNSIGNED, BE) <> "\1;\2;" or 3590 bytes( 66051_, UNSIGNED, BE) <> "\1;\2;\3;" or 3591 bytes( 16909060_, UNSIGNED, BE) <> "\1;\2;\3;\4;" or 3592 bytes( 4328719365_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;" or 3593 bytes( 1108152157446_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;\6;" or 3594 bytes( 283686952306183_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;" or 3595 bytes( 72623859790382856_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;" or 3596 bytes( 18591708106338011145_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;" or 3597 bytes( 4759477275222530853130_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;" or 3598 bytes( 1218426182456967898401291_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;" or 3599 bytes( 311917102708983781990730508_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;" or 3600 bytes( 79850778293499848189627010061_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;" or 3601 bytes( 20441799243135961136544514575630_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;" or 3602 bytes( 5233100606242806050955395731361295_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;" or 3603 bytes( 1339673755198158349044581307228491536_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;" or 3604 bytes( 342956481330728537355412814650493833233_, UNSIGNED, BE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;\17;" or 3605 bytes( 513_, UNSIGNED, BE) <> "\2;\1;" or 3606 bytes( 197121_, UNSIGNED, BE) <> "\3;\2;\1;" or 3607 bytes( 67305985_, UNSIGNED, BE) <> "\4;\3;\2;\1;" or 3608 bytes( 21542142465_, UNSIGNED, BE) <> "\5;\4;\3;\2;\1;" or 3609 bytes( 6618611909121_, UNSIGNED, BE) <> "\6;\5;\4;\3;\2;\1;" or 3610 bytes( 1976943448883713_, UNSIGNED, BE) <> "\7;\6;\5;\4;\3;\2;\1;" or 3611 bytes( 578437695752307201_, UNSIGNED, BE) <> "\8;\7;\6;\5;\4;\3;\2;\1;" or 3612 bytes( 166599134359138271745_, UNSIGNED, BE) <> "\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3613 bytes( 47390263963055590408705_, UNSIGNED, BE) <> "\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3614 bytes( 13345574279723976512176641_, UNSIGNED, BE) <> "\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3615 bytes( 3727165692135864801209549313_, UNSIGNED, BE) <> "\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3616 bytes( 1033693278377572253517280903681_, UNSIGNED, BE) <> "\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3617 bytes( 284987427729500958188778798907905_, UNSIGNED, BE) <> "\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3618 bytes( 78169440305751915386146223737209345_, UNSIGNED, BE) <> "\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3619 bytes( 21345817372864405881847059188222722561_, UNSIGNED, BE) <> "\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3620 bytes(5806146055028818284759215385528282317313_, UNSIGNED, BE) <> "\17;\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" then 3621 writeln("Conversion of bigInteger to unsigned big endian byte string does not work correct."); 3622 okay := FALSE; 3623 end if; 3624 3625 if bytes( 65281_, UNSIGNED, BE) <> "\255;\1;" or 3626 bytes( 16711938_, UNSIGNED, BE) <> "\255;\1;\2;" or 3627 bytes( 4278256131_, UNSIGNED, BE) <> "\255;\1;\2;\3;" or 3628 bytes( 1095233569540_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;" or 3629 bytes( 280379793802245_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;\5;" or 3630 bytes( 71777227213374726_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;" or 3631 bytes( 18374970166623929863_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;" or 3632 bytes( 4703992362655726044936_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;" or 3633 bytes( 1204222044839865867503625_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;" or 3634 bytes( 308280843479005662080928010_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;" or 3635 bytes( 78919895930625449492717570571_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;" or 3636 bytes( 20203493358240115070135698066188_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;" or 3637 bytes( 5172094299709469457954738704944141_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;" or 3638 bytes( 1324056140725624181236413108465700110_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;" or 3639 bytes( 338958372025759790396521755767219228175_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;" or 3640 bytes(86773343238594506341509569476408122412816_, UNSIGNED, BE) <> "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;" or 3641 bytes( 65281_, UNSIGNED, BE) <> "\255;\1;" or 3642 bytes( 16712193_, UNSIGNED, BE) <> "\255;\2;\1;" or 3643 bytes( 4278387201_, UNSIGNED, BE) <> "\255;\3;\2;\1;" or 3644 bytes( 1095283966465_, UNSIGNED, BE) <> "\255;\4;\3;\2;\1;" or 3645 bytes( 280397007225345_, UNSIGNED, BE) <> "\255;\5;\4;\3;\2;\1;" or 3646 bytes( 71782737673126401_, UNSIGNED, BE) <> "\255;\6;\5;\4;\3;\2;\1;" or 3647 bytes( 18376663423120507393_, UNSIGNED, BE) <> "\255;\7;\6;\5;\4;\3;\2;\1;" or 3648 bytes( 4704498176491687969281_, UNSIGNED, BE) <> "\255;\8;\7;\6;\5;\4;\3;\2;\1;" or 3649 bytes( 1204370052266118667764225_, UNSIGNED, BE) <> "\255;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3650 bytes( 308323474265693495140483585_, UNSIGNED, BE) <> "\255;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3651 bytes( 78932023078722716501331345921_, UNSIGNED, BE) <> "\255;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3652 bytes( 20206908606829541951154916884993_, UNSIGNED, BE) <> "\255;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3653 bytes( 5173048142209553530360066358837761_, UNSIGNED, BE) <> "\255;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3654 bytes( 1324320686354110546233465342750032385_, UNSIGNED, BE) <> "\255;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3655 bytes( 339031308365459299505856946595225076225_, UNSIGNED, BE) <> "\255;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3656 bytes(86793349382212172589042371954289116643841_, UNSIGNED, BE) <> "\255;\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" then 3657 writeln("Conversion of bigInteger to unsigned big endian byte string does not work correct."); 3658 okay := FALSE; 3659 end if; 3660 3661 if bytes( 1413829460_, SIGNED, BE) <> "TEST" or 3662 bytes( 1330331993_, SIGNED, BE) <> "OKAY" or 3663 bytes(-24410099243900992862068771469_, SIGNED, BE) <> "± plus-minus" or 3664 bytes( 54818063270363344731475178867_, SIGNED, BE) <> "\0;± plus-minus" or 3665 bytes( 54818063270363344731475178867_, UNSIGNED, BE) <> "± plus-minus" or 3666 bytes( 5292891159410142067_, UNSIGNED, BE) <> "It works" then 3667 writeln("Conversion of bigInteger to byte string does not work correct."); 3668 okay := FALSE; 3669 end if; 3670 3671 if not raisesRangeError(bytes(-1_, UNSIGNED, BE)) then 3672 writeln("Conversion of negative bigInteger to unsigned big endian byte string does not raise RANGE_ERROR."); 3673 okay := FALSE; 3674 end if; 3675 3676 if okay then 3677 writeln("Conversion of bigInteger to big endian byte string works correct."); 3678 else 3679 writeln(" ***** Conversion of bigInteger to big endian byte string does not work correct."); 3680 writeln; 3681 end if; 3682 end func; 3683 3684 3685const proc: chkBytesLe is func 3686 local 3687 var boolean: okay is TRUE; 3688 begin 3689 if bytes(-1208925819614629174706177_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;\254;" or 3690 bytes(-1208925819614629174706176_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;\255;" or 3691 bytes( -604462909807314587353089_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\255;\127;\255;" or 3692 bytes( -604462909807314587353088_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\000;\128;" or 3693 bytes( -4722366482869645213697_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\255;\254;" or 3694 bytes( -4722366482869645213696_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\000;\255;" or 3695 bytes( -2361183241434822606849_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\127;\255;" or 3696 bytes( -2361183241434822606848_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\128;" or 3697 bytes( -18446744073709551617_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\254;" or 3698 bytes( -18446744073709551616_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\255;" or 3699 bytes( -9223372036854775809_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\127;\255;" or 3700 bytes( -9223372036854775808_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\128;" or 3701 bytes( -72057594037927937_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\254;" or 3702 bytes( -72057594037927936_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\255;" or 3703 bytes( -36028797018963969_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\127;\255;" or 3704 bytes( -36028797018963968_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\128;" or 3705 bytes( -281474976710657_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\254;" or 3706 bytes( -281474976710656_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\255;" or 3707 bytes( -140737488355329_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\127;\255;" or 3708 bytes( -140737488355328_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\128;" or 3709 bytes( -1099511627777_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\254;" or 3710 bytes( -1099511627776_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\255;" or 3711 bytes( -549755813889_, SIGNED, LE) <> "\255;\255;\255;\255;\127;\255;" or 3712 bytes( -549755813888_, SIGNED, LE) <> "\000;\000;\000;\000;\128;" or 3713 bytes( -4294967297_, SIGNED, LE) <> "\255;\255;\255;\255;\254;" or 3714 bytes( -4294967296_, SIGNED, LE) <> "\000;\000;\000;\000;\255;" or 3715 bytes( -2147483649_, SIGNED, LE) <> "\255;\255;\255;\127;\255;" or 3716 bytes( -2147483648_, SIGNED, LE) <> "\000;\000;\000;\128;" or 3717 bytes( -16777217_, SIGNED, LE) <> "\255;\255;\255;\254;" or 3718 bytes( -16777216_, SIGNED, LE) <> "\000;\000;\000;\255;" or 3719 bytes( -8388609_, SIGNED, LE) <> "\255;\255;\127;\255;" or 3720 bytes( -8388608_, SIGNED, LE) <> "\000;\000;\128;" or 3721 bytes( -65537_, SIGNED, LE) <> "\255;\255;\254;" or 3722 bytes( -65536_, SIGNED, LE) <> "\000;\000;\255;" or 3723 bytes( -65281_, SIGNED, LE) <> "\255;\000;\255;" or 3724 bytes( -65280_, SIGNED, LE) <> "\000;\001;\255;" or 3725 bytes( -65025_, SIGNED, LE) <> "\255;\001;\255;" or 3726 bytes( -65024_, SIGNED, LE) <> "\000;\002;\255;" or 3727 bytes( -32770_, SIGNED, LE) <> "\254;\127;\255;" or 3728 bytes( -32769_, SIGNED, LE) <> "\255;\127;\255;" or 3729 bytes( -32768_, SIGNED, LE) <> "\000;\128;" or 3730 bytes( -32767_, SIGNED, LE) <> "\001;\128;" or 3731 bytes( -32514_, SIGNED, LE) <> "\254;\128;" or 3732 bytes( -32513_, SIGNED, LE) <> "\255;\128;" or 3733 bytes( -32512_, SIGNED, LE) <> "\000;\129;" or 3734 bytes( -32511_, SIGNED, LE) <> "\001;\129;" or 3735 bytes( -32258_, SIGNED, LE) <> "\254;\129;" or 3736 bytes( -32257_, SIGNED, LE) <> "\255;\129;" or 3737 bytes( -32256_, SIGNED, LE) <> "\000;\130;" or 3738 bytes( -32255_, SIGNED, LE) <> "\001;\130;" or 3739 bytes( -514_, SIGNED, LE) <> "\254;\253;" or 3740 bytes( -513_, SIGNED, LE) <> "\255;\253;" or 3741 bytes( -512_, SIGNED, LE) <> "\000;\254;" or 3742 bytes( -511_, SIGNED, LE) <> "\001;\254;" or 3743 bytes( -258_, SIGNED, LE) <> "\254;\254;" or 3744 bytes( -257_, SIGNED, LE) <> "\255;\254;" or 3745 bytes( -256_, SIGNED, LE) <> "\000;\255;" or 3746 bytes( -255_, SIGNED, LE) <> "\001;\255;" or 3747 bytes( -130_, SIGNED, LE) <> "\126;\255;" or 3748 bytes( -129_, SIGNED, LE) <> "\127;\255;" or 3749 bytes( -128_, SIGNED, LE) <> "\128;" or 3750 bytes( -127_, SIGNED, LE) <> "\129;" or 3751 bytes( -2_, SIGNED, LE) <> "\254;" or 3752 bytes( -1_, SIGNED, LE) <> "\255;" or 3753 bytes( 0_, SIGNED, LE) <> "\000;" or 3754 bytes( 1_, SIGNED, LE) <> "\001;" or 3755 bytes( 2_, SIGNED, LE) <> "\002;" or 3756 bytes( 126_, SIGNED, LE) <> "\126;" or 3757 bytes( 127_, SIGNED, LE) <> "\127;" or 3758 bytes( 128_, SIGNED, LE) <> "\128;\000;" or 3759 bytes( 129_, SIGNED, LE) <> "\129;\000;" or 3760 bytes( 254_, SIGNED, LE) <> "\254;\000;" or 3761 bytes( 255_, SIGNED, LE) <> "\255;\000;" or 3762 bytes( 256_, SIGNED, LE) <> "\000;\001;" or 3763 bytes( 257_, SIGNED, LE) <> "\001;\001;" or 3764 bytes( 510_, SIGNED, LE) <> "\254;\001;" or 3765 bytes( 511_, SIGNED, LE) <> "\255;\001;" or 3766 bytes( 512_, SIGNED, LE) <> "\000;\002;" or 3767 bytes( 513_, SIGNED, LE) <> "\001;\002;" or 3768 bytes( 32254_, SIGNED, LE) <> "\254;\125;" or 3769 bytes( 32255_, SIGNED, LE) <> "\255;\125;" or 3770 bytes( 32256_, SIGNED, LE) <> "\000;\126;" or 3771 bytes( 32257_, SIGNED, LE) <> "\001;\126;" or 3772 bytes( 32510_, SIGNED, LE) <> "\254;\126;" or 3773 bytes( 32511_, SIGNED, LE) <> "\255;\126;" or 3774 bytes( 32512_, SIGNED, LE) <> "\000;\127;" or 3775 bytes( 32513_, SIGNED, LE) <> "\001;\127;" or 3776 bytes( 32766_, SIGNED, LE) <> "\254;\127;" or 3777 bytes( 32767_, SIGNED, LE) <> "\255;\127;" or 3778 bytes( 32768_, SIGNED, LE) <> "\000;\128;\000;" or 3779 bytes( 32769_, SIGNED, LE) <> "\001;\128;\000;" or 3780 bytes( 65023_, SIGNED, LE) <> "\255;\253;\000;" or 3781 bytes( 65024_, SIGNED, LE) <> "\000;\254;\000;" or 3782 bytes( 65279_, SIGNED, LE) <> "\255;\254;\000;" or 3783 bytes( 65280_, SIGNED, LE) <> "\000;\255;\000;" or 3784 bytes( 65535_, SIGNED, LE) <> "\255;\255;\000;" or 3785 bytes( 65536_, SIGNED, LE) <> "\000;\000;\001;" or 3786 bytes( 8388607_, SIGNED, LE) <> "\255;\255;\127;" or 3787 bytes( 8388608_, SIGNED, LE) <> "\000;\000;\128;\000;" or 3788 bytes( 16777215_, SIGNED, LE) <> "\255;\255;\255;\000;" or 3789 bytes( 16777216_, SIGNED, LE) <> "\000;\000;\000;\001;" or 3790 bytes( 2147483647_, SIGNED, LE) <> "\255;\255;\255;\127;" or 3791 bytes( 2147483648_, SIGNED, LE) <> "\000;\000;\000;\128;\000;" or 3792 bytes( 4294967295_, SIGNED, LE) <> "\255;\255;\255;\255;\000;" or 3793 bytes( 4294967296_, SIGNED, LE) <> "\000;\000;\000;\000;\001;" or 3794 bytes( 549755813887_, SIGNED, LE) <> "\255;\255;\255;\255;\127;" or 3795 bytes( 549755813888_, SIGNED, LE) <> "\000;\000;\000;\000;\128;\000;" or 3796 bytes( 1099511627775_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\000;" or 3797 bytes( 1099511627776_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\001;" or 3798 bytes( 140737488355327_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\127;" or 3799 bytes( 140737488355328_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\128;\000;" or 3800 bytes( 281474976710655_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\000;" or 3801 bytes( 281474976710656_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\001;" or 3802 bytes( 36028797018963967_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\127;" or 3803 bytes( 36028797018963968_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\128;\000;" or 3804 bytes( 72057594037927935_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\000;" or 3805 bytes( 72057594037927936_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\001;" or 3806 bytes( 9223372036854775807_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\127;" or 3807 bytes( 9223372036854775808_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\128;\000;" or 3808 bytes( 18446744073709551615_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\000;" or 3809 bytes( 18446744073709551616_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\001;" or 3810 bytes( 2361183241434822606847_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\127;" or 3811 bytes( 2361183241434822606848_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\128;\000;" or 3812 bytes( 4722366482869645213695_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\255;\000;" or 3813 bytes( 4722366482869645213696_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\000;\001;" or 3814 bytes( 604462909807314587353087_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\255;\127;" or 3815 bytes( 604462909807314587353088_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\000;\128;\000;" or 3816 bytes( 1208925819614629174706175_, SIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;\000;" or 3817 bytes( 1208925819614629174706176_, SIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;\001;" then 3818 writeln("Conversion of bigInteger to little endian byte string does not work correct."); 3819 okay := FALSE; 3820 end if; 3821 3822 if bytes( 258_, SIGNED, LE) <> "\2;\1;" or 3823 bytes( 66051_, SIGNED, LE) <> "\3;\2;\1;" or 3824 bytes( 16909060_, SIGNED, LE) <> "\4;\3;\2;\1;" or 3825 bytes( 4328719365_, SIGNED, LE) <> "\5;\4;\3;\2;\1;" or 3826 bytes( 1108152157446_, SIGNED, LE) <> "\6;\5;\4;\3;\2;\1;" or 3827 bytes( 283686952306183_, SIGNED, LE) <> "\7;\6;\5;\4;\3;\2;\1;" or 3828 bytes( 72623859790382856_, SIGNED, LE) <> "\8;\7;\6;\5;\4;\3;\2;\1;" or 3829 bytes( 18591708106338011145_, SIGNED, LE) <> "\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3830 bytes( 4759477275222530853130_, SIGNED, LE) <> "\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3831 bytes( 1218426182456967898401291_, SIGNED, LE) <> "\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3832 bytes( 311917102708983781990730508_, SIGNED, LE) <> "\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3833 bytes( 79850778293499848189627010061_, SIGNED, LE) <> "\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3834 bytes( 20441799243135961136544514575630_, SIGNED, LE) <> "\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3835 bytes( 5233100606242806050955395731361295_, SIGNED, LE) <> "\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3836 bytes( 1339673755198158349044581307228491536_, SIGNED, LE) <> "\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3837 bytes( 342956481330728537355412814650493833233_, SIGNED, LE) <> "\17;\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3838 bytes( 513_, SIGNED, LE) <> "\1;\2;" or 3839 bytes( 197121_, SIGNED, LE) <> "\1;\2;\3;" or 3840 bytes( 67305985_, SIGNED, LE) <> "\1;\2;\3;\4;" or 3841 bytes( 21542142465_, SIGNED, LE) <> "\1;\2;\3;\4;\5;" or 3842 bytes( 6618611909121_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;" or 3843 bytes( 1976943448883713_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;" or 3844 bytes( 578437695752307201_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;" or 3845 bytes( 166599134359138271745_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;" or 3846 bytes( 47390263963055590408705_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;" or 3847 bytes( 13345574279723976512176641_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;" or 3848 bytes( 3727165692135864801209549313_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;" or 3849 bytes( 1033693278377572253517280903681_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;" or 3850 bytes( 284987427729500958188778798907905_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;" or 3851 bytes( 78169440305751915386146223737209345_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;" or 3852 bytes( 21345817372864405881847059188222722561_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;" or 3853 bytes(5806146055028818284759215385528282317313_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;\17;" then 3854 writeln("Conversion of bigInteger to little endian byte string does not work correct."); 3855 okay := FALSE; 3856 end if; 3857 3858 if bytes( -255_, SIGNED, LE) <> "\1;\255;" or 3859 bytes( -65278_, SIGNED, LE) <> "\2;\1;\255;" or 3860 bytes( -16711165_, SIGNED, LE) <> "\3;\2;\1;\255;" or 3861 bytes( -4278058236_, SIGNED, LE) <> "\4;\3;\2;\1;\255;" or 3862 bytes( -1095182908411_, SIGNED, LE) <> "\5;\4;\3;\2;\1;\255;" or 3863 bytes( -280366824553210_, SIGNED, LE) <> "\6;\5;\4;\3;\2;\1;\255;" or 3864 bytes( -71773907085621753_, SIGNED, LE) <> "\7;\6;\5;\4;\3;\2;\1;\255;" or 3865 bytes( -18374120213919168760_, SIGNED, LE) <> "\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 3866 bytes( -4703774774763307202551_, SIGNED, LE) <> "\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 3867 bytes( -1204166342339406643853046_, SIGNED, LE) <> "\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 3868 bytes( -308266583638888100826379765_, SIGNED, LE) <> "\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 3869 bytes( -78916245411555353811553219828_, SIGNED, LE) <> "\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 3870 bytes( -20202558825358170575757624275955_, SIGNED, LE) <> "\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 3871 bytes( -5171855059291691667393951814644466_, SIGNED, LE) <> "\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 3872 bytes( -1323994895178673066852851664548983281_, SIGNED, LE) <> "\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 3873 bytes(-338942693165740305114330026124539719920_, SIGNED, LE) <> "\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 3874 bytes( -255_, SIGNED, LE) <> "\1;\255;" or 3875 bytes( -65023_, SIGNED, LE) <> "\1;\2;\255;" or 3876 bytes( -16580095_, SIGNED, LE) <> "\1;\2;\3;\255;" or 3877 bytes( -4227661311_, SIGNED, LE) <> "\1;\2;\3;\4;\255;" or 3878 bytes( -1077969485311_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\255;" or 3879 bytes( -274856364801535_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\255;" or 3880 bytes( -70080650589044223_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\255;" or 3881 bytes( -17868306377957244415_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\255;" or 3882 bytes( -4555767348510506941951_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\255;" or 3883 bytes( -1161535555651573584297471_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\255;" or 3884 bytes( -296139435541621092212604415_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\255;" or 3885 bytes( -75500996822128472792334401023_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\255;" or 3886 bytes( -19248716325274098170429970382335_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\255;" or 3887 bytes( -4907309430805326670341717530312191_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\255;" or 3888 bytes( -1251058555479163957517660836543135231_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\255;" or 3889 bytes(-318936549548074057581527548243545488895_, SIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;\255;" then 3890 writeln("Conversion of bigInteger to little endian byte string does not work correct."); 3891 okay := FALSE; 3892 end if; 3893 3894 if bytes( 0_, UNSIGNED, LE) <> "\000;" or 3895 bytes( 1_, UNSIGNED, LE) <> "\001;" or 3896 bytes( 2_, UNSIGNED, LE) <> "\002;" or 3897 bytes( 126_, UNSIGNED, LE) <> "\126;" or 3898 bytes( 127_, UNSIGNED, LE) <> "\127;" or 3899 bytes( 128_, UNSIGNED, LE) <> "\128;" or 3900 bytes( 129_, UNSIGNED, LE) <> "\129;" or 3901 bytes( 254_, UNSIGNED, LE) <> "\254;" or 3902 bytes( 255_, UNSIGNED, LE) <> "\255;" or 3903 bytes( 256_, UNSIGNED, LE) <> "\000;\001;" or 3904 bytes( 257_, UNSIGNED, LE) <> "\001;\001;" or 3905 bytes( 510_, UNSIGNED, LE) <> "\254;\001;" or 3906 bytes( 511_, UNSIGNED, LE) <> "\255;\001;" or 3907 bytes( 512_, UNSIGNED, LE) <> "\000;\002;" or 3908 bytes( 513_, UNSIGNED, LE) <> "\001;\002;" or 3909 bytes( 32254_, UNSIGNED, LE) <> "\254;\125;" or 3910 bytes( 32255_, UNSIGNED, LE) <> "\255;\125;" or 3911 bytes( 32256_, UNSIGNED, LE) <> "\000;\126;" or 3912 bytes( 32257_, UNSIGNED, LE) <> "\001;\126;" or 3913 bytes( 32510_, UNSIGNED, LE) <> "\254;\126;" or 3914 bytes( 32511_, UNSIGNED, LE) <> "\255;\126;" or 3915 bytes( 32512_, UNSIGNED, LE) <> "\000;\127;" or 3916 bytes( 32513_, UNSIGNED, LE) <> "\001;\127;" or 3917 bytes( 32766_, UNSIGNED, LE) <> "\254;\127;" or 3918 bytes( 32767_, UNSIGNED, LE) <> "\255;\127;" or 3919 bytes( 32768_, UNSIGNED, LE) <> "\000;\128;" or 3920 bytes( 32769_, UNSIGNED, LE) <> "\001;\128;" or 3921 bytes( 65023_, UNSIGNED, LE) <> "\255;\253;" or 3922 bytes( 65024_, UNSIGNED, LE) <> "\000;\254;" or 3923 bytes( 65279_, UNSIGNED, LE) <> "\255;\254;" or 3924 bytes( 65280_, UNSIGNED, LE) <> "\000;\255;" or 3925 bytes( 65535_, UNSIGNED, LE) <> "\255;\255;" or 3926 bytes( 65536_, UNSIGNED, LE) <> "\000;\000;\001;" or 3927 bytes( 8388607_, UNSIGNED, LE) <> "\255;\255;\127;" or 3928 bytes( 8388608_, UNSIGNED, LE) <> "\000;\000;\128;" or 3929 bytes( 16777215_, UNSIGNED, LE) <> "\255;\255;\255;" or 3930 bytes( 16777216_, UNSIGNED, LE) <> "\000;\000;\000;\001;" or 3931 bytes( 2147483647_, UNSIGNED, LE) <> "\255;\255;\255;\127;" or 3932 bytes( 2147483648_, UNSIGNED, LE) <> "\000;\000;\000;\128;" or 3933 bytes( 4294967295_, UNSIGNED, LE) <> "\255;\255;\255;\255;" or 3934 bytes( 4294967296_, UNSIGNED, LE) <> "\000;\000;\000;\000;\001;" or 3935 bytes( 549755813887_, UNSIGNED, LE) <> "\255;\255;\255;\255;\127;" or 3936 bytes( 549755813888_, UNSIGNED, LE) <> "\000;\000;\000;\000;\128;" or 3937 bytes( 1099511627775_, UNSIGNED, LE) <> "\255;\255;\255;\255;\255;" or 3938 bytes( 1099511627776_, UNSIGNED, LE) <> "\000;\000;\000;\000;\000;\001;" or 3939 bytes( 140737488355327_, UNSIGNED, LE) <> "\255;\255;\255;\255;\255;\127;" or 3940 bytes( 140737488355328_, UNSIGNED, LE) <> "\000;\000;\000;\000;\000;\128;" or 3941 bytes( 281474976710655_, UNSIGNED, LE) <> "\255;\255;\255;\255;\255;\255;" or 3942 bytes( 281474976710656_, UNSIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\001;" or 3943 bytes( 36028797018963967_, UNSIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\127;" or 3944 bytes( 36028797018963968_, UNSIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\128;" or 3945 bytes( 72057594037927935_, UNSIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;" or 3946 bytes( 72057594037927936_, UNSIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\001;" or 3947 bytes( 9223372036854775807_, UNSIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\127;" or 3948 bytes( 9223372036854775808_, UNSIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\128;" or 3949 bytes( 18446744073709551615_, UNSIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;" or 3950 bytes( 18446744073709551616_, UNSIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\001;" or 3951 bytes( 2361183241434822606847_, UNSIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\127;" or 3952 bytes( 2361183241434822606848_, UNSIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\128;" or 3953 bytes( 4722366482869645213695_, UNSIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\255;" or 3954 bytes( 4722366482869645213696_, UNSIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\000;\001;" or 3955 bytes( 604462909807314587353087_, UNSIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\255;\127;" or 3956 bytes( 604462909807314587353088_, UNSIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\000;\128;" or 3957 bytes(1208925819614629174706175_, UNSIGNED, LE) <> "\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;" or 3958 bytes(1208925819614629174706176_, UNSIGNED, LE) <> "\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;\001;" then 3959 writeln("Conversion of bigInteger to unsigned little endian byte string does not work correct."); 3960 okay := FALSE; 3961 end if; 3962 3963 if bytes( 258_, UNSIGNED, LE) <> "\2;\1;" or 3964 bytes( 66051_, UNSIGNED, LE) <> "\3;\2;\1;" or 3965 bytes( 16909060_, UNSIGNED, LE) <> "\4;\3;\2;\1;" or 3966 bytes( 4328719365_, UNSIGNED, LE) <> "\5;\4;\3;\2;\1;" or 3967 bytes( 1108152157446_, UNSIGNED, LE) <> "\6;\5;\4;\3;\2;\1;" or 3968 bytes( 283686952306183_, UNSIGNED, LE) <> "\7;\6;\5;\4;\3;\2;\1;" or 3969 bytes( 72623859790382856_, UNSIGNED, LE) <> "\8;\7;\6;\5;\4;\3;\2;\1;" or 3970 bytes( 18591708106338011145_, UNSIGNED, LE) <> "\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3971 bytes( 4759477275222530853130_, UNSIGNED, LE) <> "\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3972 bytes( 1218426182456967898401291_, UNSIGNED, LE) <> "\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3973 bytes( 311917102708983781990730508_, UNSIGNED, LE) <> "\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3974 bytes( 79850778293499848189627010061_, UNSIGNED, LE) <> "\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3975 bytes( 20441799243135961136544514575630_, UNSIGNED, LE) <> "\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3976 bytes( 5233100606242806050955395731361295_, UNSIGNED, LE) <> "\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3977 bytes( 1339673755198158349044581307228491536_, UNSIGNED, LE) <> "\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3978 bytes( 342956481330728537355412814650493833233_, UNSIGNED, LE) <> "\17;\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;" or 3979 bytes( 513_, UNSIGNED, LE) <> "\1;\2;" or 3980 bytes( 197121_, UNSIGNED, LE) <> "\1;\2;\3;" or 3981 bytes( 67305985_, UNSIGNED, LE) <> "\1;\2;\3;\4;" or 3982 bytes( 21542142465_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;" or 3983 bytes( 6618611909121_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;" or 3984 bytes( 1976943448883713_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;" or 3985 bytes( 578437695752307201_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;" or 3986 bytes( 166599134359138271745_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;" or 3987 bytes( 47390263963055590408705_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;" or 3988 bytes( 13345574279723976512176641_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;" or 3989 bytes( 3727165692135864801209549313_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;" or 3990 bytes( 1033693278377572253517280903681_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;" or 3991 bytes( 284987427729500958188778798907905_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;" or 3992 bytes( 78169440305751915386146223737209345_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;" or 3993 bytes( 21345817372864405881847059188222722561_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;" or 3994 bytes(5806146055028818284759215385528282317313_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;\17;" then 3995 writeln("Conversion of bigInteger to unsigned little endian byte string does not work correct."); 3996 okay := FALSE; 3997 end if; 3998 3999 if bytes( 65281_, UNSIGNED, LE) <> "\1;\255;" or 4000 bytes( 16711938_, UNSIGNED, LE) <> "\2;\1;\255;" or 4001 bytes( 4278256131_, UNSIGNED, LE) <> "\3;\2;\1;\255;" or 4002 bytes( 1095233569540_, UNSIGNED, LE) <> "\4;\3;\2;\1;\255;" or 4003 bytes( 280379793802245_, UNSIGNED, LE) <> "\5;\4;\3;\2;\1;\255;" or 4004 bytes( 71777227213374726_, UNSIGNED, LE) <> "\6;\5;\4;\3;\2;\1;\255;" or 4005 bytes( 18374970166623929863_, UNSIGNED, LE) <> "\7;\6;\5;\4;\3;\2;\1;\255;" or 4006 bytes( 4703992362655726044936_, UNSIGNED, LE) <> "\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 4007 bytes( 1204222044839865867503625_, UNSIGNED, LE) <> "\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 4008 bytes( 308280843479005662080928010_, UNSIGNED, LE) <> "\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 4009 bytes( 78919895930625449492717570571_, UNSIGNED, LE) <> "\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 4010 bytes( 20203493358240115070135698066188_, UNSIGNED, LE) <> "\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 4011 bytes( 5172094299709469457954738704944141_, UNSIGNED, LE) <> "\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 4012 bytes( 1324056140725624181236413108465700110_, UNSIGNED, LE) <> "\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 4013 bytes( 338958372025759790396521755767219228175_, UNSIGNED, LE) <> "\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 4014 bytes(86773343238594506341509569476408122412816_, UNSIGNED, LE) <> "\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;" or 4015 bytes( 65281_, UNSIGNED, LE) <> "\1;\255;" or 4016 bytes( 16712193_, UNSIGNED, LE) <> "\1;\2;\255;" or 4017 bytes( 4278387201_, UNSIGNED, LE) <> "\1;\2;\3;\255;" or 4018 bytes( 1095283966465_, UNSIGNED, LE) <> "\1;\2;\3;\4;\255;" or 4019 bytes( 280397007225345_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\255;" or 4020 bytes( 71782737673126401_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\255;" or 4021 bytes( 18376663423120507393_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\255;" or 4022 bytes( 4704498176491687969281_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\255;" or 4023 bytes( 1204370052266118667764225_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\255;" or 4024 bytes( 308323474265693495140483585_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\255;" or 4025 bytes( 78932023078722716501331345921_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\255;" or 4026 bytes( 20206908606829541951154916884993_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\255;" or 4027 bytes( 5173048142209553530360066358837761_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\255;" or 4028 bytes( 1324320686354110546233465342750032385_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\255;" or 4029 bytes( 339031308365459299505856946595225076225_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\255;" or 4030 bytes(86793349382212172589042371954289116643841_, UNSIGNED, LE) <> "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;\255;" then 4031 writeln("2 Conversion of bigInteger to unsigned little endian byte string does not work correct."); 4032 okay := FALSE; 4033 end if; 4034 4035 if bytes( 1414743380_, SIGNED, LE) <> "TEST" or 4036 bytes( 1497451343_, SIGNED, LE) <> "OKAY" or 4037 bytes(-24410084911287995403745268624_, SIGNED, LE) <> "plus-minus ±" or 4038 bytes( 54818077602976342189798681712_, SIGNED, LE) <> "plus-minus ±\0;" or 4039 bytes( 54818077602976342189798681712_, UNSIGNED, LE) <> "plus-minus ±" or 4040 bytes( 8316866959935304777_, UNSIGNED, LE) <> "It works" then 4041 writeln("Conversion of bigInteger to byte string does not work correct."); 4042 okay := FALSE; 4043 end if; 4044 4045 if not raisesRangeError(bytes(-1_, UNSIGNED, LE)) then 4046 writeln("Conversion of negative bigInteger to unsigned big endian byte string does not raise RANGE_ERROR."); 4047 okay := FALSE; 4048 end if; 4049 4050 if okay then 4051 writeln("Conversion of bigInteger to little endian byte string works correct."); 4052 else 4053 writeln(" ***** Conversion of bigInteger to little endian byte string does not work correct."); 4054 writeln; 4055 end if; 4056 end func; 4057 4058 4059const proc: chkBytesBe2BigInt is func 4060 local 4061 var boolean: okay is TRUE; 4062 begin 4063 if bytes2BigInt("\254;\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> -1208925819614629174706177_ or 4064 bytes2BigInt("\255;\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -1208925819614629174706176_ or 4065 bytes2BigInt("\255;\127;\255;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> -604462909807314587353089_ or 4066 bytes2BigInt( "\128;\000;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -604462909807314587353088_ or 4067 bytes2BigInt( "\254;\255;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> -4722366482869645213697_ or 4068 bytes2BigInt( "\255;\000;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -4722366482869645213696_ or 4069 bytes2BigInt( "\255;\127;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> -2361183241434822606849_ or 4070 bytes2BigInt( "\128;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -2361183241434822606848_ or 4071 bytes2BigInt( "\254;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> -18446744073709551617_ or 4072 bytes2BigInt( "\255;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -18446744073709551616_ or 4073 bytes2BigInt( "\255;\127;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> -9223372036854775809_ or 4074 bytes2BigInt( "\128;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -9223372036854775808_ or 4075 bytes2BigInt( "\254;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> -72057594037927937_ or 4076 bytes2BigInt( "\255;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -72057594037927936_ or 4077 bytes2BigInt( "\255;\127;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> -36028797018963969_ or 4078 bytes2BigInt( "\128;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -36028797018963968_ or 4079 bytes2BigInt( "\254;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> -281474976710657_ or 4080 bytes2BigInt( "\255;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -281474976710656_ or 4081 bytes2BigInt( "\255;\127;\255;\255;\255;\255;\255;", SIGNED, BE) <> -140737488355329_ or 4082 bytes2BigInt( "\128;\000;\000;\000;\000;\000;", SIGNED, BE) <> -140737488355328_ or 4083 bytes2BigInt( "\254;\255;\255;\255;\255;\255;", SIGNED, BE) <> -1099511627777_ or 4084 bytes2BigInt( "\255;\000;\000;\000;\000;\000;", SIGNED, BE) <> -1099511627776_ or 4085 bytes2BigInt( "\255;\127;\255;\255;\255;\255;", SIGNED, BE) <> -549755813889_ or 4086 bytes2BigInt( "\128;\000;\000;\000;\000;", SIGNED, BE) <> -549755813888_ or 4087 bytes2BigInt( "\254;\255;\255;\255;\255;", SIGNED, BE) <> -4294967297_ or 4088 bytes2BigInt( "\255;\000;\000;\000;\000;", SIGNED, BE) <> -4294967296_ or 4089 bytes2BigInt( "\255;\127;\255;\255;\255;", SIGNED, BE) <> -2147483649_ or 4090 bytes2BigInt( "\128;\000;\000;\000;", SIGNED, BE) <> -2147483648_ or 4091 bytes2BigInt( "\254;\255;\255;\255;", SIGNED, BE) <> -16777217_ or 4092 bytes2BigInt( "\255;\000;\000;\000;", SIGNED, BE) <> -16777216_ or 4093 bytes2BigInt( "\255;\127;\255;\255;", SIGNED, BE) <> -8388609_ or 4094 bytes2BigInt( "\128;\000;\000;", SIGNED, BE) <> -8388608_ or 4095 bytes2BigInt( "\254;\255;\255;", SIGNED, BE) <> -65537_ or 4096 bytes2BigInt( "\255;\000;\000;", SIGNED, BE) <> -65536_ or 4097 bytes2BigInt( "\255;\000;\255;", SIGNED, BE) <> -65281_ or 4098 bytes2BigInt( "\255;\001;\000;", SIGNED, BE) <> -65280_ or 4099 bytes2BigInt( "\255;\001;\255;", SIGNED, BE) <> -65025_ or 4100 bytes2BigInt( "\255;\002;\000;", SIGNED, BE) <> -65024_ or 4101 bytes2BigInt( "\255;\127;\254;", SIGNED, BE) <> -32770_ or 4102 bytes2BigInt( "\255;\127;\255;", SIGNED, BE) <> -32769_ or 4103 bytes2BigInt( "\128;\000;", SIGNED, BE) <> -32768_ or 4104 bytes2BigInt( "\128;\001;", SIGNED, BE) <> -32767_ or 4105 bytes2BigInt( "\128;\254;", SIGNED, BE) <> -32514_ or 4106 bytes2BigInt( "\128;\255;", SIGNED, BE) <> -32513_ or 4107 bytes2BigInt( "\129;\000;", SIGNED, BE) <> -32512_ or 4108 bytes2BigInt( "\129;\001;", SIGNED, BE) <> -32511_ or 4109 bytes2BigInt( "\129;\254;", SIGNED, BE) <> -32258_ or 4110 bytes2BigInt( "\129;\255;", SIGNED, BE) <> -32257_ or 4111 bytes2BigInt( "\130;\000;", SIGNED, BE) <> -32256_ or 4112 bytes2BigInt( "\130;\001;", SIGNED, BE) <> -32255_ or 4113 bytes2BigInt( "\253;\254;", SIGNED, BE) <> -514_ or 4114 bytes2BigInt( "\253;\255;", SIGNED, BE) <> -513_ or 4115 bytes2BigInt( "\254;\000;", SIGNED, BE) <> -512_ or 4116 bytes2BigInt( "\254;\001;", SIGNED, BE) <> -511_ or 4117 bytes2BigInt( "\254;\254;", SIGNED, BE) <> -258_ or 4118 bytes2BigInt( "\254;\255;", SIGNED, BE) <> -257_ or 4119 bytes2BigInt( "\255;\000;", SIGNED, BE) <> -256_ or 4120 bytes2BigInt( "\255;\001;", SIGNED, BE) <> -255_ or 4121 bytes2BigInt( "\255;\126;", SIGNED, BE) <> -130_ or 4122 bytes2BigInt( "\255;\127;", SIGNED, BE) <> -129_ or 4123 bytes2BigInt( "\128;", SIGNED, BE) <> -128_ or 4124 bytes2BigInt( "\129;", SIGNED, BE) <> -127_ or 4125 bytes2BigInt( "\254;", SIGNED, BE) <> -2_ or 4126 bytes2BigInt( "\255;", SIGNED, BE) <> -1_ or 4127 bytes2BigInt( "\000;", SIGNED, BE) <> 0_ or 4128 bytes2BigInt( "\001;", SIGNED, BE) <> 1_ or 4129 bytes2BigInt( "\002;", SIGNED, BE) <> 2_ or 4130 bytes2BigInt( "\126;", SIGNED, BE) <> 126_ or 4131 bytes2BigInt( "\127;", SIGNED, BE) <> 127_ or 4132 bytes2BigInt( "\000;\128;", SIGNED, BE) <> 128_ or 4133 bytes2BigInt( "\000;\129;", SIGNED, BE) <> 129_ or 4134 bytes2BigInt( "\000;\254;", SIGNED, BE) <> 254_ or 4135 bytes2BigInt( "\000;\255;", SIGNED, BE) <> 255_ or 4136 bytes2BigInt( "\001;\000;", SIGNED, BE) <> 256_ or 4137 bytes2BigInt( "\001;\001;", SIGNED, BE) <> 257_ or 4138 bytes2BigInt( "\001;\254;", SIGNED, BE) <> 510_ or 4139 bytes2BigInt( "\001;\255;", SIGNED, BE) <> 511_ or 4140 bytes2BigInt( "\002;\000;", SIGNED, BE) <> 512_ or 4141 bytes2BigInt( "\002;\001;", SIGNED, BE) <> 513_ or 4142 bytes2BigInt( "\125;\254;", SIGNED, BE) <> 32254_ or 4143 bytes2BigInt( "\125;\255;", SIGNED, BE) <> 32255_ or 4144 bytes2BigInt( "\126;\000;", SIGNED, BE) <> 32256_ or 4145 bytes2BigInt( "\126;\001;", SIGNED, BE) <> 32257_ or 4146 bytes2BigInt( "\126;\254;", SIGNED, BE) <> 32510_ or 4147 bytes2BigInt( "\126;\255;", SIGNED, BE) <> 32511_ or 4148 bytes2BigInt( "\127;\000;", SIGNED, BE) <> 32512_ or 4149 bytes2BigInt( "\127;\001;", SIGNED, BE) <> 32513_ or 4150 bytes2BigInt( "\127;\254;", SIGNED, BE) <> 32766_ or 4151 bytes2BigInt( "\127;\255;", SIGNED, BE) <> 32767_ or 4152 bytes2BigInt( "\000;\128;\000;", SIGNED, BE) <> 32768_ or 4153 bytes2BigInt( "\000;\128;\001;", SIGNED, BE) <> 32769_ or 4154 bytes2BigInt( "\000;\253;\255;", SIGNED, BE) <> 65023_ or 4155 bytes2BigInt( "\000;\254;\000;", SIGNED, BE) <> 65024_ or 4156 bytes2BigInt( "\000;\254;\255;", SIGNED, BE) <> 65279_ or 4157 bytes2BigInt( "\000;\255;\000;", SIGNED, BE) <> 65280_ or 4158 bytes2BigInt( "\000;\255;\255;", SIGNED, BE) <> 65535_ or 4159 bytes2BigInt( "\001;\000;\000;", SIGNED, BE) <> 65536_ or 4160 bytes2BigInt( "\127;\255;\255;", SIGNED, BE) <> 8388607_ or 4161 bytes2BigInt( "\000;\128;\000;\000;", SIGNED, BE) <> 8388608_ or 4162 bytes2BigInt( "\000;\255;\255;\255;", SIGNED, BE) <> 16777215_ or 4163 bytes2BigInt( "\001;\000;\000;\000;", SIGNED, BE) <> 16777216_ or 4164 bytes2BigInt( "\127;\255;\255;\255;", SIGNED, BE) <> 2147483647_ or 4165 bytes2BigInt( "\000;\128;\000;\000;\000;", SIGNED, BE) <> 2147483648_ or 4166 bytes2BigInt( "\000;\255;\255;\255;\255;", SIGNED, BE) <> 4294967295_ or 4167 bytes2BigInt( "\001;\000;\000;\000;\000;", SIGNED, BE) <> 4294967296_ or 4168 bytes2BigInt( "\127;\255;\255;\255;\255;", SIGNED, BE) <> 549755813887_ or 4169 bytes2BigInt( "\000;\128;\000;\000;\000;\000;", SIGNED, BE) <> 549755813888_ or 4170 bytes2BigInt( "\000;\255;\255;\255;\255;\255;", SIGNED, BE) <> 1099511627775_ or 4171 bytes2BigInt( "\001;\000;\000;\000;\000;\000;", SIGNED, BE) <> 1099511627776_ or 4172 bytes2BigInt( "\127;\255;\255;\255;\255;\255;", SIGNED, BE) <> 140737488355327_ or 4173 bytes2BigInt( "\000;\128;\000;\000;\000;\000;\000;", SIGNED, BE) <> 140737488355328_ or 4174 bytes2BigInt( "\000;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 281474976710655_ or 4175 bytes2BigInt( "\001;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> 281474976710656_ or 4176 bytes2BigInt( "\127;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 36028797018963967_ or 4177 bytes2BigInt( "\000;\128;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> 36028797018963968_ or 4178 bytes2BigInt( "\000;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 72057594037927935_ or 4179 bytes2BigInt( "\001;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> 72057594037927936_ or 4180 bytes2BigInt( "\127;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 9223372036854775807_ or 4181 bytes2BigInt( "\000;\128;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> 9223372036854775808_ or 4182 bytes2BigInt( "\000;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 18446744073709551615_ or 4183 bytes2BigInt( "\001;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> 18446744073709551616_ or 4184 bytes2BigInt( "\127;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 2361183241434822606847_ or 4185 bytes2BigInt( "\000;\128;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> 2361183241434822606848_ or 4186 bytes2BigInt( "\000;\255;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 4722366482869645213695_ or 4187 bytes2BigInt( "\001;\000;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> 4722366482869645213696_ or 4188 bytes2BigInt( "\127;\255;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 604462909807314587353087_ or 4189 bytes2BigInt("\000;\128;\000;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> 604462909807314587353088_ or 4190 bytes2BigInt("\000;\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 1208925819614629174706175_ or 4191 bytes2BigInt("\001;\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> 1208925819614629174706176_ then 4192 writeln("Conversion of big endian byte string to bigInteger does not work correct."); 4193 okay := FALSE; 4194 end if; 4195 4196 if bytes2BigInt( "\1;\2;", SIGNED, BE) <> 258_ or 4197 bytes2BigInt( "\1;\2;\3;", SIGNED, BE) <> 66051_ or 4198 bytes2BigInt( "\1;\2;\3;\4;", SIGNED, BE) <> 16909060_ or 4199 bytes2BigInt( "\1;\2;\3;\4;\5;", SIGNED, BE) <> 4328719365_ or 4200 bytes2BigInt( "\1;\2;\3;\4;\5;\6;", SIGNED, BE) <> 1108152157446_ or 4201 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;", SIGNED, BE) <> 283686952306183_ or 4202 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;", SIGNED, BE) <> 72623859790382856_ or 4203 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;", SIGNED, BE) <> 18591708106338011145_ or 4204 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;", SIGNED, BE) <> 4759477275222530853130_ or 4205 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;", SIGNED, BE) <> 1218426182456967898401291_ or 4206 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;", SIGNED, BE) <> 311917102708983781990730508_ or 4207 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;", SIGNED, BE) <> 79850778293499848189627010061_ or 4208 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;", SIGNED, BE) <> 20441799243135961136544514575630_ or 4209 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;", SIGNED, BE) <> 5233100606242806050955395731361295_ or 4210 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;", SIGNED, BE) <> 1339673755198158349044581307228491536_ or 4211 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;\17;", SIGNED, BE) <> 342956481330728537355412814650493833233_ or 4212 bytes2BigInt( "\2;\1;", SIGNED, BE) <> 513_ or 4213 bytes2BigInt( "\3;\2;\1;", SIGNED, BE) <> 197121_ or 4214 bytes2BigInt( "\4;\3;\2;\1;", SIGNED, BE) <> 67305985_ or 4215 bytes2BigInt( "\5;\4;\3;\2;\1;", SIGNED, BE) <> 21542142465_ or 4216 bytes2BigInt( "\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> 6618611909121_ or 4217 bytes2BigInt( "\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> 1976943448883713_ or 4218 bytes2BigInt( "\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> 578437695752307201_ or 4219 bytes2BigInt( "\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> 166599134359138271745_ or 4220 bytes2BigInt( "\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> 47390263963055590408705_ or 4221 bytes2BigInt( "\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> 13345574279723976512176641_ or 4222 bytes2BigInt( "\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> 3727165692135864801209549313_ or 4223 bytes2BigInt( "\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> 1033693278377572253517280903681_ or 4224 bytes2BigInt( "\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> 284987427729500958188778798907905_ or 4225 bytes2BigInt( "\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> 78169440305751915386146223737209345_ or 4226 bytes2BigInt( "\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> 21345817372864405881847059188222722561_ or 4227 bytes2BigInt("\17;\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> 5806146055028818284759215385528282317313_ then 4228 writeln("Conversion of big endian byte string to bigInteger does not work correct."); 4229 okay := FALSE; 4230 end if; 4231 4232 if bytes2BigInt( "\255;\1;", SIGNED, BE) <> -255_ or 4233 bytes2BigInt( "\255;\1;\2;", SIGNED, BE) <> -65278_ or 4234 bytes2BigInt( "\255;\1;\2;\3;", SIGNED, BE) <> -16711165_ or 4235 bytes2BigInt( "\255;\1;\2;\3;\4;", SIGNED, BE) <> -4278058236_ or 4236 bytes2BigInt( "\255;\1;\2;\3;\4;\5;", SIGNED, BE) <> -1095182908411_ or 4237 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;", SIGNED, BE) <> -280366824553210_ or 4238 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;", SIGNED, BE) <> -71773907085621753_ or 4239 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;", SIGNED, BE) <> -18374120213919168760_ or 4240 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;", SIGNED, BE) <> -4703774774763307202551_ or 4241 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;", SIGNED, BE) <> -1204166342339406643853046_ or 4242 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;", SIGNED, BE) <> -308266583638888100826379765_ or 4243 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;", SIGNED, BE) <> -78916245411555353811553219828_ or 4244 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;", SIGNED, BE) <> -20202558825358170575757624275955_ or 4245 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;", SIGNED, BE) <> -5171855059291691667393951814644466_ or 4246 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;", SIGNED, BE) <> -1323994895178673066852851664548983281_ or 4247 bytes2BigInt("\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;", SIGNED, BE) <> -338942693165740305114330026124539719920_ or 4248 bytes2BigInt( "\255;\1;", SIGNED, BE) <> -255_ or 4249 bytes2BigInt( "\255;\2;\1;", SIGNED, BE) <> -65023_ or 4250 bytes2BigInt( "\255;\3;\2;\1;", SIGNED, BE) <> -16580095_ or 4251 bytes2BigInt( "\255;\4;\3;\2;\1;", SIGNED, BE) <> -4227661311_ or 4252 bytes2BigInt( "\255;\5;\4;\3;\2;\1;", SIGNED, BE) <> -1077969485311_ or 4253 bytes2BigInt( "\255;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> -274856364801535_ or 4254 bytes2BigInt( "\255;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> -70080650589044223_ or 4255 bytes2BigInt( "\255;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> -17868306377957244415_ or 4256 bytes2BigInt( "\255;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> -4555767348510506941951_ or 4257 bytes2BigInt( "\255;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> -1161535555651573584297471_ or 4258 bytes2BigInt( "\255;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> -296139435541621092212604415_ or 4259 bytes2BigInt( "\255;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> -75500996822128472792334401023_ or 4260 bytes2BigInt( "\255;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> -19248716325274098170429970382335_ or 4261 bytes2BigInt( "\255;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> -4907309430805326670341717530312191_ or 4262 bytes2BigInt( "\255;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> -1251058555479163957517660836543135231_ or 4263 bytes2BigInt("\255;\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, BE) <> -318936549548074057581527548243545488895_ then 4264 writeln("Conversion of big endian byte string to bigInteger does not work correct."); 4265 okay := FALSE; 4266 end if; 4267 4268 if bytes2BigInt("\255;\128;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -2361183241434822606848_ or 4269 bytes2BigInt("\255;\255;\127;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> -9223372036854775809_ or 4270 bytes2BigInt("\255;\255;\128;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -9223372036854775808_ or 4271 bytes2BigInt("\255;\255;\128;\000;\000;\000;\000;\000;\000;\001;", SIGNED, BE) <> -9223372036854775807_ or 4272 bytes2BigInt("\255;\255;\255;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -72057594037927936_ or 4273 bytes2BigInt("\255;\255;\255;\127;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> -36028797018963969_ or 4274 bytes2BigInt("\255;\255;\255;\128;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> -36028797018963968_ or 4275 bytes2BigInt( "\255;\255;\255;\255;\127;", SIGNED, BE) <> -129_ or 4276 bytes2BigInt( "\255;\255;\255;\127;", SIGNED, BE) <> -129_ or 4277 bytes2BigInt( "\255;\255;\127;", SIGNED, BE) <> -129_ or 4278 bytes2BigInt( "\255;\255;\255;\255;\128;", SIGNED, BE) <> -128_ or 4279 bytes2BigInt( "\255;\255;\255;\128;", SIGNED, BE) <> -128_ or 4280 bytes2BigInt( "\255;\255;\128;", SIGNED, BE) <> -128_ or 4281 bytes2BigInt( "\255;\128;", SIGNED, BE) <> -128_ or 4282 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\255;\254;", SIGNED, BE) <> -2_ or 4283 bytes2BigInt( "\255;\255;\255;\255;\254;", SIGNED, BE) <> -2_ or 4284 bytes2BigInt( "\255;\255;\255;\254;", SIGNED, BE) <> -2_ or 4285 bytes2BigInt( "\255;\255;\254;", SIGNED, BE) <> -2_ or 4286 bytes2BigInt( "\255;\254;", SIGNED, BE) <> -2_ or 4287 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> -1_ or 4288 bytes2BigInt( "\255;\255;\255;\255;\255;", SIGNED, BE) <> -1_ or 4289 bytes2BigInt( "\255;\255;\255;\255;", SIGNED, BE) <> -1_ or 4290 bytes2BigInt( "\255;\255;\255;", SIGNED, BE) <> -1_ or 4291 bytes2BigInt( "\255;\255;", SIGNED, BE) <> -1_ or 4292 bytes2BigInt( "", SIGNED, BE) <> 0_ or 4293 bytes2BigInt( "\000;\000;", SIGNED, BE) <> 0_ or 4294 bytes2BigInt( "\000;\000;\000;", SIGNED, BE) <> 0_ or 4295 bytes2BigInt( "\000;\000;\000;\000;", SIGNED, BE) <> 0_ or 4296 bytes2BigInt( "\000;\000;\000;\000;\000;", SIGNED, BE) <> 0_ or 4297 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> 0_ or 4298 bytes2BigInt( "\000;\001;", SIGNED, BE) <> 1_ or 4299 bytes2BigInt( "\000;\000;\001;", SIGNED, BE) <> 1_ or 4300 bytes2BigInt( "\000;\000;\000;\001;", SIGNED, BE) <> 1_ or 4301 bytes2BigInt( "\000;\000;\000;\000;\001;", SIGNED, BE) <> 1_ or 4302 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\001;", SIGNED, BE) <> 1_ or 4303 bytes2BigInt( "\000;\127;", SIGNED, BE) <> 127_ or 4304 bytes2BigInt( "\000;\000;\127;", SIGNED, BE) <> 127_ or 4305 bytes2BigInt( "\000;\000;\000;\127;", SIGNED, BE) <> 127_ or 4306 bytes2BigInt( "\000;\000;\000;\000;\127;", SIGNED, BE) <> 127_ or 4307 bytes2BigInt( "\000;\000;\128;", SIGNED, BE) <> 128_ or 4308 bytes2BigInt( "\000;\000;\000;\128;", SIGNED, BE) <> 128_ or 4309 bytes2BigInt( "\000;\000;\000;\000;\128;", SIGNED, BE) <> 128_ or 4310 bytes2BigInt("\000;\000;\000;\127;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 36028797018963967_ or 4311 bytes2BigInt("\000;\000;\000;\128;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> 36028797018963968_ or 4312 bytes2BigInt("\000;\000;\000;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 72057594037927935_ or 4313 bytes2BigInt("\000;\000;\127;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 9223372036854775807_ or 4314 bytes2BigInt("\000;\000;\128;\000;\000;\000;\000;\000;\000;\000;", SIGNED, BE) <> 9223372036854775808_ or 4315 bytes2BigInt("\000;\127;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, BE) <> 2361183241434822606847_ then 4316 writeln("Conversion of big endian byte string to bigInteger does not work correct."); 4317 okay := FALSE; 4318 end if; 4319 4320 if bytes2BigInt( "\000;", UNSIGNED, BE) <> 0_ or 4321 bytes2BigInt( "\001;", UNSIGNED, BE) <> 1_ or 4322 bytes2BigInt( "\002;", UNSIGNED, BE) <> 2_ or 4323 bytes2BigInt( "\126;", UNSIGNED, BE) <> 126_ or 4324 bytes2BigInt( "\127;", UNSIGNED, BE) <> 127_ or 4325 bytes2BigInt( "\000;\128;", UNSIGNED, BE) <> 128_ or 4326 bytes2BigInt( "\000;\129;", UNSIGNED, BE) <> 129_ or 4327 bytes2BigInt( "\000;\254;", UNSIGNED, BE) <> 254_ or 4328 bytes2BigInt( "\000;\255;", UNSIGNED, BE) <> 255_ or 4329 bytes2BigInt( "\001;\000;", UNSIGNED, BE) <> 256_ or 4330 bytes2BigInt( "\001;\001;", UNSIGNED, BE) <> 257_ or 4331 bytes2BigInt( "\001;\254;", UNSIGNED, BE) <> 510_ or 4332 bytes2BigInt( "\001;\255;", UNSIGNED, BE) <> 511_ or 4333 bytes2BigInt( "\002;\000;", UNSIGNED, BE) <> 512_ or 4334 bytes2BigInt( "\002;\001;", UNSIGNED, BE) <> 513_ or 4335 bytes2BigInt( "\125;\254;", UNSIGNED, BE) <> 32254_ or 4336 bytes2BigInt( "\125;\255;", UNSIGNED, BE) <> 32255_ or 4337 bytes2BigInt( "\126;\000;", UNSIGNED, BE) <> 32256_ or 4338 bytes2BigInt( "\126;\001;", UNSIGNED, BE) <> 32257_ or 4339 bytes2BigInt( "\126;\254;", UNSIGNED, BE) <> 32510_ or 4340 bytes2BigInt( "\126;\255;", UNSIGNED, BE) <> 32511_ or 4341 bytes2BigInt( "\127;\000;", UNSIGNED, BE) <> 32512_ or 4342 bytes2BigInt( "\127;\001;", UNSIGNED, BE) <> 32513_ or 4343 bytes2BigInt( "\127;\254;", UNSIGNED, BE) <> 32766_ or 4344 bytes2BigInt( "\127;\255;", UNSIGNED, BE) <> 32767_ or 4345 bytes2BigInt( "\000;\128;\000;", UNSIGNED, BE) <> 32768_ or 4346 bytes2BigInt( "\000;\128;\001;", UNSIGNED, BE) <> 32769_ or 4347 bytes2BigInt( "\000;\253;\255;", UNSIGNED, BE) <> 65023_ or 4348 bytes2BigInt( "\000;\254;\000;", UNSIGNED, BE) <> 65024_ or 4349 bytes2BigInt( "\000;\254;\255;", UNSIGNED, BE) <> 65279_ or 4350 bytes2BigInt( "\000;\255;\000;", UNSIGNED, BE) <> 65280_ or 4351 bytes2BigInt( "\000;\255;\255;", UNSIGNED, BE) <> 65535_ or 4352 bytes2BigInt( "\001;\000;\000;", UNSIGNED, BE) <> 65536_ or 4353 bytes2BigInt( "\127;\255;\255;", UNSIGNED, BE) <> 8388607_ or 4354 bytes2BigInt( "\000;\128;\000;\000;", UNSIGNED, BE) <> 8388608_ or 4355 bytes2BigInt( "\000;\255;\255;\255;", UNSIGNED, BE) <> 16777215_ or 4356 bytes2BigInt( "\001;\000;\000;\000;", UNSIGNED, BE) <> 16777216_ or 4357 bytes2BigInt( "\127;\255;\255;\255;", UNSIGNED, BE) <> 2147483647_ or 4358 bytes2BigInt( "\000;\128;\000;\000;\000;", UNSIGNED, BE) <> 2147483648_ or 4359 bytes2BigInt( "\000;\255;\255;\255;\255;", UNSIGNED, BE) <> 4294967295_ or 4360 bytes2BigInt( "\001;\000;\000;\000;\000;", UNSIGNED, BE) <> 4294967296_ or 4361 bytes2BigInt( "\127;\255;\255;\255;\255;", UNSIGNED, BE) <> 549755813887_ or 4362 bytes2BigInt( "\000;\128;\000;\000;\000;\000;", UNSIGNED, BE) <> 549755813888_ or 4363 bytes2BigInt( "\000;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 1099511627775_ or 4364 bytes2BigInt( "\001;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 1099511627776_ or 4365 bytes2BigInt( "\127;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 140737488355327_ or 4366 bytes2BigInt( "\000;\128;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 140737488355328_ or 4367 bytes2BigInt( "\000;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 281474976710655_ or 4368 bytes2BigInt( "\001;\000;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 281474976710656_ or 4369 bytes2BigInt( "\127;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 36028797018963967_ or 4370 bytes2BigInt( "\000;\128;\000;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 36028797018963968_ or 4371 bytes2BigInt( "\000;\255;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 72057594037927935_ or 4372 bytes2BigInt( "\001;\000;\000;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 72057594037927936_ or 4373 bytes2BigInt( "\127;\255;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 9223372036854775807_ or 4374 bytes2BigInt( "\000;\128;\000;\000;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 9223372036854775808_ or 4375 bytes2BigInt( "\000;\255;\255;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 18446744073709551615_ or 4376 bytes2BigInt( "\001;\000;\000;\000;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 18446744073709551616_ or 4377 bytes2BigInt( "\127;\255;\255;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 2361183241434822606847_ or 4378 bytes2BigInt( "\000;\128;\000;\000;\000;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 2361183241434822606848_ or 4379 bytes2BigInt( "\000;\255;\255;\255;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 4722366482869645213695_ or 4380 bytes2BigInt( "\001;\000;\000;\000;\000;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 4722366482869645213696_ or 4381 bytes2BigInt( "\127;\255;\255;\255;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 604462909807314587353087_ or 4382 bytes2BigInt("\000;\128;\000;\000;\000;\000;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 604462909807314587353088_ or 4383 bytes2BigInt("\000;\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 1208925819614629174706175_ or 4384 bytes2BigInt("\001;\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 1208925819614629174706176_ then 4385 writeln("Conversion of unsigned big endian byte string to bigInteger does not work correct."); 4386 okay := FALSE; 4387 end if; 4388 4389 if bytes2BigInt( "\1;\2;", UNSIGNED, BE) <> 258_ or 4390 bytes2BigInt( "\1;\2;\3;", UNSIGNED, BE) <> 66051_ or 4391 bytes2BigInt( "\1;\2;\3;\4;", UNSIGNED, BE) <> 16909060_ or 4392 bytes2BigInt( "\1;\2;\3;\4;\5;", UNSIGNED, BE) <> 4328719365_ or 4393 bytes2BigInt( "\1;\2;\3;\4;\5;\6;", UNSIGNED, BE) <> 1108152157446_ or 4394 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;", UNSIGNED, BE) <> 283686952306183_ or 4395 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;", UNSIGNED, BE) <> 72623859790382856_ or 4396 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;", UNSIGNED, BE) <> 18591708106338011145_ or 4397 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;", UNSIGNED, BE) <> 4759477275222530853130_ or 4398 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;", UNSIGNED, BE) <> 1218426182456967898401291_ or 4399 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;", UNSIGNED, BE) <> 311917102708983781990730508_ or 4400 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;", UNSIGNED, BE) <> 79850778293499848189627010061_ or 4401 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;", UNSIGNED, BE) <> 20441799243135961136544514575630_ or 4402 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;", UNSIGNED, BE) <> 5233100606242806050955395731361295_ or 4403 bytes2BigInt( "\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;", UNSIGNED, BE) <> 1339673755198158349044581307228491536_ or 4404 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;\17;", UNSIGNED, BE) <> 342956481330728537355412814650493833233_ or 4405 bytes2BigInt( "\2;\1;", UNSIGNED, BE) <> 513_ or 4406 bytes2BigInt( "\3;\2;\1;", UNSIGNED, BE) <> 197121_ or 4407 bytes2BigInt( "\4;\3;\2;\1;", UNSIGNED, BE) <> 67305985_ or 4408 bytes2BigInt( "\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 21542142465_ or 4409 bytes2BigInt( "\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 6618611909121_ or 4410 bytes2BigInt( "\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 1976943448883713_ or 4411 bytes2BigInt( "\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 578437695752307201_ or 4412 bytes2BigInt( "\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 166599134359138271745_ or 4413 bytes2BigInt( "\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 47390263963055590408705_ or 4414 bytes2BigInt( "\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 13345574279723976512176641_ or 4415 bytes2BigInt( "\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 3727165692135864801209549313_ or 4416 bytes2BigInt( "\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 1033693278377572253517280903681_ or 4417 bytes2BigInt( "\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 284987427729500958188778798907905_ or 4418 bytes2BigInt( "\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 78169440305751915386146223737209345_ or 4419 bytes2BigInt( "\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 21345817372864405881847059188222722561_ or 4420 bytes2BigInt("\17;\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 5806146055028818284759215385528282317313_ then 4421 writeln("Conversion of unsigned big endian byte string to bigInteger does not work correct."); 4422 okay := FALSE; 4423 end if; 4424 4425 if bytes2BigInt( "\255;\1;", UNSIGNED, BE) <> 65281_ or 4426 bytes2BigInt( "\255;\1;\2;", UNSIGNED, BE) <> 16711938_ or 4427 bytes2BigInt( "\255;\1;\2;\3;", UNSIGNED, BE) <> 4278256131_ or 4428 bytes2BigInt( "\255;\1;\2;\3;\4;", UNSIGNED, BE) <> 1095233569540_ or 4429 bytes2BigInt( "\255;\1;\2;\3;\4;\5;", UNSIGNED, BE) <> 280379793802245_ or 4430 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;", UNSIGNED, BE) <> 71777227213374726_ or 4431 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;", UNSIGNED, BE) <> 18374970166623929863_ or 4432 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;", UNSIGNED, BE) <> 4703992362655726044936_ or 4433 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;", UNSIGNED, BE) <> 1204222044839865867503625_ or 4434 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;", UNSIGNED, BE) <> 308280843479005662080928010_ or 4435 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;", UNSIGNED, BE) <> 78919895930625449492717570571_ or 4436 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;", UNSIGNED, BE) <> 20203493358240115070135698066188_ or 4437 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;", UNSIGNED, BE) <> 5172094299709469457954738704944141_ or 4438 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;", UNSIGNED, BE) <> 1324056140725624181236413108465700110_ or 4439 bytes2BigInt( "\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;", UNSIGNED, BE) <> 338958372025759790396521755767219228175_ or 4440 bytes2BigInt("\255;\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;", UNSIGNED, BE) <> 86773343238594506341509569476408122412816_ or 4441 bytes2BigInt( "\255;\1;", UNSIGNED, BE) <> 65281_ or 4442 bytes2BigInt( "\255;\2;\1;", UNSIGNED, BE) <> 16712193_ or 4443 bytes2BigInt( "\255;\3;\2;\1;", UNSIGNED, BE) <> 4278387201_ or 4444 bytes2BigInt( "\255;\4;\3;\2;\1;", UNSIGNED, BE) <> 1095283966465_ or 4445 bytes2BigInt( "\255;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 280397007225345_ or 4446 bytes2BigInt( "\255;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 71782737673126401_ or 4447 bytes2BigInt( "\255;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 18376663423120507393_ or 4448 bytes2BigInt( "\255;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 4704498176491687969281_ or 4449 bytes2BigInt( "\255;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 1204370052266118667764225_ or 4450 bytes2BigInt( "\255;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 308323474265693495140483585_ or 4451 bytes2BigInt( "\255;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 78932023078722716501331345921_ or 4452 bytes2BigInt( "\255;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 20206908606829541951154916884993_ or 4453 bytes2BigInt( "\255;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 5173048142209553530360066358837761_ or 4454 bytes2BigInt( "\255;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 1324320686354110546233465342750032385_ or 4455 bytes2BigInt( "\255;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 339031308365459299505856946595225076225_ or 4456 bytes2BigInt("\255;\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, BE) <> 86793349382212172589042371954289116643841_ then 4457 writeln("Conversion of unsigned big endian byte string to bigInteger does not work correct."); 4458 okay := FALSE; 4459 end if; 4460 4461 if bytes2BigInt( "", UNSIGNED, BE) <> 0_ or 4462 bytes2BigInt( "\000;\000;", UNSIGNED, BE) <> 0_ or 4463 bytes2BigInt( "\000;\000;\000;", UNSIGNED, BE) <> 0_ or 4464 bytes2BigInt( "\000;\000;\000;\000;", UNSIGNED, BE) <> 0_ or 4465 bytes2BigInt( "\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 0_ or 4466 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 0_ or 4467 bytes2BigInt( "\000;\001;", UNSIGNED, BE) <> 1_ or 4468 bytes2BigInt( "\000;\000;\001;", UNSIGNED, BE) <> 1_ or 4469 bytes2BigInt( "\000;\000;\000;\001;", UNSIGNED, BE) <> 1_ or 4470 bytes2BigInt( "\000;\000;\000;\000;\001;", UNSIGNED, BE) <> 1_ or 4471 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\001;", UNSIGNED, BE) <> 1_ or 4472 bytes2BigInt( "\000;\127;", UNSIGNED, BE) <> 127_ or 4473 bytes2BigInt( "\000;\000;\127;", UNSIGNED, BE) <> 127_ or 4474 bytes2BigInt( "\000;\000;\000;\127;", UNSIGNED, BE) <> 127_ or 4475 bytes2BigInt( "\000;\000;\000;\000;\127;", UNSIGNED, BE) <> 127_ or 4476 bytes2BigInt( "\000;\000;\128;", UNSIGNED, BE) <> 128_ or 4477 bytes2BigInt( "\000;\000;\000;\128;", UNSIGNED, BE) <> 128_ or 4478 bytes2BigInt( "\000;\000;\000;\000;\128;", UNSIGNED, BE) <> 128_ or 4479 bytes2BigInt("\000;\000;\000;\127;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 36028797018963967_ or 4480 bytes2BigInt("\000;\000;\000;\128;\000;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 36028797018963968_ or 4481 bytes2BigInt("\000;\000;\000;\255;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 72057594037927935_ or 4482 bytes2BigInt("\000;\000;\127;\255;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 9223372036854775807_ or 4483 bytes2BigInt("\000;\000;\128;\000;\000;\000;\000;\000;\000;\000;", UNSIGNED, BE) <> 9223372036854775808_ or 4484 bytes2BigInt("\000;\127;\255;\255;\255;\255;\255;\255;\255;\255;", UNSIGNED, BE) <> 2361183241434822606847_ then 4485 writeln("Conversion of unsigned big endian byte string to bigInteger does not work correct."); 4486 okay := FALSE; 4487 end if; 4488 4489 if bytes2BigInt("I\150;\2;\210;", SIGNED, BE) <> 1234567890_ or 4490 bytes2BigInt("I\150;\2;\210;", UNSIGNED, BE) <> 1234567890_ or 4491 bytes2BigInt("\210;\2;\150;I", SIGNED, BE) <> -771582391_ or 4492 bytes2BigInt("\210;\2;\150;I", UNSIGNED, BE) <> 3523384905_ or 4493 bytes2BigInt(":\222;h\177;", SIGNED, BE) <> 987654321_ or 4494 bytes2BigInt(":\222;h\177;", UNSIGNED, BE) <> 987654321_ or 4495 bytes2BigInt("\139;\208;\3;\152;", SIGNED, BE) <> -1949301864_ or 4496 bytes2BigInt("\139;\208;\3;\152;", UNSIGNED, BE) <> 2345665432_ or 4497 bytes2BigInt("\152;\3;\208;\139;", SIGNED, BE) <> -1744580469_ or 4498 bytes2BigInt("\152;\3;\208;\139;", UNSIGNED, BE) <> 2550386827_ then 4499 writeln("Conversion of big endian byte string to bigInteger does not work correct."); 4500 okay := FALSE; 4501 end if; 4502 4503 if okay then 4504 writeln("Conversion of big endian byte string to bigInteger works correct."); 4505 else 4506 writeln(" ***** Conversion of big endian byte string to bigInteger does not work correct."); 4507 writeln; 4508 end if; 4509 end func; 4510 4511 4512const proc: chkBytesLe2BigInt is func 4513 local 4514 var boolean: okay is TRUE; 4515 begin 4516 if bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;\254;", SIGNED, LE) <> -1208925819614629174706177_ or 4517 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;\255;", SIGNED, LE) <> -1208925819614629174706176_ or 4518 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\255;\127;\255;", SIGNED, LE) <> -604462909807314587353089_ or 4519 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\128;", SIGNED, LE) <> -604462909807314587353088_ or 4520 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\255;\254;", SIGNED, LE) <> -4722366482869645213697_ or 4521 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\255;", SIGNED, LE) <> -4722366482869645213696_ or 4522 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\127;\255;", SIGNED, LE) <> -2361183241434822606849_ or 4523 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\128;", SIGNED, LE) <> -2361183241434822606848_ or 4524 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\254;", SIGNED, LE) <> -18446744073709551617_ or 4525 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\255;", SIGNED, LE) <> -18446744073709551616_ or 4526 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\127;\255;", SIGNED, LE) <> -9223372036854775809_ or 4527 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\128;", SIGNED, LE) <> -9223372036854775808_ or 4528 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\254;", SIGNED, LE) <> -72057594037927937_ or 4529 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\255;", SIGNED, LE) <> -72057594037927936_ or 4530 bytes2BigInt("\255;\255;\255;\255;\255;\255;\127;\255;", SIGNED, LE) <> -36028797018963969_ or 4531 bytes2BigInt("\000;\000;\000;\000;\000;\000;\128;", SIGNED, LE) <> -36028797018963968_ or 4532 bytes2BigInt("\255;\255;\255;\255;\255;\255;\254;", SIGNED, LE) <> -281474976710657_ or 4533 bytes2BigInt("\000;\000;\000;\000;\000;\000;\255;", SIGNED, LE) <> -281474976710656_ or 4534 bytes2BigInt("\255;\255;\255;\255;\255;\127;\255;", SIGNED, LE) <> -140737488355329_ or 4535 bytes2BigInt("\000;\000;\000;\000;\000;\128;", SIGNED, LE) <> -140737488355328_ or 4536 bytes2BigInt("\255;\255;\255;\255;\255;\254;", SIGNED, LE) <> -1099511627777_ or 4537 bytes2BigInt("\000;\000;\000;\000;\000;\255;", SIGNED, LE) <> -1099511627776_ or 4538 bytes2BigInt("\255;\255;\255;\255;\127;\255;", SIGNED, LE) <> -549755813889_ or 4539 bytes2BigInt("\000;\000;\000;\000;\128;", SIGNED, LE) <> -549755813888_ or 4540 bytes2BigInt("\255;\255;\255;\255;\254;", SIGNED, LE) <> -4294967297_ or 4541 bytes2BigInt("\000;\000;\000;\000;\255;", SIGNED, LE) <> -4294967296_ or 4542 bytes2BigInt("\255;\255;\255;\127;\255;", SIGNED, LE) <> -2147483649_ or 4543 bytes2BigInt("\000;\000;\000;\128;", SIGNED, LE) <> -2147483648_ or 4544 bytes2BigInt("\255;\255;\255;\254;", SIGNED, LE) <> -16777217_ or 4545 bytes2BigInt("\000;\000;\000;\255;", SIGNED, LE) <> -16777216_ or 4546 bytes2BigInt("\255;\255;\127;\255;", SIGNED, LE) <> -8388609_ or 4547 bytes2BigInt("\000;\000;\128;", SIGNED, LE) <> -8388608_ or 4548 bytes2BigInt("\255;\255;\254;", SIGNED, LE) <> -65537_ or 4549 bytes2BigInt("\000;\000;\255;", SIGNED, LE) <> -65536_ or 4550 bytes2BigInt("\255;\000;\255;", SIGNED, LE) <> -65281_ or 4551 bytes2BigInt("\000;\001;\255;", SIGNED, LE) <> -65280_ or 4552 bytes2BigInt("\255;\001;\255;", SIGNED, LE) <> -65025_ or 4553 bytes2BigInt("\000;\002;\255;", SIGNED, LE) <> -65024_ or 4554 bytes2BigInt("\254;\127;\255;", SIGNED, LE) <> -32770_ or 4555 bytes2BigInt("\255;\127;\255;", SIGNED, LE) <> -32769_ or 4556 bytes2BigInt("\000;\128;", SIGNED, LE) <> -32768_ or 4557 bytes2BigInt("\001;\128;", SIGNED, LE) <> -32767_ or 4558 bytes2BigInt("\254;\128;", SIGNED, LE) <> -32514_ or 4559 bytes2BigInt("\255;\128;", SIGNED, LE) <> -32513_ or 4560 bytes2BigInt("\000;\129;", SIGNED, LE) <> -32512_ or 4561 bytes2BigInt("\001;\129;", SIGNED, LE) <> -32511_ or 4562 bytes2BigInt("\254;\129;", SIGNED, LE) <> -32258_ or 4563 bytes2BigInt("\255;\129;", SIGNED, LE) <> -32257_ or 4564 bytes2BigInt("\000;\130;", SIGNED, LE) <> -32256_ or 4565 bytes2BigInt("\001;\130;", SIGNED, LE) <> -32255_ or 4566 bytes2BigInt("\254;\253;", SIGNED, LE) <> -514_ or 4567 bytes2BigInt("\255;\253;", SIGNED, LE) <> -513_ or 4568 bytes2BigInt("\000;\254;", SIGNED, LE) <> -512_ or 4569 bytes2BigInt("\001;\254;", SIGNED, LE) <> -511_ or 4570 bytes2BigInt("\254;\254;", SIGNED, LE) <> -258_ or 4571 bytes2BigInt("\255;\254;", SIGNED, LE) <> -257_ or 4572 bytes2BigInt("\000;\255;", SIGNED, LE) <> -256_ or 4573 bytes2BigInt("\001;\255;", SIGNED, LE) <> -255_ or 4574 bytes2BigInt("\126;\255;", SIGNED, LE) <> -130_ or 4575 bytes2BigInt("\127;\255;", SIGNED, LE) <> -129_ or 4576 bytes2BigInt("\128;", SIGNED, LE) <> -128_ or 4577 bytes2BigInt("\129;", SIGNED, LE) <> -127_ or 4578 bytes2BigInt("\254;", SIGNED, LE) <> -2_ or 4579 bytes2BigInt("\255;", SIGNED, LE) <> -1_ or 4580 bytes2BigInt("\000;", SIGNED, LE) <> 0_ or 4581 bytes2BigInt("\001;", SIGNED, LE) <> 1_ or 4582 bytes2BigInt("\002;", SIGNED, LE) <> 2_ or 4583 bytes2BigInt("\126;", SIGNED, LE) <> 126_ or 4584 bytes2BigInt("\127;", SIGNED, LE) <> 127_ or 4585 bytes2BigInt("\128;\000;", SIGNED, LE) <> 128_ or 4586 bytes2BigInt("\129;\000;", SIGNED, LE) <> 129_ or 4587 bytes2BigInt("\254;\000;", SIGNED, LE) <> 254_ or 4588 bytes2BigInt("\255;\000;", SIGNED, LE) <> 255_ or 4589 bytes2BigInt("\000;\001;", SIGNED, LE) <> 256_ or 4590 bytes2BigInt("\001;\001;", SIGNED, LE) <> 257_ or 4591 bytes2BigInt("\254;\001;", SIGNED, LE) <> 510_ or 4592 bytes2BigInt("\255;\001;", SIGNED, LE) <> 511_ or 4593 bytes2BigInt("\000;\002;", SIGNED, LE) <> 512_ or 4594 bytes2BigInt("\001;\002;", SIGNED, LE) <> 513_ or 4595 bytes2BigInt("\254;\125;", SIGNED, LE) <> 32254_ or 4596 bytes2BigInt("\255;\125;", SIGNED, LE) <> 32255_ or 4597 bytes2BigInt("\000;\126;", SIGNED, LE) <> 32256_ or 4598 bytes2BigInt("\001;\126;", SIGNED, LE) <> 32257_ or 4599 bytes2BigInt("\254;\126;", SIGNED, LE) <> 32510_ or 4600 bytes2BigInt("\255;\126;", SIGNED, LE) <> 32511_ or 4601 bytes2BigInt("\000;\127;", SIGNED, LE) <> 32512_ or 4602 bytes2BigInt("\001;\127;", SIGNED, LE) <> 32513_ or 4603 bytes2BigInt("\254;\127;", SIGNED, LE) <> 32766_ or 4604 bytes2BigInt("\255;\127;", SIGNED, LE) <> 32767_ or 4605 bytes2BigInt("\000;\128;\000;", SIGNED, LE) <> 32768_ or 4606 bytes2BigInt("\001;\128;\000;", SIGNED, LE) <> 32769_ or 4607 bytes2BigInt("\255;\253;\000;", SIGNED, LE) <> 65023_ or 4608 bytes2BigInt("\000;\254;\000;", SIGNED, LE) <> 65024_ or 4609 bytes2BigInt("\255;\254;\000;", SIGNED, LE) <> 65279_ or 4610 bytes2BigInt("\000;\255;\000;", SIGNED, LE) <> 65280_ or 4611 bytes2BigInt("\255;\255;\000;", SIGNED, LE) <> 65535_ or 4612 bytes2BigInt("\000;\000;\001;", SIGNED, LE) <> 65536_ or 4613 bytes2BigInt("\255;\255;\127;", SIGNED, LE) <> 8388607_ or 4614 bytes2BigInt("\000;\000;\128;\000;", SIGNED, LE) <> 8388608_ or 4615 bytes2BigInt("\255;\255;\255;\000;", SIGNED, LE) <> 16777215_ or 4616 bytes2BigInt("\000;\000;\000;\001;", SIGNED, LE) <> 16777216_ or 4617 bytes2BigInt("\255;\255;\255;\127;", SIGNED, LE) <> 2147483647_ or 4618 bytes2BigInt("\000;\000;\000;\128;\000;", SIGNED, LE) <> 2147483648_ or 4619 bytes2BigInt("\255;\255;\255;\255;\000;", SIGNED, LE) <> 4294967295_ or 4620 bytes2BigInt("\000;\000;\000;\000;\001;", SIGNED, LE) <> 4294967296_ or 4621 bytes2BigInt("\255;\255;\255;\255;\127;", SIGNED, LE) <> 549755813887_ or 4622 bytes2BigInt("\000;\000;\000;\000;\128;\000;", SIGNED, LE) <> 549755813888_ or 4623 bytes2BigInt("\255;\255;\255;\255;\255;\000;", SIGNED, LE) <> 1099511627775_ or 4624 bytes2BigInt("\000;\000;\000;\000;\000;\001;", SIGNED, LE) <> 1099511627776_ or 4625 bytes2BigInt("\255;\255;\255;\255;\255;\127;", SIGNED, LE) <> 140737488355327_ or 4626 bytes2BigInt("\000;\000;\000;\000;\000;\128;\000;", SIGNED, LE) <> 140737488355328_ or 4627 bytes2BigInt("\255;\255;\255;\255;\255;\255;\000;", SIGNED, LE) <> 281474976710655_ or 4628 bytes2BigInt("\000;\000;\000;\000;\000;\000;\001;", SIGNED, LE) <> 281474976710656_ or 4629 bytes2BigInt("\255;\255;\255;\255;\255;\255;\127;", SIGNED, LE) <> 36028797018963967_ or 4630 bytes2BigInt("\000;\000;\000;\000;\000;\000;\128;\000;", SIGNED, LE) <> 36028797018963968_ or 4631 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\000;", SIGNED, LE) <> 72057594037927935_ or 4632 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\001;", SIGNED, LE) <> 72057594037927936_ or 4633 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\127;", SIGNED, LE) <> 9223372036854775807_ or 4634 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\128;\000;", SIGNED, LE) <> 9223372036854775808_ or 4635 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\000;", SIGNED, LE) <> 18446744073709551615_ or 4636 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\001;", SIGNED, LE) <> 18446744073709551616_ or 4637 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\127;", SIGNED, LE) <> 2361183241434822606847_ or 4638 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\128;\000;", SIGNED, LE) <> 2361183241434822606848_ or 4639 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\255;\000;", SIGNED, LE) <> 4722366482869645213695_ or 4640 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\001;", SIGNED, LE) <> 4722366482869645213696_ or 4641 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\255;\127;", SIGNED, LE) <> 604462909807314587353087_ or 4642 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\128;\000;", SIGNED, LE) <> 604462909807314587353088_ or 4643 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;\000;", SIGNED, LE) <> 1208925819614629174706175_ or 4644 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;\001;", SIGNED, LE) <> 1208925819614629174706176_ then 4645 writeln("Conversion of little endian byte string to bigInteger does not work correct."); 4646 okay := FALSE; 4647 end if; 4648 4649 if bytes2BigInt("\2;\1;", SIGNED, LE) <> 258_ or 4650 bytes2BigInt("\3;\2;\1;", SIGNED, LE) <> 66051_ or 4651 bytes2BigInt("\4;\3;\2;\1;", SIGNED, LE) <> 16909060_ or 4652 bytes2BigInt("\5;\4;\3;\2;\1;", SIGNED, LE) <> 4328719365_ or 4653 bytes2BigInt("\6;\5;\4;\3;\2;\1;", SIGNED, LE) <> 1108152157446_ or 4654 bytes2BigInt("\7;\6;\5;\4;\3;\2;\1;", SIGNED, LE) <> 283686952306183_ or 4655 bytes2BigInt("\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, LE) <> 72623859790382856_ or 4656 bytes2BigInt("\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, LE) <> 18591708106338011145_ or 4657 bytes2BigInt("\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, LE) <> 4759477275222530853130_ or 4658 bytes2BigInt("\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, LE) <> 1218426182456967898401291_ or 4659 bytes2BigInt("\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, LE) <> 311917102708983781990730508_ or 4660 bytes2BigInt("\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, LE) <> 79850778293499848189627010061_ or 4661 bytes2BigInt("\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, LE) <> 20441799243135961136544514575630_ or 4662 bytes2BigInt("\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, LE) <> 5233100606242806050955395731361295_ or 4663 bytes2BigInt("\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, LE) <> 1339673755198158349044581307228491536_ or 4664 bytes2BigInt("\17;\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", SIGNED, LE) <> 342956481330728537355412814650493833233_ or 4665 bytes2BigInt("\1;\2;", SIGNED, LE) <> 513_ or 4666 bytes2BigInt("\1;\2;\3;", SIGNED, LE) <> 197121_ or 4667 bytes2BigInt("\1;\2;\3;\4;", SIGNED, LE) <> 67305985_ or 4668 bytes2BigInt("\1;\2;\3;\4;\5;", SIGNED, LE) <> 21542142465_ or 4669 bytes2BigInt("\1;\2;\3;\4;\5;\6;", SIGNED, LE) <> 6618611909121_ or 4670 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;", SIGNED, LE) <> 1976943448883713_ or 4671 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;", SIGNED, LE) <> 578437695752307201_ or 4672 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;", SIGNED, LE) <> 166599134359138271745_ or 4673 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;", SIGNED, LE) <> 47390263963055590408705_ or 4674 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;", SIGNED, LE) <> 13345574279723976512176641_ or 4675 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;", SIGNED, LE) <> 3727165692135864801209549313_ or 4676 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;", SIGNED, LE) <> 1033693278377572253517280903681_ or 4677 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;", SIGNED, LE) <> 284987427729500958188778798907905_ or 4678 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;", SIGNED, LE) <> 78169440305751915386146223737209345_ or 4679 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;", SIGNED, LE) <> 21345817372864405881847059188222722561_ or 4680 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;\17;", SIGNED, LE) <> 5806146055028818284759215385528282317313_ then 4681 writeln("Conversion of little endian byte string to bigInteger does not work correct."); 4682 okay := FALSE; 4683 end if; 4684 4685 if bytes2BigInt("\1;\255;", SIGNED, LE) <> -255_ or 4686 bytes2BigInt("\2;\1;\255;", SIGNED, LE) <> -65278_ or 4687 bytes2BigInt("\3;\2;\1;\255;", SIGNED, LE) <> -16711165_ or 4688 bytes2BigInt("\4;\3;\2;\1;\255;", SIGNED, LE) <> -4278058236_ or 4689 bytes2BigInt("\5;\4;\3;\2;\1;\255;", SIGNED, LE) <> -1095182908411_ or 4690 bytes2BigInt("\6;\5;\4;\3;\2;\1;\255;", SIGNED, LE) <> -280366824553210_ or 4691 bytes2BigInt("\7;\6;\5;\4;\3;\2;\1;\255;", SIGNED, LE) <> -71773907085621753_ or 4692 bytes2BigInt("\8;\7;\6;\5;\4;\3;\2;\1;\255;", SIGNED, LE) <> -18374120213919168760_ or 4693 bytes2BigInt("\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", SIGNED, LE) <> -4703774774763307202551_ or 4694 bytes2BigInt("\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", SIGNED, LE) <> -1204166342339406643853046_ or 4695 bytes2BigInt("\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", SIGNED, LE) <> -308266583638888100826379765_ or 4696 bytes2BigInt("\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", SIGNED, LE) <> -78916245411555353811553219828_ or 4697 bytes2BigInt("\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", SIGNED, LE) <> -20202558825358170575757624275955_ or 4698 bytes2BigInt("\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", SIGNED, LE) <> -5171855059291691667393951814644466_ or 4699 bytes2BigInt("\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", SIGNED, LE) <> -1323994895178673066852851664548983281_ or 4700 bytes2BigInt("\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", SIGNED, LE) <> -338942693165740305114330026124539719920_ or 4701 bytes2BigInt("\1;\255;", SIGNED, LE) <> -255_ or 4702 bytes2BigInt("\1;\2;\255;", SIGNED, LE) <> -65023_ or 4703 bytes2BigInt("\1;\2;\3;\255;", SIGNED, LE) <> -16580095_ or 4704 bytes2BigInt("\1;\2;\3;\4;\255;", SIGNED, LE) <> -4227661311_ or 4705 bytes2BigInt("\1;\2;\3;\4;\5;\255;", SIGNED, LE) <> -1077969485311_ or 4706 bytes2BigInt("\1;\2;\3;\4;\5;\6;\255;", SIGNED, LE) <> -274856364801535_ or 4707 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\255;", SIGNED, LE) <> -70080650589044223_ or 4708 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\255;", SIGNED, LE) <> -17868306377957244415_ or 4709 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\255;", SIGNED, LE) <> -4555767348510506941951_ or 4710 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\255;", SIGNED, LE) <> -1161535555651573584297471_ or 4711 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\255;", SIGNED, LE) <> -296139435541621092212604415_ or 4712 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\255;", SIGNED, LE) <> -75500996822128472792334401023_ or 4713 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\255;", SIGNED, LE) <> -19248716325274098170429970382335_ or 4714 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\255;", SIGNED, LE) <> -4907309430805326670341717530312191_ or 4715 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\255;", SIGNED, LE) <> -1251058555479163957517660836543135231_ or 4716 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;\255;", SIGNED, LE) <> -318936549548074057581527548243545488895_ then 4717 writeln("Conversion of little endian byte string to bigInteger does not work correct."); 4718 okay := FALSE; 4719 end if; 4720 4721 if bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\128;\255;", SIGNED, LE) <> -2361183241434822606848_ or 4722 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\127;\255;\255;", SIGNED, LE) <> -9223372036854775809_ or 4723 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\128;\255;\255;", SIGNED, LE) <> -9223372036854775808_ or 4724 bytes2BigInt("\001;\000;\000;\000;\000;\000;\000;\128;\255;\255;", SIGNED, LE) <> -9223372036854775807_ or 4725 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\255;\255;\255;", SIGNED, LE) <> -72057594037927936_ or 4726 bytes2BigInt("\255;\255;\255;\255;\255;\255;\127;\255;\255;\255;", SIGNED, LE) <> -36028797018963969_ or 4727 bytes2BigInt("\000;\000;\000;\000;\000;\000;\128;\255;\255;\255;", SIGNED, LE) <> -36028797018963968_ or 4728 bytes2BigInt("\127;\255;\255;\255;\255;", SIGNED, LE) <> -129_ or 4729 bytes2BigInt("\127;\255;\255;\255;", SIGNED, LE) <> -129_ or 4730 bytes2BigInt("\127;\255;\255;", SIGNED, LE) <> -129_ or 4731 bytes2BigInt("\128;\255;\255;\255;\255;", SIGNED, LE) <> -128_ or 4732 bytes2BigInt("\128;\255;\255;\255;", SIGNED, LE) <> -128_ or 4733 bytes2BigInt("\128;\255;\255;", SIGNED, LE) <> -128_ or 4734 bytes2BigInt("\128;\255;", SIGNED, LE) <> -128_ or 4735 bytes2BigInt("\254;\255;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, LE) <> -2_ or 4736 bytes2BigInt("\254;\255;\255;\255;\255;", SIGNED, LE) <> -2_ or 4737 bytes2BigInt("\254;\255;\255;\255;", SIGNED, LE) <> -2_ or 4738 bytes2BigInt("\254;\255;\255;", SIGNED, LE) <> -2_ or 4739 bytes2BigInt("\254;\255;", SIGNED, LE) <> -2_ or 4740 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;", SIGNED, LE) <> -1_ or 4741 bytes2BigInt("\255;\255;\255;\255;\255;", SIGNED, LE) <> -1_ or 4742 bytes2BigInt("\255;\255;\255;\255;", SIGNED, LE) <> -1_ or 4743 bytes2BigInt("\255;\255;\255;", SIGNED, LE) <> -1_ or 4744 bytes2BigInt("\255;\255;", SIGNED, LE) <> -1_ or 4745 bytes2BigInt("", SIGNED, LE) <> 0_ or 4746 bytes2BigInt("\000;\000;", SIGNED, LE) <> 0_ or 4747 bytes2BigInt("\000;\000;\000;", SIGNED, LE) <> 0_ or 4748 bytes2BigInt("\000;\000;\000;\000;", SIGNED, LE) <> 0_ or 4749 bytes2BigInt("\000;\000;\000;\000;\000;", SIGNED, LE) <> 0_ or 4750 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, LE) <> 0_ or 4751 bytes2BigInt("\001;\000;", SIGNED, LE) <> 1_ or 4752 bytes2BigInt("\001;\000;\000;", SIGNED, LE) <> 1_ or 4753 bytes2BigInt("\001;\000;\000;\000;", SIGNED, LE) <> 1_ or 4754 bytes2BigInt("\001;\000;\000;\000;\000;", SIGNED, LE) <> 1_ or 4755 bytes2BigInt("\001;\000;\000;\000;\000;\000;\000;\000;\000;\000;", SIGNED, LE) <> 1_ or 4756 bytes2BigInt("\127;\000;", SIGNED, LE) <> 127_ or 4757 bytes2BigInt("\127;\000;\000;", SIGNED, LE) <> 127_ or 4758 bytes2BigInt("\127;\000;\000;\000;", SIGNED, LE) <> 127_ or 4759 bytes2BigInt("\127;\000;\000;\000;\000;", SIGNED, LE) <> 127_ or 4760 bytes2BigInt("\128;\000;\000;", SIGNED, LE) <> 128_ or 4761 bytes2BigInt("\128;\000;\000;\000;", SIGNED, LE) <> 128_ or 4762 bytes2BigInt("\128;\000;\000;\000;\000;", SIGNED, LE) <> 128_ or 4763 bytes2BigInt("\255;\255;\255;\255;\255;\255;\127;\000;\000;\000;", SIGNED, LE) <> 36028797018963967_ or 4764 bytes2BigInt("\000;\000;\000;\000;\000;\000;\128;\000;\000;\000;", SIGNED, LE) <> 36028797018963968_ or 4765 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\000;\000;\000;", SIGNED, LE) <> 72057594037927935_ or 4766 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\127;\000;\000;", SIGNED, LE) <> 9223372036854775807_ or 4767 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\128;\000;\000;", SIGNED, LE) <> 9223372036854775808_ or 4768 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\127;\000;", SIGNED, LE) <> 2361183241434822606847_ then 4769 writeln("Conversion of little endian byte string to bigInteger does not work correct."); 4770 okay := FALSE; 4771 end if; 4772 4773 if bytes2BigInt("\000;", UNSIGNED, LE) <> 0_ or 4774 bytes2BigInt("\001;", UNSIGNED, LE) <> 1_ or 4775 bytes2BigInt("\002;", UNSIGNED, LE) <> 2_ or 4776 bytes2BigInt("\126;", UNSIGNED, LE) <> 126_ or 4777 bytes2BigInt("\127;", UNSIGNED, LE) <> 127_ or 4778 bytes2BigInt("\128;\000;", UNSIGNED, LE) <> 128_ or 4779 bytes2BigInt("\129;\000;", UNSIGNED, LE) <> 129_ or 4780 bytes2BigInt("\254;\000;", UNSIGNED, LE) <> 254_ or 4781 bytes2BigInt("\255;\000;", UNSIGNED, LE) <> 255_ or 4782 bytes2BigInt("\000;\001;", UNSIGNED, LE) <> 256_ or 4783 bytes2BigInt("\001;\001;", UNSIGNED, LE) <> 257_ or 4784 bytes2BigInt("\254;\001;", UNSIGNED, LE) <> 510_ or 4785 bytes2BigInt("\255;\001;", UNSIGNED, LE) <> 511_ or 4786 bytes2BigInt("\000;\002;", UNSIGNED, LE) <> 512_ or 4787 bytes2BigInt("\001;\002;", UNSIGNED, LE) <> 513_ or 4788 bytes2BigInt("\254;\125;", UNSIGNED, LE) <> 32254_ or 4789 bytes2BigInt("\255;\125;", UNSIGNED, LE) <> 32255_ or 4790 bytes2BigInt("\000;\126;", UNSIGNED, LE) <> 32256_ or 4791 bytes2BigInt("\001;\126;", UNSIGNED, LE) <> 32257_ or 4792 bytes2BigInt("\254;\126;", UNSIGNED, LE) <> 32510_ or 4793 bytes2BigInt("\255;\126;", UNSIGNED, LE) <> 32511_ or 4794 bytes2BigInt("\000;\127;", UNSIGNED, LE) <> 32512_ or 4795 bytes2BigInt("\001;\127;", UNSIGNED, LE) <> 32513_ or 4796 bytes2BigInt("\254;\127;", UNSIGNED, LE) <> 32766_ or 4797 bytes2BigInt("\255;\127;", UNSIGNED, LE) <> 32767_ or 4798 bytes2BigInt("\000;\128;\000;", UNSIGNED, LE) <> 32768_ or 4799 bytes2BigInt("\001;\128;\000;", UNSIGNED, LE) <> 32769_ or 4800 bytes2BigInt("\255;\253;\000;", UNSIGNED, LE) <> 65023_ or 4801 bytes2BigInt("\000;\254;\000;", UNSIGNED, LE) <> 65024_ or 4802 bytes2BigInt("\255;\254;\000;", UNSIGNED, LE) <> 65279_ or 4803 bytes2BigInt("\000;\255;\000;", UNSIGNED, LE) <> 65280_ or 4804 bytes2BigInt("\255;\255;\000;", UNSIGNED, LE) <> 65535_ or 4805 bytes2BigInt("\000;\000;\001;", UNSIGNED, LE) <> 65536_ or 4806 bytes2BigInt("\255;\255;\127;", UNSIGNED, LE) <> 8388607_ or 4807 bytes2BigInt("\000;\000;\128;\000;", UNSIGNED, LE) <> 8388608_ or 4808 bytes2BigInt("\255;\255;\255;\000;", UNSIGNED, LE) <> 16777215_ or 4809 bytes2BigInt("\000;\000;\000;\001;", UNSIGNED, LE) <> 16777216_ or 4810 bytes2BigInt("\255;\255;\255;\127;", UNSIGNED, LE) <> 2147483647_ or 4811 bytes2BigInt("\000;\000;\000;\128;\000;", UNSIGNED, LE) <> 2147483648_ or 4812 bytes2BigInt("\255;\255;\255;\255;\000;", UNSIGNED, LE) <> 4294967295_ or 4813 bytes2BigInt("\000;\000;\000;\000;\001;", UNSIGNED, LE) <> 4294967296_ or 4814 bytes2BigInt("\255;\255;\255;\255;\127;", UNSIGNED, LE) <> 549755813887_ or 4815 bytes2BigInt("\000;\000;\000;\000;\128;\000;", UNSIGNED, LE) <> 549755813888_ or 4816 bytes2BigInt("\255;\255;\255;\255;\255;\000;", UNSIGNED, LE) <> 1099511627775_ or 4817 bytes2BigInt("\000;\000;\000;\000;\000;\001;", UNSIGNED, LE) <> 1099511627776_ or 4818 bytes2BigInt("\255;\255;\255;\255;\255;\127;", UNSIGNED, LE) <> 140737488355327_ or 4819 bytes2BigInt("\000;\000;\000;\000;\000;\128;\000;", UNSIGNED, LE) <> 140737488355328_ or 4820 bytes2BigInt("\255;\255;\255;\255;\255;\255;\000;", UNSIGNED, LE) <> 281474976710655_ or 4821 bytes2BigInt("\000;\000;\000;\000;\000;\000;\001;", UNSIGNED, LE) <> 281474976710656_ or 4822 bytes2BigInt("\255;\255;\255;\255;\255;\255;\127;", UNSIGNED, LE) <> 36028797018963967_ or 4823 bytes2BigInt("\000;\000;\000;\000;\000;\000;\128;\000;", UNSIGNED, LE) <> 36028797018963968_ or 4824 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\000;", UNSIGNED, LE) <> 72057594037927935_ or 4825 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\001;", UNSIGNED, LE) <> 72057594037927936_ or 4826 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\127;", UNSIGNED, LE) <> 9223372036854775807_ or 4827 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\128;\000;", UNSIGNED, LE) <> 9223372036854775808_ or 4828 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\000;", UNSIGNED, LE) <> 18446744073709551615_ or 4829 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\001;", UNSIGNED, LE) <> 18446744073709551616_ or 4830 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\127;", UNSIGNED, LE) <> 2361183241434822606847_ or 4831 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\128;\000;", UNSIGNED, LE) <> 2361183241434822606848_ or 4832 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\255;\000;", UNSIGNED, LE) <> 4722366482869645213695_ or 4833 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\001;", UNSIGNED, LE) <> 4722366482869645213696_ or 4834 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\255;\127;", UNSIGNED, LE) <> 604462909807314587353087_ or 4835 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\128;\000;", UNSIGNED, LE) <> 604462909807314587353088_ or 4836 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\255;\255;\000;", UNSIGNED, LE) <> 1208925819614629174706175_ or 4837 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;\001;", UNSIGNED, LE) <> 1208925819614629174706176_ then 4838 writeln("Conversion of unsigned little endian byte string to bigInteger does not work correct."); 4839 okay := FALSE; 4840 end if; 4841 4842 if bytes2BigInt("\2;\1;", UNSIGNED, LE) <> 258_ or 4843 bytes2BigInt("\3;\2;\1;", UNSIGNED, LE) <> 66051_ or 4844 bytes2BigInt("\4;\3;\2;\1;", UNSIGNED, LE) <> 16909060_ or 4845 bytes2BigInt("\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 4328719365_ or 4846 bytes2BigInt("\6;\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 1108152157446_ or 4847 bytes2BigInt("\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 283686952306183_ or 4848 bytes2BigInt("\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 72623859790382856_ or 4849 bytes2BigInt("\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 18591708106338011145_ or 4850 bytes2BigInt("\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 4759477275222530853130_ or 4851 bytes2BigInt("\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 1218426182456967898401291_ or 4852 bytes2BigInt("\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 311917102708983781990730508_ or 4853 bytes2BigInt("\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 79850778293499848189627010061_ or 4854 bytes2BigInt("\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 20441799243135961136544514575630_ or 4855 bytes2BigInt("\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 5233100606242806050955395731361295_ or 4856 bytes2BigInt("\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 1339673755198158349044581307228491536_ or 4857 bytes2BigInt("\17;\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;", UNSIGNED, LE) <> 342956481330728537355412814650493833233_ or 4858 bytes2BigInt("\1;\2;", UNSIGNED, LE) <> 513_ or 4859 bytes2BigInt("\1;\2;\3;", UNSIGNED, LE) <> 197121_ or 4860 bytes2BigInt("\1;\2;\3;\4;", UNSIGNED, LE) <> 67305985_ or 4861 bytes2BigInt("\1;\2;\3;\4;\5;", UNSIGNED, LE) <> 21542142465_ or 4862 bytes2BigInt("\1;\2;\3;\4;\5;\6;", UNSIGNED, LE) <> 6618611909121_ or 4863 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;", UNSIGNED, LE) <> 1976943448883713_ or 4864 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;", UNSIGNED, LE) <> 578437695752307201_ or 4865 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;", UNSIGNED, LE) <> 166599134359138271745_ or 4866 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;", UNSIGNED, LE) <> 47390263963055590408705_ or 4867 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;", UNSIGNED, LE) <> 13345574279723976512176641_ or 4868 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;", UNSIGNED, LE) <> 3727165692135864801209549313_ or 4869 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;", UNSIGNED, LE) <> 1033693278377572253517280903681_ or 4870 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;", UNSIGNED, LE) <> 284987427729500958188778798907905_ or 4871 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;", UNSIGNED, LE) <> 78169440305751915386146223737209345_ or 4872 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;", UNSIGNED, LE) <> 21345817372864405881847059188222722561_ or 4873 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;\17;", UNSIGNED, LE) <> 5806146055028818284759215385528282317313_ then 4874 writeln("Conversion of unsigned little endian byte string to bigInteger does not work correct."); 4875 okay := FALSE; 4876 end if; 4877 4878 if bytes2BigInt("\1;\255;", UNSIGNED, LE) <> 65281_ or 4879 bytes2BigInt("\2;\1;\255;", UNSIGNED, LE) <> 16711938_ or 4880 bytes2BigInt("\3;\2;\1;\255;", UNSIGNED, LE) <> 4278256131_ or 4881 bytes2BigInt("\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 1095233569540_ or 4882 bytes2BigInt("\5;\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 280379793802245_ or 4883 bytes2BigInt("\6;\5;\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 71777227213374726_ or 4884 bytes2BigInt("\7;\6;\5;\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 18374970166623929863_ or 4885 bytes2BigInt("\8;\7;\6;\5;\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 4703992362655726044936_ or 4886 bytes2BigInt("\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 1204222044839865867503625_ or 4887 bytes2BigInt("\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 308280843479005662080928010_ or 4888 bytes2BigInt("\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 78919895930625449492717570571_ or 4889 bytes2BigInt("\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 20203493358240115070135698066188_ or 4890 bytes2BigInt("\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 5172094299709469457954738704944141_ or 4891 bytes2BigInt("\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 1324056140725624181236413108465700110_ or 4892 bytes2BigInt("\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 338958372025759790396521755767219228175_ or 4893 bytes2BigInt("\16;\15;\14;\13;\12;\11;\10;\9;\8;\7;\6;\5;\4;\3;\2;\1;\255;", UNSIGNED, LE) <> 86773343238594506341509569476408122412816_ or 4894 bytes2BigInt("\1;\255;", UNSIGNED, LE) <> 65281_ or 4895 bytes2BigInt("\1;\2;\255;", UNSIGNED, LE) <> 16712193_ or 4896 bytes2BigInt("\1;\2;\3;\255;", UNSIGNED, LE) <> 4278387201_ or 4897 bytes2BigInt("\1;\2;\3;\4;\255;", UNSIGNED, LE) <> 1095283966465_ or 4898 bytes2BigInt("\1;\2;\3;\4;\5;\255;", UNSIGNED, LE) <> 280397007225345_ or 4899 bytes2BigInt("\1;\2;\3;\4;\5;\6;\255;", UNSIGNED, LE) <> 71782737673126401_ or 4900 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\255;", UNSIGNED, LE) <> 18376663423120507393_ or 4901 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\255;", UNSIGNED, LE) <> 4704498176491687969281_ or 4902 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\255;", UNSIGNED, LE) <> 1204370052266118667764225_ or 4903 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\255;", UNSIGNED, LE) <> 308323474265693495140483585_ or 4904 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\255;", UNSIGNED, LE) <> 78932023078722716501331345921_ or 4905 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\255;", UNSIGNED, LE) <> 20206908606829541951154916884993_ or 4906 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\255;", UNSIGNED, LE) <> 5173048142209553530360066358837761_ or 4907 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\255;", UNSIGNED, LE) <> 1324320686354110546233465342750032385_ or 4908 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\255;", UNSIGNED, LE) <> 339031308365459299505856946595225076225_ or 4909 bytes2BigInt("\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;\15;\16;\255;", UNSIGNED, LE) <> 86793349382212172589042371954289116643841_ then 4910 writeln("Conversion of unsigned little endian byte string to bigInteger does not work correct."); 4911 okay := FALSE; 4912 end if; 4913 4914 if bytes2BigInt("", UNSIGNED, LE) <> 0_ or 4915 bytes2BigInt("\000;\000;", UNSIGNED, LE) <> 0_ or 4916 bytes2BigInt("\000;\000;\000;", UNSIGNED, LE) <> 0_ or 4917 bytes2BigInt("\000;\000;\000;\000;", UNSIGNED, LE) <> 0_ or 4918 bytes2BigInt("\000;\000;\000;\000;\000;", UNSIGNED, LE) <> 0_ or 4919 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\000;\000;\000;", UNSIGNED, LE) <> 0_ or 4920 bytes2BigInt("\001;\000;", UNSIGNED, LE) <> 1_ or 4921 bytes2BigInt("\001;\000;\000;", UNSIGNED, LE) <> 1_ or 4922 bytes2BigInt("\001;\000;\000;\000;", UNSIGNED, LE) <> 1_ or 4923 bytes2BigInt("\001;\000;\000;\000;\000;", UNSIGNED, LE) <> 1_ or 4924 bytes2BigInt("\001;\000;\000;\000;\000;\000;\000;\000;\000;\000;", UNSIGNED, LE) <> 1_ or 4925 bytes2BigInt("\127;\000;", UNSIGNED, LE) <> 127_ or 4926 bytes2BigInt("\127;\000;\000;", UNSIGNED, LE) <> 127_ or 4927 bytes2BigInt("\127;\000;\000;\000;", UNSIGNED, LE) <> 127_ or 4928 bytes2BigInt("\127;\000;\000;\000;\000;", UNSIGNED, LE) <> 127_ or 4929 bytes2BigInt("\128;\000;\000;", UNSIGNED, LE) <> 128_ or 4930 bytes2BigInt("\128;\000;\000;\000;", UNSIGNED, LE) <> 128_ or 4931 bytes2BigInt("\128;\000;\000;\000;\000;", UNSIGNED, LE) <> 128_ or 4932 bytes2BigInt("\255;\255;\255;\255;\255;\255;\127;\000;\000;\000;", UNSIGNED, LE) <> 36028797018963967_ or 4933 bytes2BigInt("\000;\000;\000;\000;\000;\000;\128;\000;\000;\000;", UNSIGNED, LE) <> 36028797018963968_ or 4934 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\000;\000;\000;", UNSIGNED, LE) <> 72057594037927935_ or 4935 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\127;\000;\000;", UNSIGNED, LE) <> 9223372036854775807_ or 4936 bytes2BigInt("\000;\000;\000;\000;\000;\000;\000;\128;\000;\000;", UNSIGNED, LE) <> 9223372036854775808_ or 4937 bytes2BigInt("\255;\255;\255;\255;\255;\255;\255;\255;\127;\000;", UNSIGNED, LE) <> 2361183241434822606847_ then 4938 writeln("Conversion of unsigned little endian byte string to bigInteger does not work correct."); 4939 okay := FALSE; 4940 end if; 4941 4942 if bytes2BigInt("I\150;\2;\210;", SIGNED, LE) <> -771582391_ or 4943 bytes2BigInt("I\150;\2;\210;", UNSIGNED, LE) <> 3523384905_ or 4944 bytes2BigInt("\210;\2;\150;I", SIGNED, LE) <> 1234567890_ or 4945 bytes2BigInt("\210;\2;\150;I", UNSIGNED, LE) <> 1234567890_ or 4946 bytes2BigInt(":\222;h\177;", SIGNED, LE) <> -1318527430_ or 4947 bytes2BigInt(":\222;h\177;", UNSIGNED, LE) <> 2976439866_ or 4948 bytes2BigInt("\139;\208;\3;\152;", SIGNED, LE) <> -1744580469_ or 4949 bytes2BigInt("\139;\208;\3;\152;", UNSIGNED, LE) <> 2550386827_ or 4950 bytes2BigInt("\152;\3;\208;\139;", SIGNED, LE) <> -1949301864_ or 4951 bytes2BigInt("\152;\3;\208;\139;", UNSIGNED, LE) <> 2345665432_ then 4952 writeln("Conversion of little endian byte string to bigInteger does not work correct."); 4953 okay := FALSE; 4954 end if; 4955 4956 if okay then 4957 writeln("Conversion of little endian byte string to bigInteger works correct."); 4958 else 4959 writeln(" ***** Conversion of little endian byte string to bigInteger does not work correct."); 4960 writeln; 4961 end if; 4962 end func; 4963 4964 4965const func boolean: chkNegate (in bigInteger: big1, in bigInteger: checkValue) is func 4966 result 4967 var boolean: wrong is FALSE; 4968 begin 4969 wrong := -big1 <> checkValue; 4970 if not wrong then 4971 wrong := -bigintExpr(big1) <> checkValue; 4972 end if; 4973 end func; 4974 4975 4976const proc: chkNegate is func 4977 local 4978 var boolean: okay is TRUE; 4979 begin 4980 if chkNegate( 0_, bigInteger parse "-0") or 4981 chkNegate( 1_, bigInteger parse "-1") or 4982 chkNegate( 2_, bigInteger parse "-2") or 4983 chkNegate( 8_, bigInteger parse "-8") or 4984 chkNegate( 9_, bigInteger parse "-9") or 4985 chkNegate( 10_, bigInteger parse "-10") or 4986 chkNegate( 11_, bigInteger parse "-11") or 4987 chkNegate( 12_, bigInteger parse "-12") or 4988 chkNegate( 98_, bigInteger parse "-98") or 4989 chkNegate( 99_, bigInteger parse "-99") or 4990 chkNegate( 100_, bigInteger parse "-100") or 4991 chkNegate( 101_, bigInteger parse "-101") or 4992 chkNegate( 102_, bigInteger parse "-102") or 4993 chkNegate( 126_, bigInteger parse "-126") or 4994 chkNegate( 127_, bigInteger parse "-127") or 4995 chkNegate( 128_, bigInteger parse "-128") or 4996 chkNegate( 129_, bigInteger parse "-129") or 4997 chkNegate( 130_, bigInteger parse "-130") or 4998 chkNegate( 254_, bigInteger parse "-254") or 4999 chkNegate( 255_, bigInteger parse "-255") or 5000 chkNegate( 256_, bigInteger parse "-256") or 5001 chkNegate( 257_, bigInteger parse "-257") or 5002 chkNegate( 258_, bigInteger parse "-258") or 5003 chkNegate( 998_, bigInteger parse "-998") or 5004 chkNegate( 999_, bigInteger parse "-999") or 5005 chkNegate( 1000_, bigInteger parse "-1000") or 5006 chkNegate( 1001_, bigInteger parse "-1001") or 5007 chkNegate( 1002_, bigInteger parse "-1002") or 5008 chkNegate( 9998_, bigInteger parse "-9998") or 5009 chkNegate( 9999_, bigInteger parse "-9999") or 5010 chkNegate( 10000_, bigInteger parse "-10000") or 5011 chkNegate( 10001_, bigInteger parse "-10001") or 5012 chkNegate( 10002_, bigInteger parse "-10002") or 5013 chkNegate( 32766_, bigInteger parse "-32766") or 5014 chkNegate( 32767_, bigInteger parse "-32767") or 5015 chkNegate( 32768_, bigInteger parse "-32768") or 5016 chkNegate( 32769_, bigInteger parse "-32769") or 5017 chkNegate( 32770_, bigInteger parse "-32770") or 5018 chkNegate( 65534_, bigInteger parse "-65534") or 5019 chkNegate( 65535_, bigInteger parse "-65535") or 5020 chkNegate( 65536_, bigInteger parse "-65536") or 5021 chkNegate( 65537_, bigInteger parse "-65537") or 5022 chkNegate( 65538_, bigInteger parse "-65538") or 5023 chkNegate( 99998_, bigInteger parse "-99998") or 5024 chkNegate( 99999_, bigInteger parse "-99999") or 5025 chkNegate( 100000_, bigInteger parse "-100000") or 5026 chkNegate( 100001_, bigInteger parse "-100001") or 5027 chkNegate( 100002_, bigInteger parse "-100002") or 5028 chkNegate( 999998_, bigInteger parse "-999998") or 5029 chkNegate( 999999_, bigInteger parse "-999999") or 5030 chkNegate( 1000000_, bigInteger parse "-1000000") or 5031 chkNegate( 1000001_, bigInteger parse "-1000001") or 5032 chkNegate( 1000002_, bigInteger parse "-1000002") or 5033 chkNegate( 8388606_, bigInteger parse "-8388606") or 5034 chkNegate( 8388607_, bigInteger parse "-8388607") or 5035 chkNegate( 8388608_, bigInteger parse "-8388608") or 5036 chkNegate( 8388609_, bigInteger parse "-8388609") or 5037 chkNegate( 8388610_, bigInteger parse "-8388610") or 5038 chkNegate( 9999998_, bigInteger parse "-9999998") or 5039 chkNegate( 9999999_, bigInteger parse "-9999999") or 5040 chkNegate( 10000000_, bigInteger parse "-10000000") or 5041 chkNegate( 10000001_, bigInteger parse "-10000001") or 5042 chkNegate( 10000002_, bigInteger parse "-10000002") or 5043 chkNegate( 16777214_, bigInteger parse "-16777214") or 5044 chkNegate( 16777215_, bigInteger parse "-16777215") or 5045 chkNegate( 16777216_, bigInteger parse "-16777216") or 5046 chkNegate( 16777217_, bigInteger parse "-16777217") or 5047 chkNegate( 16777218_, bigInteger parse "-16777218") or 5048 chkNegate( 99999998_, bigInteger parse "-99999998") or 5049 chkNegate( 99999999_, bigInteger parse "-99999999") or 5050 chkNegate( 100000000_, bigInteger parse "-100000000") or 5051 chkNegate( 100000001_, bigInteger parse "-100000001") or 5052 chkNegate( 100000002_, bigInteger parse "-100000002") or 5053 chkNegate( 999999998_, bigInteger parse "-999999998") or 5054 chkNegate( 999999999_, bigInteger parse "-999999999") or 5055 chkNegate( 1000000000_, bigInteger parse "-1000000000") or 5056 chkNegate( 1000000001_, bigInteger parse "-1000000001") or 5057 chkNegate( 1000000002_, bigInteger parse "-1000000002") or 5058 chkNegate( 2147483646_, bigInteger parse "-2147483646") or 5059 chkNegate( 2147483647_, bigInteger parse "-2147483647") or 5060 chkNegate( 2147483648_, bigInteger parse "-2147483648") or 5061 chkNegate( 2147483649_, bigInteger parse "-2147483649") or 5062 chkNegate( 2147483650_, bigInteger parse "-2147483650") or 5063 chkNegate( 4294967294_, bigInteger parse "-4294967294") or 5064 chkNegate( 4294967295_, bigInteger parse "-4294967295") or 5065 chkNegate( 4294967296_, bigInteger parse "-4294967296") or 5066 chkNegate( 4294967297_, bigInteger parse "-4294967297") or 5067 chkNegate( 4294967298_, bigInteger parse "-4294967298") or 5068 chkNegate( 9999999998_, bigInteger parse "-9999999998") or 5069 chkNegate( 9999999999_, bigInteger parse "-9999999999") or 5070 chkNegate( 10000000000_, bigInteger parse "-10000000000") or 5071 chkNegate( 10000000001_, bigInteger parse "-10000000001") or 5072 chkNegate( 10000000002_, bigInteger parse "-10000000002") or 5073 chkNegate( 99999999998_, bigInteger parse "-99999999998") or 5074 chkNegate( 99999999999_, bigInteger parse "-99999999999") or 5075 chkNegate( 100000000000_, bigInteger parse "-100000000000") or 5076 chkNegate( 100000000001_, bigInteger parse "-100000000001") or 5077 chkNegate( 100000000002_, bigInteger parse "-100000000002") or 5078 chkNegate( 549755813886_, bigInteger parse "-549755813886") or 5079 chkNegate( 549755813887_, bigInteger parse "-549755813887") or 5080 chkNegate( 549755813888_, bigInteger parse "-549755813888") or 5081 chkNegate( 549755813889_, bigInteger parse "-549755813889") or 5082 chkNegate( 549755813890_, bigInteger parse "-549755813890") or 5083 chkNegate( 999999999998_, bigInteger parse "-999999999998") or 5084 chkNegate( 999999999999_, bigInteger parse "-999999999999") or 5085 chkNegate( 1000000000000_, bigInteger parse "-1000000000000") or 5086 chkNegate( 1000000000001_, bigInteger parse "-1000000000001") or 5087 chkNegate( 1000000000002_, bigInteger parse "-1000000000002") or 5088 chkNegate( 1099511627774_, bigInteger parse "-1099511627774") or 5089 chkNegate( 1099511627775_, bigInteger parse "-1099511627775") or 5090 chkNegate( 1099511627776_, bigInteger parse "-1099511627776") or 5091 chkNegate( 1099511627777_, bigInteger parse "-1099511627777") or 5092 chkNegate( 1099511627778_, bigInteger parse "-1099511627778") or 5093 chkNegate( 140737488355326_, bigInteger parse "-140737488355326") or 5094 chkNegate( 140737488355327_, bigInteger parse "-140737488355327") or 5095 chkNegate( 140737488355328_, bigInteger parse "-140737488355328") or 5096 chkNegate( 140737488355329_, bigInteger parse "-140737488355329") or 5097 chkNegate( 140737488355330_, bigInteger parse "-140737488355330") or 5098 chkNegate( 281474976710654_, bigInteger parse "-281474976710654") or 5099 chkNegate( 281474976710655_, bigInteger parse "-281474976710655") or 5100 chkNegate( 281474976710656_, bigInteger parse "-281474976710656") or 5101 chkNegate( 281474976710657_, bigInteger parse "-281474976710657") or 5102 chkNegate( 281474976710658_, bigInteger parse "-281474976710658") or 5103 chkNegate( 36028797018963966_, bigInteger parse "-36028797018963966") or 5104 chkNegate( 36028797018963967_, bigInteger parse "-36028797018963967") or 5105 chkNegate( 36028797018963968_, bigInteger parse "-36028797018963968") or 5106 chkNegate( 36028797018963969_, bigInteger parse "-36028797018963969") or 5107 chkNegate( 36028797018963970_, bigInteger parse "-36028797018963970") or 5108 chkNegate( 72057594037927934_, bigInteger parse "-72057594037927934") or 5109 chkNegate( 72057594037927935_, bigInteger parse "-72057594037927935") or 5110 chkNegate( 72057594037927936_, bigInteger parse "-72057594037927936") or 5111 chkNegate( 72057594037927937_, bigInteger parse "-72057594037927937") or 5112 chkNegate( 72057594037927938_, bigInteger parse "-72057594037927938") or 5113 chkNegate( 9223372036854775806_, bigInteger parse "-9223372036854775806") or 5114 chkNegate( 9223372036854775807_, bigInteger parse "-9223372036854775807") or 5115 chkNegate( 9223372036854775808_, bigInteger parse "-9223372036854775808") or 5116 chkNegate( 9223372036854775809_, bigInteger parse "-9223372036854775809") or 5117 chkNegate( 9223372036854775810_, bigInteger parse "-9223372036854775810") or 5118 chkNegate( 18446744073709551614_, bigInteger parse "-18446744073709551614") or 5119 chkNegate( 18446744073709551615_, bigInteger parse "-18446744073709551615") or 5120 chkNegate( 18446744073709551616_, bigInteger parse "-18446744073709551616") or 5121 chkNegate( 18446744073709551617_, bigInteger parse "-18446744073709551617") or 5122 chkNegate( 18446744073709551618_, bigInteger parse "-18446744073709551618") or 5123 chkNegate( 2361183241434822606846_, bigInteger parse "-2361183241434822606846") or 5124 chkNegate( 2361183241434822606847_, bigInteger parse "-2361183241434822606847") or 5125 chkNegate( 2361183241434822606848_, bigInteger parse "-2361183241434822606848") or 5126 chkNegate( 2361183241434822606849_, bigInteger parse "-2361183241434822606849") or 5127 chkNegate( 2361183241434822606850_, bigInteger parse "-2361183241434822606850") or 5128 chkNegate( 4722366482869645213694_, bigInteger parse "-4722366482869645213694") or 5129 chkNegate( 4722366482869645213695_, bigInteger parse "-4722366482869645213695") or 5130 chkNegate( 4722366482869645213696_, bigInteger parse "-4722366482869645213696") or 5131 chkNegate( 4722366482869645213697_, bigInteger parse "-4722366482869645213697") or 5132 chkNegate( 4722366482869645213698_, bigInteger parse "-4722366482869645213698") or 5133 chkNegate( 604462909807314587353086_, bigInteger parse "-604462909807314587353086") or 5134 chkNegate( 604462909807314587353087_, bigInteger parse "-604462909807314587353087") or 5135 chkNegate( 604462909807314587353088_, bigInteger parse "-604462909807314587353088") or 5136 chkNegate( 604462909807314587353089_, bigInteger parse "-604462909807314587353089") or 5137 chkNegate( 604462909807314587353090_, bigInteger parse "-604462909807314587353090") or 5138 chkNegate(1208925819614629174706174_, bigInteger parse "-1208925819614629174706174") or 5139 chkNegate(1208925819614629174706175_, bigInteger parse "-1208925819614629174706175") or 5140 chkNegate(1208925819614629174706176_, bigInteger parse "-1208925819614629174706176") or 5141 chkNegate(1208925819614629174706177_, bigInteger parse "-1208925819614629174706177") or 5142 chkNegate(1208925819614629174706178_, bigInteger parse "-1208925819614629174706178") then 5143 writeln("Negation of a positive bigInteger does not work correct."); 5144 okay := FALSE; 5145 end if; 5146 5147 if chkNegate(bigInteger parse "-0", 0_) or 5148 chkNegate(bigInteger parse "-1", 1_) or 5149 chkNegate(bigInteger parse "-2", 2_) or 5150 chkNegate(bigInteger parse "-8", 8_) or 5151 chkNegate(bigInteger parse "-9", 9_) or 5152 chkNegate(bigInteger parse "-10", 10_) or 5153 chkNegate(bigInteger parse "-11", 11_) or 5154 chkNegate(bigInteger parse "-12", 12_) or 5155 chkNegate(bigInteger parse "-98", 98_) or 5156 chkNegate(bigInteger parse "-99", 99_) or 5157 chkNegate(bigInteger parse "-100", 100_) or 5158 chkNegate(bigInteger parse "-101", 101_) or 5159 chkNegate(bigInteger parse "-102", 102_) or 5160 chkNegate(bigInteger parse "-126", 126_) or 5161 chkNegate(bigInteger parse "-127", 127_) or 5162 chkNegate(bigInteger parse "-128", 128_) or 5163 chkNegate(bigInteger parse "-129", 129_) or 5164 chkNegate(bigInteger parse "-130", 130_) or 5165 chkNegate(bigInteger parse "-254", 254_) or 5166 chkNegate(bigInteger parse "-255", 255_) or 5167 chkNegate(bigInteger parse "-256", 256_) or 5168 chkNegate(bigInteger parse "-257", 257_) or 5169 chkNegate(bigInteger parse "-258", 258_) or 5170 chkNegate(bigInteger parse "-998", 998_) or 5171 chkNegate(bigInteger parse "-999", 999_) or 5172 chkNegate(bigInteger parse "-1000", 1000_) or 5173 chkNegate(bigInteger parse "-1001", 1001_) or 5174 chkNegate(bigInteger parse "-1002", 1002_) or 5175 chkNegate(bigInteger parse "-9998", 9998_) or 5176 chkNegate(bigInteger parse "-9999", 9999_) or 5177 chkNegate(bigInteger parse "-10000", 10000_) or 5178 chkNegate(bigInteger parse "-10001", 10001_) or 5179 chkNegate(bigInteger parse "-10002", 10002_) or 5180 chkNegate(bigInteger parse "-32766", 32766_) or 5181 chkNegate(bigInteger parse "-32767", 32767_) or 5182 chkNegate(bigInteger parse "-32768", 32768_) or 5183 chkNegate(bigInteger parse "-32769", 32769_) or 5184 chkNegate(bigInteger parse "-32770", 32770_) or 5185 chkNegate(bigInteger parse "-65534", 65534_) or 5186 chkNegate(bigInteger parse "-65535", 65535_) or 5187 chkNegate(bigInteger parse "-65536", 65536_) or 5188 chkNegate(bigInteger parse "-65537", 65537_) or 5189 chkNegate(bigInteger parse "-65538", 65538_) or 5190 chkNegate(bigInteger parse "-99998", 99998_) or 5191 chkNegate(bigInteger parse "-99999", 99999_) or 5192 chkNegate(bigInteger parse "-100000", 100000_) or 5193 chkNegate(bigInteger parse "-100001", 100001_) or 5194 chkNegate(bigInteger parse "-100002", 100002_) or 5195 chkNegate(bigInteger parse "-999998", 999998_) or 5196 chkNegate(bigInteger parse "-999999", 999999_) or 5197 chkNegate(bigInteger parse "-1000000", 1000000_) or 5198 chkNegate(bigInteger parse "-1000001", 1000001_) or 5199 chkNegate(bigInteger parse "-1000002", 1000002_) or 5200 chkNegate(bigInteger parse "-8388606", 8388606_) or 5201 chkNegate(bigInteger parse "-8388607", 8388607_) or 5202 chkNegate(bigInteger parse "-8388608", 8388608_) or 5203 chkNegate(bigInteger parse "-8388609", 8388609_) or 5204 chkNegate(bigInteger parse "-8388610", 8388610_) or 5205 chkNegate(bigInteger parse "-9999998", 9999998_) or 5206 chkNegate(bigInteger parse "-9999999", 9999999_) or 5207 chkNegate(bigInteger parse "-10000000", 10000000_) or 5208 chkNegate(bigInteger parse "-10000001", 10000001_) or 5209 chkNegate(bigInteger parse "-10000002", 10000002_) or 5210 chkNegate(bigInteger parse "-16777214", 16777214_) or 5211 chkNegate(bigInteger parse "-16777215", 16777215_) or 5212 chkNegate(bigInteger parse "-16777216", 16777216_) or 5213 chkNegate(bigInteger parse "-16777217", 16777217_) or 5214 chkNegate(bigInteger parse "-16777218", 16777218_) or 5215 chkNegate(bigInteger parse "-99999998", 99999998_) or 5216 chkNegate(bigInteger parse "-99999999", 99999999_) or 5217 chkNegate(bigInteger parse "-100000000", 100000000_) or 5218 chkNegate(bigInteger parse "-100000001", 100000001_) or 5219 chkNegate(bigInteger parse "-100000002", 100000002_) or 5220 chkNegate(bigInteger parse "-999999998", 999999998_) or 5221 chkNegate(bigInteger parse "-999999999", 999999999_) or 5222 chkNegate(bigInteger parse "-1000000000", 1000000000_) or 5223 chkNegate(bigInteger parse "-1000000001", 1000000001_) or 5224 chkNegate(bigInteger parse "-1000000002", 1000000002_) or 5225 chkNegate(bigInteger parse "-2147483646", 2147483646_) or 5226 chkNegate(bigInteger parse "-2147483647", 2147483647_) or 5227 chkNegate(bigInteger parse "-2147483648", 2147483648_) or 5228 chkNegate(bigInteger parse "-2147483649", 2147483649_) or 5229 chkNegate(bigInteger parse "-2147483650", 2147483650_) or 5230 chkNegate(bigInteger parse "-4294967294", 4294967294_) or 5231 chkNegate(bigInteger parse "-4294967295", 4294967295_) or 5232 chkNegate(bigInteger parse "-4294967296", 4294967296_) or 5233 chkNegate(bigInteger parse "-4294967297", 4294967297_) or 5234 chkNegate(bigInteger parse "-4294967298", 4294967298_) or 5235 chkNegate(bigInteger parse "-9999999998", 9999999998_) or 5236 chkNegate(bigInteger parse "-9999999999", 9999999999_) or 5237 chkNegate(bigInteger parse "-10000000000", 10000000000_) or 5238 chkNegate(bigInteger parse "-10000000001", 10000000001_) or 5239 chkNegate(bigInteger parse "-10000000002", 10000000002_) or 5240 chkNegate(bigInteger parse "-99999999998", 99999999998_) or 5241 chkNegate(bigInteger parse "-99999999999", 99999999999_) or 5242 chkNegate(bigInteger parse "-100000000000", 100000000000_) or 5243 chkNegate(bigInteger parse "-100000000001", 100000000001_) or 5244 chkNegate(bigInteger parse "-100000000002", 100000000002_) or 5245 chkNegate(bigInteger parse "-549755813886", 549755813886_) or 5246 chkNegate(bigInteger parse "-549755813887", 549755813887_) or 5247 chkNegate(bigInteger parse "-549755813888", 549755813888_) or 5248 chkNegate(bigInteger parse "-549755813889", 549755813889_) or 5249 chkNegate(bigInteger parse "-549755813890", 549755813890_) or 5250 chkNegate(bigInteger parse "-999999999998", 999999999998_) or 5251 chkNegate(bigInteger parse "-999999999999", 999999999999_) or 5252 chkNegate(bigInteger parse "-1000000000000", 1000000000000_) or 5253 chkNegate(bigInteger parse "-1000000000001", 1000000000001_) or 5254 chkNegate(bigInteger parse "-1000000000002", 1000000000002_) or 5255 chkNegate(bigInteger parse "-1099511627774", 1099511627774_) or 5256 chkNegate(bigInteger parse "-1099511627775", 1099511627775_) or 5257 chkNegate(bigInteger parse "-1099511627776", 1099511627776_) or 5258 chkNegate(bigInteger parse "-1099511627777", 1099511627777_) or 5259 chkNegate(bigInteger parse "-1099511627778", 1099511627778_) or 5260 chkNegate(bigInteger parse "-140737488355326", 140737488355326_) or 5261 chkNegate(bigInteger parse "-140737488355327", 140737488355327_) or 5262 chkNegate(bigInteger parse "-140737488355328", 140737488355328_) or 5263 chkNegate(bigInteger parse "-140737488355329", 140737488355329_) or 5264 chkNegate(bigInteger parse "-140737488355330", 140737488355330_) or 5265 chkNegate(bigInteger parse "-281474976710654", 281474976710654_) or 5266 chkNegate(bigInteger parse "-281474976710655", 281474976710655_) or 5267 chkNegate(bigInteger parse "-281474976710656", 281474976710656_) or 5268 chkNegate(bigInteger parse "-281474976710657", 281474976710657_) or 5269 chkNegate(bigInteger parse "-281474976710658", 281474976710658_) or 5270 chkNegate(bigInteger parse "-36028797018963966", 36028797018963966_) or 5271 chkNegate(bigInteger parse "-36028797018963967", 36028797018963967_) or 5272 chkNegate(bigInteger parse "-36028797018963968", 36028797018963968_) or 5273 chkNegate(bigInteger parse "-36028797018963969", 36028797018963969_) or 5274 chkNegate(bigInteger parse "-36028797018963970", 36028797018963970_) or 5275 chkNegate(bigInteger parse "-72057594037927934", 72057594037927934_) or 5276 chkNegate(bigInteger parse "-72057594037927935", 72057594037927935_) or 5277 chkNegate(bigInteger parse "-72057594037927936", 72057594037927936_) or 5278 chkNegate(bigInteger parse "-72057594037927937", 72057594037927937_) or 5279 chkNegate(bigInteger parse "-72057594037927938", 72057594037927938_) or 5280 chkNegate(bigInteger parse "-9223372036854775806", 9223372036854775806_) or 5281 chkNegate(bigInteger parse "-9223372036854775807", 9223372036854775807_) or 5282 chkNegate(bigInteger parse "-9223372036854775808", 9223372036854775808_) or 5283 chkNegate(bigInteger parse "-9223372036854775809", 9223372036854775809_) or 5284 chkNegate(bigInteger parse "-9223372036854775810", 9223372036854775810_) or 5285 chkNegate(bigInteger parse "-18446744073709551614", 18446744073709551614_) or 5286 chkNegate(bigInteger parse "-18446744073709551615", 18446744073709551615_) or 5287 chkNegate(bigInteger parse "-18446744073709551616", 18446744073709551616_) or 5288 chkNegate(bigInteger parse "-18446744073709551617", 18446744073709551617_) or 5289 chkNegate(bigInteger parse "-18446744073709551618", 18446744073709551618_) or 5290 chkNegate(bigInteger parse "-2361183241434822606846", 2361183241434822606846_) or 5291 chkNegate(bigInteger parse "-2361183241434822606847", 2361183241434822606847_) or 5292 chkNegate(bigInteger parse "-2361183241434822606848", 2361183241434822606848_) or 5293 chkNegate(bigInteger parse "-2361183241434822606849", 2361183241434822606849_) or 5294 chkNegate(bigInteger parse "-2361183241434822606850", 2361183241434822606850_) or 5295 chkNegate(bigInteger parse "-4722366482869645213694", 4722366482869645213694_) or 5296 chkNegate(bigInteger parse "-4722366482869645213695", 4722366482869645213695_) or 5297 chkNegate(bigInteger parse "-4722366482869645213696", 4722366482869645213696_) or 5298 chkNegate(bigInteger parse "-4722366482869645213697", 4722366482869645213697_) or 5299 chkNegate(bigInteger parse "-4722366482869645213698", 4722366482869645213698_) or 5300 chkNegate(bigInteger parse "-604462909807314587353086", 604462909807314587353086_) or 5301 chkNegate(bigInteger parse "-604462909807314587353087", 604462909807314587353087_) or 5302 chkNegate(bigInteger parse "-604462909807314587353088", 604462909807314587353088_) or 5303 chkNegate(bigInteger parse "-604462909807314587353089", 604462909807314587353089_) or 5304 chkNegate(bigInteger parse "-604462909807314587353090", 604462909807314587353090_) or 5305 chkNegate(bigInteger parse "-1208925819614629174706174", 1208925819614629174706174_) or 5306 chkNegate(bigInteger parse "-1208925819614629174706175", 1208925819614629174706175_) or 5307 chkNegate(bigInteger parse "-1208925819614629174706176", 1208925819614629174706176_) or 5308 chkNegate(bigInteger parse "-1208925819614629174706177", 1208925819614629174706177_) or 5309 chkNegate(bigInteger parse "-1208925819614629174706178", 1208925819614629174706178_) then 5310 writeln("Negation of a negative bigInteger does not work correct."); 5311 okay := FALSE; 5312 end if; 5313 5314 if -0_ <> bigInteger parse "-0" or 5315 -1_ <> bigInteger parse "-1" or 5316 -2_ <> bigInteger parse "-2" or 5317 -8_ <> bigInteger parse "-8" or 5318 -9_ <> bigInteger parse "-9" or 5319 -10_ <> bigInteger parse "-10" or 5320 -11_ <> bigInteger parse "-11" or 5321 -12_ <> bigInteger parse "-12" or 5322 -98_ <> bigInteger parse "-98" or 5323 -99_ <> bigInteger parse "-99" or 5324 -100_ <> bigInteger parse "-100" or 5325 -101_ <> bigInteger parse "-101" or 5326 -102_ <> bigInteger parse "-102" or 5327 -126_ <> bigInteger parse "-126" or 5328 -127_ <> bigInteger parse "-127" or 5329 -128_ <> bigInteger parse "-128" or 5330 -129_ <> bigInteger parse "-129" or 5331 -130_ <> bigInteger parse "-130" or 5332 -254_ <> bigInteger parse "-254" or 5333 -255_ <> bigInteger parse "-255" or 5334 -256_ <> bigInteger parse "-256" or 5335 -257_ <> bigInteger parse "-257" or 5336 -258_ <> bigInteger parse "-258" or 5337 -998_ <> bigInteger parse "-998" or 5338 -999_ <> bigInteger parse "-999" or 5339 -1000_ <> bigInteger parse "-1000" or 5340 -1001_ <> bigInteger parse "-1001" or 5341 -1002_ <> bigInteger parse "-1002" or 5342 -9998_ <> bigInteger parse "-9998" or 5343 -9999_ <> bigInteger parse "-9999" or 5344 -10000_ <> bigInteger parse "-10000" or 5345 -10001_ <> bigInteger parse "-10001" or 5346 -10002_ <> bigInteger parse "-10002" or 5347 -32766_ <> bigInteger parse "-32766" or 5348 -32767_ <> bigInteger parse "-32767" or 5349 -32768_ <> bigInteger parse "-32768" or 5350 -32769_ <> bigInteger parse "-32769" or 5351 -32770_ <> bigInteger parse "-32770" or 5352 -65534_ <> bigInteger parse "-65534" or 5353 -65535_ <> bigInteger parse "-65535" or 5354 -65536_ <> bigInteger parse "-65536" or 5355 -65537_ <> bigInteger parse "-65537" or 5356 -65538_ <> bigInteger parse "-65538" or 5357 -99998_ <> bigInteger parse "-99998" or 5358 -99999_ <> bigInteger parse "-99999" or 5359 -100000_ <> bigInteger parse "-100000" or 5360 -100001_ <> bigInteger parse "-100001" or 5361 -100002_ <> bigInteger parse "-100002" or 5362 -999998_ <> bigInteger parse "-999998" or 5363 -999999_ <> bigInteger parse "-999999" or 5364 -1000000_ <> bigInteger parse "-1000000" or 5365 -1000001_ <> bigInteger parse "-1000001" or 5366 -1000002_ <> bigInteger parse "-1000002" or 5367 -8388606_ <> bigInteger parse "-8388606" or 5368 -8388607_ <> bigInteger parse "-8388607" or 5369 -8388608_ <> bigInteger parse "-8388608" or 5370 -8388609_ <> bigInteger parse "-8388609" or 5371 -8388610_ <> bigInteger parse "-8388610" or 5372 -9999998_ <> bigInteger parse "-9999998" or 5373 -9999999_ <> bigInteger parse "-9999999" or 5374 -10000000_ <> bigInteger parse "-10000000" or 5375 -10000001_ <> bigInteger parse "-10000001" or 5376 -10000002_ <> bigInteger parse "-10000002" or 5377 -16777214_ <> bigInteger parse "-16777214" or 5378 -16777215_ <> bigInteger parse "-16777215" or 5379 -16777216_ <> bigInteger parse "-16777216" or 5380 -16777217_ <> bigInteger parse "-16777217" or 5381 -16777218_ <> bigInteger parse "-16777218" or 5382 -99999998_ <> bigInteger parse "-99999998" or 5383 -99999999_ <> bigInteger parse "-99999999" or 5384 -100000000_ <> bigInteger parse "-100000000" or 5385 -100000001_ <> bigInteger parse "-100000001" or 5386 -100000002_ <> bigInteger parse "-100000002" or 5387 -999999998_ <> bigInteger parse "-999999998" or 5388 -999999999_ <> bigInteger parse "-999999999" or 5389 -1000000000_ <> bigInteger parse "-1000000000" or 5390 -1000000001_ <> bigInteger parse "-1000000001" or 5391 -1000000002_ <> bigInteger parse "-1000000002" or 5392 -2147483646_ <> bigInteger parse "-2147483646" or 5393 -2147483647_ <> bigInteger parse "-2147483647" or 5394 -2147483648_ <> bigInteger parse "-2147483648" or 5395 -2147483649_ <> bigInteger parse "-2147483649" or 5396 -2147483650_ <> bigInteger parse "-2147483650" or 5397 -4294967294_ <> bigInteger parse "-4294967294" or 5398 -4294967295_ <> bigInteger parse "-4294967295" or 5399 -4294967296_ <> bigInteger parse "-4294967296" or 5400 -4294967297_ <> bigInteger parse "-4294967297" or 5401 -4294967298_ <> bigInteger parse "-4294967298" or 5402 -9999999998_ <> bigInteger parse "-9999999998" or 5403 -9999999999_ <> bigInteger parse "-9999999999" or 5404 -10000000000_ <> bigInteger parse "-10000000000" or 5405 -10000000001_ <> bigInteger parse "-10000000001" or 5406 -10000000002_ <> bigInteger parse "-10000000002" or 5407 -99999999998_ <> bigInteger parse "-99999999998" or 5408 -99999999999_ <> bigInteger parse "-99999999999" or 5409 -100000000000_ <> bigInteger parse "-100000000000" or 5410 -100000000001_ <> bigInteger parse "-100000000001" or 5411 -100000000002_ <> bigInteger parse "-100000000002" or 5412 -549755813886_ <> bigInteger parse "-549755813886" or 5413 -549755813887_ <> bigInteger parse "-549755813887" or 5414 -549755813888_ <> bigInteger parse "-549755813888" or 5415 -549755813889_ <> bigInteger parse "-549755813889" or 5416 -549755813890_ <> bigInteger parse "-549755813890" or 5417 -999999999998_ <> bigInteger parse "-999999999998" or 5418 -999999999999_ <> bigInteger parse "-999999999999" or 5419 -1000000000000_ <> bigInteger parse "-1000000000000" or 5420 -1000000000001_ <> bigInteger parse "-1000000000001" or 5421 -1000000000002_ <> bigInteger parse "-1000000000002" or 5422 -1099511627774_ <> bigInteger parse "-1099511627774" or 5423 -1099511627775_ <> bigInteger parse "-1099511627775" or 5424 -1099511627776_ <> bigInteger parse "-1099511627776" or 5425 -1099511627777_ <> bigInteger parse "-1099511627777" or 5426 -1099511627778_ <> bigInteger parse "-1099511627778" or 5427 -140737488355326_ <> bigInteger parse "-140737488355326" or 5428 -140737488355327_ <> bigInteger parse "-140737488355327" or 5429 -140737488355328_ <> bigInteger parse "-140737488355328" or 5430 -140737488355329_ <> bigInteger parse "-140737488355329" or 5431 -140737488355330_ <> bigInteger parse "-140737488355330" or 5432 -281474976710654_ <> bigInteger parse "-281474976710654" or 5433 -281474976710655_ <> bigInteger parse "-281474976710655" or 5434 -281474976710656_ <> bigInteger parse "-281474976710656" or 5435 -281474976710657_ <> bigInteger parse "-281474976710657" or 5436 -281474976710658_ <> bigInteger parse "-281474976710658" or 5437 -36028797018963966_ <> bigInteger parse "-36028797018963966" or 5438 -36028797018963967_ <> bigInteger parse "-36028797018963967" or 5439 -36028797018963968_ <> bigInteger parse "-36028797018963968" or 5440 -36028797018963969_ <> bigInteger parse "-36028797018963969" or 5441 -36028797018963970_ <> bigInteger parse "-36028797018963970" or 5442 -72057594037927934_ <> bigInteger parse "-72057594037927934" or 5443 -72057594037927935_ <> bigInteger parse "-72057594037927935" or 5444 -72057594037927936_ <> bigInteger parse "-72057594037927936" or 5445 -72057594037927937_ <> bigInteger parse "-72057594037927937" or 5446 -72057594037927938_ <> bigInteger parse "-72057594037927938" or 5447 -9223372036854775806_ <> bigInteger parse "-9223372036854775806" or 5448 -9223372036854775807_ <> bigInteger parse "-9223372036854775807" or 5449 -9223372036854775808_ <> bigInteger parse "-9223372036854775808" or 5450 -9223372036854775809_ <> bigInteger parse "-9223372036854775809" or 5451 -9223372036854775810_ <> bigInteger parse "-9223372036854775810" or 5452 -18446744073709551614_ <> bigInteger parse "-18446744073709551614" or 5453 -18446744073709551615_ <> bigInteger parse "-18446744073709551615" or 5454 -18446744073709551616_ <> bigInteger parse "-18446744073709551616" or 5455 -18446744073709551617_ <> bigInteger parse "-18446744073709551617" or 5456 -18446744073709551618_ <> bigInteger parse "-18446744073709551618" or 5457 -2361183241434822606846_ <> bigInteger parse "-2361183241434822606846" or 5458 -2361183241434822606847_ <> bigInteger parse "-2361183241434822606847" or 5459 -2361183241434822606848_ <> bigInteger parse "-2361183241434822606848" or 5460 -2361183241434822606849_ <> bigInteger parse "-2361183241434822606849" or 5461 -2361183241434822606850_ <> bigInteger parse "-2361183241434822606850" or 5462 -4722366482869645213694_ <> bigInteger parse "-4722366482869645213694" or 5463 -4722366482869645213695_ <> bigInteger parse "-4722366482869645213695" or 5464 -4722366482869645213696_ <> bigInteger parse "-4722366482869645213696" or 5465 -4722366482869645213697_ <> bigInteger parse "-4722366482869645213697" or 5466 -4722366482869645213698_ <> bigInteger parse "-4722366482869645213698" or 5467 -604462909807314587353086_ <> bigInteger parse "-604462909807314587353086" or 5468 -604462909807314587353087_ <> bigInteger parse "-604462909807314587353087" or 5469 -604462909807314587353088_ <> bigInteger parse "-604462909807314587353088" or 5470 -604462909807314587353089_ <> bigInteger parse "-604462909807314587353089" or 5471 -604462909807314587353090_ <> bigInteger parse "-604462909807314587353090" or 5472 -1208925819614629174706174_ <> bigInteger parse "-1208925819614629174706174" or 5473 -1208925819614629174706175_ <> bigInteger parse "-1208925819614629174706175" or 5474 -1208925819614629174706176_ <> bigInteger parse "-1208925819614629174706176" or 5475 -1208925819614629174706177_ <> bigInteger parse "-1208925819614629174706177" or 5476 -1208925819614629174706178_ <> bigInteger parse "-1208925819614629174706178" then 5477 writeln("Negation of a positive bigInteger does not work correct."); 5478 okay := FALSE; 5479 end if; 5480 5481 if - -0_ <> 0_ or 5482 - -1_ <> 1_ or 5483 - -2_ <> 2_ or 5484 - -8_ <> 8_ or 5485 - -9_ <> 9_ or 5486 - -10_ <> 10_ or 5487 - -11_ <> 11_ or 5488 - -12_ <> 12_ or 5489 - -98_ <> 98_ or 5490 - -99_ <> 99_ or 5491 - -100_ <> 100_ or 5492 - -101_ <> 101_ or 5493 - -102_ <> 102_ or 5494 - -126_ <> 126_ or 5495 - -127_ <> 127_ or 5496 - -128_ <> 128_ or 5497 - -129_ <> 129_ or 5498 - -130_ <> 130_ or 5499 - -254_ <> 254_ or 5500 - -255_ <> 255_ or 5501 - -256_ <> 256_ or 5502 - -257_ <> 257_ or 5503 - -258_ <> 258_ or 5504 - -998_ <> 998_ or 5505 - -999_ <> 999_ or 5506 - -1000_ <> 1000_ or 5507 - -1001_ <> 1001_ or 5508 - -1002_ <> 1002_ or 5509 - -9998_ <> 9998_ or 5510 - -9999_ <> 9999_ or 5511 - -10000_ <> 10000_ or 5512 - -10001_ <> 10001_ or 5513 - -10002_ <> 10002_ or 5514 - -32766_ <> 32766_ or 5515 - -32767_ <> 32767_ or 5516 - -32768_ <> 32768_ or 5517 - -32769_ <> 32769_ or 5518 - -32770_ <> 32770_ or 5519 - -65534_ <> 65534_ or 5520 - -65535_ <> 65535_ or 5521 - -65536_ <> 65536_ or 5522 - -65537_ <> 65537_ or 5523 - -65538_ <> 65538_ or 5524 - -99998_ <> 99998_ or 5525 - -99999_ <> 99999_ or 5526 - -100000_ <> 100000_ or 5527 - -100001_ <> 100001_ or 5528 - -100002_ <> 100002_ or 5529 - -999998_ <> 999998_ or 5530 - -999999_ <> 999999_ or 5531 - -1000000_ <> 1000000_ or 5532 - -1000001_ <> 1000001_ or 5533 - -1000002_ <> 1000002_ or 5534 - -8388606_ <> 8388606_ or 5535 - -8388607_ <> 8388607_ or 5536 - -8388608_ <> 8388608_ or 5537 - -8388609_ <> 8388609_ or 5538 - -8388610_ <> 8388610_ or 5539 - -9999998_ <> 9999998_ or 5540 - -9999999_ <> 9999999_ or 5541 - -10000000_ <> 10000000_ or 5542 - -10000001_ <> 10000001_ or 5543 - -10000002_ <> 10000002_ or 5544 - -16777214_ <> 16777214_ or 5545 - -16777215_ <> 16777215_ or 5546 - -16777216_ <> 16777216_ or 5547 - -16777217_ <> 16777217_ or 5548 - -16777218_ <> 16777218_ or 5549 - -99999998_ <> 99999998_ or 5550 - -99999999_ <> 99999999_ or 5551 - -100000000_ <> 100000000_ or 5552 - -100000001_ <> 100000001_ or 5553 - -100000002_ <> 100000002_ or 5554 - -999999998_ <> 999999998_ or 5555 - -999999999_ <> 999999999_ or 5556 - -1000000000_ <> 1000000000_ or 5557 - -1000000001_ <> 1000000001_ or 5558 - -1000000002_ <> 1000000002_ or 5559 - -2147483646_ <> 2147483646_ or 5560 - -2147483647_ <> 2147483647_ or 5561 - -2147483648_ <> 2147483648_ or 5562 - -2147483649_ <> 2147483649_ or 5563 - -2147483650_ <> 2147483650_ or 5564 - -4294967294_ <> 4294967294_ or 5565 - -4294967295_ <> 4294967295_ or 5566 - -4294967296_ <> 4294967296_ or 5567 - -4294967297_ <> 4294967297_ or 5568 - -4294967298_ <> 4294967298_ or 5569 - -9999999998_ <> 9999999998_ or 5570 - -9999999999_ <> 9999999999_ or 5571 - -10000000000_ <> 10000000000_ or 5572 - -10000000001_ <> 10000000001_ or 5573 - -10000000002_ <> 10000000002_ or 5574 - -99999999998_ <> 99999999998_ or 5575 - -99999999999_ <> 99999999999_ or 5576 - -100000000000_ <> 100000000000_ or 5577 - -100000000001_ <> 100000000001_ or 5578 - -100000000002_ <> 100000000002_ or 5579 - -549755813886_ <> 549755813886_ or 5580 - -549755813887_ <> 549755813887_ or 5581 - -549755813888_ <> 549755813888_ or 5582 - -549755813889_ <> 549755813889_ or 5583 - -549755813890_ <> 549755813890_ or 5584 - -999999999998_ <> 999999999998_ or 5585 - -999999999999_ <> 999999999999_ or 5586 - -1000000000000_ <> 1000000000000_ or 5587 - -1000000000001_ <> 1000000000001_ or 5588 - -1000000000002_ <> 1000000000002_ or 5589 - -1099511627774_ <> 1099511627774_ or 5590 - -1099511627775_ <> 1099511627775_ or 5591 - -1099511627776_ <> 1099511627776_ or 5592 - -1099511627777_ <> 1099511627777_ or 5593 - -1099511627778_ <> 1099511627778_ or 5594 - -140737488355326_ <> 140737488355326_ or 5595 - -140737488355327_ <> 140737488355327_ or 5596 - -140737488355328_ <> 140737488355328_ or 5597 - -140737488355329_ <> 140737488355329_ or 5598 - -140737488355330_ <> 140737488355330_ or 5599 - -281474976710654_ <> 281474976710654_ or 5600 - -281474976710655_ <> 281474976710655_ or 5601 - -281474976710656_ <> 281474976710656_ or 5602 - -281474976710657_ <> 281474976710657_ or 5603 - -281474976710658_ <> 281474976710658_ or 5604 - -36028797018963966_ <> 36028797018963966_ or 5605 - -36028797018963967_ <> 36028797018963967_ or 5606 - -36028797018963968_ <> 36028797018963968_ or 5607 - -36028797018963969_ <> 36028797018963969_ or 5608 - -36028797018963970_ <> 36028797018963970_ or 5609 - -72057594037927934_ <> 72057594037927934_ or 5610 - -72057594037927935_ <> 72057594037927935_ or 5611 - -72057594037927936_ <> 72057594037927936_ or 5612 - -72057594037927937_ <> 72057594037927937_ or 5613 - -72057594037927938_ <> 72057594037927938_ or 5614 - -9223372036854775806_ <> 9223372036854775806_ or 5615 - -9223372036854775807_ <> 9223372036854775807_ or 5616 - -9223372036854775808_ <> 9223372036854775808_ or 5617 - -9223372036854775809_ <> 9223372036854775809_ or 5618 - -9223372036854775810_ <> 9223372036854775810_ or 5619 - -18446744073709551614_ <> 18446744073709551614_ or 5620 - -18446744073709551615_ <> 18446744073709551615_ or 5621 - -18446744073709551616_ <> 18446744073709551616_ or 5622 - -18446744073709551617_ <> 18446744073709551617_ or 5623 - -18446744073709551618_ <> 18446744073709551618_ or 5624 - -2361183241434822606846_ <> 2361183241434822606846_ or 5625 - -2361183241434822606847_ <> 2361183241434822606847_ or 5626 - -2361183241434822606848_ <> 2361183241434822606848_ or 5627 - -2361183241434822606849_ <> 2361183241434822606849_ or 5628 - -2361183241434822606850_ <> 2361183241434822606850_ or 5629 - -4722366482869645213694_ <> 4722366482869645213694_ or 5630 - -4722366482869645213695_ <> 4722366482869645213695_ or 5631 - -4722366482869645213696_ <> 4722366482869645213696_ or 5632 - -4722366482869645213697_ <> 4722366482869645213697_ or 5633 - -4722366482869645213698_ <> 4722366482869645213698_ or 5634 - -604462909807314587353086_ <> 604462909807314587353086_ or 5635 - -604462909807314587353087_ <> 604462909807314587353087_ or 5636 - -604462909807314587353088_ <> 604462909807314587353088_ or 5637 - -604462909807314587353089_ <> 604462909807314587353089_ or 5638 - -604462909807314587353090_ <> 604462909807314587353090_ or 5639 - -1208925819614629174706174_ <> 1208925819614629174706174_ or 5640 - -1208925819614629174706175_ <> 1208925819614629174706175_ or 5641 - -1208925819614629174706176_ <> 1208925819614629174706176_ or 5642 - -1208925819614629174706177_ <> 1208925819614629174706177_ or 5643 - -1208925819614629174706178_ <> 1208925819614629174706178_ then 5644 writeln("Negation of a negative bigInteger does not work correct."); 5645 okay := FALSE; 5646 end if; 5647 5648 if okay then 5649 writeln("The bigInteger negation works correct."); 5650 else 5651 writeln(" ***** The bigInteger negation does not work correct."); 5652 writeln; 5653 end if; 5654 end func; 5655 5656 5657const proc: chkPlus is func 5658 local 5659 var boolean: okay is TRUE; 5660 begin 5661 if +0_ <> 0_ or 5662 +1_ <> 1_ or 5663 +2_ <> 2_ or 5664 +8_ <> 8_ or 5665 +9_ <> 9_ or 5666 +10_ <> 10_ or 5667 +11_ <> 11_ or 5668 +12_ <> 12_ or 5669 +98_ <> 98_ or 5670 +99_ <> 99_ or 5671 +100_ <> 100_ or 5672 +101_ <> 101_ or 5673 +102_ <> 102_ or 5674 +126_ <> 126_ or 5675 +127_ <> 127_ or 5676 +128_ <> 128_ or 5677 +129_ <> 129_ or 5678 +130_ <> 130_ or 5679 +254_ <> 254_ or 5680 +255_ <> 255_ or 5681 +256_ <> 256_ or 5682 +257_ <> 257_ or 5683 +258_ <> 258_ or 5684 +998_ <> 998_ or 5685 +999_ <> 999_ or 5686 +1000_ <> 1000_ or 5687 +1001_ <> 1001_ or 5688 +1002_ <> 1002_ or 5689 +9998_ <> 9998_ or 5690 +9999_ <> 9999_ or 5691 +10000_ <> 10000_ or 5692 +10001_ <> 10001_ or 5693 +10002_ <> 10002_ or 5694 +32766_ <> 32766_ or 5695 +32767_ <> 32767_ or 5696 +32768_ <> 32768_ or 5697 +32769_ <> 32769_ or 5698 +32770_ <> 32770_ or 5699 +65534_ <> 65534_ or 5700 +65535_ <> 65535_ or 5701 +65536_ <> 65536_ or 5702 +65537_ <> 65537_ or 5703 +65538_ <> 65538_ or 5704 +99998_ <> 99998_ or 5705 +99999_ <> 99999_ or 5706 +100000_ <> 100000_ or 5707 +100001_ <> 100001_ or 5708 +100002_ <> 100002_ or 5709 +999998_ <> 999998_ or 5710 +999999_ <> 999999_ or 5711 +1000000_ <> 1000000_ or 5712 +1000001_ <> 1000001_ or 5713 +1000002_ <> 1000002_ or 5714 +8388606_ <> 8388606_ or 5715 +8388607_ <> 8388607_ or 5716 +8388608_ <> 8388608_ or 5717 +8388609_ <> 8388609_ or 5718 +8388610_ <> 8388610_ or 5719 +9999998_ <> 9999998_ or 5720 +9999999_ <> 9999999_ or 5721 +10000000_ <> 10000000_ or 5722 +10000001_ <> 10000001_ or 5723 +10000002_ <> 10000002_ or 5724 +16777214_ <> 16777214_ or 5725 +16777215_ <> 16777215_ or 5726 +16777216_ <> 16777216_ or 5727 +16777217_ <> 16777217_ or 5728 +16777218_ <> 16777218_ or 5729 +99999998_ <> 99999998_ or 5730 +99999999_ <> 99999999_ or 5731 +100000000_ <> 100000000_ or 5732 +100000001_ <> 100000001_ or 5733 +100000002_ <> 100000002_ or 5734 +999999998_ <> 999999998_ or 5735 +999999999_ <> 999999999_ or 5736 +1000000000_ <> 1000000000_ or 5737 +1000000001_ <> 1000000001_ or 5738 +1000000002_ <> 1000000002_ or 5739 +2147483646_ <> 2147483646_ or 5740 +2147483647_ <> 2147483647_ or 5741 +2147483648_ <> 2147483648_ or 5742 +2147483649_ <> 2147483649_ or 5743 +2147483650_ <> 2147483650_ or 5744 +4294967294_ <> 4294967294_ or 5745 +4294967295_ <> 4294967295_ or 5746 +4294967296_ <> 4294967296_ or 5747 +4294967297_ <> 4294967297_ or 5748 +4294967298_ <> 4294967298_ or 5749 +9999999998_ <> 9999999998_ or 5750 +9999999999_ <> 9999999999_ or 5751 +10000000000_ <> 10000000000_ or 5752 +10000000001_ <> 10000000001_ or 5753 +10000000002_ <> 10000000002_ or 5754 +99999999998_ <> 99999999998_ or 5755 +99999999999_ <> 99999999999_ or 5756 +100000000000_ <> 100000000000_ or 5757 +100000000001_ <> 100000000001_ or 5758 +100000000002_ <> 100000000002_ or 5759 +549755813886_ <> 549755813886_ or 5760 +549755813887_ <> 549755813887_ or 5761 +549755813888_ <> 549755813888_ or 5762 +549755813889_ <> 549755813889_ or 5763 +549755813890_ <> 549755813890_ or 5764 +999999999998_ <> 999999999998_ or 5765 +999999999999_ <> 999999999999_ or 5766 +1000000000000_ <> 1000000000000_ or 5767 +1000000000001_ <> 1000000000001_ or 5768 +1000000000002_ <> 1000000000002_ or 5769 +1099511627774_ <> 1099511627774_ or 5770 +1099511627775_ <> 1099511627775_ or 5771 +1099511627776_ <> 1099511627776_ or 5772 +1099511627777_ <> 1099511627777_ or 5773 +1099511627778_ <> 1099511627778_ or 5774 +140737488355326_ <> 140737488355326_ or 5775 +140737488355327_ <> 140737488355327_ or 5776 +140737488355328_ <> 140737488355328_ or 5777 +140737488355329_ <> 140737488355329_ or 5778 +140737488355330_ <> 140737488355330_ or 5779 +281474976710654_ <> 281474976710654_ or 5780 +281474976710655_ <> 281474976710655_ or 5781 +281474976710656_ <> 281474976710656_ or 5782 +281474976710657_ <> 281474976710657_ or 5783 +281474976710658_ <> 281474976710658_ or 5784 +36028797018963966_ <> 36028797018963966_ or 5785 +36028797018963967_ <> 36028797018963967_ or 5786 +36028797018963968_ <> 36028797018963968_ or 5787 +36028797018963969_ <> 36028797018963969_ or 5788 +36028797018963970_ <> 36028797018963970_ or 5789 +72057594037927934_ <> 72057594037927934_ or 5790 +72057594037927935_ <> 72057594037927935_ or 5791 +72057594037927936_ <> 72057594037927936_ or 5792 +72057594037927937_ <> 72057594037927937_ or 5793 +72057594037927938_ <> 72057594037927938_ or 5794 +9223372036854775806_ <> 9223372036854775806_ or 5795 +9223372036854775807_ <> 9223372036854775807_ or 5796 +9223372036854775808_ <> 9223372036854775808_ or 5797 +9223372036854775809_ <> 9223372036854775809_ or 5798 +9223372036854775810_ <> 9223372036854775810_ or 5799 +18446744073709551614_ <> 18446744073709551614_ or 5800 +18446744073709551615_ <> 18446744073709551615_ or 5801 +18446744073709551616_ <> 18446744073709551616_ or 5802 +18446744073709551617_ <> 18446744073709551617_ or 5803 +18446744073709551618_ <> 18446744073709551618_ or 5804 +2361183241434822606846_ <> 2361183241434822606846_ or 5805 +2361183241434822606847_ <> 2361183241434822606847_ or 5806 +2361183241434822606848_ <> 2361183241434822606848_ or 5807 +2361183241434822606849_ <> 2361183241434822606849_ or 5808 +2361183241434822606850_ <> 2361183241434822606850_ or 5809 +4722366482869645213694_ <> 4722366482869645213694_ or 5810 +4722366482869645213695_ <> 4722366482869645213695_ or 5811 +4722366482869645213696_ <> 4722366482869645213696_ or 5812 +4722366482869645213697_ <> 4722366482869645213697_ or 5813 +4722366482869645213698_ <> 4722366482869645213698_ or 5814 +604462909807314587353086_ <> 604462909807314587353086_ or 5815 +604462909807314587353087_ <> 604462909807314587353087_ or 5816 +604462909807314587353088_ <> 604462909807314587353088_ or 5817 +604462909807314587353089_ <> 604462909807314587353089_ or 5818 +604462909807314587353090_ <> 604462909807314587353090_ or 5819 +1208925819614629174706174_ <> 1208925819614629174706174_ or 5820 +1208925819614629174706175_ <> 1208925819614629174706175_ or 5821 +1208925819614629174706176_ <> 1208925819614629174706176_ or 5822 +1208925819614629174706177_ <> 1208925819614629174706177_ or 5823 +1208925819614629174706178_ <> 1208925819614629174706178_ then 5824 writeln("The plus sign for bigInteger does not work correct."); 5825 okay := FALSE; 5826 end if; 5827 5828 if + -0_ <> 0_ or 5829 + -1_ <> -1_ or 5830 + -2_ <> -2_ or 5831 + -8_ <> -8_ or 5832 + -9_ <> -9_ or 5833 + -10_ <> -10_ or 5834 + -11_ <> -11_ or 5835 + -12_ <> -12_ or 5836 + -98_ <> -98_ or 5837 + -99_ <> -99_ or 5838 + -100_ <> -100_ or 5839 + -101_ <> -101_ or 5840 + -102_ <> -102_ or 5841 + -126_ <> -126_ or 5842 + -127_ <> -127_ or 5843 + -128_ <> -128_ or 5844 + -129_ <> -129_ or 5845 + -130_ <> -130_ or 5846 + -254_ <> -254_ or 5847 + -255_ <> -255_ or 5848 + -256_ <> -256_ or 5849 + -257_ <> -257_ or 5850 + -258_ <> -258_ or 5851 + -998_ <> -998_ or 5852 + -999_ <> -999_ or 5853 + -1000_ <> -1000_ or 5854 + -1001_ <> -1001_ or 5855 + -1002_ <> -1002_ or 5856 + -9998_ <> -9998_ or 5857 + -9999_ <> -9999_ or 5858 + -10000_ <> -10000_ or 5859 + -10001_ <> -10001_ or 5860 + -10002_ <> -10002_ or 5861 + -32766_ <> -32766_ or 5862 + -32767_ <> -32767_ or 5863 + -32768_ <> -32768_ or 5864 + -32769_ <> -32769_ or 5865 + -32770_ <> -32770_ or 5866 + -65534_ <> -65534_ or 5867 + -65535_ <> -65535_ or 5868 + -65536_ <> -65536_ or 5869 + -65537_ <> -65537_ or 5870 + -65538_ <> -65538_ or 5871 + -99998_ <> -99998_ or 5872 + -99999_ <> -99999_ or 5873 + -100000_ <> -100000_ or 5874 + -100001_ <> -100001_ or 5875 + -100002_ <> -100002_ or 5876 + -999998_ <> -999998_ or 5877 + -999999_ <> -999999_ or 5878 + -1000000_ <> -1000000_ or 5879 + -1000001_ <> -1000001_ or 5880 + -1000002_ <> -1000002_ or 5881 + -8388606_ <> -8388606_ or 5882 + -8388607_ <> -8388607_ or 5883 + -8388608_ <> -8388608_ or 5884 + -8388609_ <> -8388609_ or 5885 + -8388610_ <> -8388610_ or 5886 + -9999998_ <> -9999998_ or 5887 + -9999999_ <> -9999999_ or 5888 + -10000000_ <> -10000000_ or 5889 + -10000001_ <> -10000001_ or 5890 + -10000002_ <> -10000002_ or 5891 + -16777214_ <> -16777214_ or 5892 + -16777215_ <> -16777215_ or 5893 + -16777216_ <> -16777216_ or 5894 + -16777217_ <> -16777217_ or 5895 + -16777218_ <> -16777218_ or 5896 + -99999998_ <> -99999998_ or 5897 + -99999999_ <> -99999999_ or 5898 + -100000000_ <> -100000000_ or 5899 + -100000001_ <> -100000001_ or 5900 + -100000002_ <> -100000002_ or 5901 + -999999998_ <> -999999998_ or 5902 + -999999999_ <> -999999999_ or 5903 + -1000000000_ <> -1000000000_ or 5904 + -1000000001_ <> -1000000001_ or 5905 + -1000000002_ <> -1000000002_ or 5906 + -2147483646_ <> -2147483646_ or 5907 + -2147483647_ <> -2147483647_ or 5908 + -2147483648_ <> -2147483648_ or 5909 + -2147483649_ <> -2147483649_ or 5910 + -2147483650_ <> -2147483650_ or 5911 + -4294967294_ <> -4294967294_ or 5912 + -4294967295_ <> -4294967295_ or 5913 + -4294967296_ <> -4294967296_ or 5914 + -4294967297_ <> -4294967297_ or 5915 + -4294967298_ <> -4294967298_ or 5916 + -9999999998_ <> -9999999998_ or 5917 + -9999999999_ <> -9999999999_ or 5918 + -10000000000_ <> -10000000000_ or 5919 + -10000000001_ <> -10000000001_ or 5920 + -10000000002_ <> -10000000002_ or 5921 + -99999999998_ <> -99999999998_ or 5922 + -99999999999_ <> -99999999999_ or 5923 + -100000000000_ <> -100000000000_ or 5924 + -100000000001_ <> -100000000001_ or 5925 + -100000000002_ <> -100000000002_ or 5926 + -549755813886_ <> -549755813886_ or 5927 + -549755813887_ <> -549755813887_ or 5928 + -549755813888_ <> -549755813888_ or 5929 + -549755813889_ <> -549755813889_ or 5930 + -549755813890_ <> -549755813890_ or 5931 + -999999999998_ <> -999999999998_ or 5932 + -999999999999_ <> -999999999999_ or 5933 + -1000000000000_ <> -1000000000000_ or 5934 + -1000000000001_ <> -1000000000001_ or 5935 + -1000000000002_ <> -1000000000002_ or 5936 + -1099511627774_ <> -1099511627774_ or 5937 + -1099511627775_ <> -1099511627775_ or 5938 + -1099511627776_ <> -1099511627776_ or 5939 + -1099511627777_ <> -1099511627777_ or 5940 + -1099511627778_ <> -1099511627778_ or 5941 + -140737488355326_ <> -140737488355326_ or 5942 + -140737488355327_ <> -140737488355327_ or 5943 + -140737488355328_ <> -140737488355328_ or 5944 + -140737488355329_ <> -140737488355329_ or 5945 + -140737488355330_ <> -140737488355330_ or 5946 + -281474976710654_ <> -281474976710654_ or 5947 + -281474976710655_ <> -281474976710655_ or 5948 + -281474976710656_ <> -281474976710656_ or 5949 + -281474976710657_ <> -281474976710657_ or 5950 + -281474976710658_ <> -281474976710658_ or 5951 + -36028797018963966_ <> -36028797018963966_ or 5952 + -36028797018963967_ <> -36028797018963967_ or 5953 + -36028797018963968_ <> -36028797018963968_ or 5954 + -36028797018963969_ <> -36028797018963969_ or 5955 + -36028797018963970_ <> -36028797018963970_ or 5956 + -72057594037927934_ <> -72057594037927934_ or 5957 + -72057594037927935_ <> -72057594037927935_ or 5958 + -72057594037927936_ <> -72057594037927936_ or 5959 + -72057594037927937_ <> -72057594037927937_ or 5960 + -72057594037927938_ <> -72057594037927938_ or 5961 + -9223372036854775806_ <> -9223372036854775806_ or 5962 + -9223372036854775807_ <> -9223372036854775807_ or 5963 + -9223372036854775808_ <> -9223372036854775808_ or 5964 + -9223372036854775809_ <> -9223372036854775809_ or 5965 + -9223372036854775810_ <> -9223372036854775810_ or 5966 + -18446744073709551614_ <> -18446744073709551614_ or 5967 + -18446744073709551615_ <> -18446744073709551615_ or 5968 + -18446744073709551616_ <> -18446744073709551616_ or 5969 + -18446744073709551617_ <> -18446744073709551617_ or 5970 + -18446744073709551618_ <> -18446744073709551618_ or 5971 + -2361183241434822606846_ <> -2361183241434822606846_ or 5972 + -2361183241434822606847_ <> -2361183241434822606847_ or 5973 + -2361183241434822606848_ <> -2361183241434822606848_ or 5974 + -2361183241434822606849_ <> -2361183241434822606849_ or 5975 + -2361183241434822606850_ <> -2361183241434822606850_ or 5976 + -4722366482869645213694_ <> -4722366482869645213694_ or 5977 + -4722366482869645213695_ <> -4722366482869645213695_ or 5978 + -4722366482869645213696_ <> -4722366482869645213696_ or 5979 + -4722366482869645213697_ <> -4722366482869645213697_ or 5980 + -4722366482869645213698_ <> -4722366482869645213698_ or 5981 + -604462909807314587353086_ <> -604462909807314587353086_ or 5982 + -604462909807314587353087_ <> -604462909807314587353087_ or 5983 + -604462909807314587353088_ <> -604462909807314587353088_ or 5984 + -604462909807314587353089_ <> -604462909807314587353089_ or 5985 + -604462909807314587353090_ <> -604462909807314587353090_ or 5986 + -1208925819614629174706174_ <> -1208925819614629174706174_ or 5987 + -1208925819614629174706175_ <> -1208925819614629174706175_ or 5988 + -1208925819614629174706176_ <> -1208925819614629174706176_ or 5989 + -1208925819614629174706177_ <> -1208925819614629174706177_ or 5990 + -1208925819614629174706178_ <> -1208925819614629174706178_ then 5991 writeln("The plus sign for bigInteger does not work correct."); 5992 okay := FALSE; 5993 end if; 5994 5995 if okay then 5996 writeln("The plus sign for bigInteger works correct."); 5997 else 5998 writeln(" ***** The plus sign for bigInteger does not work correct."); 5999 writeln; 6000 end if; 6001 end func; 6002 6003 6004const proc: chkSucc is func 6005 local 6006 var boolean: okay is TRUE; 6007 begin 6008 if succ( 0_) <> 1_ or 6009 succ( 1_) <> 2_ or 6010 succ( 2_) <> 3_ or 6011 succ( 8_) <> 9_ or 6012 succ( 9_) <> 10_ or 6013 succ( 10_) <> 11_ or 6014 succ( 11_) <> 12_ or 6015 succ( 12_) <> 13_ or 6016 succ( 98_) <> 99_ or 6017 succ( 99_) <> 100_ or 6018 succ( 100_) <> 101_ or 6019 succ( 101_) <> 102_ or 6020 succ( 102_) <> 103_ or 6021 succ( 126_) <> 127_ or 6022 succ( 127_) <> 128_ or 6023 succ( 128_) <> 129_ or 6024 succ( 129_) <> 130_ or 6025 succ( 130_) <> 131_ or 6026 succ( 254_) <> 255_ or 6027 succ( 255_) <> 256_ or 6028 succ( 256_) <> 257_ or 6029 succ( 257_) <> 258_ or 6030 succ( 258_) <> 259_ or 6031 succ( 998_) <> 999_ or 6032 succ( 999_) <> 1000_ or 6033 succ( 1000_) <> 1001_ or 6034 succ( 1001_) <> 1002_ or 6035 succ( 1002_) <> 1003_ or 6036 succ( 9998_) <> 9999_ or 6037 succ( 9999_) <> 10000_ or 6038 succ( 10000_) <> 10001_ or 6039 succ( 10001_) <> 10002_ or 6040 succ( 10002_) <> 10003_ or 6041 succ( 32766_) <> 32767_ or 6042 succ( 32767_) <> 32768_ or 6043 succ( 32768_) <> 32769_ or 6044 succ( 32769_) <> 32770_ or 6045 succ( 32770_) <> 32771_ or 6046 succ( 65534_) <> 65535_ or 6047 succ( 65535_) <> 65536_ or 6048 succ( 65536_) <> 65537_ or 6049 succ( 65537_) <> 65538_ or 6050 succ( 65538_) <> 65539_ or 6051 succ( 99998_) <> 99999_ or 6052 succ( 99999_) <> 100000_ or 6053 succ( 100000_) <> 100001_ or 6054 succ( 100001_) <> 100002_ or 6055 succ( 100002_) <> 100003_ or 6056 succ( 999998_) <> 999999_ or 6057 succ( 999999_) <> 1000000_ or 6058 succ( 1000000_) <> 1000001_ or 6059 succ( 1000001_) <> 1000002_ or 6060 succ( 1000002_) <> 1000003_ or 6061 succ( 8388606_) <> 8388607_ or 6062 succ( 8388607_) <> 8388608_ or 6063 succ( 8388608_) <> 8388609_ or 6064 succ( 8388609_) <> 8388610_ or 6065 succ( 8388610_) <> 8388611_ or 6066 succ( 9999998_) <> 9999999_ or 6067 succ( 9999999_) <> 10000000_ or 6068 succ( 10000000_) <> 10000001_ or 6069 succ( 10000001_) <> 10000002_ or 6070 succ( 10000002_) <> 10000003_ or 6071 succ( 16777214_) <> 16777215_ or 6072 succ( 16777215_) <> 16777216_ or 6073 succ( 16777216_) <> 16777217_ or 6074 succ( 16777217_) <> 16777218_ or 6075 succ( 16777218_) <> 16777219_ or 6076 succ( 99999998_) <> 99999999_ or 6077 succ( 99999999_) <> 100000000_ or 6078 succ( 100000000_) <> 100000001_ or 6079 succ( 100000001_) <> 100000002_ or 6080 succ( 100000002_) <> 100000003_ or 6081 succ( 999999998_) <> 999999999_ or 6082 succ( 999999999_) <> 1000000000_ or 6083 succ( 1000000000_) <> 1000000001_ or 6084 succ( 1000000001_) <> 1000000002_ or 6085 succ( 1000000002_) <> 1000000003_ or 6086 succ( 2147483646_) <> 2147483647_ or 6087 succ( 2147483647_) <> 2147483648_ or 6088 succ( 2147483648_) <> 2147483649_ or 6089 succ( 2147483649_) <> 2147483650_ or 6090 succ( 2147483650_) <> 2147483651_ or 6091 succ( 4294967294_) <> 4294967295_ or 6092 succ( 4294967295_) <> 4294967296_ or 6093 succ( 4294967296_) <> 4294967297_ or 6094 succ( 4294967297_) <> 4294967298_ or 6095 succ( 4294967298_) <> 4294967299_ or 6096 succ( 9999999998_) <> 9999999999_ or 6097 succ( 9999999999_) <> 10000000000_ or 6098 succ( 10000000000_) <> 10000000001_ or 6099 succ( 10000000001_) <> 10000000002_ or 6100 succ( 10000000002_) <> 10000000003_ or 6101 succ( 99999999998_) <> 99999999999_ or 6102 succ( 99999999999_) <> 100000000000_ or 6103 succ( 100000000000_) <> 100000000001_ or 6104 succ( 100000000001_) <> 100000000002_ or 6105 succ( 100000000002_) <> 100000000003_ or 6106 succ( 549755813886_) <> 549755813887_ or 6107 succ( 549755813887_) <> 549755813888_ or 6108 succ( 549755813888_) <> 549755813889_ or 6109 succ( 549755813889_) <> 549755813890_ or 6110 succ( 549755813890_) <> 549755813891_ or 6111 succ( 999999999998_) <> 999999999999_ or 6112 succ( 999999999999_) <> 1000000000000_ or 6113 succ( 1000000000000_) <> 1000000000001_ or 6114 succ( 1000000000001_) <> 1000000000002_ or 6115 succ( 1000000000002_) <> 1000000000003_ or 6116 succ( 1099511627774_) <> 1099511627775_ or 6117 succ( 1099511627775_) <> 1099511627776_ or 6118 succ( 1099511627776_) <> 1099511627777_ or 6119 succ( 1099511627777_) <> 1099511627778_ or 6120 succ( 1099511627778_) <> 1099511627779_ or 6121 succ( 140737488355326_) <> 140737488355327_ or 6122 succ( 140737488355327_) <> 140737488355328_ or 6123 succ( 140737488355328_) <> 140737488355329_ or 6124 succ( 140737488355329_) <> 140737488355330_ or 6125 succ( 140737488355330_) <> 140737488355331_ or 6126 succ( 281474976710654_) <> 281474976710655_ or 6127 succ( 281474976710655_) <> 281474976710656_ or 6128 succ( 281474976710656_) <> 281474976710657_ or 6129 succ( 281474976710657_) <> 281474976710658_ or 6130 succ( 281474976710658_) <> 281474976710659_ or 6131 succ( 36028797018963966_) <> 36028797018963967_ or 6132 succ( 36028797018963967_) <> 36028797018963968_ or 6133 succ( 36028797018963968_) <> 36028797018963969_ or 6134 succ( 36028797018963969_) <> 36028797018963970_ or 6135 succ( 36028797018963970_) <> 36028797018963971_ or 6136 succ( 72057594037927934_) <> 72057594037927935_ or 6137 succ( 72057594037927935_) <> 72057594037927936_ or 6138 succ( 72057594037927936_) <> 72057594037927937_ or 6139 succ( 72057594037927937_) <> 72057594037927938_ or 6140 succ( 72057594037927938_) <> 72057594037927939_ or 6141 succ( 9223372036854775806_) <> 9223372036854775807_ or 6142 succ( 9223372036854775807_) <> 9223372036854775808_ or 6143 succ( 9223372036854775808_) <> 9223372036854775809_ or 6144 succ( 9223372036854775809_) <> 9223372036854775810_ or 6145 succ( 9223372036854775810_) <> 9223372036854775811_ or 6146 succ( 18446744073709551614_) <> 18446744073709551615_ or 6147 succ( 18446744073709551615_) <> 18446744073709551616_ or 6148 succ( 18446744073709551616_) <> 18446744073709551617_ or 6149 succ( 18446744073709551617_) <> 18446744073709551618_ or 6150 succ( 18446744073709551618_) <> 18446744073709551619_ or 6151 succ( 2361183241434822606846_) <> 2361183241434822606847_ or 6152 succ( 2361183241434822606847_) <> 2361183241434822606848_ or 6153 succ( 2361183241434822606848_) <> 2361183241434822606849_ or 6154 succ( 2361183241434822606849_) <> 2361183241434822606850_ or 6155 succ( 2361183241434822606850_) <> 2361183241434822606851_ or 6156 succ( 4722366482869645213694_) <> 4722366482869645213695_ or 6157 succ( 4722366482869645213695_) <> 4722366482869645213696_ or 6158 succ( 4722366482869645213696_) <> 4722366482869645213697_ or 6159 succ( 4722366482869645213697_) <> 4722366482869645213698_ or 6160 succ( 4722366482869645213698_) <> 4722366482869645213699_ or 6161 succ( 604462909807314587353086_) <> 604462909807314587353087_ or 6162 succ( 604462909807314587353087_) <> 604462909807314587353088_ or 6163 succ( 604462909807314587353088_) <> 604462909807314587353089_ or 6164 succ( 604462909807314587353089_) <> 604462909807314587353090_ or 6165 succ( 604462909807314587353090_) <> 604462909807314587353091_ or 6166 succ(1208925819614629174706174_) <> 1208925819614629174706175_ or 6167 succ(1208925819614629174706175_) <> 1208925819614629174706176_ or 6168 succ(1208925819614629174706176_) <> 1208925819614629174706177_ or 6169 succ(1208925819614629174706177_) <> 1208925819614629174706178_ or 6170 succ(1208925819614629174706178_) <> 1208925819614629174706179_ then 6171 writeln("Successor of a positive bigInteger does not work correct."); 6172 okay := FALSE; 6173 end if; 6174 6175 if succ( -0_) <> 1_ or 6176 succ( -1_) <> 0_ or 6177 succ( -2_) <> -1_ or 6178 succ( -8_) <> -7_ or 6179 succ( -9_) <> -8_ or 6180 succ( -10_) <> -9_ or 6181 succ( -11_) <> -10_ or 6182 succ( -12_) <> -11_ or 6183 succ( -98_) <> -97_ or 6184 succ( -99_) <> -98_ or 6185 succ( -100_) <> -99_ or 6186 succ( -101_) <> -100_ or 6187 succ( -102_) <> -101_ or 6188 succ( -126_) <> -125_ or 6189 succ( -127_) <> -126_ or 6190 succ( -128_) <> -127_ or 6191 succ( -129_) <> -128_ or 6192 succ( -130_) <> -129_ or 6193 succ( -254_) <> -253_ or 6194 succ( -255_) <> -254_ or 6195 succ( -256_) <> -255_ or 6196 succ( -257_) <> -256_ or 6197 succ( -258_) <> -257_ or 6198 succ( -998_) <> -997_ or 6199 succ( -999_) <> -998_ or 6200 succ( -1000_) <> -999_ or 6201 succ( -1001_) <> -1000_ or 6202 succ( -1002_) <> -1001_ or 6203 succ( -9998_) <> -9997_ or 6204 succ( -9999_) <> -9998_ or 6205 succ( -10000_) <> -9999_ or 6206 succ( -10001_) <> -10000_ or 6207 succ( -10002_) <> -10001_ or 6208 succ( -32766_) <> -32765_ or 6209 succ( -32767_) <> -32766_ or 6210 succ( -32768_) <> -32767_ or 6211 succ( -32769_) <> -32768_ or 6212 succ( -32770_) <> -32769_ or 6213 succ( -65534_) <> -65533_ or 6214 succ( -65535_) <> -65534_ or 6215 succ( -65536_) <> -65535_ or 6216 succ( -65537_) <> -65536_ or 6217 succ( -65538_) <> -65537_ or 6218 succ( -99998_) <> -99997_ or 6219 succ( -99999_) <> -99998_ or 6220 succ( -100000_) <> -99999_ or 6221 succ( -100001_) <> -100000_ or 6222 succ( -100002_) <> -100001_ or 6223 succ( -999998_) <> -999997_ or 6224 succ( -999999_) <> -999998_ or 6225 succ( -1000000_) <> -999999_ or 6226 succ( -1000001_) <> -1000000_ or 6227 succ( -1000002_) <> -1000001_ or 6228 succ( -8388606_) <> -8388605_ or 6229 succ( -8388607_) <> -8388606_ or 6230 succ( -8388608_) <> -8388607_ or 6231 succ( -8388609_) <> -8388608_ or 6232 succ( -8388610_) <> -8388609_ or 6233 succ( -9999998_) <> -9999997_ or 6234 succ( -9999999_) <> -9999998_ or 6235 succ( -10000000_) <> -9999999_ or 6236 succ( -10000001_) <> -10000000_ or 6237 succ( -10000002_) <> -10000001_ or 6238 succ( -16777214_) <> -16777213_ or 6239 succ( -16777215_) <> -16777214_ or 6240 succ( -16777216_) <> -16777215_ or 6241 succ( -16777217_) <> -16777216_ or 6242 succ( -16777218_) <> -16777217_ or 6243 succ( -99999998_) <> -99999997_ or 6244 succ( -99999999_) <> -99999998_ or 6245 succ( -100000000_) <> -99999999_ or 6246 succ( -100000001_) <> -100000000_ or 6247 succ( -100000002_) <> -100000001_ or 6248 succ( -999999998_) <> -999999997_ or 6249 succ( -999999999_) <> -999999998_ or 6250 succ( -1000000000_) <> -999999999_ or 6251 succ( -1000000001_) <> -1000000000_ or 6252 succ( -1000000002_) <> -1000000001_ or 6253 succ( -2147483646_) <> -2147483645_ or 6254 succ( -2147483647_) <> -2147483646_ or 6255 succ( -2147483648_) <> -2147483647_ or 6256 succ( -2147483649_) <> -2147483648_ or 6257 succ( -2147483650_) <> -2147483649_ or 6258 succ( -4294967294_) <> -4294967293_ or 6259 succ( -4294967295_) <> -4294967294_ or 6260 succ( -4294967296_) <> -4294967295_ or 6261 succ( -4294967297_) <> -4294967296_ or 6262 succ( -4294967298_) <> -4294967297_ or 6263 succ( -9999999998_) <> -9999999997_ or 6264 succ( -9999999999_) <> -9999999998_ or 6265 succ( -10000000000_) <> -9999999999_ or 6266 succ( -10000000001_) <> -10000000000_ or 6267 succ( -10000000002_) <> -10000000001_ or 6268 succ( -99999999998_) <> -99999999997_ or 6269 succ( -99999999999_) <> -99999999998_ or 6270 succ( -100000000000_) <> -99999999999_ or 6271 succ( -100000000001_) <> -100000000000_ or 6272 succ( -100000000002_) <> -100000000001_ or 6273 succ( -549755813886_) <> -549755813885_ or 6274 succ( -549755813887_) <> -549755813886_ or 6275 succ( -549755813888_) <> -549755813887_ or 6276 succ( -549755813889_) <> -549755813888_ or 6277 succ( -549755813890_) <> -549755813889_ or 6278 succ( -999999999998_) <> -999999999997_ or 6279 succ( -999999999999_) <> -999999999998_ or 6280 succ( -1000000000000_) <> -999999999999_ or 6281 succ( -1000000000001_) <> -1000000000000_ or 6282 succ( -1000000000002_) <> -1000000000001_ or 6283 succ( -1099511627774_) <> -1099511627773_ or 6284 succ( -1099511627775_) <> -1099511627774_ or 6285 succ( -1099511627776_) <> -1099511627775_ or 6286 succ( -1099511627777_) <> -1099511627776_ or 6287 succ( -1099511627778_) <> -1099511627777_ or 6288 succ( -140737488355326_) <> -140737488355325_ or 6289 succ( -140737488355327_) <> -140737488355326_ or 6290 succ( -140737488355328_) <> -140737488355327_ or 6291 succ( -140737488355329_) <> -140737488355328_ or 6292 succ( -140737488355330_) <> -140737488355329_ or 6293 succ( -281474976710654_) <> -281474976710653_ or 6294 succ( -281474976710655_) <> -281474976710654_ or 6295 succ( -281474976710656_) <> -281474976710655_ or 6296 succ( -281474976710657_) <> -281474976710656_ or 6297 succ( -281474976710658_) <> -281474976710657_ or 6298 succ( -36028797018963966_) <> -36028797018963965_ or 6299 succ( -36028797018963967_) <> -36028797018963966_ or 6300 succ( -36028797018963968_) <> -36028797018963967_ or 6301 succ( -36028797018963969_) <> -36028797018963968_ or 6302 succ( -36028797018963970_) <> -36028797018963969_ or 6303 succ( -72057594037927934_) <> -72057594037927933_ or 6304 succ( -72057594037927935_) <> -72057594037927934_ or 6305 succ( -72057594037927936_) <> -72057594037927935_ or 6306 succ( -72057594037927937_) <> -72057594037927936_ or 6307 succ( -72057594037927938_) <> -72057594037927937_ or 6308 succ( -9223372036854775806_) <> -9223372036854775805_ or 6309 succ( -9223372036854775807_) <> -9223372036854775806_ or 6310 succ( -9223372036854775808_) <> -9223372036854775807_ or 6311 succ( -9223372036854775809_) <> -9223372036854775808_ or 6312 succ( -9223372036854775810_) <> -9223372036854775809_ or 6313 succ( -18446744073709551614_) <> -18446744073709551613_ or 6314 succ( -18446744073709551615_) <> -18446744073709551614_ or 6315 succ( -18446744073709551616_) <> -18446744073709551615_ or 6316 succ( -18446744073709551617_) <> -18446744073709551616_ or 6317 succ( -18446744073709551618_) <> -18446744073709551617_ or 6318 succ( -2361183241434822606846_) <> -2361183241434822606845_ or 6319 succ( -2361183241434822606847_) <> -2361183241434822606846_ or 6320 succ( -2361183241434822606848_) <> -2361183241434822606847_ or 6321 succ( -2361183241434822606849_) <> -2361183241434822606848_ or 6322 succ( -2361183241434822606850_) <> -2361183241434822606849_ or 6323 succ( -4722366482869645213694_) <> -4722366482869645213693_ or 6324 succ( -4722366482869645213695_) <> -4722366482869645213694_ or 6325 succ( -4722366482869645213696_) <> -4722366482869645213695_ or 6326 succ( -4722366482869645213697_) <> -4722366482869645213696_ or 6327 succ( -4722366482869645213698_) <> -4722366482869645213697_ or 6328 succ( -604462909807314587353086_) <> -604462909807314587353085_ or 6329 succ( -604462909807314587353087_) <> -604462909807314587353086_ or 6330 succ( -604462909807314587353088_) <> -604462909807314587353087_ or 6331 succ( -604462909807314587353089_) <> -604462909807314587353088_ or 6332 succ( -604462909807314587353090_) <> -604462909807314587353089_ or 6333 succ(-1208925819614629174706174_) <> -1208925819614629174706173_ or 6334 succ(-1208925819614629174706175_) <> -1208925819614629174706174_ or 6335 succ(-1208925819614629174706176_) <> -1208925819614629174706175_ or 6336 succ(-1208925819614629174706177_) <> -1208925819614629174706176_ or 6337 succ(-1208925819614629174706178_) <> -1208925819614629174706177_ then 6338 writeln("Successor of a negative bigInteger does not work correct."); 6339 okay := FALSE; 6340 end if; 6341 6342 if okay then 6343 writeln("Successor of bigInteger works correct."); 6344 else 6345 writeln(" ***** Successor of bigInteger does not work correct."); 6346 writeln; 6347 end if; 6348 end func; 6349 6350 6351const proc: chkPred is func 6352 local 6353 var boolean: okay is TRUE; 6354 begin 6355 if pred( 0_) <> -1_ or 6356 pred( 1_) <> 0_ or 6357 pred( 2_) <> 1_ or 6358 pred( 8_) <> 7_ or 6359 pred( 9_) <> 8_ or 6360 pred( 10_) <> 9_ or 6361 pred( 11_) <> 10_ or 6362 pred( 12_) <> 11_ or 6363 pred( 98_) <> 97_ or 6364 pred( 99_) <> 98_ or 6365 pred( 100_) <> 99_ or 6366 pred( 101_) <> 100_ or 6367 pred( 102_) <> 101_ or 6368 pred( 126_) <> 125_ or 6369 pred( 127_) <> 126_ or 6370 pred( 128_) <> 127_ or 6371 pred( 129_) <> 128_ or 6372 pred( 130_) <> 129_ or 6373 pred( 254_) <> 253_ or 6374 pred( 255_) <> 254_ or 6375 pred( 256_) <> 255_ or 6376 pred( 257_) <> 256_ or 6377 pred( 258_) <> 257_ or 6378 pred( 998_) <> 997_ or 6379 pred( 999_) <> 998_ or 6380 pred( 1000_) <> 999_ or 6381 pred( 1001_) <> 1000_ or 6382 pred( 1002_) <> 1001_ or 6383 pred( 9998_) <> 9997_ or 6384 pred( 9999_) <> 9998_ or 6385 pred( 10000_) <> 9999_ or 6386 pred( 10001_) <> 10000_ or 6387 pred( 10002_) <> 10001_ or 6388 pred( 32766_) <> 32765_ or 6389 pred( 32767_) <> 32766_ or 6390 pred( 32768_) <> 32767_ or 6391 pred( 32769_) <> 32768_ or 6392 pred( 32770_) <> 32769_ or 6393 pred( 65534_) <> 65533_ or 6394 pred( 65535_) <> 65534_ or 6395 pred( 65536_) <> 65535_ or 6396 pred( 65537_) <> 65536_ or 6397 pred( 65538_) <> 65537_ or 6398 pred( 99998_) <> 99997_ or 6399 pred( 99999_) <> 99998_ or 6400 pred( 100000_) <> 99999_ or 6401 pred( 100001_) <> 100000_ or 6402 pred( 100002_) <> 100001_ or 6403 pred( 999998_) <> 999997_ or 6404 pred( 999999_) <> 999998_ or 6405 pred( 1000000_) <> 999999_ or 6406 pred( 1000001_) <> 1000000_ or 6407 pred( 1000002_) <> 1000001_ or 6408 pred( 8388606_) <> 8388605_ or 6409 pred( 8388607_) <> 8388606_ or 6410 pred( 8388608_) <> 8388607_ or 6411 pred( 8388609_) <> 8388608_ or 6412 pred( 8388610_) <> 8388609_ or 6413 pred( 9999998_) <> 9999997_ or 6414 pred( 9999999_) <> 9999998_ or 6415 pred( 10000000_) <> 9999999_ or 6416 pred( 10000001_) <> 10000000_ or 6417 pred( 10000002_) <> 10000001_ or 6418 pred( 16777214_) <> 16777213_ or 6419 pred( 16777215_) <> 16777214_ or 6420 pred( 16777216_) <> 16777215_ or 6421 pred( 16777217_) <> 16777216_ or 6422 pred( 16777218_) <> 16777217_ or 6423 pred( 99999998_) <> 99999997_ or 6424 pred( 99999999_) <> 99999998_ or 6425 pred( 100000000_) <> 99999999_ or 6426 pred( 100000001_) <> 100000000_ or 6427 pred( 100000002_) <> 100000001_ or 6428 pred( 999999998_) <> 999999997_ or 6429 pred( 999999999_) <> 999999998_ or 6430 pred( 1000000000_) <> 999999999_ or 6431 pred( 1000000001_) <> 1000000000_ or 6432 pred( 1000000002_) <> 1000000001_ or 6433 pred( 2147483646_) <> 2147483645_ or 6434 pred( 2147483647_) <> 2147483646_ or 6435 pred( 2147483648_) <> 2147483647_ or 6436 pred( 2147483649_) <> 2147483648_ or 6437 pred( 2147483650_) <> 2147483649_ or 6438 pred( 4294967294_) <> 4294967293_ or 6439 pred( 4294967295_) <> 4294967294_ or 6440 pred( 4294967296_) <> 4294967295_ or 6441 pred( 4294967297_) <> 4294967296_ or 6442 pred( 4294967298_) <> 4294967297_ or 6443 pred( 9999999998_) <> 9999999997_ or 6444 pred( 9999999999_) <> 9999999998_ or 6445 pred( 10000000000_) <> 9999999999_ or 6446 pred( 10000000001_) <> 10000000000_ or 6447 pred( 10000000002_) <> 10000000001_ or 6448 pred( 99999999998_) <> 99999999997_ or 6449 pred( 99999999999_) <> 99999999998_ or 6450 pred( 100000000000_) <> 99999999999_ or 6451 pred( 100000000001_) <> 100000000000_ or 6452 pred( 100000000002_) <> 100000000001_ or 6453 pred( 549755813886_) <> 549755813885_ or 6454 pred( 549755813887_) <> 549755813886_ or 6455 pred( 549755813888_) <> 549755813887_ or 6456 pred( 549755813889_) <> 549755813888_ or 6457 pred( 549755813890_) <> 549755813889_ or 6458 pred( 999999999998_) <> 999999999997_ or 6459 pred( 999999999999_) <> 999999999998_ or 6460 pred( 1000000000000_) <> 999999999999_ or 6461 pred( 1000000000001_) <> 1000000000000_ or 6462 pred( 1000000000002_) <> 1000000000001_ or 6463 pred( 1099511627774_) <> 1099511627773_ or 6464 pred( 1099511627775_) <> 1099511627774_ or 6465 pred( 1099511627776_) <> 1099511627775_ or 6466 pred( 1099511627777_) <> 1099511627776_ or 6467 pred( 1099511627778_) <> 1099511627777_ or 6468 pred( 140737488355326_) <> 140737488355325_ or 6469 pred( 140737488355327_) <> 140737488355326_ or 6470 pred( 140737488355328_) <> 140737488355327_ or 6471 pred( 140737488355329_) <> 140737488355328_ or 6472 pred( 140737488355330_) <> 140737488355329_ or 6473 pred( 281474976710654_) <> 281474976710653_ or 6474 pred( 281474976710655_) <> 281474976710654_ or 6475 pred( 281474976710656_) <> 281474976710655_ or 6476 pred( 281474976710657_) <> 281474976710656_ or 6477 pred( 281474976710658_) <> 281474976710657_ or 6478 pred( 36028797018963966_) <> 36028797018963965_ or 6479 pred( 36028797018963967_) <> 36028797018963966_ or 6480 pred( 36028797018963968_) <> 36028797018963967_ or 6481 pred( 36028797018963969_) <> 36028797018963968_ or 6482 pred( 36028797018963970_) <> 36028797018963969_ or 6483 pred( 72057594037927934_) <> 72057594037927933_ or 6484 pred( 72057594037927935_) <> 72057594037927934_ or 6485 pred( 72057594037927936_) <> 72057594037927935_ or 6486 pred( 72057594037927937_) <> 72057594037927936_ or 6487 pred( 72057594037927938_) <> 72057594037927937_ or 6488 pred( 9223372036854775806_) <> 9223372036854775805_ or 6489 pred( 9223372036854775807_) <> 9223372036854775806_ or 6490 pred( 9223372036854775808_) <> 9223372036854775807_ or 6491 pred( 9223372036854775809_) <> 9223372036854775808_ or 6492 pred( 9223372036854775810_) <> 9223372036854775809_ or 6493 pred( 18446744073709551614_) <> 18446744073709551613_ or 6494 pred( 18446744073709551615_) <> 18446744073709551614_ or 6495 pred( 18446744073709551616_) <> 18446744073709551615_ or 6496 pred( 18446744073709551617_) <> 18446744073709551616_ or 6497 pred( 18446744073709551618_) <> 18446744073709551617_ or 6498 pred( 2361183241434822606846_) <> 2361183241434822606845_ or 6499 pred( 2361183241434822606847_) <> 2361183241434822606846_ or 6500 pred( 2361183241434822606848_) <> 2361183241434822606847_ or 6501 pred( 2361183241434822606849_) <> 2361183241434822606848_ or 6502 pred( 2361183241434822606850_) <> 2361183241434822606849_ or 6503 pred( 4722366482869645213694_) <> 4722366482869645213693_ or 6504 pred( 4722366482869645213695_) <> 4722366482869645213694_ or 6505 pred( 4722366482869645213696_) <> 4722366482869645213695_ or 6506 pred( 4722366482869645213697_) <> 4722366482869645213696_ or 6507 pred( 4722366482869645213698_) <> 4722366482869645213697_ or 6508 pred( 604462909807314587353086_) <> 604462909807314587353085_ or 6509 pred( 604462909807314587353087_) <> 604462909807314587353086_ or 6510 pred( 604462909807314587353088_) <> 604462909807314587353087_ or 6511 pred( 604462909807314587353089_) <> 604462909807314587353088_ or 6512 pred( 604462909807314587353090_) <> 604462909807314587353089_ or 6513 pred(1208925819614629174706174_) <> 1208925819614629174706173_ or 6514 pred(1208925819614629174706175_) <> 1208925819614629174706174_ or 6515 pred(1208925819614629174706176_) <> 1208925819614629174706175_ or 6516 pred(1208925819614629174706177_) <> 1208925819614629174706176_ or 6517 pred(1208925819614629174706178_) <> 1208925819614629174706177_ then 6518 writeln("Predecessor of a positive bigInteger does not work correct."); 6519 okay := FALSE; 6520 end if; 6521 6522 if pred( -0_) <> -1_ or 6523 pred( -1_) <> -2_ or 6524 pred( -2_) <> -3_ or 6525 pred( -8_) <> -9_ or 6526 pred( -9_) <> -10_ or 6527 pred( -10_) <> -11_ or 6528 pred( -11_) <> -12_ or 6529 pred( -12_) <> -13_ or 6530 pred( -98_) <> -99_ or 6531 pred( -99_) <> -100_ or 6532 pred( -100_) <> -101_ or 6533 pred( -101_) <> -102_ or 6534 pred( -102_) <> -103_ or 6535 pred( -126_) <> -127_ or 6536 pred( -127_) <> -128_ or 6537 pred( -128_) <> -129_ or 6538 pred( -129_) <> -130_ or 6539 pred( -130_) <> -131_ or 6540 pred( -254_) <> -255_ or 6541 pred( -255_) <> -256_ or 6542 pred( -256_) <> -257_ or 6543 pred( -257_) <> -258_ or 6544 pred( -258_) <> -259_ or 6545 pred( -998_) <> -999_ or 6546 pred( -999_) <> -1000_ or 6547 pred( -1000_) <> -1001_ or 6548 pred( -1001_) <> -1002_ or 6549 pred( -1002_) <> -1003_ or 6550 pred( -9998_) <> -9999_ or 6551 pred( -9999_) <> -10000_ or 6552 pred( -10000_) <> -10001_ or 6553 pred( -10001_) <> -10002_ or 6554 pred( -10002_) <> -10003_ or 6555 pred( -32766_) <> -32767_ or 6556 pred( -32767_) <> -32768_ or 6557 pred( -32768_) <> -32769_ or 6558 pred( -32769_) <> -32770_ or 6559 pred( -32770_) <> -32771_ or 6560 pred( -65534_) <> -65535_ or 6561 pred( -65535_) <> -65536_ or 6562 pred( -65536_) <> -65537_ or 6563 pred( -65537_) <> -65538_ or 6564 pred( -65538_) <> -65539_ or 6565 pred( -99998_) <> -99999_ or 6566 pred( -99999_) <> -100000_ or 6567 pred( -100000_) <> -100001_ or 6568 pred( -100001_) <> -100002_ or 6569 pred( -100002_) <> -100003_ or 6570 pred( -999998_) <> -999999_ or 6571 pred( -999999_) <> -1000000_ or 6572 pred( -1000000_) <> -1000001_ or 6573 pred( -1000001_) <> -1000002_ or 6574 pred( -1000002_) <> -1000003_ or 6575 pred( -8388606_) <> -8388607_ or 6576 pred( -8388607_) <> -8388608_ or 6577 pred( -8388608_) <> -8388609_ or 6578 pred( -8388609_) <> -8388610_ or 6579 pred( -8388610_) <> -8388611_ or 6580 pred( -9999998_) <> -9999999_ or 6581 pred( -9999999_) <> -10000000_ or 6582 pred( -10000000_) <> -10000001_ or 6583 pred( -10000001_) <> -10000002_ or 6584 pred( -10000002_) <> -10000003_ or 6585 pred( -16777214_) <> -16777215_ or 6586 pred( -16777215_) <> -16777216_ or 6587 pred( -16777216_) <> -16777217_ or 6588 pred( -16777217_) <> -16777218_ or 6589 pred( -16777218_) <> -16777219_ or 6590 pred( -99999998_) <> -99999999_ or 6591 pred( -99999999_) <> -100000000_ or 6592 pred( -100000000_) <> -100000001_ or 6593 pred( -100000001_) <> -100000002_ or 6594 pred( -100000002_) <> -100000003_ or 6595 pred( -999999998_) <> -999999999_ or 6596 pred( -999999999_) <> -1000000000_ or 6597 pred( -1000000000_) <> -1000000001_ or 6598 pred( -1000000001_) <> -1000000002_ or 6599 pred( -1000000002_) <> -1000000003_ or 6600 pred( -2147483646_) <> -2147483647_ or 6601 pred( -2147483647_) <> -2147483648_ or 6602 pred( -2147483648_) <> -2147483649_ or 6603 pred( -2147483649_) <> -2147483650_ or 6604 pred( -2147483650_) <> -2147483651_ or 6605 pred( -4294967294_) <> -4294967295_ or 6606 pred( -4294967295_) <> -4294967296_ or 6607 pred( -4294967296_) <> -4294967297_ or 6608 pred( -4294967297_) <> -4294967298_ or 6609 pred( -4294967298_) <> -4294967299_ or 6610 pred( -9999999998_) <> -9999999999_ or 6611 pred( -9999999999_) <> -10000000000_ or 6612 pred( -10000000000_) <> -10000000001_ or 6613 pred( -10000000001_) <> -10000000002_ or 6614 pred( -10000000002_) <> -10000000003_ or 6615 pred( -99999999998_) <> -99999999999_ or 6616 pred( -99999999999_) <> -100000000000_ or 6617 pred( -100000000000_) <> -100000000001_ or 6618 pred( -100000000001_) <> -100000000002_ or 6619 pred( -100000000002_) <> -100000000003_ or 6620 pred( -549755813886_) <> -549755813887_ or 6621 pred( -549755813887_) <> -549755813888_ or 6622 pred( -549755813888_) <> -549755813889_ or 6623 pred( -549755813889_) <> -549755813890_ or 6624 pred( -549755813890_) <> -549755813891_ or 6625 pred( -999999999998_) <> -999999999999_ or 6626 pred( -999999999999_) <> -1000000000000_ or 6627 pred( -1000000000000_) <> -1000000000001_ or 6628 pred( -1000000000001_) <> -1000000000002_ or 6629 pred( -1000000000002_) <> -1000000000003_ or 6630 pred( -1099511627774_) <> -1099511627775_ or 6631 pred( -1099511627775_) <> -1099511627776_ or 6632 pred( -1099511627776_) <> -1099511627777_ or 6633 pred( -1099511627777_) <> -1099511627778_ or 6634 pred( -1099511627778_) <> -1099511627779_ or 6635 pred( -140737488355326_) <> -140737488355327_ or 6636 pred( -140737488355327_) <> -140737488355328_ or 6637 pred( -140737488355328_) <> -140737488355329_ or 6638 pred( -140737488355329_) <> -140737488355330_ or 6639 pred( -140737488355330_) <> -140737488355331_ or 6640 pred( -281474976710654_) <> -281474976710655_ or 6641 pred( -281474976710655_) <> -281474976710656_ or 6642 pred( -281474976710656_) <> -281474976710657_ or 6643 pred( -281474976710657_) <> -281474976710658_ or 6644 pred( -281474976710658_) <> -281474976710659_ or 6645 pred( -36028797018963966_) <> -36028797018963967_ or 6646 pred( -36028797018963967_) <> -36028797018963968_ or 6647 pred( -36028797018963968_) <> -36028797018963969_ or 6648 pred( -36028797018963969_) <> -36028797018963970_ or 6649 pred( -36028797018963970_) <> -36028797018963971_ or 6650 pred( -72057594037927934_) <> -72057594037927935_ or 6651 pred( -72057594037927935_) <> -72057594037927936_ or 6652 pred( -72057594037927936_) <> -72057594037927937_ or 6653 pred( -72057594037927937_) <> -72057594037927938_ or 6654 pred( -72057594037927938_) <> -72057594037927939_ or 6655 pred( -9223372036854775806_) <> -9223372036854775807_ or 6656 pred( -9223372036854775807_) <> -9223372036854775808_ or 6657 pred( -9223372036854775808_) <> -9223372036854775809_ or 6658 pred( -9223372036854775809_) <> -9223372036854775810_ or 6659 pred( -9223372036854775810_) <> -9223372036854775811_ or 6660 pred( -18446744073709551614_) <> -18446744073709551615_ or 6661 pred( -18446744073709551615_) <> -18446744073709551616_ or 6662 pred( -18446744073709551616_) <> -18446744073709551617_ or 6663 pred( -18446744073709551617_) <> -18446744073709551618_ or 6664 pred( -18446744073709551618_) <> -18446744073709551619_ or 6665 pred( -2361183241434822606846_) <> -2361183241434822606847_ or 6666 pred( -2361183241434822606847_) <> -2361183241434822606848_ or 6667 pred( -2361183241434822606848_) <> -2361183241434822606849_ or 6668 pred( -2361183241434822606849_) <> -2361183241434822606850_ or 6669 pred( -2361183241434822606850_) <> -2361183241434822606851_ or 6670 pred( -4722366482869645213694_) <> -4722366482869645213695_ or 6671 pred( -4722366482869645213695_) <> -4722366482869645213696_ or 6672 pred( -4722366482869645213696_) <> -4722366482869645213697_ or 6673 pred( -4722366482869645213697_) <> -4722366482869645213698_ or 6674 pred( -4722366482869645213698_) <> -4722366482869645213699_ or 6675 pred( -604462909807314587353086_) <> -604462909807314587353087_ or 6676 pred( -604462909807314587353087_) <> -604462909807314587353088_ or 6677 pred( -604462909807314587353088_) <> -604462909807314587353089_ or 6678 pred( -604462909807314587353089_) <> -604462909807314587353090_ or 6679 pred( -604462909807314587353090_) <> -604462909807314587353091_ or 6680 pred(-1208925819614629174706174_) <> -1208925819614629174706175_ or 6681 pred(-1208925819614629174706175_) <> -1208925819614629174706176_ or 6682 pred(-1208925819614629174706176_) <> -1208925819614629174706177_ or 6683 pred(-1208925819614629174706177_) <> -1208925819614629174706178_ or 6684 pred(-1208925819614629174706178_) <> -1208925819614629174706179_ then 6685 writeln("Predecessor of a negative bigInteger does not work correct."); 6686 okay := FALSE; 6687 end if; 6688 6689 if okay then 6690 writeln("Predecessor of bigInteger works correct."); 6691 else 6692 writeln(" ***** Predecessor of bigInteger does not work correct."); 6693 writeln; 6694 end if; 6695 end func; 6696 6697 6698const func bigInteger: testIncr (in var bigInteger: number) is func 6699 result 6700 var bigInteger: exprResult is bigInteger.value; 6701 begin 6702 incr(number); 6703 exprResult := number; 6704 end func; 6705 6706 6707const proc: chkIncr is func 6708 local 6709 var boolean: okay is TRUE; 6710 begin 6711 if testIncr( 0_) <> 1_ or 6712 testIncr( 1_) <> 2_ or 6713 testIncr( 2_) <> 3_ or 6714 testIncr( 8_) <> 9_ or 6715 testIncr( 9_) <> 10_ or 6716 testIncr( 10_) <> 11_ or 6717 testIncr( 11_) <> 12_ or 6718 testIncr( 12_) <> 13_ or 6719 testIncr( 98_) <> 99_ or 6720 testIncr( 99_) <> 100_ or 6721 testIncr( 100_) <> 101_ or 6722 testIncr( 101_) <> 102_ or 6723 testIncr( 102_) <> 103_ or 6724 testIncr( 126_) <> 127_ or 6725 testIncr( 127_) <> 128_ or 6726 testIncr( 128_) <> 129_ or 6727 testIncr( 129_) <> 130_ or 6728 testIncr( 130_) <> 131_ or 6729 testIncr( 254_) <> 255_ or 6730 testIncr( 255_) <> 256_ or 6731 testIncr( 256_) <> 257_ or 6732 testIncr( 257_) <> 258_ or 6733 testIncr( 258_) <> 259_ or 6734 testIncr( 998_) <> 999_ or 6735 testIncr( 999_) <> 1000_ or 6736 testIncr( 1000_) <> 1001_ or 6737 testIncr( 1001_) <> 1002_ or 6738 testIncr( 1002_) <> 1003_ or 6739 testIncr( 9998_) <> 9999_ or 6740 testIncr( 9999_) <> 10000_ or 6741 testIncr( 10000_) <> 10001_ or 6742 testIncr( 10001_) <> 10002_ or 6743 testIncr( 10002_) <> 10003_ or 6744 testIncr( 32766_) <> 32767_ or 6745 testIncr( 32767_) <> 32768_ or 6746 testIncr( 32768_) <> 32769_ or 6747 testIncr( 32769_) <> 32770_ or 6748 testIncr( 32770_) <> 32771_ or 6749 testIncr( 65534_) <> 65535_ or 6750 testIncr( 65535_) <> 65536_ or 6751 testIncr( 65536_) <> 65537_ or 6752 testIncr( 65537_) <> 65538_ or 6753 testIncr( 65538_) <> 65539_ or 6754 testIncr( 99998_) <> 99999_ or 6755 testIncr( 99999_) <> 100000_ or 6756 testIncr( 100000_) <> 100001_ or 6757 testIncr( 100001_) <> 100002_ or 6758 testIncr( 100002_) <> 100003_ or 6759 testIncr( 999998_) <> 999999_ or 6760 testIncr( 999999_) <> 1000000_ or 6761 testIncr( 1000000_) <> 1000001_ or 6762 testIncr( 1000001_) <> 1000002_ or 6763 testIncr( 1000002_) <> 1000003_ or 6764 testIncr( 8388606_) <> 8388607_ or 6765 testIncr( 8388607_) <> 8388608_ or 6766 testIncr( 8388608_) <> 8388609_ or 6767 testIncr( 8388609_) <> 8388610_ or 6768 testIncr( 8388610_) <> 8388611_ or 6769 testIncr( 9999998_) <> 9999999_ or 6770 testIncr( 9999999_) <> 10000000_ or 6771 testIncr( 10000000_) <> 10000001_ or 6772 testIncr( 10000001_) <> 10000002_ or 6773 testIncr( 10000002_) <> 10000003_ or 6774 testIncr( 16777214_) <> 16777215_ or 6775 testIncr( 16777215_) <> 16777216_ or 6776 testIncr( 16777216_) <> 16777217_ or 6777 testIncr( 16777217_) <> 16777218_ or 6778 testIncr( 16777218_) <> 16777219_ or 6779 testIncr( 99999998_) <> 99999999_ or 6780 testIncr( 99999999_) <> 100000000_ or 6781 testIncr( 100000000_) <> 100000001_ or 6782 testIncr( 100000001_) <> 100000002_ or 6783 testIncr( 100000002_) <> 100000003_ or 6784 testIncr( 999999998_) <> 999999999_ or 6785 testIncr( 999999999_) <> 1000000000_ or 6786 testIncr( 1000000000_) <> 1000000001_ or 6787 testIncr( 1000000001_) <> 1000000002_ or 6788 testIncr( 1000000002_) <> 1000000003_ or 6789 testIncr( 2147483646_) <> 2147483647_ or 6790 testIncr( 2147483647_) <> 2147483648_ or 6791 testIncr( 2147483648_) <> 2147483649_ or 6792 testIncr( 2147483649_) <> 2147483650_ or 6793 testIncr( 2147483650_) <> 2147483651_ or 6794 testIncr( 4294967294_) <> 4294967295_ or 6795 testIncr( 4294967295_) <> 4294967296_ or 6796 testIncr( 4294967296_) <> 4294967297_ or 6797 testIncr( 4294967297_) <> 4294967298_ or 6798 testIncr( 4294967298_) <> 4294967299_ or 6799 testIncr( 9999999998_) <> 9999999999_ or 6800 testIncr( 9999999999_) <> 10000000000_ or 6801 testIncr( 10000000000_) <> 10000000001_ or 6802 testIncr( 10000000001_) <> 10000000002_ or 6803 testIncr( 10000000002_) <> 10000000003_ or 6804 testIncr( 99999999998_) <> 99999999999_ or 6805 testIncr( 99999999999_) <> 100000000000_ or 6806 testIncr( 100000000000_) <> 100000000001_ or 6807 testIncr( 100000000001_) <> 100000000002_ or 6808 testIncr( 100000000002_) <> 100000000003_ or 6809 testIncr( 549755813886_) <> 549755813887_ or 6810 testIncr( 549755813887_) <> 549755813888_ or 6811 testIncr( 549755813888_) <> 549755813889_ or 6812 testIncr( 549755813889_) <> 549755813890_ or 6813 testIncr( 549755813890_) <> 549755813891_ or 6814 testIncr( 999999999998_) <> 999999999999_ or 6815 testIncr( 999999999999_) <> 1000000000000_ or 6816 testIncr( 1000000000000_) <> 1000000000001_ or 6817 testIncr( 1000000000001_) <> 1000000000002_ or 6818 testIncr( 1000000000002_) <> 1000000000003_ or 6819 testIncr( 1099511627774_) <> 1099511627775_ or 6820 testIncr( 1099511627775_) <> 1099511627776_ or 6821 testIncr( 1099511627776_) <> 1099511627777_ or 6822 testIncr( 1099511627777_) <> 1099511627778_ or 6823 testIncr( 1099511627778_) <> 1099511627779_ or 6824 testIncr( 140737488355326_) <> 140737488355327_ or 6825 testIncr( 140737488355327_) <> 140737488355328_ or 6826 testIncr( 140737488355328_) <> 140737488355329_ or 6827 testIncr( 140737488355329_) <> 140737488355330_ or 6828 testIncr( 140737488355330_) <> 140737488355331_ or 6829 testIncr( 281474976710654_) <> 281474976710655_ or 6830 testIncr( 281474976710655_) <> 281474976710656_ or 6831 testIncr( 281474976710656_) <> 281474976710657_ or 6832 testIncr( 281474976710657_) <> 281474976710658_ or 6833 testIncr( 281474976710658_) <> 281474976710659_ or 6834 testIncr( 36028797018963966_) <> 36028797018963967_ or 6835 testIncr( 36028797018963967_) <> 36028797018963968_ or 6836 testIncr( 36028797018963968_) <> 36028797018963969_ or 6837 testIncr( 36028797018963969_) <> 36028797018963970_ or 6838 testIncr( 36028797018963970_) <> 36028797018963971_ or 6839 testIncr( 72057594037927934_) <> 72057594037927935_ or 6840 testIncr( 72057594037927935_) <> 72057594037927936_ or 6841 testIncr( 72057594037927936_) <> 72057594037927937_ or 6842 testIncr( 72057594037927937_) <> 72057594037927938_ or 6843 testIncr( 72057594037927938_) <> 72057594037927939_ or 6844 testIncr( 9223372036854775806_) <> 9223372036854775807_ or 6845 testIncr( 9223372036854775807_) <> 9223372036854775808_ or 6846 testIncr( 9223372036854775808_) <> 9223372036854775809_ or 6847 testIncr( 9223372036854775809_) <> 9223372036854775810_ or 6848 testIncr( 9223372036854775810_) <> 9223372036854775811_ or 6849 testIncr( 18446744073709551614_) <> 18446744073709551615_ or 6850 testIncr( 18446744073709551615_) <> 18446744073709551616_ or 6851 testIncr( 18446744073709551616_) <> 18446744073709551617_ or 6852 testIncr( 18446744073709551617_) <> 18446744073709551618_ or 6853 testIncr( 18446744073709551618_) <> 18446744073709551619_ or 6854 testIncr( 2361183241434822606846_) <> 2361183241434822606847_ or 6855 testIncr( 2361183241434822606847_) <> 2361183241434822606848_ or 6856 testIncr( 2361183241434822606848_) <> 2361183241434822606849_ or 6857 testIncr( 2361183241434822606849_) <> 2361183241434822606850_ or 6858 testIncr( 2361183241434822606850_) <> 2361183241434822606851_ or 6859 testIncr( 4722366482869645213694_) <> 4722366482869645213695_ or 6860 testIncr( 4722366482869645213695_) <> 4722366482869645213696_ or 6861 testIncr( 4722366482869645213696_) <> 4722366482869645213697_ or 6862 testIncr( 4722366482869645213697_) <> 4722366482869645213698_ or 6863 testIncr( 4722366482869645213698_) <> 4722366482869645213699_ or 6864 testIncr( 604462909807314587353086_) <> 604462909807314587353087_ or 6865 testIncr( 604462909807314587353087_) <> 604462909807314587353088_ or 6866 testIncr( 604462909807314587353088_) <> 604462909807314587353089_ or 6867 testIncr( 604462909807314587353089_) <> 604462909807314587353090_ or 6868 testIncr( 604462909807314587353090_) <> 604462909807314587353091_ or 6869 testIncr(1208925819614629174706174_) <> 1208925819614629174706175_ or 6870 testIncr(1208925819614629174706175_) <> 1208925819614629174706176_ or 6871 testIncr(1208925819614629174706176_) <> 1208925819614629174706177_ or 6872 testIncr(1208925819614629174706177_) <> 1208925819614629174706178_ or 6873 testIncr(1208925819614629174706178_) <> 1208925819614629174706179_ then 6874 writeln("Increment of a positive bigInteger does not work correct."); 6875 okay := FALSE; 6876 end if; 6877 6878 if testIncr( -0_) <> 1_ or 6879 testIncr( -1_) <> 0_ or 6880 testIncr( -2_) <> -1_ or 6881 testIncr( -8_) <> -7_ or 6882 testIncr( -9_) <> -8_ or 6883 testIncr( -10_) <> -9_ or 6884 testIncr( -11_) <> -10_ or 6885 testIncr( -12_) <> -11_ or 6886 testIncr( -98_) <> -97_ or 6887 testIncr( -99_) <> -98_ or 6888 testIncr( -100_) <> -99_ or 6889 testIncr( -101_) <> -100_ or 6890 testIncr( -102_) <> -101_ or 6891 testIncr( -126_) <> -125_ or 6892 testIncr( -127_) <> -126_ or 6893 testIncr( -128_) <> -127_ or 6894 testIncr( -129_) <> -128_ or 6895 testIncr( -130_) <> -129_ or 6896 testIncr( -254_) <> -253_ or 6897 testIncr( -255_) <> -254_ or 6898 testIncr( -256_) <> -255_ or 6899 testIncr( -257_) <> -256_ or 6900 testIncr( -258_) <> -257_ or 6901 testIncr( -998_) <> -997_ or 6902 testIncr( -999_) <> -998_ or 6903 testIncr( -1000_) <> -999_ or 6904 testIncr( -1001_) <> -1000_ or 6905 testIncr( -1002_) <> -1001_ or 6906 testIncr( -9998_) <> -9997_ or 6907 testIncr( -9999_) <> -9998_ or 6908 testIncr( -10000_) <> -9999_ or 6909 testIncr( -10001_) <> -10000_ or 6910 testIncr( -10002_) <> -10001_ or 6911 testIncr( -32766_) <> -32765_ or 6912 testIncr( -32767_) <> -32766_ or 6913 testIncr( -32768_) <> -32767_ or 6914 testIncr( -32769_) <> -32768_ or 6915 testIncr( -32770_) <> -32769_ or 6916 testIncr( -65534_) <> -65533_ or 6917 testIncr( -65535_) <> -65534_ or 6918 testIncr( -65536_) <> -65535_ or 6919 testIncr( -65537_) <> -65536_ or 6920 testIncr( -65538_) <> -65537_ or 6921 testIncr( -99998_) <> -99997_ or 6922 testIncr( -99999_) <> -99998_ or 6923 testIncr( -100000_) <> -99999_ or 6924 testIncr( -100001_) <> -100000_ or 6925 testIncr( -100002_) <> -100001_ or 6926 testIncr( -999998_) <> -999997_ or 6927 testIncr( -999999_) <> -999998_ or 6928 testIncr( -1000000_) <> -999999_ or 6929 testIncr( -1000001_) <> -1000000_ or 6930 testIncr( -1000002_) <> -1000001_ or 6931 testIncr( -8388606_) <> -8388605_ or 6932 testIncr( -8388607_) <> -8388606_ or 6933 testIncr( -8388608_) <> -8388607_ or 6934 testIncr( -8388609_) <> -8388608_ or 6935 testIncr( -8388610_) <> -8388609_ or 6936 testIncr( -9999998_) <> -9999997_ or 6937 testIncr( -9999999_) <> -9999998_ or 6938 testIncr( -10000000_) <> -9999999_ or 6939 testIncr( -10000001_) <> -10000000_ or 6940 testIncr( -10000002_) <> -10000001_ or 6941 testIncr( -16777214_) <> -16777213_ or 6942 testIncr( -16777215_) <> -16777214_ or 6943 testIncr( -16777216_) <> -16777215_ or 6944 testIncr( -16777217_) <> -16777216_ or 6945 testIncr( -16777218_) <> -16777217_ or 6946 testIncr( -99999998_) <> -99999997_ or 6947 testIncr( -99999999_) <> -99999998_ or 6948 testIncr( -100000000_) <> -99999999_ or 6949 testIncr( -100000001_) <> -100000000_ or 6950 testIncr( -100000002_) <> -100000001_ or 6951 testIncr( -999999998_) <> -999999997_ or 6952 testIncr( -999999999_) <> -999999998_ or 6953 testIncr( -1000000000_) <> -999999999_ or 6954 testIncr( -1000000001_) <> -1000000000_ or 6955 testIncr( -1000000002_) <> -1000000001_ or 6956 testIncr( -2147483646_) <> -2147483645_ or 6957 testIncr( -2147483647_) <> -2147483646_ or 6958 testIncr( -2147483648_) <> -2147483647_ or 6959 testIncr( -2147483649_) <> -2147483648_ or 6960 testIncr( -2147483650_) <> -2147483649_ or 6961 testIncr( -4294967294_) <> -4294967293_ or 6962 testIncr( -4294967295_) <> -4294967294_ or 6963 testIncr( -4294967296_) <> -4294967295_ or 6964 testIncr( -4294967297_) <> -4294967296_ or 6965 testIncr( -4294967298_) <> -4294967297_ or 6966 testIncr( -9999999998_) <> -9999999997_ or 6967 testIncr( -9999999999_) <> -9999999998_ or 6968 testIncr( -10000000000_) <> -9999999999_ or 6969 testIncr( -10000000001_) <> -10000000000_ or 6970 testIncr( -10000000002_) <> -10000000001_ or 6971 testIncr( -99999999998_) <> -99999999997_ or 6972 testIncr( -99999999999_) <> -99999999998_ or 6973 testIncr( -100000000000_) <> -99999999999_ or 6974 testIncr( -100000000001_) <> -100000000000_ or 6975 testIncr( -100000000002_) <> -100000000001_ or 6976 testIncr( -549755813886_) <> -549755813885_ or 6977 testIncr( -549755813887_) <> -549755813886_ or 6978 testIncr( -549755813888_) <> -549755813887_ or 6979 testIncr( -549755813889_) <> -549755813888_ or 6980 testIncr( -549755813890_) <> -549755813889_ or 6981 testIncr( -999999999998_) <> -999999999997_ or 6982 testIncr( -999999999999_) <> -999999999998_ or 6983 testIncr( -1000000000000_) <> -999999999999_ or 6984 testIncr( -1000000000001_) <> -1000000000000_ or 6985 testIncr( -1000000000002_) <> -1000000000001_ or 6986 testIncr( -1099511627774_) <> -1099511627773_ or 6987 testIncr( -1099511627775_) <> -1099511627774_ or 6988 testIncr( -1099511627776_) <> -1099511627775_ or 6989 testIncr( -1099511627777_) <> -1099511627776_ or 6990 testIncr( -1099511627778_) <> -1099511627777_ or 6991 testIncr( -140737488355326_) <> -140737488355325_ or 6992 testIncr( -140737488355327_) <> -140737488355326_ or 6993 testIncr( -140737488355328_) <> -140737488355327_ or 6994 testIncr( -140737488355329_) <> -140737488355328_ or 6995 testIncr( -140737488355330_) <> -140737488355329_ or 6996 testIncr( -281474976710654_) <> -281474976710653_ or 6997 testIncr( -281474976710655_) <> -281474976710654_ or 6998 testIncr( -281474976710656_) <> -281474976710655_ or 6999 testIncr( -281474976710657_) <> -281474976710656_ or 7000 testIncr( -281474976710658_) <> -281474976710657_ or 7001 testIncr( -36028797018963966_) <> -36028797018963965_ or 7002 testIncr( -36028797018963967_) <> -36028797018963966_ or 7003 testIncr( -36028797018963968_) <> -36028797018963967_ or 7004 testIncr( -36028797018963969_) <> -36028797018963968_ or 7005 testIncr( -36028797018963970_) <> -36028797018963969_ or 7006 testIncr( -72057594037927934_) <> -72057594037927933_ or 7007 testIncr( -72057594037927935_) <> -72057594037927934_ or 7008 testIncr( -72057594037927936_) <> -72057594037927935_ or 7009 testIncr( -72057594037927937_) <> -72057594037927936_ or 7010 testIncr( -72057594037927938_) <> -72057594037927937_ or 7011 testIncr( -9223372036854775806_) <> -9223372036854775805_ or 7012 testIncr( -9223372036854775807_) <> -9223372036854775806_ or 7013 testIncr( -9223372036854775808_) <> -9223372036854775807_ or 7014 testIncr( -9223372036854775809_) <> -9223372036854775808_ or 7015 testIncr( -9223372036854775810_) <> -9223372036854775809_ or 7016 testIncr( -18446744073709551614_) <> -18446744073709551613_ or 7017 testIncr( -18446744073709551615_) <> -18446744073709551614_ or 7018 testIncr( -18446744073709551616_) <> -18446744073709551615_ or 7019 testIncr( -18446744073709551617_) <> -18446744073709551616_ or 7020 testIncr( -18446744073709551618_) <> -18446744073709551617_ or 7021 testIncr( -2361183241434822606846_) <> -2361183241434822606845_ or 7022 testIncr( -2361183241434822606847_) <> -2361183241434822606846_ or 7023 testIncr( -2361183241434822606848_) <> -2361183241434822606847_ or 7024 testIncr( -2361183241434822606849_) <> -2361183241434822606848_ or 7025 testIncr( -2361183241434822606850_) <> -2361183241434822606849_ or 7026 testIncr( -4722366482869645213694_) <> -4722366482869645213693_ or 7027 testIncr( -4722366482869645213695_) <> -4722366482869645213694_ or 7028 testIncr( -4722366482869645213696_) <> -4722366482869645213695_ or 7029 testIncr( -4722366482869645213697_) <> -4722366482869645213696_ or 7030 testIncr( -4722366482869645213698_) <> -4722366482869645213697_ or 7031 testIncr( -604462909807314587353086_) <> -604462909807314587353085_ or 7032 testIncr( -604462909807314587353087_) <> -604462909807314587353086_ or 7033 testIncr( -604462909807314587353088_) <> -604462909807314587353087_ or 7034 testIncr( -604462909807314587353089_) <> -604462909807314587353088_ or 7035 testIncr( -604462909807314587353090_) <> -604462909807314587353089_ or 7036 testIncr(-1208925819614629174706174_) <> -1208925819614629174706173_ or 7037 testIncr(-1208925819614629174706175_) <> -1208925819614629174706174_ or 7038 testIncr(-1208925819614629174706176_) <> -1208925819614629174706175_ or 7039 testIncr(-1208925819614629174706177_) <> -1208925819614629174706176_ or 7040 testIncr(-1208925819614629174706178_) <> -1208925819614629174706177_ then 7041 writeln("Increment of a negative bigInteger does not work correct."); 7042 okay := FALSE; 7043 end if; 7044 7045 if okay then 7046 writeln("Increment of bigInteger works correct."); 7047 else 7048 writeln(" ***** Increment of bigInteger does not work correct."); 7049 writeln; 7050 end if; 7051 end func; 7052 7053 7054const func bigInteger: testDecr (in var bigInteger: number) is func 7055 result 7056 var bigInteger: exprResult is bigInteger.value; 7057 begin 7058 decr(number); 7059 exprResult := number; 7060 end func; 7061 7062 7063const proc: chkDecr is func 7064 local 7065 var boolean: okay is TRUE; 7066 begin 7067 if testDecr( 0_) <> -1_ or 7068 testDecr( 1_) <> 0_ or 7069 testDecr( 2_) <> 1_ or 7070 testDecr( 8_) <> 7_ or 7071 testDecr( 9_) <> 8_ or 7072 testDecr( 10_) <> 9_ or 7073 testDecr( 11_) <> 10_ or 7074 testDecr( 12_) <> 11_ or 7075 testDecr( 98_) <> 97_ or 7076 testDecr( 99_) <> 98_ or 7077 testDecr( 100_) <> 99_ or 7078 testDecr( 101_) <> 100_ or 7079 testDecr( 102_) <> 101_ or 7080 testDecr( 126_) <> 125_ or 7081 testDecr( 127_) <> 126_ or 7082 testDecr( 128_) <> 127_ or 7083 testDecr( 129_) <> 128_ or 7084 testDecr( 130_) <> 129_ or 7085 testDecr( 254_) <> 253_ or 7086 testDecr( 255_) <> 254_ or 7087 testDecr( 256_) <> 255_ or 7088 testDecr( 257_) <> 256_ or 7089 testDecr( 258_) <> 257_ or 7090 testDecr( 998_) <> 997_ or 7091 testDecr( 999_) <> 998_ or 7092 testDecr( 1000_) <> 999_ or 7093 testDecr( 1001_) <> 1000_ or 7094 testDecr( 1002_) <> 1001_ or 7095 testDecr( 9998_) <> 9997_ or 7096 testDecr( 9999_) <> 9998_ or 7097 testDecr( 10000_) <> 9999_ or 7098 testDecr( 10001_) <> 10000_ or 7099 testDecr( 10002_) <> 10001_ or 7100 testDecr( 32766_) <> 32765_ or 7101 testDecr( 32767_) <> 32766_ or 7102 testDecr( 32768_) <> 32767_ or 7103 testDecr( 32769_) <> 32768_ or 7104 testDecr( 32770_) <> 32769_ or 7105 testDecr( 65534_) <> 65533_ or 7106 testDecr( 65535_) <> 65534_ or 7107 testDecr( 65536_) <> 65535_ or 7108 testDecr( 65537_) <> 65536_ or 7109 testDecr( 65538_) <> 65537_ or 7110 testDecr( 99998_) <> 99997_ or 7111 testDecr( 99999_) <> 99998_ or 7112 testDecr( 100000_) <> 99999_ or 7113 testDecr( 100001_) <> 100000_ or 7114 testDecr( 100002_) <> 100001_ or 7115 testDecr( 999998_) <> 999997_ or 7116 testDecr( 999999_) <> 999998_ or 7117 testDecr( 1000000_) <> 999999_ or 7118 testDecr( 1000001_) <> 1000000_ or 7119 testDecr( 1000002_) <> 1000001_ or 7120 testDecr( 8388606_) <> 8388605_ or 7121 testDecr( 8388607_) <> 8388606_ or 7122 testDecr( 8388608_) <> 8388607_ or 7123 testDecr( 8388609_) <> 8388608_ or 7124 testDecr( 8388610_) <> 8388609_ or 7125 testDecr( 9999998_) <> 9999997_ or 7126 testDecr( 9999999_) <> 9999998_ or 7127 testDecr( 10000000_) <> 9999999_ or 7128 testDecr( 10000001_) <> 10000000_ or 7129 testDecr( 10000002_) <> 10000001_ or 7130 testDecr( 16777214_) <> 16777213_ or 7131 testDecr( 16777215_) <> 16777214_ or 7132 testDecr( 16777216_) <> 16777215_ or 7133 testDecr( 16777217_) <> 16777216_ or 7134 testDecr( 16777218_) <> 16777217_ or 7135 testDecr( 99999998_) <> 99999997_ or 7136 testDecr( 99999999_) <> 99999998_ or 7137 testDecr( 100000000_) <> 99999999_ or 7138 testDecr( 100000001_) <> 100000000_ or 7139 testDecr( 100000002_) <> 100000001_ or 7140 testDecr( 999999998_) <> 999999997_ or 7141 testDecr( 999999999_) <> 999999998_ or 7142 testDecr( 1000000000_) <> 999999999_ or 7143 testDecr( 1000000001_) <> 1000000000_ or 7144 testDecr( 1000000002_) <> 1000000001_ or 7145 testDecr( 2147483646_) <> 2147483645_ or 7146 testDecr( 2147483647_) <> 2147483646_ or 7147 testDecr( 2147483648_) <> 2147483647_ or 7148 testDecr( 2147483649_) <> 2147483648_ or 7149 testDecr( 2147483650_) <> 2147483649_ or 7150 testDecr( 4294967294_) <> 4294967293_ or 7151 testDecr( 4294967295_) <> 4294967294_ or 7152 testDecr( 4294967296_) <> 4294967295_ or 7153 testDecr( 4294967297_) <> 4294967296_ or 7154 testDecr( 4294967298_) <> 4294967297_ or 7155 testDecr( 9999999998_) <> 9999999997_ or 7156 testDecr( 9999999999_) <> 9999999998_ or 7157 testDecr( 10000000000_) <> 9999999999_ or 7158 testDecr( 10000000001_) <> 10000000000_ or 7159 testDecr( 10000000002_) <> 10000000001_ or 7160 testDecr( 99999999998_) <> 99999999997_ or 7161 testDecr( 99999999999_) <> 99999999998_ or 7162 testDecr( 100000000000_) <> 99999999999_ or 7163 testDecr( 100000000001_) <> 100000000000_ or 7164 testDecr( 100000000002_) <> 100000000001_ or 7165 testDecr( 549755813886_) <> 549755813885_ or 7166 testDecr( 549755813887_) <> 549755813886_ or 7167 testDecr( 549755813888_) <> 549755813887_ or 7168 testDecr( 549755813889_) <> 549755813888_ or 7169 testDecr( 549755813890_) <> 549755813889_ or 7170 testDecr( 999999999998_) <> 999999999997_ or 7171 testDecr( 999999999999_) <> 999999999998_ or 7172 testDecr( 1000000000000_) <> 999999999999_ or 7173 testDecr( 1000000000001_) <> 1000000000000_ or 7174 testDecr( 1000000000002_) <> 1000000000001_ or 7175 testDecr( 1099511627774_) <> 1099511627773_ or 7176 testDecr( 1099511627775_) <> 1099511627774_ or 7177 testDecr( 1099511627776_) <> 1099511627775_ or 7178 testDecr( 1099511627777_) <> 1099511627776_ or 7179 testDecr( 1099511627778_) <> 1099511627777_ or 7180 testDecr( 140737488355326_) <> 140737488355325_ or 7181 testDecr( 140737488355327_) <> 140737488355326_ or 7182 testDecr( 140737488355328_) <> 140737488355327_ or 7183 testDecr( 140737488355329_) <> 140737488355328_ or 7184 testDecr( 140737488355330_) <> 140737488355329_ or 7185 testDecr( 281474976710654_) <> 281474976710653_ or 7186 testDecr( 281474976710655_) <> 281474976710654_ or 7187 testDecr( 281474976710656_) <> 281474976710655_ or 7188 testDecr( 281474976710657_) <> 281474976710656_ or 7189 testDecr( 281474976710658_) <> 281474976710657_ or 7190 testDecr( 36028797018963966_) <> 36028797018963965_ or 7191 testDecr( 36028797018963967_) <> 36028797018963966_ or 7192 testDecr( 36028797018963968_) <> 36028797018963967_ or 7193 testDecr( 36028797018963969_) <> 36028797018963968_ or 7194 testDecr( 36028797018963970_) <> 36028797018963969_ or 7195 testDecr( 72057594037927934_) <> 72057594037927933_ or 7196 testDecr( 72057594037927935_) <> 72057594037927934_ or 7197 testDecr( 72057594037927936_) <> 72057594037927935_ or 7198 testDecr( 72057594037927937_) <> 72057594037927936_ or 7199 testDecr( 72057594037927938_) <> 72057594037927937_ or 7200 testDecr( 9223372036854775806_) <> 9223372036854775805_ or 7201 testDecr( 9223372036854775807_) <> 9223372036854775806_ or 7202 testDecr( 9223372036854775808_) <> 9223372036854775807_ or 7203 testDecr( 9223372036854775809_) <> 9223372036854775808_ or 7204 testDecr( 9223372036854775810_) <> 9223372036854775809_ or 7205 testDecr( 18446744073709551614_) <> 18446744073709551613_ or 7206 testDecr( 18446744073709551615_) <> 18446744073709551614_ or 7207 testDecr( 18446744073709551616_) <> 18446744073709551615_ or 7208 testDecr( 18446744073709551617_) <> 18446744073709551616_ or 7209 testDecr( 18446744073709551618_) <> 18446744073709551617_ or 7210 testDecr( 2361183241434822606846_) <> 2361183241434822606845_ or 7211 testDecr( 2361183241434822606847_) <> 2361183241434822606846_ or 7212 testDecr( 2361183241434822606848_) <> 2361183241434822606847_ or 7213 testDecr( 2361183241434822606849_) <> 2361183241434822606848_ or 7214 testDecr( 2361183241434822606850_) <> 2361183241434822606849_ or 7215 testDecr( 4722366482869645213694_) <> 4722366482869645213693_ or 7216 testDecr( 4722366482869645213695_) <> 4722366482869645213694_ or 7217 testDecr( 4722366482869645213696_) <> 4722366482869645213695_ or 7218 testDecr( 4722366482869645213697_) <> 4722366482869645213696_ or 7219 testDecr( 4722366482869645213698_) <> 4722366482869645213697_ or 7220 testDecr( 604462909807314587353086_) <> 604462909807314587353085_ or 7221 testDecr( 604462909807314587353087_) <> 604462909807314587353086_ or 7222 testDecr( 604462909807314587353088_) <> 604462909807314587353087_ or 7223 testDecr( 604462909807314587353089_) <> 604462909807314587353088_ or 7224 testDecr( 604462909807314587353090_) <> 604462909807314587353089_ or 7225 testDecr(1208925819614629174706174_) <> 1208925819614629174706173_ or 7226 testDecr(1208925819614629174706175_) <> 1208925819614629174706174_ or 7227 testDecr(1208925819614629174706176_) <> 1208925819614629174706175_ or 7228 testDecr(1208925819614629174706177_) <> 1208925819614629174706176_ or 7229 testDecr(1208925819614629174706178_) <> 1208925819614629174706177_ then 7230 writeln("Decrement of a positive bigInteger does not work correct."); 7231 okay := FALSE; 7232 end if; 7233 7234 if testDecr( -0_) <> -1_ or 7235 testDecr( -1_) <> -2_ or 7236 testDecr( -2_) <> -3_ or 7237 testDecr( -8_) <> -9_ or 7238 testDecr( -9_) <> -10_ or 7239 testDecr( -10_) <> -11_ or 7240 testDecr( -11_) <> -12_ or 7241 testDecr( -12_) <> -13_ or 7242 testDecr( -98_) <> -99_ or 7243 testDecr( -99_) <> -100_ or 7244 testDecr( -100_) <> -101_ or 7245 testDecr( -101_) <> -102_ or 7246 testDecr( -102_) <> -103_ or 7247 testDecr( -126_) <> -127_ or 7248 testDecr( -127_) <> -128_ or 7249 testDecr( -128_) <> -129_ or 7250 testDecr( -129_) <> -130_ or 7251 testDecr( -130_) <> -131_ or 7252 testDecr( -254_) <> -255_ or 7253 testDecr( -255_) <> -256_ or 7254 testDecr( -256_) <> -257_ or 7255 testDecr( -257_) <> -258_ or 7256 testDecr( -258_) <> -259_ or 7257 testDecr( -998_) <> -999_ or 7258 testDecr( -999_) <> -1000_ or 7259 testDecr( -1000_) <> -1001_ or 7260 testDecr( -1001_) <> -1002_ or 7261 testDecr( -1002_) <> -1003_ or 7262 testDecr( -9998_) <> -9999_ or 7263 testDecr( -9999_) <> -10000_ or 7264 testDecr( -10000_) <> -10001_ or 7265 testDecr( -10001_) <> -10002_ or 7266 testDecr( -10002_) <> -10003_ or 7267 testDecr( -32766_) <> -32767_ or 7268 testDecr( -32767_) <> -32768_ or 7269 testDecr( -32768_) <> -32769_ or 7270 testDecr( -32769_) <> -32770_ or 7271 testDecr( -32770_) <> -32771_ or 7272 testDecr( -65534_) <> -65535_ or 7273 testDecr( -65535_) <> -65536_ or 7274 testDecr( -65536_) <> -65537_ or 7275 testDecr( -65537_) <> -65538_ or 7276 testDecr( -65538_) <> -65539_ or 7277 testDecr( -99998_) <> -99999_ or 7278 testDecr( -99999_) <> -100000_ or 7279 testDecr( -100000_) <> -100001_ or 7280 testDecr( -100001_) <> -100002_ or 7281 testDecr( -100002_) <> -100003_ or 7282 testDecr( -999998_) <> -999999_ or 7283 testDecr( -999999_) <> -1000000_ or 7284 testDecr( -1000000_) <> -1000001_ or 7285 testDecr( -1000001_) <> -1000002_ or 7286 testDecr( -1000002_) <> -1000003_ or 7287 testDecr( -8388606_) <> -8388607_ or 7288 testDecr( -8388607_) <> -8388608_ or 7289 testDecr( -8388608_) <> -8388609_ or 7290 testDecr( -8388609_) <> -8388610_ or 7291 testDecr( -8388610_) <> -8388611_ or 7292 testDecr( -9999998_) <> -9999999_ or 7293 testDecr( -9999999_) <> -10000000_ or 7294 testDecr( -10000000_) <> -10000001_ or 7295 testDecr( -10000001_) <> -10000002_ or 7296 testDecr( -10000002_) <> -10000003_ or 7297 testDecr( -16777214_) <> -16777215_ or 7298 testDecr( -16777215_) <> -16777216_ or 7299 testDecr( -16777216_) <> -16777217_ or 7300 testDecr( -16777217_) <> -16777218_ or 7301 testDecr( -16777218_) <> -16777219_ or 7302 testDecr( -99999998_) <> -99999999_ or 7303 testDecr( -99999999_) <> -100000000_ or 7304 testDecr( -100000000_) <> -100000001_ or 7305 testDecr( -100000001_) <> -100000002_ or 7306 testDecr( -100000002_) <> -100000003_ or 7307 testDecr( -999999998_) <> -999999999_ or 7308 testDecr( -999999999_) <> -1000000000_ or 7309 testDecr( -1000000000_) <> -1000000001_ or 7310 testDecr( -1000000001_) <> -1000000002_ or 7311 testDecr( -1000000002_) <> -1000000003_ or 7312 testDecr( -2147483646_) <> -2147483647_ or 7313 testDecr( -2147483647_) <> -2147483648_ or 7314 testDecr( -2147483648_) <> -2147483649_ or 7315 testDecr( -2147483649_) <> -2147483650_ or 7316 testDecr( -2147483650_) <> -2147483651_ or 7317 testDecr( -4294967294_) <> -4294967295_ or 7318 testDecr( -4294967295_) <> -4294967296_ or 7319 testDecr( -4294967296_) <> -4294967297_ or 7320 testDecr( -4294967297_) <> -4294967298_ or 7321 testDecr( -4294967298_) <> -4294967299_ or 7322 testDecr( -9999999998_) <> -9999999999_ or 7323 testDecr( -9999999999_) <> -10000000000_ or 7324 testDecr( -10000000000_) <> -10000000001_ or 7325 testDecr( -10000000001_) <> -10000000002_ or 7326 testDecr( -10000000002_) <> -10000000003_ or 7327 testDecr( -99999999998_) <> -99999999999_ or 7328 testDecr( -99999999999_) <> -100000000000_ or 7329 testDecr( -100000000000_) <> -100000000001_ or 7330 testDecr( -100000000001_) <> -100000000002_ or 7331 testDecr( -100000000002_) <> -100000000003_ or 7332 testDecr( -549755813886_) <> -549755813887_ or 7333 testDecr( -549755813887_) <> -549755813888_ or 7334 testDecr( -549755813888_) <> -549755813889_ or 7335 testDecr( -549755813889_) <> -549755813890_ or 7336 testDecr( -549755813890_) <> -549755813891_ or 7337 testDecr( -999999999998_) <> -999999999999_ or 7338 testDecr( -999999999999_) <> -1000000000000_ or 7339 testDecr( -1000000000000_) <> -1000000000001_ or 7340 testDecr( -1000000000001_) <> -1000000000002_ or 7341 testDecr( -1000000000002_) <> -1000000000003_ or 7342 testDecr( -1099511627774_) <> -1099511627775_ or 7343 testDecr( -1099511627775_) <> -1099511627776_ or 7344 testDecr( -1099511627776_) <> -1099511627777_ or 7345 testDecr( -1099511627777_) <> -1099511627778_ or 7346 testDecr( -1099511627778_) <> -1099511627779_ or 7347 testDecr( -140737488355326_) <> -140737488355327_ or 7348 testDecr( -140737488355327_) <> -140737488355328_ or 7349 testDecr( -140737488355328_) <> -140737488355329_ or 7350 testDecr( -140737488355329_) <> -140737488355330_ or 7351 testDecr( -140737488355330_) <> -140737488355331_ or 7352 testDecr( -281474976710654_) <> -281474976710655_ or 7353 testDecr( -281474976710655_) <> -281474976710656_ or 7354 testDecr( -281474976710656_) <> -281474976710657_ or 7355 testDecr( -281474976710657_) <> -281474976710658_ or 7356 testDecr( -281474976710658_) <> -281474976710659_ or 7357 testDecr( -36028797018963966_) <> -36028797018963967_ or 7358 testDecr( -36028797018963967_) <> -36028797018963968_ or 7359 testDecr( -36028797018963968_) <> -36028797018963969_ or 7360 testDecr( -36028797018963969_) <> -36028797018963970_ or 7361 testDecr( -36028797018963970_) <> -36028797018963971_ or 7362 testDecr( -72057594037927934_) <> -72057594037927935_ or 7363 testDecr( -72057594037927935_) <> -72057594037927936_ or 7364 testDecr( -72057594037927936_) <> -72057594037927937_ or 7365 testDecr( -72057594037927937_) <> -72057594037927938_ or 7366 testDecr( -72057594037927938_) <> -72057594037927939_ or 7367 testDecr( -9223372036854775806_) <> -9223372036854775807_ or 7368 testDecr( -9223372036854775807_) <> -9223372036854775808_ or 7369 testDecr( -9223372036854775808_) <> -9223372036854775809_ or 7370 testDecr( -9223372036854775809_) <> -9223372036854775810_ or 7371 testDecr( -9223372036854775810_) <> -9223372036854775811_ or 7372 testDecr( -18446744073709551614_) <> -18446744073709551615_ or 7373 testDecr( -18446744073709551615_) <> -18446744073709551616_ or 7374 testDecr( -18446744073709551616_) <> -18446744073709551617_ or 7375 testDecr( -18446744073709551617_) <> -18446744073709551618_ or 7376 testDecr( -18446744073709551618_) <> -18446744073709551619_ or 7377 testDecr( -2361183241434822606846_) <> -2361183241434822606847_ or 7378 testDecr( -2361183241434822606847_) <> -2361183241434822606848_ or 7379 testDecr( -2361183241434822606848_) <> -2361183241434822606849_ or 7380 testDecr( -2361183241434822606849_) <> -2361183241434822606850_ or 7381 testDecr( -2361183241434822606850_) <> -2361183241434822606851_ or 7382 testDecr( -4722366482869645213694_) <> -4722366482869645213695_ or 7383 testDecr( -4722366482869645213695_) <> -4722366482869645213696_ or 7384 testDecr( -4722366482869645213696_) <> -4722366482869645213697_ or 7385 testDecr( -4722366482869645213697_) <> -4722366482869645213698_ or 7386 testDecr( -4722366482869645213698_) <> -4722366482869645213699_ or 7387 testDecr( -604462909807314587353086_) <> -604462909807314587353087_ or 7388 testDecr( -604462909807314587353087_) <> -604462909807314587353088_ or 7389 testDecr( -604462909807314587353088_) <> -604462909807314587353089_ or 7390 testDecr( -604462909807314587353089_) <> -604462909807314587353090_ or 7391 testDecr( -604462909807314587353090_) <> -604462909807314587353091_ or 7392 testDecr(-1208925819614629174706174_) <> -1208925819614629174706175_ or 7393 testDecr(-1208925819614629174706175_) <> -1208925819614629174706176_ or 7394 testDecr(-1208925819614629174706176_) <> -1208925819614629174706177_ or 7395 testDecr(-1208925819614629174706177_) <> -1208925819614629174706178_ or 7396 testDecr(-1208925819614629174706178_) <> -1208925819614629174706179_ then 7397 writeln("Decrement of a negative bigInteger does not work correct."); 7398 okay := FALSE; 7399 end if; 7400 7401 if okay then 7402 writeln("Decrement of bigInteger works correct."); 7403 else 7404 writeln(" ***** Decrement of bigInteger does not work correct."); 7405 writeln; 7406 end if; 7407 end func; 7408 7409 7410const proc: chkAddition is func 7411 local 7412 var bigInteger: number is 0_; 7413 var boolean: okay is TRUE; 7414 begin 7415 if -2147483650_ + -2147483650_ <> -4294967300_ or 7416 -2147483650_ + -2147483649_ <> -4294967299_ or 7417 -2147483650_ + -2147483648_ <> -4294967298_ or 7418 -2147483650_ + -2147483647_ <> -4294967297_ or 7419 -2147483650_ + -32770_ <> -2147516420_ or 7420 -2147483650_ + -32769_ <> -2147516419_ or 7421 -2147483650_ + -32768_ <> -2147516418_ or 7422 -2147483650_ + -32767_ <> -2147516417_ or 7423 -2147483650_ + -2_ <> -2147483652_ or 7424 -2147483650_ + -1_ <> -2147483651_ or 7425 -2147483650_ + 0_ <> -2147483650_ or 7426 -2147483650_ + 1_ <> -2147483649_ or 7427 -2147483650_ + 32766_ <> -2147450884_ or 7428 -2147483650_ + 32767_ <> -2147450883_ or 7429 -2147483650_ + 32768_ <> -2147450882_ or 7430 -2147483650_ + 32769_ <> -2147450881_ or 7431 -2147483650_ + 2147483646_ <> -4_ or 7432 -2147483650_ + 2147483647_ <> -3_ or 7433 -2147483650_ + 2147483648_ <> -2_ or 7434 -2147483650_ + 2147483649_ <> -1_ or 7435 -2147483649_ + -2147483650_ <> -4294967299_ or 7436 -2147483649_ + -2147483649_ <> -4294967298_ or 7437 -2147483649_ + -2147483648_ <> -4294967297_ or 7438 -2147483649_ + -2147483647_ <> -4294967296_ or 7439 -2147483649_ + -32770_ <> -2147516419_ or 7440 -2147483649_ + -32769_ <> -2147516418_ or 7441 -2147483649_ + -32768_ <> -2147516417_ or 7442 -2147483649_ + -32767_ <> -2147516416_ or 7443 -2147483649_ + -2_ <> -2147483651_ or 7444 -2147483649_ + -1_ <> -2147483650_ or 7445 -2147483649_ + 0_ <> -2147483649_ or 7446 -2147483649_ + 1_ <> -2147483648_ or 7447 -2147483649_ + 32766_ <> -2147450883_ or 7448 -2147483649_ + 32767_ <> -2147450882_ or 7449 -2147483649_ + 32768_ <> -2147450881_ or 7450 -2147483649_ + 32769_ <> -2147450880_ or 7451 -2147483649_ + 2147483646_ <> -3_ or 7452 -2147483649_ + 2147483647_ <> -2_ or 7453 -2147483649_ + 2147483648_ <> -1_ or 7454 -2147483649_ + 2147483649_ <> 0_ or 7455 -2147483648_ + -2147483650_ <> -4294967298_ or 7456 -2147483648_ + -2147483649_ <> -4294967297_ or 7457 -2147483648_ + -2147483648_ <> -4294967296_ or 7458 -2147483648_ + -2147483647_ <> -4294967295_ or 7459 -2147483648_ + -32770_ <> -2147516418_ or 7460 -2147483648_ + -32769_ <> -2147516417_ or 7461 -2147483648_ + -32768_ <> -2147516416_ or 7462 -2147483648_ + -32767_ <> -2147516415_ or 7463 -2147483648_ + -2_ <> -2147483650_ or 7464 -2147483648_ + -1_ <> -2147483649_ or 7465 -2147483648_ + 0_ <> -2147483648_ or 7466 -2147483648_ + 1_ <> -2147483647_ or 7467 -2147483648_ + 32766_ <> -2147450882_ or 7468 -2147483648_ + 32767_ <> -2147450881_ or 7469 -2147483648_ + 32768_ <> -2147450880_ or 7470 -2147483648_ + 32769_ <> -2147450879_ or 7471 -2147483648_ + 2147483646_ <> -2_ or 7472 -2147483648_ + 2147483647_ <> -1_ or 7473 -2147483648_ + 2147483648_ <> 0_ or 7474 -2147483648_ + 2147483649_ <> 1_ or 7475 -2147483647_ + -2147483650_ <> -4294967297_ or 7476 -2147483647_ + -2147483649_ <> -4294967296_ or 7477 -2147483647_ + -2147483648_ <> -4294967295_ or 7478 -2147483647_ + -2147483647_ <> -4294967294_ or 7479 -2147483647_ + -32770_ <> -2147516417_ or 7480 -2147483647_ + -32769_ <> -2147516416_ or 7481 -2147483647_ + -32768_ <> -2147516415_ or 7482 -2147483647_ + -32767_ <> -2147516414_ or 7483 -2147483647_ + -2_ <> -2147483649_ or 7484 -2147483647_ + -1_ <> -2147483648_ or 7485 -2147483647_ + 0_ <> -2147483647_ or 7486 -2147483647_ + 1_ <> -2147483646_ or 7487 -2147483647_ + 32766_ <> -2147450881_ or 7488 -2147483647_ + 32767_ <> -2147450880_ or 7489 -2147483647_ + 32768_ <> -2147450879_ or 7490 -2147483647_ + 32769_ <> -2147450878_ or 7491 -2147483647_ + 2147483646_ <> -1_ or 7492 -2147483647_ + 2147483647_ <> 0_ or 7493 -2147483647_ + 2147483648_ <> 1_ or 7494 -2147483647_ + 2147483649_ <> 2_ or 7495 -32770_ + -2147483650_ <> -2147516420_ or 7496 -32770_ + -2147483649_ <> -2147516419_ or 7497 -32770_ + -2147483648_ <> -2147516418_ or 7498 -32770_ + -2147483647_ <> -2147516417_ or 7499 -32770_ + -32770_ <> -65540_ or 7500 -32770_ + -32769_ <> -65539_ or 7501 -32770_ + -32768_ <> -65538_ or 7502 -32770_ + -32767_ <> -65537_ or 7503 -32770_ + -2_ <> -32772_ or 7504 -32770_ + -1_ <> -32771_ or 7505 -32770_ + 0_ <> -32770_ or 7506 -32770_ + 1_ <> -32769_ or 7507 -32770_ + 32766_ <> -4_ or 7508 -32770_ + 32767_ <> -3_ or 7509 -32770_ + 32768_ <> -2_ or 7510 -32770_ + 32769_ <> -1_ or 7511 -32770_ + 2147483646_ <> 2147450876_ or 7512 -32770_ + 2147483647_ <> 2147450877_ or 7513 -32770_ + 2147483648_ <> 2147450878_ or 7514 -32770_ + 2147483649_ <> 2147450879_ or 7515 -32769_ + -2147483650_ <> -2147516419_ or 7516 -32769_ + -2147483649_ <> -2147516418_ or 7517 -32769_ + -2147483648_ <> -2147516417_ or 7518 -32769_ + -2147483647_ <> -2147516416_ or 7519 -32769_ + -32770_ <> -65539_ or 7520 -32769_ + -32769_ <> -65538_ or 7521 -32769_ + -32768_ <> -65537_ or 7522 -32769_ + -32767_ <> -65536_ or 7523 -32769_ + -2_ <> -32771_ or 7524 -32769_ + -1_ <> -32770_ or 7525 -32769_ + 0_ <> -32769_ or 7526 -32769_ + 1_ <> -32768_ or 7527 -32769_ + 32766_ <> -3_ or 7528 -32769_ + 32767_ <> -2_ or 7529 -32769_ + 32768_ <> -1_ or 7530 -32769_ + 32769_ <> 0_ or 7531 -32769_ + 2147483646_ <> 2147450877_ or 7532 -32769_ + 2147483647_ <> 2147450878_ or 7533 -32769_ + 2147483648_ <> 2147450879_ or 7534 -32769_ + 2147483649_ <> 2147450880_ or 7535 -32768_ + -2147483650_ <> -2147516418_ or 7536 -32768_ + -2147483649_ <> -2147516417_ or 7537 -32768_ + -2147483648_ <> -2147516416_ or 7538 -32768_ + -2147483647_ <> -2147516415_ or 7539 -32768_ + -32770_ <> -65538_ or 7540 -32768_ + -32769_ <> -65537_ or 7541 -32768_ + -32768_ <> -65536_ or 7542 -32768_ + -32767_ <> -65535_ or 7543 -32768_ + -2_ <> -32770_ or 7544 -32768_ + -1_ <> -32769_ or 7545 -32768_ + 0_ <> -32768_ or 7546 -32768_ + 1_ <> -32767_ or 7547 -32768_ + 32766_ <> -2_ or 7548 -32768_ + 32767_ <> -1_ or 7549 -32768_ + 32768_ <> 0_ or 7550 -32768_ + 32769_ <> 1_ or 7551 -32768_ + 2147483646_ <> 2147450878_ or 7552 -32768_ + 2147483647_ <> 2147450879_ or 7553 -32768_ + 2147483648_ <> 2147450880_ or 7554 -32768_ + 2147483649_ <> 2147450881_ or 7555 -32767_ + -2147483650_ <> -2147516417_ or 7556 -32767_ + -2147483649_ <> -2147516416_ or 7557 -32767_ + -2147483648_ <> -2147516415_ or 7558 -32767_ + -2147483647_ <> -2147516414_ or 7559 -32767_ + -32770_ <> -65537_ or 7560 -32767_ + -32769_ <> -65536_ or 7561 -32767_ + -32768_ <> -65535_ or 7562 -32767_ + -32767_ <> -65534_ or 7563 -32767_ + -2_ <> -32769_ or 7564 -32767_ + -1_ <> -32768_ or 7565 -32767_ + 0_ <> -32767_ or 7566 -32767_ + 1_ <> -32766_ or 7567 -32767_ + 32766_ <> -1_ or 7568 -32767_ + 32767_ <> 0_ or 7569 -32767_ + 32768_ <> 1_ or 7570 -32767_ + 32769_ <> 2_ or 7571 -32767_ + 2147483646_ <> 2147450879_ or 7572 -32767_ + 2147483647_ <> 2147450880_ or 7573 -32767_ + 2147483648_ <> 2147450881_ or 7574 -32767_ + 2147483649_ <> 2147450882_ or 7575 -2_ + -2147483650_ <> -2147483652_ or 7576 -2_ + -2147483649_ <> -2147483651_ or 7577 -2_ + -2147483648_ <> -2147483650_ or 7578 -2_ + -2147483647_ <> -2147483649_ or 7579 -2_ + -32770_ <> -32772_ or 7580 -2_ + -32769_ <> -32771_ or 7581 -2_ + -32768_ <> -32770_ or 7582 -2_ + -32767_ <> -32769_ or 7583 -2_ + -2_ <> -4_ or 7584 -2_ + -1_ <> -3_ or 7585 -2_ + 0_ <> -2_ or 7586 -2_ + 1_ <> -1_ or 7587 -2_ + 32766_ <> 32764_ or 7588 -2_ + 32767_ <> 32765_ or 7589 -2_ + 32768_ <> 32766_ or 7590 -2_ + 32769_ <> 32767_ or 7591 -2_ + 2147483646_ <> 2147483644_ or 7592 -2_ + 2147483647_ <> 2147483645_ or 7593 -2_ + 2147483648_ <> 2147483646_ or 7594 -2_ + 2147483649_ <> 2147483647_ or 7595 -1_ + -2147483650_ <> -2147483651_ or 7596 -1_ + -2147483649_ <> -2147483650_ or 7597 -1_ + -2147483648_ <> -2147483649_ or 7598 -1_ + -2147483647_ <> -2147483648_ or 7599 -1_ + -32770_ <> -32771_ or 7600 -1_ + -32769_ <> -32770_ or 7601 -1_ + -32768_ <> -32769_ or 7602 -1_ + -32767_ <> -32768_ or 7603 -1_ + -2_ <> -3_ or 7604 -1_ + -1_ <> -2_ or 7605 -1_ + 0_ <> -1_ or 7606 -1_ + 1_ <> 0_ or 7607 -1_ + 32766_ <> 32765_ or 7608 -1_ + 32767_ <> 32766_ or 7609 -1_ + 32768_ <> 32767_ or 7610 -1_ + 32769_ <> 32768_ or 7611 -1_ + 2147483646_ <> 2147483645_ or 7612 -1_ + 2147483647_ <> 2147483646_ or 7613 -1_ + 2147483648_ <> 2147483647_ or 7614 -1_ + 2147483649_ <> 2147483648_ or 7615 0_ + -2147483650_ <> -2147483650_ or 7616 0_ + -2147483649_ <> -2147483649_ or 7617 0_ + -2147483648_ <> -2147483648_ or 7618 0_ + -2147483647_ <> -2147483647_ or 7619 0_ + -32770_ <> -32770_ or 7620 0_ + -32769_ <> -32769_ or 7621 0_ + -32768_ <> -32768_ or 7622 0_ + -32767_ <> -32767_ or 7623 0_ + -2_ <> -2_ or 7624 0_ + -1_ <> -1_ or 7625 0_ + 0_ <> 0_ or 7626 0_ + 1_ <> 1_ or 7627 0_ + 32766_ <> 32766_ or 7628 0_ + 32767_ <> 32767_ or 7629 0_ + 32768_ <> 32768_ or 7630 0_ + 32769_ <> 32769_ or 7631 0_ + 2147483646_ <> 2147483646_ or 7632 0_ + 2147483647_ <> 2147483647_ or 7633 0_ + 2147483648_ <> 2147483648_ or 7634 0_ + 2147483649_ <> 2147483649_ or 7635 1_ + -2147483650_ <> -2147483649_ or 7636 1_ + -2147483649_ <> -2147483648_ or 7637 1_ + -2147483648_ <> -2147483647_ or 7638 1_ + -2147483647_ <> -2147483646_ or 7639 1_ + -32770_ <> -32769_ or 7640 1_ + -32769_ <> -32768_ or 7641 1_ + -32768_ <> -32767_ or 7642 1_ + -32767_ <> -32766_ or 7643 1_ + -2_ <> -1_ or 7644 1_ + -1_ <> 0_ or 7645 1_ + 0_ <> 1_ or 7646 1_ + 1_ <> 2_ or 7647 1_ + 32766_ <> 32767_ or 7648 1_ + 32767_ <> 32768_ or 7649 1_ + 32768_ <> 32769_ or 7650 1_ + 32769_ <> 32770_ or 7651 1_ + 2147483646_ <> 2147483647_ or 7652 1_ + 2147483647_ <> 2147483648_ or 7653 1_ + 2147483648_ <> 2147483649_ or 7654 1_ + 2147483649_ <> 2147483650_ or 7655 32766_ + -2147483650_ <> -2147450884_ or 7656 32766_ + -2147483649_ <> -2147450883_ or 7657 32766_ + -2147483648_ <> -2147450882_ or 7658 32766_ + -2147483647_ <> -2147450881_ or 7659 32766_ + -32770_ <> -4_ or 7660 32766_ + -32769_ <> -3_ or 7661 32766_ + -32768_ <> -2_ or 7662 32766_ + -32767_ <> -1_ or 7663 32766_ + -2_ <> 32764_ or 7664 32766_ + -1_ <> 32765_ or 7665 32766_ + 0_ <> 32766_ or 7666 32766_ + 1_ <> 32767_ or 7667 32766_ + 32766_ <> 65532_ or 7668 32766_ + 32767_ <> 65533_ or 7669 32766_ + 32768_ <> 65534_ or 7670 32766_ + 32769_ <> 65535_ or 7671 32766_ + 2147483646_ <> 2147516412_ or 7672 32766_ + 2147483647_ <> 2147516413_ or 7673 32766_ + 2147483648_ <> 2147516414_ or 7674 32766_ + 2147483649_ <> 2147516415_ or 7675 32767_ + -2147483650_ <> -2147450883_ or 7676 32767_ + -2147483649_ <> -2147450882_ or 7677 32767_ + -2147483648_ <> -2147450881_ or 7678 32767_ + -2147483647_ <> -2147450880_ or 7679 32767_ + -32770_ <> -3_ or 7680 32767_ + -32769_ <> -2_ or 7681 32767_ + -32768_ <> -1_ or 7682 32767_ + -32767_ <> 0_ or 7683 32767_ + -2_ <> 32765_ or 7684 32767_ + -1_ <> 32766_ or 7685 32767_ + 0_ <> 32767_ or 7686 32767_ + 1_ <> 32768_ or 7687 32767_ + 32766_ <> 65533_ or 7688 32767_ + 32767_ <> 65534_ or 7689 32767_ + 32768_ <> 65535_ or 7690 32767_ + 32769_ <> 65536_ or 7691 32767_ + 2147483646_ <> 2147516413_ or 7692 32767_ + 2147483647_ <> 2147516414_ or 7693 32767_ + 2147483648_ <> 2147516415_ or 7694 32767_ + 2147483649_ <> 2147516416_ or 7695 32768_ + -2147483650_ <> -2147450882_ or 7696 32768_ + -2147483649_ <> -2147450881_ or 7697 32768_ + -2147483648_ <> -2147450880_ or 7698 32768_ + -2147483647_ <> -2147450879_ or 7699 32768_ + -32770_ <> -2_ or 7700 32768_ + -32769_ <> -1_ or 7701 32768_ + -32768_ <> 0_ or 7702 32768_ + -32767_ <> 1_ or 7703 32768_ + -2_ <> 32766_ or 7704 32768_ + -1_ <> 32767_ or 7705 32768_ + 0_ <> 32768_ or 7706 32768_ + 1_ <> 32769_ or 7707 32768_ + 32766_ <> 65534_ or 7708 32768_ + 32767_ <> 65535_ or 7709 32768_ + 32768_ <> 65536_ or 7710 32768_ + 32769_ <> 65537_ or 7711 32768_ + 2147483646_ <> 2147516414_ or 7712 32768_ + 2147483647_ <> 2147516415_ or 7713 32768_ + 2147483648_ <> 2147516416_ or 7714 32768_ + 2147483649_ <> 2147516417_ or 7715 32769_ + -2147483650_ <> -2147450881_ or 7716 32769_ + -2147483649_ <> -2147450880_ or 7717 32769_ + -2147483648_ <> -2147450879_ or 7718 32769_ + -2147483647_ <> -2147450878_ or 7719 32769_ + -32770_ <> -1_ or 7720 32769_ + -32769_ <> 0_ or 7721 32769_ + -32768_ <> 1_ or 7722 32769_ + -32767_ <> 2_ or 7723 32769_ + -2_ <> 32767_ or 7724 32769_ + -1_ <> 32768_ or 7725 32769_ + 0_ <> 32769_ or 7726 32769_ + 1_ <> 32770_ or 7727 32769_ + 32766_ <> 65535_ or 7728 32769_ + 32767_ <> 65536_ or 7729 32769_ + 32768_ <> 65537_ or 7730 32769_ + 32769_ <> 65538_ or 7731 32769_ + 2147483646_ <> 2147516415_ or 7732 32769_ + 2147483647_ <> 2147516416_ or 7733 32769_ + 2147483648_ <> 2147516417_ or 7734 32769_ + 2147483649_ <> 2147516418_ or 7735 2147483646_ + -2147483650_ <> -4_ or 7736 2147483646_ + -2147483649_ <> -3_ or 7737 2147483646_ + -2147483648_ <> -2_ or 7738 2147483646_ + -2147483647_ <> -1_ or 7739 2147483646_ + -32770_ <> 2147450876_ or 7740 2147483646_ + -32769_ <> 2147450877_ or 7741 2147483646_ + -32768_ <> 2147450878_ or 7742 2147483646_ + -32767_ <> 2147450879_ or 7743 2147483646_ + -2_ <> 2147483644_ or 7744 2147483646_ + -1_ <> 2147483645_ or 7745 2147483646_ + 0_ <> 2147483646_ or 7746 2147483646_ + 1_ <> 2147483647_ or 7747 2147483646_ + 32766_ <> 2147516412_ or 7748 2147483646_ + 32767_ <> 2147516413_ or 7749 2147483646_ + 32768_ <> 2147516414_ or 7750 2147483646_ + 32769_ <> 2147516415_ or 7751 2147483646_ + 2147483646_ <> 4294967292_ or 7752 2147483646_ + 2147483647_ <> 4294967293_ or 7753 2147483646_ + 2147483648_ <> 4294967294_ or 7754 2147483646_ + 2147483649_ <> 4294967295_ or 7755 2147483647_ + -2147483650_ <> -3_ or 7756 2147483647_ + -2147483649_ <> -2_ or 7757 2147483647_ + -2147483648_ <> -1_ or 7758 2147483647_ + -2147483647_ <> 0_ or 7759 2147483647_ + -32770_ <> 2147450877_ or 7760 2147483647_ + -32769_ <> 2147450878_ or 7761 2147483647_ + -32768_ <> 2147450879_ or 7762 2147483647_ + -32767_ <> 2147450880_ or 7763 2147483647_ + -2_ <> 2147483645_ or 7764 2147483647_ + -1_ <> 2147483646_ or 7765 2147483647_ + 0_ <> 2147483647_ or 7766 2147483647_ + 1_ <> 2147483648_ or 7767 2147483647_ + 32766_ <> 2147516413_ or 7768 2147483647_ + 32767_ <> 2147516414_ or 7769 2147483647_ + 32768_ <> 2147516415_ or 7770 2147483647_ + 32769_ <> 2147516416_ or 7771 2147483647_ + 2147483646_ <> 4294967293_ or 7772 2147483647_ + 2147483647_ <> 4294967294_ or 7773 2147483647_ + 2147483648_ <> 4294967295_ or 7774 2147483647_ + 2147483649_ <> 4294967296_ or 7775 2147483648_ + -2147483650_ <> -2_ or 7776 2147483648_ + -2147483649_ <> -1_ or 7777 2147483648_ + -2147483648_ <> 0_ or 7778 2147483648_ + -2147483647_ <> 1_ or 7779 2147483648_ + -32770_ <> 2147450878_ or 7780 2147483648_ + -32769_ <> 2147450879_ or 7781 2147483648_ + -32768_ <> 2147450880_ or 7782 2147483648_ + -32767_ <> 2147450881_ or 7783 2147483648_ + -2_ <> 2147483646_ or 7784 2147483648_ + -1_ <> 2147483647_ or 7785 2147483648_ + 0_ <> 2147483648_ or 7786 2147483648_ + 1_ <> 2147483649_ or 7787 2147483648_ + 32766_ <> 2147516414_ or 7788 2147483648_ + 32767_ <> 2147516415_ or 7789 2147483648_ + 32768_ <> 2147516416_ or 7790 2147483648_ + 32769_ <> 2147516417_ or 7791 2147483648_ + 2147483646_ <> 4294967294_ or 7792 2147483648_ + 2147483647_ <> 4294967295_ or 7793 2147483648_ + 2147483648_ <> 4294967296_ or 7794 2147483648_ + 2147483649_ <> 4294967297_ or 7795 2147483649_ + -2147483650_ <> -1_ or 7796 2147483649_ + -2147483649_ <> 0_ or 7797 2147483649_ + -2147483648_ <> 1_ or 7798 2147483649_ + -2147483647_ <> 2_ or 7799 2147483649_ + -32770_ <> 2147450879_ or 7800 2147483649_ + -32769_ <> 2147450880_ or 7801 2147483649_ + -32768_ <> 2147450881_ or 7802 2147483649_ + -32767_ <> 2147450882_ or 7803 2147483649_ + -2_ <> 2147483647_ or 7804 2147483649_ + -1_ <> 2147483648_ or 7805 2147483649_ + 0_ <> 2147483649_ or 7806 2147483649_ + 1_ <> 2147483650_ or 7807 2147483649_ + 32766_ <> 2147516415_ or 7808 2147483649_ + 32767_ <> 2147516416_ or 7809 2147483649_ + 32768_ <> 2147516417_ or 7810 2147483649_ + 32769_ <> 2147516418_ or 7811 2147483649_ + 2147483646_ <> 4294967295_ or 7812 2147483649_ + 2147483647_ <> 4294967296_ or 7813 2147483649_ + 2147483648_ <> 4294967297_ or 7814 2147483649_ + 2147483649_ <> 4294967298_ then 7815 writeln("Addition of bigInteger does not work correct."); 7816 okay := FALSE; 7817 end if; 7818 7819 number := 1000000_; 7820 if number + number <> 2000000_ then 7821 writeln("Addition of bigInteger with itself does not work correct."); 7822 okay := FALSE; 7823 end if; 7824 7825 if number + -number <> 0_ then 7826 writeln("Addition of bigInteger with its negated value does not work correct."); 7827 okay := FALSE; 7828 end if; 7829 7830 if okay then 7831 writeln("Addition of bigInteger works correct."); 7832 else 7833 writeln(" ***** Addition of bigInteger does not work correct."); 7834 writeln; 7835 end if; 7836 end func; 7837 7838 7839const func boolean: chkAddAssignLiteral1 is func 7840 result 7841 var boolean: ok is TRUE; 7842 local 7843 var bigInteger: big1 is 0_; 7844 begin 7845 big1 := -2147483650_; big1 +:= -2147483650_; ok := ok and big1 = -4294967300_; 7846 big1 := -2147483650_; big1 +:= -2147483649_; ok := ok and big1 = -4294967299_; 7847 big1 := -2147483650_; big1 +:= -2147483648_; ok := ok and big1 = -4294967298_; 7848 big1 := -2147483650_; big1 +:= -2147483647_; ok := ok and big1 = -4294967297_; 7849 big1 := -2147483650_; big1 +:= -32770_; ok := ok and big1 = -2147516420_; 7850 big1 := -2147483650_; big1 +:= -32769_; ok := ok and big1 = -2147516419_; 7851 big1 := -2147483650_; big1 +:= -32768_; ok := ok and big1 = -2147516418_; 7852 big1 := -2147483650_; big1 +:= -32767_; ok := ok and big1 = -2147516417_; 7853 big1 := -2147483650_; big1 +:= -2_; ok := ok and big1 = -2147483652_; 7854 big1 := -2147483650_; big1 +:= -1_; ok := ok and big1 = -2147483651_; 7855 big1 := -2147483650_; big1 +:= 0_; ok := ok and big1 = -2147483650_; 7856 big1 := -2147483650_; big1 +:= 1_; ok := ok and big1 = -2147483649_; 7857 big1 := -2147483650_; big1 +:= 2_; ok := ok and big1 = -2147483648_; 7858 big1 := -2147483650_; big1 +:= 32766_; ok := ok and big1 = -2147450884_; 7859 big1 := -2147483650_; big1 +:= 32767_; ok := ok and big1 = -2147450883_; 7860 big1 := -2147483650_; big1 +:= 32768_; ok := ok and big1 = -2147450882_; 7861 big1 := -2147483650_; big1 +:= 32769_; ok := ok and big1 = -2147450881_; 7862 big1 := -2147483650_; big1 +:= 2147483646_; ok := ok and big1 = -4_; 7863 big1 := -2147483650_; big1 +:= 2147483647_; ok := ok and big1 = -3_; 7864 big1 := -2147483650_; big1 +:= 2147483648_; ok := ok and big1 = -2_; 7865 big1 := -2147483650_; big1 +:= 2147483649_; ok := ok and big1 = -1_; 7866 big1 := -2147483649_; big1 +:= -2147483650_; ok := ok and big1 = -4294967299_; 7867 big1 := -2147483649_; big1 +:= -2147483649_; ok := ok and big1 = -4294967298_; 7868 big1 := -2147483649_; big1 +:= -2147483648_; ok := ok and big1 = -4294967297_; 7869 big1 := -2147483649_; big1 +:= -2147483647_; ok := ok and big1 = -4294967296_; 7870 big1 := -2147483649_; big1 +:= -32770_; ok := ok and big1 = -2147516419_; 7871 big1 := -2147483649_; big1 +:= -32769_; ok := ok and big1 = -2147516418_; 7872 big1 := -2147483649_; big1 +:= -32768_; ok := ok and big1 = -2147516417_; 7873 big1 := -2147483649_; big1 +:= -32767_; ok := ok and big1 = -2147516416_; 7874 big1 := -2147483649_; big1 +:= -2_; ok := ok and big1 = -2147483651_; 7875 big1 := -2147483649_; big1 +:= -1_; ok := ok and big1 = -2147483650_; 7876 big1 := -2147483649_; big1 +:= 0_; ok := ok and big1 = -2147483649_; 7877 big1 := -2147483649_; big1 +:= 1_; ok := ok and big1 = -2147483648_; 7878 big1 := -2147483649_; big1 +:= 2_; ok := ok and big1 = -2147483647_; 7879 big1 := -2147483649_; big1 +:= 32766_; ok := ok and big1 = -2147450883_; 7880 big1 := -2147483649_; big1 +:= 32767_; ok := ok and big1 = -2147450882_; 7881 big1 := -2147483649_; big1 +:= 32768_; ok := ok and big1 = -2147450881_; 7882 big1 := -2147483649_; big1 +:= 32769_; ok := ok and big1 = -2147450880_; 7883 big1 := -2147483649_; big1 +:= 2147483646_; ok := ok and big1 = -3_; 7884 big1 := -2147483649_; big1 +:= 2147483647_; ok := ok and big1 = -2_; 7885 big1 := -2147483649_; big1 +:= 2147483648_; ok := ok and big1 = -1_; 7886 big1 := -2147483649_; big1 +:= 2147483649_; ok := ok and big1 = 0_; 7887 big1 := -2147483648_; big1 +:= -2147483650_; ok := ok and big1 = -4294967298_; 7888 big1 := -2147483648_; big1 +:= -2147483649_; ok := ok and big1 = -4294967297_; 7889 big1 := -2147483648_; big1 +:= -2147483648_; ok := ok and big1 = -4294967296_; 7890 big1 := -2147483648_; big1 +:= -2147483647_; ok := ok and big1 = -4294967295_; 7891 big1 := -2147483648_; big1 +:= -32770_; ok := ok and big1 = -2147516418_; 7892 big1 := -2147483648_; big1 +:= -32769_; ok := ok and big1 = -2147516417_; 7893 big1 := -2147483648_; big1 +:= -32768_; ok := ok and big1 = -2147516416_; 7894 big1 := -2147483648_; big1 +:= -32767_; ok := ok and big1 = -2147516415_; 7895 big1 := -2147483648_; big1 +:= -2_; ok := ok and big1 = -2147483650_; 7896 big1 := -2147483648_; big1 +:= -1_; ok := ok and big1 = -2147483649_; 7897 big1 := -2147483648_; big1 +:= 0_; ok := ok and big1 = -2147483648_; 7898 big1 := -2147483648_; big1 +:= 1_; ok := ok and big1 = -2147483647_; 7899 big1 := -2147483648_; big1 +:= 2_; ok := ok and big1 = -2147483646_; 7900 big1 := -2147483648_; big1 +:= 32766_; ok := ok and big1 = -2147450882_; 7901 big1 := -2147483648_; big1 +:= 32767_; ok := ok and big1 = -2147450881_; 7902 big1 := -2147483648_; big1 +:= 32768_; ok := ok and big1 = -2147450880_; 7903 big1 := -2147483648_; big1 +:= 32769_; ok := ok and big1 = -2147450879_; 7904 big1 := -2147483648_; big1 +:= 2147483646_; ok := ok and big1 = -2_; 7905 big1 := -2147483648_; big1 +:= 2147483647_; ok := ok and big1 = -1_; 7906 big1 := -2147483648_; big1 +:= 2147483648_; ok := ok and big1 = 0_; 7907 big1 := -2147483648_; big1 +:= 2147483649_; ok := ok and big1 = 1_; 7908 big1 := -2147483647_; big1 +:= -2147483650_; ok := ok and big1 = -4294967297_; 7909 big1 := -2147483647_; big1 +:= -2147483649_; ok := ok and big1 = -4294967296_; 7910 big1 := -2147483647_; big1 +:= -2147483648_; ok := ok and big1 = -4294967295_; 7911 big1 := -2147483647_; big1 +:= -2147483647_; ok := ok and big1 = -4294967294_; 7912 big1 := -2147483647_; big1 +:= -32770_; ok := ok and big1 = -2147516417_; 7913 big1 := -2147483647_; big1 +:= -32769_; ok := ok and big1 = -2147516416_; 7914 big1 := -2147483647_; big1 +:= -32768_; ok := ok and big1 = -2147516415_; 7915 big1 := -2147483647_; big1 +:= -32767_; ok := ok and big1 = -2147516414_; 7916 big1 := -2147483647_; big1 +:= -2_; ok := ok and big1 = -2147483649_; 7917 big1 := -2147483647_; big1 +:= -1_; ok := ok and big1 = -2147483648_; 7918 big1 := -2147483647_; big1 +:= 0_; ok := ok and big1 = -2147483647_; 7919 big1 := -2147483647_; big1 +:= 1_; ok := ok and big1 = -2147483646_; 7920 big1 := -2147483647_; big1 +:= 2_; ok := ok and big1 = -2147483645_; 7921 big1 := -2147483647_; big1 +:= 32766_; ok := ok and big1 = -2147450881_; 7922 big1 := -2147483647_; big1 +:= 32767_; ok := ok and big1 = -2147450880_; 7923 big1 := -2147483647_; big1 +:= 32768_; ok := ok and big1 = -2147450879_; 7924 big1 := -2147483647_; big1 +:= 32769_; ok := ok and big1 = -2147450878_; 7925 big1 := -2147483647_; big1 +:= 2147483646_; ok := ok and big1 = -1_; 7926 big1 := -2147483647_; big1 +:= 2147483647_; ok := ok and big1 = 0_; 7927 big1 := -2147483647_; big1 +:= 2147483648_; ok := ok and big1 = 1_; 7928 big1 := -2147483647_; big1 +:= 2147483649_; ok := ok and big1 = 2_; 7929 big1 := -32770_; big1 +:= -2147483650_; ok := ok and big1 = -2147516420_; 7930 big1 := -32770_; big1 +:= -2147483649_; ok := ok and big1 = -2147516419_; 7931 big1 := -32770_; big1 +:= -2147483648_; ok := ok and big1 = -2147516418_; 7932 big1 := -32770_; big1 +:= -2147483647_; ok := ok and big1 = -2147516417_; 7933 big1 := -32770_; big1 +:= -32770_; ok := ok and big1 = -65540_; 7934 big1 := -32770_; big1 +:= -32769_; ok := ok and big1 = -65539_; 7935 big1 := -32770_; big1 +:= -32768_; ok := ok and big1 = -65538_; 7936 big1 := -32770_; big1 +:= -32767_; ok := ok and big1 = -65537_; 7937 big1 := -32770_; big1 +:= -2_; ok := ok and big1 = -32772_; 7938 big1 := -32770_; big1 +:= -1_; ok := ok and big1 = -32771_; 7939 big1 := -32770_; big1 +:= 0_; ok := ok and big1 = -32770_; 7940 big1 := -32770_; big1 +:= 1_; ok := ok and big1 = -32769_; 7941 big1 := -32770_; big1 +:= 2_; ok := ok and big1 = -32768_; 7942 big1 := -32770_; big1 +:= 32766_; ok := ok and big1 = -4_; 7943 big1 := -32770_; big1 +:= 32767_; ok := ok and big1 = -3_; 7944 big1 := -32770_; big1 +:= 32768_; ok := ok and big1 = -2_; 7945 big1 := -32770_; big1 +:= 32769_; ok := ok and big1 = -1_; 7946 big1 := -32770_; big1 +:= 2147483646_; ok := ok and big1 = 2147450876_; 7947 big1 := -32770_; big1 +:= 2147483647_; ok := ok and big1 = 2147450877_; 7948 big1 := -32770_; big1 +:= 2147483648_; ok := ok and big1 = 2147450878_; 7949 big1 := -32770_; big1 +:= 2147483649_; ok := ok and big1 = 2147450879_; 7950 big1 := -32769_; big1 +:= -2147483650_; ok := ok and big1 = -2147516419_; 7951 big1 := -32769_; big1 +:= -2147483649_; ok := ok and big1 = -2147516418_; 7952 big1 := -32769_; big1 +:= -2147483648_; ok := ok and big1 = -2147516417_; 7953 big1 := -32769_; big1 +:= -2147483647_; ok := ok and big1 = -2147516416_; 7954 big1 := -32769_; big1 +:= -32770_; ok := ok and big1 = -65539_; 7955 big1 := -32769_; big1 +:= -32769_; ok := ok and big1 = -65538_; 7956 big1 := -32769_; big1 +:= -32768_; ok := ok and big1 = -65537_; 7957 big1 := -32769_; big1 +:= -32767_; ok := ok and big1 = -65536_; 7958 big1 := -32769_; big1 +:= -2_; ok := ok and big1 = -32771_; 7959 big1 := -32769_; big1 +:= -1_; ok := ok and big1 = -32770_; 7960 big1 := -32769_; big1 +:= 0_; ok := ok and big1 = -32769_; 7961 big1 := -32769_; big1 +:= 1_; ok := ok and big1 = -32768_; 7962 big1 := -32769_; big1 +:= 2_; ok := ok and big1 = -32767_; 7963 big1 := -32769_; big1 +:= 32766_; ok := ok and big1 = -3_; 7964 big1 := -32769_; big1 +:= 32767_; ok := ok and big1 = -2_; 7965 big1 := -32769_; big1 +:= 32768_; ok := ok and big1 = -1_; 7966 big1 := -32769_; big1 +:= 32769_; ok := ok and big1 = 0_; 7967 big1 := -32769_; big1 +:= 2147483646_; ok := ok and big1 = 2147450877_; 7968 big1 := -32769_; big1 +:= 2147483647_; ok := ok and big1 = 2147450878_; 7969 big1 := -32769_; big1 +:= 2147483648_; ok := ok and big1 = 2147450879_; 7970 big1 := -32769_; big1 +:= 2147483649_; ok := ok and big1 = 2147450880_; 7971 big1 := -32768_; big1 +:= -2147483650_; ok := ok and big1 = -2147516418_; 7972 big1 := -32768_; big1 +:= -2147483649_; ok := ok and big1 = -2147516417_; 7973 big1 := -32768_; big1 +:= -2147483648_; ok := ok and big1 = -2147516416_; 7974 big1 := -32768_; big1 +:= -2147483647_; ok := ok and big1 = -2147516415_; 7975 big1 := -32768_; big1 +:= -32770_; ok := ok and big1 = -65538_; 7976 big1 := -32768_; big1 +:= -32769_; ok := ok and big1 = -65537_; 7977 big1 := -32768_; big1 +:= -32768_; ok := ok and big1 = -65536_; 7978 big1 := -32768_; big1 +:= -32767_; ok := ok and big1 = -65535_; 7979 big1 := -32768_; big1 +:= -2_; ok := ok and big1 = -32770_; 7980 big1 := -32768_; big1 +:= -1_; ok := ok and big1 = -32769_; 7981 big1 := -32768_; big1 +:= 0_; ok := ok and big1 = -32768_; 7982 big1 := -32768_; big1 +:= 1_; ok := ok and big1 = -32767_; 7983 big1 := -32768_; big1 +:= 2_; ok := ok and big1 = -32766_; 7984 big1 := -32768_; big1 +:= 32766_; ok := ok and big1 = -2_; 7985 big1 := -32768_; big1 +:= 32767_; ok := ok and big1 = -1_; 7986 big1 := -32768_; big1 +:= 32768_; ok := ok and big1 = 0_; 7987 big1 := -32768_; big1 +:= 32769_; ok := ok and big1 = 1_; 7988 big1 := -32768_; big1 +:= 2147483646_; ok := ok and big1 = 2147450878_; 7989 big1 := -32768_; big1 +:= 2147483647_; ok := ok and big1 = 2147450879_; 7990 big1 := -32768_; big1 +:= 2147483648_; ok := ok and big1 = 2147450880_; 7991 big1 := -32768_; big1 +:= 2147483649_; ok := ok and big1 = 2147450881_; 7992 big1 := -32767_; big1 +:= -2147483650_; ok := ok and big1 = -2147516417_; 7993 big1 := -32767_; big1 +:= -2147483649_; ok := ok and big1 = -2147516416_; 7994 big1 := -32767_; big1 +:= -2147483648_; ok := ok and big1 = -2147516415_; 7995 big1 := -32767_; big1 +:= -2147483647_; ok := ok and big1 = -2147516414_; 7996 big1 := -32767_; big1 +:= -32770_; ok := ok and big1 = -65537_; 7997 big1 := -32767_; big1 +:= -32769_; ok := ok and big1 = -65536_; 7998 big1 := -32767_; big1 +:= -32768_; ok := ok and big1 = -65535_; 7999 big1 := -32767_; big1 +:= -32767_; ok := ok and big1 = -65534_; 8000 big1 := -32767_; big1 +:= -2_; ok := ok and big1 = -32769_; 8001 big1 := -32767_; big1 +:= -1_; ok := ok and big1 = -32768_; 8002 big1 := -32767_; big1 +:= 0_; ok := ok and big1 = -32767_; 8003 big1 := -32767_; big1 +:= 1_; ok := ok and big1 = -32766_; 8004 big1 := -32767_; big1 +:= 32766_; ok := ok and big1 = -1_; 8005 big1 := -32767_; big1 +:= 32767_; ok := ok and big1 = 0_; 8006 big1 := -32767_; big1 +:= 32768_; ok := ok and big1 = 1_; 8007 big1 := -32767_; big1 +:= 32769_; ok := ok and big1 = 2_; 8008 big1 := -32767_; big1 +:= 2147483646_; ok := ok and big1 = 2147450879_; 8009 big1 := -32767_; big1 +:= 2147483647_; ok := ok and big1 = 2147450880_; 8010 big1 := -32767_; big1 +:= 2147483648_; ok := ok and big1 = 2147450881_; 8011 big1 := -32767_; big1 +:= 2147483649_; ok := ok and big1 = 2147450882_; 8012 big1 := -2_; big1 +:= -2147483650_; ok := ok and big1 = -2147483652_; 8013 big1 := -2_; big1 +:= -2147483649_; ok := ok and big1 = -2147483651_; 8014 big1 := -2_; big1 +:= -2147483648_; ok := ok and big1 = -2147483650_; 8015 big1 := -2_; big1 +:= -2147483647_; ok := ok and big1 = -2147483649_; 8016 big1 := -2_; big1 +:= -32770_; ok := ok and big1 = -32772_; 8017 big1 := -2_; big1 +:= -32769_; ok := ok and big1 = -32771_; 8018 big1 := -2_; big1 +:= -32768_; ok := ok and big1 = -32770_; 8019 big1 := -2_; big1 +:= -32767_; ok := ok and big1 = -32769_; 8020 big1 := -2_; big1 +:= -2_; ok := ok and big1 = -4_; 8021 big1 := -2_; big1 +:= -1_; ok := ok and big1 = -3_; 8022 big1 := -2_; big1 +:= 0_; ok := ok and big1 = -2_; 8023 big1 := -2_; big1 +:= 1_; ok := ok and big1 = -1_; 8024 big1 := -2_; big1 +:= 2_; ok := ok and big1 = 0_; 8025 big1 := -2_; big1 +:= 32766_; ok := ok and big1 = 32764_; 8026 big1 := -2_; big1 +:= 32767_; ok := ok and big1 = 32765_; 8027 big1 := -2_; big1 +:= 32768_; ok := ok and big1 = 32766_; 8028 big1 := -2_; big1 +:= 32769_; ok := ok and big1 = 32767_; 8029 big1 := -2_; big1 +:= 2147483646_; ok := ok and big1 = 2147483644_; 8030 big1 := -2_; big1 +:= 2147483647_; ok := ok and big1 = 2147483645_; 8031 big1 := -2_; big1 +:= 2147483648_; ok := ok and big1 = 2147483646_; 8032 big1 := -2_; big1 +:= 2147483649_; ok := ok and big1 = 2147483647_; 8033 big1 := -1_; big1 +:= -2147483650_; ok := ok and big1 = -2147483651_; 8034 big1 := -1_; big1 +:= -2147483649_; ok := ok and big1 = -2147483650_; 8035 big1 := -1_; big1 +:= -2147483648_; ok := ok and big1 = -2147483649_; 8036 big1 := -1_; big1 +:= -2147483647_; ok := ok and big1 = -2147483648_; 8037 big1 := -1_; big1 +:= -32770_; ok := ok and big1 = -32771_; 8038 big1 := -1_; big1 +:= -32769_; ok := ok and big1 = -32770_; 8039 big1 := -1_; big1 +:= -32768_; ok := ok and big1 = -32769_; 8040 big1 := -1_; big1 +:= -32767_; ok := ok and big1 = -32768_; 8041 big1 := -1_; big1 +:= -2_; ok := ok and big1 = -3_; 8042 big1 := -1_; big1 +:= -1_; ok := ok and big1 = -2_; 8043 big1 := -1_; big1 +:= 0_; ok := ok and big1 = -1_; 8044 big1 := -1_; big1 +:= 1_; ok := ok and big1 = 0_; 8045 big1 := -1_; big1 +:= 2_; ok := ok and big1 = 1_; 8046 big1 := -1_; big1 +:= 32766_; ok := ok and big1 = 32765_; 8047 big1 := -1_; big1 +:= 32767_; ok := ok and big1 = 32766_; 8048 big1 := -1_; big1 +:= 32768_; ok := ok and big1 = 32767_; 8049 big1 := -1_; big1 +:= 32769_; ok := ok and big1 = 32768_; 8050 big1 := -1_; big1 +:= 2147483646_; ok := ok and big1 = 2147483645_; 8051 big1 := -1_; big1 +:= 2147483647_; ok := ok and big1 = 2147483646_; 8052 big1 := -1_; big1 +:= 2147483648_; ok := ok and big1 = 2147483647_; 8053 big1 := -1_; big1 +:= 2147483649_; ok := ok and big1 = 2147483648_; 8054 if not ok then 8055 writeln("Addition assignment of bigInteger with literal does not work correct. (1)"); 8056 end if; 8057 end func; 8058 8059 8060const func boolean: chkAddAssignLiteral2 is func 8061 result 8062 var boolean: ok is TRUE; 8063 local 8064 var bigInteger: big1 is 0_; 8065 begin 8066 big1 := 0_; big1 +:= -2147483650_; ok := ok and big1 = -2147483650_; 8067 big1 := 0_; big1 +:= -2147483649_; ok := ok and big1 = -2147483649_; 8068 big1 := 0_; big1 +:= -2147483648_; ok := ok and big1 = -2147483648_; 8069 big1 := 0_; big1 +:= -2147483647_; ok := ok and big1 = -2147483647_; 8070 big1 := 0_; big1 +:= -32770_; ok := ok and big1 = -32770_; 8071 big1 := 0_; big1 +:= -32769_; ok := ok and big1 = -32769_; 8072 big1 := 0_; big1 +:= -32768_; ok := ok and big1 = -32768_; 8073 big1 := 0_; big1 +:= -32767_; ok := ok and big1 = -32767_; 8074 big1 := 0_; big1 +:= -2_; ok := ok and big1 = -2_; 8075 big1 := 0_; big1 +:= -1_; ok := ok and big1 = -1_; 8076 big1 := 0_; big1 +:= 0_; ok := ok and big1 = 0_; 8077 big1 := 0_; big1 +:= 1_; ok := ok and big1 = 1_; 8078 big1 := 0_; big1 +:= 2_; ok := ok and big1 = 2_; 8079 big1 := 0_; big1 +:= 32766_; ok := ok and big1 = 32766_; 8080 big1 := 0_; big1 +:= 32767_; ok := ok and big1 = 32767_; 8081 big1 := 0_; big1 +:= 32768_; ok := ok and big1 = 32768_; 8082 big1 := 0_; big1 +:= 32769_; ok := ok and big1 = 32769_; 8083 big1 := 0_; big1 +:= 2147483646_; ok := ok and big1 = 2147483646_; 8084 big1 := 0_; big1 +:= 2147483647_; ok := ok and big1 = 2147483647_; 8085 big1 := 0_; big1 +:= 2147483648_; ok := ok and big1 = 2147483648_; 8086 big1 := 0_; big1 +:= 2147483649_; ok := ok and big1 = 2147483649_; 8087 big1 := 1_; big1 +:= -2147483650_; ok := ok and big1 = -2147483649_; 8088 big1 := 1_; big1 +:= -2147483649_; ok := ok and big1 = -2147483648_; 8089 big1 := 1_; big1 +:= -2147483648_; ok := ok and big1 = -2147483647_; 8090 big1 := 1_; big1 +:= -2147483647_; ok := ok and big1 = -2147483646_; 8091 big1 := 1_; big1 +:= -32770_; ok := ok and big1 = -32769_; 8092 big1 := 1_; big1 +:= -32769_; ok := ok and big1 = -32768_; 8093 big1 := 1_; big1 +:= -32768_; ok := ok and big1 = -32767_; 8094 big1 := 1_; big1 +:= -32767_; ok := ok and big1 = -32766_; 8095 big1 := 1_; big1 +:= -2_; ok := ok and big1 = -1_; 8096 big1 := 1_; big1 +:= -1_; ok := ok and big1 = 0_; 8097 big1 := 1_; big1 +:= 0_; ok := ok and big1 = 1_; 8098 big1 := 1_; big1 +:= 1_; ok := ok and big1 = 2_; 8099 big1 := 1_; big1 +:= 2_; ok := ok and big1 = 3_; 8100 big1 := 1_; big1 +:= 32766_; ok := ok and big1 = 32767_; 8101 big1 := 1_; big1 +:= 32767_; ok := ok and big1 = 32768_; 8102 big1 := 1_; big1 +:= 32768_; ok := ok and big1 = 32769_; 8103 big1 := 1_; big1 +:= 32769_; ok := ok and big1 = 32770_; 8104 big1 := 1_; big1 +:= 2147483646_; ok := ok and big1 = 2147483647_; 8105 big1 := 1_; big1 +:= 2147483647_; ok := ok and big1 = 2147483648_; 8106 big1 := 1_; big1 +:= 2147483648_; ok := ok and big1 = 2147483649_; 8107 big1 := 1_; big1 +:= 2147483649_; ok := ok and big1 = 2147483650_; 8108 big1 := 2_; big1 +:= -2147483650_; ok := ok and big1 = -2147483648_; 8109 big1 := 2_; big1 +:= -2147483649_; ok := ok and big1 = -2147483647_; 8110 big1 := 2_; big1 +:= -2147483648_; ok := ok and big1 = -2147483646_; 8111 big1 := 2_; big1 +:= -2147483647_; ok := ok and big1 = -2147483645_; 8112 big1 := 2_; big1 +:= -32770_; ok := ok and big1 = -32768_; 8113 big1 := 2_; big1 +:= -32769_; ok := ok and big1 = -32767_; 8114 big1 := 2_; big1 +:= -32768_; ok := ok and big1 = -32766_; 8115 big1 := 2_; big1 +:= -32767_; ok := ok and big1 = -32765_; 8116 big1 := 2_; big1 +:= -2_; ok := ok and big1 = 0_; 8117 big1 := 2_; big1 +:= -1_; ok := ok and big1 = 1_; 8118 big1 := 2_; big1 +:= 0_; ok := ok and big1 = 2_; 8119 big1 := 2_; big1 +:= 1_; ok := ok and big1 = 3_; 8120 big1 := 2_; big1 +:= 2_; ok := ok and big1 = 4_; 8121 big1 := 2_; big1 +:= 32766_; ok := ok and big1 = 32768_; 8122 big1 := 2_; big1 +:= 32767_; ok := ok and big1 = 32769_; 8123 big1 := 2_; big1 +:= 32768_; ok := ok and big1 = 32770_; 8124 big1 := 2_; big1 +:= 32769_; ok := ok and big1 = 32771_; 8125 big1 := 2_; big1 +:= 2147483646_; ok := ok and big1 = 2147483648_; 8126 big1 := 2_; big1 +:= 2147483647_; ok := ok and big1 = 2147483649_; 8127 big1 := 2_; big1 +:= 2147483648_; ok := ok and big1 = 2147483650_; 8128 big1 := 2_; big1 +:= 2147483649_; ok := ok and big1 = 2147483651_; 8129 big1 := 32766_; big1 +:= -2147483650_; ok := ok and big1 = -2147450884_; 8130 big1 := 32766_; big1 +:= -2147483649_; ok := ok and big1 = -2147450883_; 8131 big1 := 32766_; big1 +:= -2147483648_; ok := ok and big1 = -2147450882_; 8132 big1 := 32766_; big1 +:= -2147483647_; ok := ok and big1 = -2147450881_; 8133 big1 := 32766_; big1 +:= -32770_; ok := ok and big1 = -4_; 8134 big1 := 32766_; big1 +:= -32769_; ok := ok and big1 = -3_; 8135 big1 := 32766_; big1 +:= -32768_; ok := ok and big1 = -2_; 8136 big1 := 32766_; big1 +:= -32767_; ok := ok and big1 = -1_; 8137 big1 := 32766_; big1 +:= -2_; ok := ok and big1 = 32764_; 8138 big1 := 32766_; big1 +:= -1_; ok := ok and big1 = 32765_; 8139 big1 := 32766_; big1 +:= 0_; ok := ok and big1 = 32766_; 8140 big1 := 32766_; big1 +:= 1_; ok := ok and big1 = 32767_; 8141 big1 := 32766_; big1 +:= 2_; ok := ok and big1 = 32768_; 8142 big1 := 32766_; big1 +:= 32766_; ok := ok and big1 = 65532_; 8143 big1 := 32766_; big1 +:= 32767_; ok := ok and big1 = 65533_; 8144 big1 := 32766_; big1 +:= 32768_; ok := ok and big1 = 65534_; 8145 big1 := 32766_; big1 +:= 32769_; ok := ok and big1 = 65535_; 8146 big1 := 32766_; big1 +:= 2147483646_; ok := ok and big1 = 2147516412_; 8147 big1 := 32766_; big1 +:= 2147483647_; ok := ok and big1 = 2147516413_; 8148 big1 := 32766_; big1 +:= 2147483648_; ok := ok and big1 = 2147516414_; 8149 big1 := 32766_; big1 +:= 2147483649_; ok := ok and big1 = 2147516415_; 8150 big1 := 32767_; big1 +:= -2147483650_; ok := ok and big1 = -2147450883_; 8151 big1 := 32767_; big1 +:= -2147483649_; ok := ok and big1 = -2147450882_; 8152 big1 := 32767_; big1 +:= -2147483648_; ok := ok and big1 = -2147450881_; 8153 big1 := 32767_; big1 +:= -2147483647_; ok := ok and big1 = -2147450880_; 8154 big1 := 32767_; big1 +:= -32770_; ok := ok and big1 = -3_; 8155 big1 := 32767_; big1 +:= -32769_; ok := ok and big1 = -2_; 8156 big1 := 32767_; big1 +:= -32768_; ok := ok and big1 = -1_; 8157 big1 := 32767_; big1 +:= -32767_; ok := ok and big1 = 0_; 8158 big1 := 32767_; big1 +:= -2_; ok := ok and big1 = 32765_; 8159 big1 := 32767_; big1 +:= -1_; ok := ok and big1 = 32766_; 8160 big1 := 32767_; big1 +:= 0_; ok := ok and big1 = 32767_; 8161 big1 := 32767_; big1 +:= 1_; ok := ok and big1 = 32768_; 8162 big1 := 32767_; big1 +:= 2_; ok := ok and big1 = 32769_; 8163 big1 := 32767_; big1 +:= 32766_; ok := ok and big1 = 65533_; 8164 big1 := 32767_; big1 +:= 32767_; ok := ok and big1 = 65534_; 8165 big1 := 32767_; big1 +:= 32768_; ok := ok and big1 = 65535_; 8166 big1 := 32767_; big1 +:= 32769_; ok := ok and big1 = 65536_; 8167 big1 := 32767_; big1 +:= 2147483646_; ok := ok and big1 = 2147516413_; 8168 big1 := 32767_; big1 +:= 2147483647_; ok := ok and big1 = 2147516414_; 8169 big1 := 32767_; big1 +:= 2147483648_; ok := ok and big1 = 2147516415_; 8170 big1 := 32767_; big1 +:= 2147483649_; ok := ok and big1 = 2147516416_; 8171 big1 := 32768_; big1 +:= -2147483650_; ok := ok and big1 = -2147450882_; 8172 big1 := 32768_; big1 +:= -2147483649_; ok := ok and big1 = -2147450881_; 8173 big1 := 32768_; big1 +:= -2147483648_; ok := ok and big1 = -2147450880_; 8174 big1 := 32768_; big1 +:= -2147483647_; ok := ok and big1 = -2147450879_; 8175 big1 := 32768_; big1 +:= -32770_; ok := ok and big1 = -2_; 8176 big1 := 32768_; big1 +:= -32769_; ok := ok and big1 = -1_; 8177 big1 := 32768_; big1 +:= -32768_; ok := ok and big1 = 0_; 8178 big1 := 32768_; big1 +:= -32767_; ok := ok and big1 = 1_; 8179 big1 := 32768_; big1 +:= -2_; ok := ok and big1 = 32766_; 8180 big1 := 32768_; big1 +:= -1_; ok := ok and big1 = 32767_; 8181 big1 := 32768_; big1 +:= 0_; ok := ok and big1 = 32768_; 8182 big1 := 32768_; big1 +:= 1_; ok := ok and big1 = 32769_; 8183 big1 := 32768_; big1 +:= 2_; ok := ok and big1 = 32770_; 8184 big1 := 32768_; big1 +:= 32766_; ok := ok and big1 = 65534_; 8185 big1 := 32768_; big1 +:= 32767_; ok := ok and big1 = 65535_; 8186 big1 := 32768_; big1 +:= 32768_; ok := ok and big1 = 65536_; 8187 big1 := 32768_; big1 +:= 32769_; ok := ok and big1 = 65537_; 8188 big1 := 32768_; big1 +:= 2147483646_; ok := ok and big1 = 2147516414_; 8189 big1 := 32768_; big1 +:= 2147483647_; ok := ok and big1 = 2147516415_; 8190 big1 := 32768_; big1 +:= 2147483648_; ok := ok and big1 = 2147516416_; 8191 big1 := 32768_; big1 +:= 2147483649_; ok := ok and big1 = 2147516417_; 8192 big1 := 32769_; big1 +:= -2147483650_; ok := ok and big1 = -2147450881_; 8193 big1 := 32769_; big1 +:= -2147483649_; ok := ok and big1 = -2147450880_; 8194 big1 := 32769_; big1 +:= -2147483648_; ok := ok and big1 = -2147450879_; 8195 big1 := 32769_; big1 +:= -2147483647_; ok := ok and big1 = -2147450878_; 8196 big1 := 32769_; big1 +:= -32770_; ok := ok and big1 = -1_; 8197 big1 := 32769_; big1 +:= -32769_; ok := ok and big1 = 0_; 8198 big1 := 32769_; big1 +:= -32768_; ok := ok and big1 = 1_; 8199 big1 := 32769_; big1 +:= -32767_; ok := ok and big1 = 2_; 8200 big1 := 32769_; big1 +:= -2_; ok := ok and big1 = 32767_; 8201 big1 := 32769_; big1 +:= -1_; ok := ok and big1 = 32768_; 8202 big1 := 32769_; big1 +:= 0_; ok := ok and big1 = 32769_; 8203 big1 := 32769_; big1 +:= 1_; ok := ok and big1 = 32770_; 8204 big1 := 32769_; big1 +:= 2_; ok := ok and big1 = 32771_; 8205 big1 := 32769_; big1 +:= 32766_; ok := ok and big1 = 65535_; 8206 big1 := 32769_; big1 +:= 32767_; ok := ok and big1 = 65536_; 8207 big1 := 32769_; big1 +:= 32768_; ok := ok and big1 = 65537_; 8208 big1 := 32769_; big1 +:= 32769_; ok := ok and big1 = 65538_; 8209 big1 := 32769_; big1 +:= 2147483646_; ok := ok and big1 = 2147516415_; 8210 big1 := 32769_; big1 +:= 2147483647_; ok := ok and big1 = 2147516416_; 8211 big1 := 32769_; big1 +:= 2147483648_; ok := ok and big1 = 2147516417_; 8212 big1 := 32769_; big1 +:= 2147483649_; ok := ok and big1 = 2147516418_; 8213 big1 := 2147483646_; big1 +:= -2147483650_; ok := ok and big1 = -4_; 8214 big1 := 2147483646_; big1 +:= -2147483649_; ok := ok and big1 = -3_; 8215 big1 := 2147483646_; big1 +:= -2147483648_; ok := ok and big1 = -2_; 8216 big1 := 2147483646_; big1 +:= -2147483647_; ok := ok and big1 = -1_; 8217 big1 := 2147483646_; big1 +:= -32770_; ok := ok and big1 = 2147450876_; 8218 big1 := 2147483646_; big1 +:= -32769_; ok := ok and big1 = 2147450877_; 8219 big1 := 2147483646_; big1 +:= -32768_; ok := ok and big1 = 2147450878_; 8220 big1 := 2147483646_; big1 +:= -32767_; ok := ok and big1 = 2147450879_; 8221 big1 := 2147483646_; big1 +:= -2_; ok := ok and big1 = 2147483644_; 8222 big1 := 2147483646_; big1 +:= -1_; ok := ok and big1 = 2147483645_; 8223 big1 := 2147483646_; big1 +:= 0_; ok := ok and big1 = 2147483646_; 8224 big1 := 2147483646_; big1 +:= 1_; ok := ok and big1 = 2147483647_; 8225 big1 := 2147483646_; big1 +:= 2_; ok := ok and big1 = 2147483648_; 8226 big1 := 2147483646_; big1 +:= 32766_; ok := ok and big1 = 2147516412_; 8227 big1 := 2147483646_; big1 +:= 32767_; ok := ok and big1 = 2147516413_; 8228 big1 := 2147483646_; big1 +:= 32768_; ok := ok and big1 = 2147516414_; 8229 big1 := 2147483646_; big1 +:= 32769_; ok := ok and big1 = 2147516415_; 8230 big1 := 2147483646_; big1 +:= 2147483646_; ok := ok and big1 = 4294967292_; 8231 big1 := 2147483646_; big1 +:= 2147483647_; ok := ok and big1 = 4294967293_; 8232 big1 := 2147483646_; big1 +:= 2147483648_; ok := ok and big1 = 4294967294_; 8233 big1 := 2147483646_; big1 +:= 2147483649_; ok := ok and big1 = 4294967295_; 8234 big1 := 2147483647_; big1 +:= -2147483650_; ok := ok and big1 = -3_; 8235 big1 := 2147483647_; big1 +:= -2147483649_; ok := ok and big1 = -2_; 8236 big1 := 2147483647_; big1 +:= -2147483648_; ok := ok and big1 = -1_; 8237 big1 := 2147483647_; big1 +:= -2147483647_; ok := ok and big1 = 0_; 8238 big1 := 2147483647_; big1 +:= -32770_; ok := ok and big1 = 2147450877_; 8239 big1 := 2147483647_; big1 +:= -32769_; ok := ok and big1 = 2147450878_; 8240 big1 := 2147483647_; big1 +:= -32768_; ok := ok and big1 = 2147450879_; 8241 big1 := 2147483647_; big1 +:= -32767_; ok := ok and big1 = 2147450880_; 8242 big1 := 2147483647_; big1 +:= -2_; ok := ok and big1 = 2147483645_; 8243 big1 := 2147483647_; big1 +:= -1_; ok := ok and big1 = 2147483646_; 8244 big1 := 2147483647_; big1 +:= 0_; ok := ok and big1 = 2147483647_; 8245 big1 := 2147483647_; big1 +:= 1_; ok := ok and big1 = 2147483648_; 8246 big1 := 2147483647_; big1 +:= 2_; ok := ok and big1 = 2147483649_; 8247 big1 := 2147483647_; big1 +:= 32766_; ok := ok and big1 = 2147516413_; 8248 big1 := 2147483647_; big1 +:= 32767_; ok := ok and big1 = 2147516414_; 8249 big1 := 2147483647_; big1 +:= 32768_; ok := ok and big1 = 2147516415_; 8250 big1 := 2147483647_; big1 +:= 32769_; ok := ok and big1 = 2147516416_; 8251 big1 := 2147483647_; big1 +:= 2147483646_; ok := ok and big1 = 4294967293_; 8252 big1 := 2147483647_; big1 +:= 2147483647_; ok := ok and big1 = 4294967294_; 8253 big1 := 2147483647_; big1 +:= 2147483648_; ok := ok and big1 = 4294967295_; 8254 big1 := 2147483647_; big1 +:= 2147483649_; ok := ok and big1 = 4294967296_; 8255 big1 := 2147483648_; big1 +:= -2147483650_; ok := ok and big1 = -2_; 8256 big1 := 2147483648_; big1 +:= -2147483649_; ok := ok and big1 = -1_; 8257 big1 := 2147483648_; big1 +:= -2147483648_; ok := ok and big1 = 0_; 8258 big1 := 2147483648_; big1 +:= -2147483647_; ok := ok and big1 = 1_; 8259 big1 := 2147483648_; big1 +:= -32770_; ok := ok and big1 = 2147450878_; 8260 big1 := 2147483648_; big1 +:= -32769_; ok := ok and big1 = 2147450879_; 8261 big1 := 2147483648_; big1 +:= -32768_; ok := ok and big1 = 2147450880_; 8262 big1 := 2147483648_; big1 +:= -32767_; ok := ok and big1 = 2147450881_; 8263 big1 := 2147483648_; big1 +:= -2_; ok := ok and big1 = 2147483646_; 8264 big1 := 2147483648_; big1 +:= -1_; ok := ok and big1 = 2147483647_; 8265 big1 := 2147483648_; big1 +:= 0_; ok := ok and big1 = 2147483648_; 8266 big1 := 2147483648_; big1 +:= 1_; ok := ok and big1 = 2147483649_; 8267 big1 := 2147483648_; big1 +:= 2_; ok := ok and big1 = 2147483650_; 8268 big1 := 2147483648_; big1 +:= 32766_; ok := ok and big1 = 2147516414_; 8269 big1 := 2147483648_; big1 +:= 32767_; ok := ok and big1 = 2147516415_; 8270 big1 := 2147483648_; big1 +:= 32768_; ok := ok and big1 = 2147516416_; 8271 big1 := 2147483648_; big1 +:= 32769_; ok := ok and big1 = 2147516417_; 8272 big1 := 2147483648_; big1 +:= 2147483646_; ok := ok and big1 = 4294967294_; 8273 big1 := 2147483648_; big1 +:= 2147483647_; ok := ok and big1 = 4294967295_; 8274 big1 := 2147483648_; big1 +:= 2147483648_; ok := ok and big1 = 4294967296_; 8275 big1 := 2147483648_; big1 +:= 2147483649_; ok := ok and big1 = 4294967297_; 8276 big1 := 2147483649_; big1 +:= -2147483650_; ok := ok and big1 = -1_; 8277 big1 := 2147483649_; big1 +:= -2147483649_; ok := ok and big1 = 0_; 8278 big1 := 2147483649_; big1 +:= -2147483648_; ok := ok and big1 = 1_; 8279 big1 := 2147483649_; big1 +:= -2147483647_; ok := ok and big1 = 2_; 8280 big1 := 2147483649_; big1 +:= -32770_; ok := ok and big1 = 2147450879_; 8281 big1 := 2147483649_; big1 +:= -32769_; ok := ok and big1 = 2147450880_; 8282 big1 := 2147483649_; big1 +:= -32768_; ok := ok and big1 = 2147450881_; 8283 big1 := 2147483649_; big1 +:= -32767_; ok := ok and big1 = 2147450882_; 8284 big1 := 2147483649_; big1 +:= -2_; ok := ok and big1 = 2147483647_; 8285 big1 := 2147483649_; big1 +:= -1_; ok := ok and big1 = 2147483648_; 8286 big1 := 2147483649_; big1 +:= 0_; ok := ok and big1 = 2147483649_; 8287 big1 := 2147483649_; big1 +:= 1_; ok := ok and big1 = 2147483650_; 8288 big1 := 2147483649_; big1 +:= 2_; ok := ok and big1 = 2147483651_; 8289 big1 := 2147483649_; big1 +:= 32766_; ok := ok and big1 = 2147516415_; 8290 big1 := 2147483649_; big1 +:= 32767_; ok := ok and big1 = 2147516416_; 8291 big1 := 2147483649_; big1 +:= 32768_; ok := ok and big1 = 2147516417_; 8292 big1 := 2147483649_; big1 +:= 32769_; ok := ok and big1 = 2147516418_; 8293 big1 := 2147483649_; big1 +:= 2147483646_; ok := ok and big1 = 4294967295_; 8294 big1 := 2147483649_; big1 +:= 2147483647_; ok := ok and big1 = 4294967296_; 8295 big1 := 2147483649_; big1 +:= 2147483648_; ok := ok and big1 = 4294967297_; 8296 big1 := 2147483649_; big1 +:= 2147483649_; ok := ok and big1 = 4294967298_; 8297 if not ok then 8298 writeln("Addition assignment of bigInteger with literal does not work correct. (2)"); 8299 end if; 8300 end func; 8301 8302 8303const func boolean: chkAddAssignExpression1 is func 8304 result 8305 var boolean: ok is TRUE; 8306 local 8307 var bigInteger: big1 is 0_; 8308 begin 8309 big1 := -2147483650_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -4294967300_; 8310 big1 := -2147483650_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -4294967299_; 8311 big1 := -2147483650_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -4294967298_; 8312 big1 := -2147483650_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -4294967297_; 8313 big1 := -2147483650_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -2147516420_; 8314 big1 := -2147483650_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -2147516419_; 8315 big1 := -2147483650_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -2147516418_; 8316 big1 := -2147483650_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -2147516417_; 8317 big1 := -2147483650_; big1 +:= bigintExpr( -2_); ok := ok and big1 = -2147483652_; 8318 big1 := -2147483650_; big1 +:= bigintExpr( -1_); ok := ok and big1 = -2147483651_; 8319 big1 := -2147483650_; big1 +:= bigintExpr( 0_); ok := ok and big1 = -2147483650_; 8320 big1 := -2147483650_; big1 +:= bigintExpr( 1_); ok := ok and big1 = -2147483649_; 8321 big1 := -2147483650_; big1 +:= bigintExpr( 2_); ok := ok and big1 = -2147483648_; 8322 big1 := -2147483650_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = -2147450884_; 8323 big1 := -2147483650_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = -2147450883_; 8324 big1 := -2147483650_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = -2147450882_; 8325 big1 := -2147483650_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = -2147450881_; 8326 big1 := -2147483650_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = -4_; 8327 big1 := -2147483650_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = -3_; 8328 big1 := -2147483650_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = -2_; 8329 big1 := -2147483650_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = -1_; 8330 big1 := -2147483649_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -4294967299_; 8331 big1 := -2147483649_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -4294967298_; 8332 big1 := -2147483649_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -4294967297_; 8333 big1 := -2147483649_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -4294967296_; 8334 big1 := -2147483649_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -2147516419_; 8335 big1 := -2147483649_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -2147516418_; 8336 big1 := -2147483649_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -2147516417_; 8337 big1 := -2147483649_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -2147516416_; 8338 big1 := -2147483649_; big1 +:= bigintExpr( -2_); ok := ok and big1 = -2147483651_; 8339 big1 := -2147483649_; big1 +:= bigintExpr( -1_); ok := ok and big1 = -2147483650_; 8340 big1 := -2147483649_; big1 +:= bigintExpr( 0_); ok := ok and big1 = -2147483649_; 8341 big1 := -2147483649_; big1 +:= bigintExpr( 1_); ok := ok and big1 = -2147483648_; 8342 big1 := -2147483649_; big1 +:= bigintExpr( 2_); ok := ok and big1 = -2147483647_; 8343 big1 := -2147483649_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = -2147450883_; 8344 big1 := -2147483649_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = -2147450882_; 8345 big1 := -2147483649_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = -2147450881_; 8346 big1 := -2147483649_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = -2147450880_; 8347 big1 := -2147483649_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = -3_; 8348 big1 := -2147483649_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = -2_; 8349 big1 := -2147483649_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = -1_; 8350 big1 := -2147483649_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 0_; 8351 big1 := -2147483648_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -4294967298_; 8352 big1 := -2147483648_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -4294967297_; 8353 big1 := -2147483648_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -4294967296_; 8354 big1 := -2147483648_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -4294967295_; 8355 big1 := -2147483648_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -2147516418_; 8356 big1 := -2147483648_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -2147516417_; 8357 big1 := -2147483648_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -2147516416_; 8358 big1 := -2147483648_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -2147516415_; 8359 big1 := -2147483648_; big1 +:= bigintExpr( -2_); ok := ok and big1 = -2147483650_; 8360 big1 := -2147483648_; big1 +:= bigintExpr( -1_); ok := ok and big1 = -2147483649_; 8361 big1 := -2147483648_; big1 +:= bigintExpr( 0_); ok := ok and big1 = -2147483648_; 8362 big1 := -2147483648_; big1 +:= bigintExpr( 1_); ok := ok and big1 = -2147483647_; 8363 big1 := -2147483648_; big1 +:= bigintExpr( 2_); ok := ok and big1 = -2147483646_; 8364 big1 := -2147483648_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = -2147450882_; 8365 big1 := -2147483648_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = -2147450881_; 8366 big1 := -2147483648_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = -2147450880_; 8367 big1 := -2147483648_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = -2147450879_; 8368 big1 := -2147483648_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = -2_; 8369 big1 := -2147483648_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = -1_; 8370 big1 := -2147483648_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 0_; 8371 big1 := -2147483648_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 1_; 8372 big1 := -2147483647_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -4294967297_; 8373 big1 := -2147483647_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -4294967296_; 8374 big1 := -2147483647_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -4294967295_; 8375 big1 := -2147483647_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -4294967294_; 8376 big1 := -2147483647_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -2147516417_; 8377 big1 := -2147483647_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -2147516416_; 8378 big1 := -2147483647_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -2147516415_; 8379 big1 := -2147483647_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -2147516414_; 8380 big1 := -2147483647_; big1 +:= bigintExpr( -2_); ok := ok and big1 = -2147483649_; 8381 big1 := -2147483647_; big1 +:= bigintExpr( -1_); ok := ok and big1 = -2147483648_; 8382 big1 := -2147483647_; big1 +:= bigintExpr( 0_); ok := ok and big1 = -2147483647_; 8383 big1 := -2147483647_; big1 +:= bigintExpr( 1_); ok := ok and big1 = -2147483646_; 8384 big1 := -2147483647_; big1 +:= bigintExpr( 2_); ok := ok and big1 = -2147483645_; 8385 big1 := -2147483647_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = -2147450881_; 8386 big1 := -2147483647_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = -2147450880_; 8387 big1 := -2147483647_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = -2147450879_; 8388 big1 := -2147483647_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = -2147450878_; 8389 big1 := -2147483647_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = -1_; 8390 big1 := -2147483647_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 0_; 8391 big1 := -2147483647_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 1_; 8392 big1 := -2147483647_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2_; 8393 big1 := -32770_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147516420_; 8394 big1 := -32770_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147516419_; 8395 big1 := -32770_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147516418_; 8396 big1 := -32770_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147516417_; 8397 big1 := -32770_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -65540_; 8398 big1 := -32770_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -65539_; 8399 big1 := -32770_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -65538_; 8400 big1 := -32770_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -65537_; 8401 big1 := -32770_; big1 +:= bigintExpr( -2_); ok := ok and big1 = -32772_; 8402 big1 := -32770_; big1 +:= bigintExpr( -1_); ok := ok and big1 = -32771_; 8403 big1 := -32770_; big1 +:= bigintExpr( 0_); ok := ok and big1 = -32770_; 8404 big1 := -32770_; big1 +:= bigintExpr( 1_); ok := ok and big1 = -32769_; 8405 big1 := -32770_; big1 +:= bigintExpr( 2_); ok := ok and big1 = -32768_; 8406 big1 := -32770_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = -4_; 8407 big1 := -32770_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = -3_; 8408 big1 := -32770_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = -2_; 8409 big1 := -32770_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = -1_; 8410 big1 := -32770_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147450876_; 8411 big1 := -32770_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147450877_; 8412 big1 := -32770_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147450878_; 8413 big1 := -32770_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147450879_; 8414 big1 := -32769_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147516419_; 8415 big1 := -32769_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147516418_; 8416 big1 := -32769_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147516417_; 8417 big1 := -32769_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147516416_; 8418 big1 := -32769_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -65539_; 8419 big1 := -32769_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -65538_; 8420 big1 := -32769_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -65537_; 8421 big1 := -32769_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -65536_; 8422 big1 := -32769_; big1 +:= bigintExpr( -2_); ok := ok and big1 = -32771_; 8423 big1 := -32769_; big1 +:= bigintExpr( -1_); ok := ok and big1 = -32770_; 8424 big1 := -32769_; big1 +:= bigintExpr( 0_); ok := ok and big1 = -32769_; 8425 big1 := -32769_; big1 +:= bigintExpr( 1_); ok := ok and big1 = -32768_; 8426 big1 := -32769_; big1 +:= bigintExpr( 2_); ok := ok and big1 = -32767_; 8427 big1 := -32769_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = -3_; 8428 big1 := -32769_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = -2_; 8429 big1 := -32769_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = -1_; 8430 big1 := -32769_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 0_; 8431 big1 := -32769_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147450877_; 8432 big1 := -32769_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147450878_; 8433 big1 := -32769_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147450879_; 8434 big1 := -32769_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147450880_; 8435 big1 := -32768_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147516418_; 8436 big1 := -32768_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147516417_; 8437 big1 := -32768_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147516416_; 8438 big1 := -32768_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147516415_; 8439 big1 := -32768_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -65538_; 8440 big1 := -32768_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -65537_; 8441 big1 := -32768_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -65536_; 8442 big1 := -32768_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -65535_; 8443 big1 := -32768_; big1 +:= bigintExpr( -2_); ok := ok and big1 = -32770_; 8444 big1 := -32768_; big1 +:= bigintExpr( -1_); ok := ok and big1 = -32769_; 8445 big1 := -32768_; big1 +:= bigintExpr( 0_); ok := ok and big1 = -32768_; 8446 big1 := -32768_; big1 +:= bigintExpr( 1_); ok := ok and big1 = -32767_; 8447 big1 := -32768_; big1 +:= bigintExpr( 2_); ok := ok and big1 = -32766_; 8448 big1 := -32768_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = -2_; 8449 big1 := -32768_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = -1_; 8450 big1 := -32768_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 0_; 8451 big1 := -32768_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 1_; 8452 big1 := -32768_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147450878_; 8453 big1 := -32768_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147450879_; 8454 big1 := -32768_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147450880_; 8455 big1 := -32768_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147450881_; 8456 big1 := -32767_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147516417_; 8457 big1 := -32767_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147516416_; 8458 big1 := -32767_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147516415_; 8459 big1 := -32767_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147516414_; 8460 big1 := -32767_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -65537_; 8461 big1 := -32767_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -65536_; 8462 big1 := -32767_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -65535_; 8463 big1 := -32767_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -65534_; 8464 big1 := -32767_; big1 +:= bigintExpr( -2_); ok := ok and big1 = -32769_; 8465 big1 := -32767_; big1 +:= bigintExpr( -1_); ok := ok and big1 = -32768_; 8466 big1 := -32767_; big1 +:= bigintExpr( 0_); ok := ok and big1 = -32767_; 8467 big1 := -32767_; big1 +:= bigintExpr( 1_); ok := ok and big1 = -32766_; 8468 big1 := -32767_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = -1_; 8469 big1 := -32767_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 0_; 8470 big1 := -32767_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 1_; 8471 big1 := -32767_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 2_; 8472 big1 := -32767_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147450879_; 8473 big1 := -32767_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147450880_; 8474 big1 := -32767_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147450881_; 8475 big1 := -32767_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147450882_; 8476 big1 := -2_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147483652_; 8477 big1 := -2_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147483651_; 8478 big1 := -2_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147483650_; 8479 big1 := -2_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147483649_; 8480 big1 := -2_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -32772_; 8481 big1 := -2_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -32771_; 8482 big1 := -2_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -32770_; 8483 big1 := -2_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -32769_; 8484 big1 := -2_; big1 +:= bigintExpr( -2_); ok := ok and big1 = -4_; 8485 big1 := -2_; big1 +:= bigintExpr( -1_); ok := ok and big1 = -3_; 8486 big1 := -2_; big1 +:= bigintExpr( 0_); ok := ok and big1 = -2_; 8487 big1 := -2_; big1 +:= bigintExpr( 1_); ok := ok and big1 = -1_; 8488 big1 := -2_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 0_; 8489 big1 := -2_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 32764_; 8490 big1 := -2_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 32765_; 8491 big1 := -2_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 32766_; 8492 big1 := -2_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 32767_; 8493 big1 := -2_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147483644_; 8494 big1 := -2_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147483645_; 8495 big1 := -2_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147483646_; 8496 big1 := -2_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147483647_; 8497 big1 := -1_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147483651_; 8498 big1 := -1_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147483650_; 8499 big1 := -1_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147483649_; 8500 big1 := -1_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147483648_; 8501 big1 := -1_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -32771_; 8502 big1 := -1_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -32770_; 8503 big1 := -1_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -32769_; 8504 big1 := -1_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -32768_; 8505 big1 := -1_; big1 +:= bigintExpr( -2_); ok := ok and big1 = -3_; 8506 big1 := -1_; big1 +:= bigintExpr( -1_); ok := ok and big1 = -2_; 8507 big1 := -1_; big1 +:= bigintExpr( 0_); ok := ok and big1 = -1_; 8508 big1 := -1_; big1 +:= bigintExpr( 1_); ok := ok and big1 = 0_; 8509 big1 := -1_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 1_; 8510 big1 := -1_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 32765_; 8511 big1 := -1_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 32766_; 8512 big1 := -1_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 32767_; 8513 big1 := -1_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 32768_; 8514 big1 := -1_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147483645_; 8515 big1 := -1_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147483646_; 8516 big1 := -1_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147483647_; 8517 big1 := -1_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147483648_; 8518 if not ok then 8519 writeln("Addition assignment of bigInteger with expression does not work correct. (1)"); 8520 end if; 8521 end func; 8522 8523 8524const func boolean: chkAddAssignExpression2 is func 8525 result 8526 var boolean: ok is TRUE; 8527 local 8528 var bigInteger: big1 is 0_; 8529 begin 8530 big1 := 0_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147483650_; 8531 big1 := 0_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147483649_; 8532 big1 := 0_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147483648_; 8533 big1 := 0_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147483647_; 8534 big1 := 0_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -32770_; 8535 big1 := 0_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -32769_; 8536 big1 := 0_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -32768_; 8537 big1 := 0_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -32767_; 8538 big1 := 0_; big1 +:= bigintExpr( -2_); ok := ok and big1 = -2_; 8539 big1 := 0_; big1 +:= bigintExpr( -1_); ok := ok and big1 = -1_; 8540 big1 := 0_; big1 +:= bigintExpr( 0_); ok := ok and big1 = 0_; 8541 big1 := 0_; big1 +:= bigintExpr( 1_); ok := ok and big1 = 1_; 8542 big1 := 0_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 2_; 8543 big1 := 0_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 32766_; 8544 big1 := 0_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 32767_; 8545 big1 := 0_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 32768_; 8546 big1 := 0_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 32769_; 8547 big1 := 0_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147483646_; 8548 big1 := 0_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147483647_; 8549 big1 := 0_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147483648_; 8550 big1 := 0_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147483649_; 8551 big1 := 1_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147483649_; 8552 big1 := 1_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147483648_; 8553 big1 := 1_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147483647_; 8554 big1 := 1_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147483646_; 8555 big1 := 1_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -32769_; 8556 big1 := 1_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -32768_; 8557 big1 := 1_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -32767_; 8558 big1 := 1_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -32766_; 8559 big1 := 1_; big1 +:= bigintExpr( -2_); ok := ok and big1 = -1_; 8560 big1 := 1_; big1 +:= bigintExpr( -1_); ok := ok and big1 = 0_; 8561 big1 := 1_; big1 +:= bigintExpr( 0_); ok := ok and big1 = 1_; 8562 big1 := 1_; big1 +:= bigintExpr( 1_); ok := ok and big1 = 2_; 8563 big1 := 1_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 3_; 8564 big1 := 1_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 32767_; 8565 big1 := 1_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 32768_; 8566 big1 := 1_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 32769_; 8567 big1 := 1_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 32770_; 8568 big1 := 1_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147483647_; 8569 big1 := 1_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147483648_; 8570 big1 := 1_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147483649_; 8571 big1 := 1_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147483650_; 8572 big1 := 2_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147483648_; 8573 big1 := 2_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147483647_; 8574 big1 := 2_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147483646_; 8575 big1 := 2_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147483645_; 8576 big1 := 2_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -32768_; 8577 big1 := 2_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -32767_; 8578 big1 := 2_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -32766_; 8579 big1 := 2_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -32765_; 8580 big1 := 2_; big1 +:= bigintExpr( -2_); ok := ok and big1 = 0_; 8581 big1 := 2_; big1 +:= bigintExpr( -1_); ok := ok and big1 = 1_; 8582 big1 := 2_; big1 +:= bigintExpr( 0_); ok := ok and big1 = 2_; 8583 big1 := 2_; big1 +:= bigintExpr( 1_); ok := ok and big1 = 3_; 8584 big1 := 2_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 4_; 8585 big1 := 2_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 32768_; 8586 big1 := 2_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 32769_; 8587 big1 := 2_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 32770_; 8588 big1 := 2_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 32771_; 8589 big1 := 2_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147483648_; 8590 big1 := 2_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147483649_; 8591 big1 := 2_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147483650_; 8592 big1 := 2_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147483651_; 8593 big1 := 32766_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147450884_; 8594 big1 := 32766_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147450883_; 8595 big1 := 32766_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147450882_; 8596 big1 := 32766_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147450881_; 8597 big1 := 32766_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -4_; 8598 big1 := 32766_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -3_; 8599 big1 := 32766_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -2_; 8600 big1 := 32766_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = -1_; 8601 big1 := 32766_; big1 +:= bigintExpr( -2_); ok := ok and big1 = 32764_; 8602 big1 := 32766_; big1 +:= bigintExpr( -1_); ok := ok and big1 = 32765_; 8603 big1 := 32766_; big1 +:= bigintExpr( 0_); ok := ok and big1 = 32766_; 8604 big1 := 32766_; big1 +:= bigintExpr( 1_); ok := ok and big1 = 32767_; 8605 big1 := 32766_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 32768_; 8606 big1 := 32766_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 65532_; 8607 big1 := 32766_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 65533_; 8608 big1 := 32766_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 65534_; 8609 big1 := 32766_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 65535_; 8610 big1 := 32766_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147516412_; 8611 big1 := 32766_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147516413_; 8612 big1 := 32766_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147516414_; 8613 big1 := 32766_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147516415_; 8614 big1 := 32767_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147450883_; 8615 big1 := 32767_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147450882_; 8616 big1 := 32767_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147450881_; 8617 big1 := 32767_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147450880_; 8618 big1 := 32767_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -3_; 8619 big1 := 32767_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -2_; 8620 big1 := 32767_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = -1_; 8621 big1 := 32767_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = 0_; 8622 big1 := 32767_; big1 +:= bigintExpr( -2_); ok := ok and big1 = 32765_; 8623 big1 := 32767_; big1 +:= bigintExpr( -1_); ok := ok and big1 = 32766_; 8624 big1 := 32767_; big1 +:= bigintExpr( 0_); ok := ok and big1 = 32767_; 8625 big1 := 32767_; big1 +:= bigintExpr( 1_); ok := ok and big1 = 32768_; 8626 big1 := 32767_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 32769_; 8627 big1 := 32767_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 65533_; 8628 big1 := 32767_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 65534_; 8629 big1 := 32767_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 65535_; 8630 big1 := 32767_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 65536_; 8631 big1 := 32767_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147516413_; 8632 big1 := 32767_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147516414_; 8633 big1 := 32767_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147516415_; 8634 big1 := 32767_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147516416_; 8635 big1 := 32768_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147450882_; 8636 big1 := 32768_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147450881_; 8637 big1 := 32768_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147450880_; 8638 big1 := 32768_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147450879_; 8639 big1 := 32768_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -2_; 8640 big1 := 32768_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = -1_; 8641 big1 := 32768_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = 0_; 8642 big1 := 32768_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = 1_; 8643 big1 := 32768_; big1 +:= bigintExpr( -2_); ok := ok and big1 = 32766_; 8644 big1 := 32768_; big1 +:= bigintExpr( -1_); ok := ok and big1 = 32767_; 8645 big1 := 32768_; big1 +:= bigintExpr( 0_); ok := ok and big1 = 32768_; 8646 big1 := 32768_; big1 +:= bigintExpr( 1_); ok := ok and big1 = 32769_; 8647 big1 := 32768_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 32770_; 8648 big1 := 32768_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 65534_; 8649 big1 := 32768_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 65535_; 8650 big1 := 32768_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 65536_; 8651 big1 := 32768_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 65537_; 8652 big1 := 32768_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147516414_; 8653 big1 := 32768_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147516415_; 8654 big1 := 32768_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147516416_; 8655 big1 := 32768_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147516417_; 8656 big1 := 32769_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2147450881_; 8657 big1 := 32769_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2147450880_; 8658 big1 := 32769_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2147450879_; 8659 big1 := 32769_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -2147450878_; 8660 big1 := 32769_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = -1_; 8661 big1 := 32769_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = 0_; 8662 big1 := 32769_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = 1_; 8663 big1 := 32769_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = 2_; 8664 big1 := 32769_; big1 +:= bigintExpr( -2_); ok := ok and big1 = 32767_; 8665 big1 := 32769_; big1 +:= bigintExpr( -1_); ok := ok and big1 = 32768_; 8666 big1 := 32769_; big1 +:= bigintExpr( 0_); ok := ok and big1 = 32769_; 8667 big1 := 32769_; big1 +:= bigintExpr( 1_); ok := ok and big1 = 32770_; 8668 big1 := 32769_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 32771_; 8669 big1 := 32769_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 65535_; 8670 big1 := 32769_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 65536_; 8671 big1 := 32769_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 65537_; 8672 big1 := 32769_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 65538_; 8673 big1 := 32769_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 2147516415_; 8674 big1 := 32769_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 2147516416_; 8675 big1 := 32769_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 2147516417_; 8676 big1 := 32769_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 2147516418_; 8677 big1 := 2147483646_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -4_; 8678 big1 := 2147483646_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -3_; 8679 big1 := 2147483646_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -2_; 8680 big1 := 2147483646_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = -1_; 8681 big1 := 2147483646_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = 2147450876_; 8682 big1 := 2147483646_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = 2147450877_; 8683 big1 := 2147483646_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = 2147450878_; 8684 big1 := 2147483646_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = 2147450879_; 8685 big1 := 2147483646_; big1 +:= bigintExpr( -2_); ok := ok and big1 = 2147483644_; 8686 big1 := 2147483646_; big1 +:= bigintExpr( -1_); ok := ok and big1 = 2147483645_; 8687 big1 := 2147483646_; big1 +:= bigintExpr( 0_); ok := ok and big1 = 2147483646_; 8688 big1 := 2147483646_; big1 +:= bigintExpr( 1_); ok := ok and big1 = 2147483647_; 8689 big1 := 2147483646_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 2147483648_; 8690 big1 := 2147483646_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 2147516412_; 8691 big1 := 2147483646_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 2147516413_; 8692 big1 := 2147483646_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 2147516414_; 8693 big1 := 2147483646_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 2147516415_; 8694 big1 := 2147483646_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 4294967292_; 8695 big1 := 2147483646_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 4294967293_; 8696 big1 := 2147483646_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 4294967294_; 8697 big1 := 2147483646_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 4294967295_; 8698 big1 := 2147483647_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -3_; 8699 big1 := 2147483647_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -2_; 8700 big1 := 2147483647_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = -1_; 8701 big1 := 2147483647_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = 0_; 8702 big1 := 2147483647_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = 2147450877_; 8703 big1 := 2147483647_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = 2147450878_; 8704 big1 := 2147483647_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = 2147450879_; 8705 big1 := 2147483647_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = 2147450880_; 8706 big1 := 2147483647_; big1 +:= bigintExpr( -2_); ok := ok and big1 = 2147483645_; 8707 big1 := 2147483647_; big1 +:= bigintExpr( -1_); ok := ok and big1 = 2147483646_; 8708 big1 := 2147483647_; big1 +:= bigintExpr( 0_); ok := ok and big1 = 2147483647_; 8709 big1 := 2147483647_; big1 +:= bigintExpr( 1_); ok := ok and big1 = 2147483648_; 8710 big1 := 2147483647_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 2147483649_; 8711 big1 := 2147483647_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 2147516413_; 8712 big1 := 2147483647_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 2147516414_; 8713 big1 := 2147483647_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 2147516415_; 8714 big1 := 2147483647_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 2147516416_; 8715 big1 := 2147483647_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 4294967293_; 8716 big1 := 2147483647_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 4294967294_; 8717 big1 := 2147483647_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 4294967295_; 8718 big1 := 2147483647_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 4294967296_; 8719 big1 := 2147483648_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -2_; 8720 big1 := 2147483648_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = -1_; 8721 big1 := 2147483648_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = 0_; 8722 big1 := 2147483648_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = 1_; 8723 big1 := 2147483648_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = 2147450878_; 8724 big1 := 2147483648_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = 2147450879_; 8725 big1 := 2147483648_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = 2147450880_; 8726 big1 := 2147483648_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = 2147450881_; 8727 big1 := 2147483648_; big1 +:= bigintExpr( -2_); ok := ok and big1 = 2147483646_; 8728 big1 := 2147483648_; big1 +:= bigintExpr( -1_); ok := ok and big1 = 2147483647_; 8729 big1 := 2147483648_; big1 +:= bigintExpr( 0_); ok := ok and big1 = 2147483648_; 8730 big1 := 2147483648_; big1 +:= bigintExpr( 1_); ok := ok and big1 = 2147483649_; 8731 big1 := 2147483648_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 2147483650_; 8732 big1 := 2147483648_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 2147516414_; 8733 big1 := 2147483648_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 2147516415_; 8734 big1 := 2147483648_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 2147516416_; 8735 big1 := 2147483648_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 2147516417_; 8736 big1 := 2147483648_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 4294967294_; 8737 big1 := 2147483648_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 4294967295_; 8738 big1 := 2147483648_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 4294967296_; 8739 big1 := 2147483648_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 4294967297_; 8740 big1 := 2147483649_; big1 +:= bigintExpr(-2147483650_); ok := ok and big1 = -1_; 8741 big1 := 2147483649_; big1 +:= bigintExpr(-2147483649_); ok := ok and big1 = 0_; 8742 big1 := 2147483649_; big1 +:= bigintExpr(-2147483648_); ok := ok and big1 = 1_; 8743 big1 := 2147483649_; big1 +:= bigintExpr(-2147483647_); ok := ok and big1 = 2_; 8744 big1 := 2147483649_; big1 +:= bigintExpr( -32770_); ok := ok and big1 = 2147450879_; 8745 big1 := 2147483649_; big1 +:= bigintExpr( -32769_); ok := ok and big1 = 2147450880_; 8746 big1 := 2147483649_; big1 +:= bigintExpr( -32768_); ok := ok and big1 = 2147450881_; 8747 big1 := 2147483649_; big1 +:= bigintExpr( -32767_); ok := ok and big1 = 2147450882_; 8748 big1 := 2147483649_; big1 +:= bigintExpr( -2_); ok := ok and big1 = 2147483647_; 8749 big1 := 2147483649_; big1 +:= bigintExpr( -1_); ok := ok and big1 = 2147483648_; 8750 big1 := 2147483649_; big1 +:= bigintExpr( 0_); ok := ok and big1 = 2147483649_; 8751 big1 := 2147483649_; big1 +:= bigintExpr( 1_); ok := ok and big1 = 2147483650_; 8752 big1 := 2147483649_; big1 +:= bigintExpr( 2_); ok := ok and big1 = 2147483651_; 8753 big1 := 2147483649_; big1 +:= bigintExpr( 32766_); ok := ok and big1 = 2147516415_; 8754 big1 := 2147483649_; big1 +:= bigintExpr( 32767_); ok := ok and big1 = 2147516416_; 8755 big1 := 2147483649_; big1 +:= bigintExpr( 32768_); ok := ok and big1 = 2147516417_; 8756 big1 := 2147483649_; big1 +:= bigintExpr( 32769_); ok := ok and big1 = 2147516418_; 8757 big1 := 2147483649_; big1 +:= bigintExpr( 2147483646_); ok := ok and big1 = 4294967295_; 8758 big1 := 2147483649_; big1 +:= bigintExpr( 2147483647_); ok := ok and big1 = 4294967296_; 8759 big1 := 2147483649_; big1 +:= bigintExpr( 2147483648_); ok := ok and big1 = 4294967297_; 8760 big1 := 2147483649_; big1 +:= bigintExpr( 2147483649_); ok := ok and big1 = 4294967298_; 8761 if not ok then 8762 writeln("Addition assignment of bigInteger with expression does not work correct. (2)"); 8763 end if; 8764 end func; 8765 8766 8767const func boolean: chkAddAssignWithItself is func 8768 result 8769 var boolean: ok is TRUE; 8770 local 8771 var bigInteger: big1 is 0_; 8772 begin 8773 big1 := -9223372036854775808_; big1 +:= big1; ok := ok and big1 = -18446744073709551616_; 8774 big1 := -9223372036854775807_; big1 +:= big1; ok := ok and big1 = -18446744073709551614_; 8775 big1 := -9223372036854775806_; big1 +:= big1; ok := ok and big1 = -18446744073709551612_; 8776 big1 := -9000000000000000000_; big1 +:= big1; ok := ok and big1 = -18000000000000000000_; 8777 big1 := -8000000000000000000_; big1 +:= big1; ok := ok and big1 = -16000000000000000000_; 8778 big1 := -7000000000000000000_; big1 +:= big1; ok := ok and big1 = -14000000000000000000_; 8779 big1 := -6000000000000000000_; big1 +:= big1; ok := ok and big1 = -12000000000000000000_; 8780 big1 := -5000000000000000000_; big1 +:= big1; ok := ok and big1 = -10000000000000000000_; 8781 big1 := -4611686018427387905_; big1 +:= big1; ok := ok and big1 = -9223372036854775810_; 8782 big1 := -4611686018427387904_; big1 +:= big1; ok := ok and big1 = -9223372036854775808_; 8783 big1 := -4611686018427387903_; big1 +:= big1; ok := ok and big1 = -9223372036854775806_; 8784 big1 := -2147483649_; big1 +:= big1; ok := ok and big1 = -4294967298_; 8785 big1 := -2147483648_; big1 +:= big1; ok := ok and big1 = -4294967296_; 8786 big1 := -2147483647_; big1 +:= big1; ok := ok and big1 = -4294967294_; 8787 big1 := -2000000000_; big1 +:= big1; ok := ok and big1 = -4000000000_; 8788 big1 := -1500000000_; big1 +:= big1; ok := ok and big1 = -3000000000_; 8789 big1 := -1073741825_; big1 +:= big1; ok := ok and big1 = -2147483650_; 8790 big1 := -1073741824_; big1 +:= big1; ok := ok and big1 = -2147483648_; 8791 big1 := -1073741823_; big1 +:= big1; ok := ok and big1 = -2147483646_; 8792 big1 := -10_; big1 +:= big1; ok := ok and big1 = -20_; 8793 big1 := -1_; big1 +:= big1; ok := ok and big1 = -2_; 8794 big1 := 0_; big1 +:= big1; ok := ok and big1 = 0_; 8795 big1 := 1_; big1 +:= big1; ok := ok and big1 = 2_; 8796 big1 := 10_; big1 +:= big1; ok := ok and big1 = 20_; 8797 big1 := 1073741823_; big1 +:= big1; ok := ok and big1 = 2147483646_; 8798 big1 := 1073741824_; big1 +:= big1; ok := ok and big1 = 2147483648_; 8799 big1 := 1073741825_; big1 +:= big1; ok := ok and big1 = 2147483650_; 8800 big1 := 1500000000_; big1 +:= big1; ok := ok and big1 = 3000000000_; 8801 big1 := 2000000000_; big1 +:= big1; ok := ok and big1 = 4000000000_; 8802 big1 := 2147483647_; big1 +:= big1; ok := ok and big1 = 4294967294_; 8803 big1 := 2147483648_; big1 +:= big1; ok := ok and big1 = 4294967296_; 8804 big1 := 2147483649_; big1 +:= big1; ok := ok and big1 = 4294967298_; 8805 big1 := 4611686018427387903_; big1 +:= big1; ok := ok and big1 = 9223372036854775806_; 8806 big1 := 4611686018427387904_; big1 +:= big1; ok := ok and big1 = 9223372036854775808_; 8807 big1 := 4611686018427387905_; big1 +:= big1; ok := ok and big1 = 9223372036854775810_; 8808 big1 := 5000000000000000000_; big1 +:= big1; ok := ok and big1 = 10000000000000000000_; 8809 big1 := 6000000000000000000_; big1 +:= big1; ok := ok and big1 = 12000000000000000000_; 8810 big1 := 7000000000000000000_; big1 +:= big1; ok := ok and big1 = 14000000000000000000_; 8811 big1 := 8000000000000000000_; big1 +:= big1; ok := ok and big1 = 16000000000000000000_; 8812 big1 := 9000000000000000000_; big1 +:= big1; ok := ok and big1 = 18000000000000000000_; 8813 big1 := 9223372036854775806_; big1 +:= big1; ok := ok and big1 = 18446744073709551612_; 8814 big1 := 9223372036854775807_; big1 +:= big1; ok := ok and big1 = 18446744073709551614_; 8815 big1 := 9223372036854775808_; big1 +:= big1; ok := ok and big1 = 18446744073709551616_; 8816 if not ok then 8817 writeln("Addition assignment of bigInteger with itself does not work correct."); 8818 end if; 8819 end func; 8820 8821 8822const proc: chkAddAssign is func 8823 begin 8824 if chkAddAssignLiteral1 and 8825 chkAddAssignLiteral2 and 8826 chkAddAssignExpression1 and 8827 chkAddAssignExpression2 and 8828 chkAddAssignWithItself then 8829 writeln("Addition assignment of bigInteger works correct."); 8830 else 8831 writeln(" ***** Addition assignment of bigInteger does not work correct."); 8832 writeln; 8833 end if; 8834 end func; 8835 8836 8837const proc: chkSubtraction is func 8838 local 8839 var bigInteger: number is 12345_; 8840 var boolean: okay is TRUE; 8841 begin 8842 if -2147483650_ - -2147483650_ <> 0_ or 8843 -2147483650_ - -2147483649_ <> -1_ or 8844 -2147483650_ - -2147483648_ <> -2_ or 8845 -2147483650_ - -2147483647_ <> -3_ or 8846 -2147483650_ - -32770_ <> -2147450880_ or 8847 -2147483650_ - -32769_ <> -2147450881_ or 8848 -2147483650_ - -32768_ <> -2147450882_ or 8849 -2147483650_ - -32767_ <> -2147450883_ or 8850 -2147483650_ - -2_ <> -2147483648_ or 8851 -2147483650_ - -1_ <> -2147483649_ or 8852 -2147483650_ - 0_ <> -2147483650_ or 8853 -2147483650_ - 1_ <> -2147483651_ or 8854 -2147483650_ - 32766_ <> -2147516416_ or 8855 -2147483650_ - 32767_ <> -2147516417_ or 8856 -2147483650_ - 32768_ <> -2147516418_ or 8857 -2147483650_ - 32769_ <> -2147516419_ or 8858 -2147483650_ - 2147483646_ <> -4294967296_ or 8859 -2147483650_ - 2147483647_ <> -4294967297_ or 8860 -2147483650_ - 2147483648_ <> -4294967298_ or 8861 -2147483650_ - 2147483649_ <> -4294967299_ or 8862 -2147483649_ - -2147483650_ <> 1_ or 8863 -2147483649_ - -2147483649_ <> 0_ or 8864 -2147483649_ - -2147483648_ <> -1_ or 8865 -2147483649_ - -2147483647_ <> -2_ or 8866 -2147483649_ - -32770_ <> -2147450879_ or 8867 -2147483649_ - -32769_ <> -2147450880_ or 8868 -2147483649_ - -32768_ <> -2147450881_ or 8869 -2147483649_ - -32767_ <> -2147450882_ or 8870 -2147483649_ - -2_ <> -2147483647_ or 8871 -2147483649_ - -1_ <> -2147483648_ or 8872 -2147483649_ - 0_ <> -2147483649_ or 8873 -2147483649_ - 1_ <> -2147483650_ or 8874 -2147483649_ - 32766_ <> -2147516415_ or 8875 -2147483649_ - 32767_ <> -2147516416_ or 8876 -2147483649_ - 32768_ <> -2147516417_ or 8877 -2147483649_ - 32769_ <> -2147516418_ or 8878 -2147483649_ - 2147483646_ <> -4294967295_ or 8879 -2147483649_ - 2147483647_ <> -4294967296_ or 8880 -2147483649_ - 2147483648_ <> -4294967297_ or 8881 -2147483649_ - 2147483649_ <> -4294967298_ or 8882 -2147483648_ - -2147483650_ <> 2_ or 8883 -2147483648_ - -2147483649_ <> 1_ or 8884 -2147483648_ - -2147483648_ <> 0_ or 8885 -2147483648_ - -2147483647_ <> -1_ or 8886 -2147483648_ - -32770_ <> -2147450878_ or 8887 -2147483648_ - -32769_ <> -2147450879_ or 8888 -2147483648_ - -32768_ <> -2147450880_ or 8889 -2147483648_ - -32767_ <> -2147450881_ or 8890 -2147483648_ - -2_ <> -2147483646_ or 8891 -2147483648_ - -1_ <> -2147483647_ or 8892 -2147483648_ - 0_ <> -2147483648_ or 8893 -2147483648_ - 1_ <> -2147483649_ or 8894 -2147483648_ - 32766_ <> -2147516414_ or 8895 -2147483648_ - 32767_ <> -2147516415_ or 8896 -2147483648_ - 32768_ <> -2147516416_ or 8897 -2147483648_ - 32769_ <> -2147516417_ or 8898 -2147483648_ - 2147483646_ <> -4294967294_ or 8899 -2147483648_ - 2147483647_ <> -4294967295_ or 8900 -2147483648_ - 2147483648_ <> -4294967296_ or 8901 -2147483648_ - 2147483649_ <> -4294967297_ or 8902 -2147483647_ - -2147483650_ <> 3_ or 8903 -2147483647_ - -2147483649_ <> 2_ or 8904 -2147483647_ - -2147483648_ <> 1_ or 8905 -2147483647_ - -2147483647_ <> 0_ or 8906 -2147483647_ - -32770_ <> -2147450877_ or 8907 -2147483647_ - -32769_ <> -2147450878_ or 8908 -2147483647_ - -32768_ <> -2147450879_ or 8909 -2147483647_ - -32767_ <> -2147450880_ or 8910 -2147483647_ - -2_ <> -2147483645_ or 8911 -2147483647_ - -1_ <> -2147483646_ or 8912 -2147483647_ - 0_ <> -2147483647_ or 8913 -2147483647_ - 1_ <> -2147483648_ or 8914 -2147483647_ - 32766_ <> -2147516413_ or 8915 -2147483647_ - 32767_ <> -2147516414_ or 8916 -2147483647_ - 32768_ <> -2147516415_ or 8917 -2147483647_ - 32769_ <> -2147516416_ or 8918 -2147483647_ - 2147483646_ <> -4294967293_ or 8919 -2147483647_ - 2147483647_ <> -4294967294_ or 8920 -2147483647_ - 2147483648_ <> -4294967295_ or 8921 -2147483647_ - 2147483649_ <> -4294967296_ or 8922 -32770_ - -2147483650_ <> 2147450880_ or 8923 -32770_ - -2147483649_ <> 2147450879_ or 8924 -32770_ - -2147483648_ <> 2147450878_ or 8925 -32770_ - -2147483647_ <> 2147450877_ or 8926 -32770_ - -32770_ <> 0_ or 8927 -32770_ - -32769_ <> -1_ or 8928 -32770_ - -32768_ <> -2_ or 8929 -32770_ - -32767_ <> -3_ or 8930 -32770_ - -2_ <> -32768_ or 8931 -32770_ - -1_ <> -32769_ or 8932 -32770_ - 0_ <> -32770_ or 8933 -32770_ - 1_ <> -32771_ or 8934 -32770_ - 32766_ <> -65536_ or 8935 -32770_ - 32767_ <> -65537_ or 8936 -32770_ - 32768_ <> -65538_ or 8937 -32770_ - 32769_ <> -65539_ or 8938 -32770_ - 2147483646_ <> -2147516416_ or 8939 -32770_ - 2147483647_ <> -2147516417_ or 8940 -32770_ - 2147483648_ <> -2147516418_ or 8941 -32770_ - 2147483649_ <> -2147516419_ or 8942 -32769_ - -2147483650_ <> 2147450881_ or 8943 -32769_ - -2147483649_ <> 2147450880_ or 8944 -32769_ - -2147483648_ <> 2147450879_ or 8945 -32769_ - -2147483647_ <> 2147450878_ or 8946 -32769_ - -32770_ <> 1_ or 8947 -32769_ - -32769_ <> 0_ or 8948 -32769_ - -32768_ <> -1_ or 8949 -32769_ - -32767_ <> -2_ or 8950 -32769_ - -2_ <> -32767_ or 8951 -32769_ - -1_ <> -32768_ or 8952 -32769_ - 0_ <> -32769_ or 8953 -32769_ - 1_ <> -32770_ or 8954 -32769_ - 32766_ <> -65535_ or 8955 -32769_ - 32767_ <> -65536_ or 8956 -32769_ - 32768_ <> -65537_ or 8957 -32769_ - 32769_ <> -65538_ or 8958 -32769_ - 2147483646_ <> -2147516415_ or 8959 -32769_ - 2147483647_ <> -2147516416_ or 8960 -32769_ - 2147483648_ <> -2147516417_ or 8961 -32769_ - 2147483649_ <> -2147516418_ or 8962 -32768_ - -2147483650_ <> 2147450882_ or 8963 -32768_ - -2147483649_ <> 2147450881_ or 8964 -32768_ - -2147483648_ <> 2147450880_ or 8965 -32768_ - -2147483647_ <> 2147450879_ or 8966 -32768_ - -32770_ <> 2_ or 8967 -32768_ - -32769_ <> 1_ or 8968 -32768_ - -32768_ <> 0_ or 8969 -32768_ - -32767_ <> -1_ or 8970 -32768_ - -2_ <> -32766_ or 8971 -32768_ - -1_ <> -32767_ or 8972 -32768_ - 0_ <> -32768_ or 8973 -32768_ - 1_ <> -32769_ or 8974 -32768_ - 32766_ <> -65534_ or 8975 -32768_ - 32767_ <> -65535_ or 8976 -32768_ - 32768_ <> -65536_ or 8977 -32768_ - 32769_ <> -65537_ or 8978 -32768_ - 2147483646_ <> -2147516414_ or 8979 -32768_ - 2147483647_ <> -2147516415_ or 8980 -32768_ - 2147483648_ <> -2147516416_ or 8981 -32768_ - 2147483649_ <> -2147516417_ or 8982 -32767_ - -2147483650_ <> 2147450883_ or 8983 -32767_ - -2147483649_ <> 2147450882_ or 8984 -32767_ - -2147483648_ <> 2147450881_ or 8985 -32767_ - -2147483647_ <> 2147450880_ or 8986 -32767_ - -32770_ <> 3_ or 8987 -32767_ - -32769_ <> 2_ or 8988 -32767_ - -32768_ <> 1_ or 8989 -32767_ - -32767_ <> 0_ or 8990 -32767_ - -2_ <> -32765_ or 8991 -32767_ - -1_ <> -32766_ or 8992 -32767_ - 0_ <> -32767_ or 8993 -32767_ - 1_ <> -32768_ or 8994 -32767_ - 32766_ <> -65533_ or 8995 -32767_ - 32767_ <> -65534_ or 8996 -32767_ - 32768_ <> -65535_ or 8997 -32767_ - 32769_ <> -65536_ or 8998 -32767_ - 2147483646_ <> -2147516413_ or 8999 -32767_ - 2147483647_ <> -2147516414_ or 9000 -32767_ - 2147483648_ <> -2147516415_ or 9001 -32767_ - 2147483649_ <> -2147516416_ or 9002 -2_ - -2147483650_ <> 2147483648_ or 9003 -2_ - -2147483649_ <> 2147483647_ or 9004 -2_ - -2147483648_ <> 2147483646_ or 9005 -2_ - -2147483647_ <> 2147483645_ or 9006 -2_ - -32770_ <> 32768_ or 9007 -2_ - -32769_ <> 32767_ or 9008 -2_ - -32768_ <> 32766_ or 9009 -2_ - -32767_ <> 32765_ or 9010 -2_ - -2_ <> 0_ or 9011 -2_ - -1_ <> -1_ or 9012 -2_ - 0_ <> -2_ or 9013 -2_ - 1_ <> -3_ or 9014 -2_ - 32766_ <> -32768_ or 9015 -2_ - 32767_ <> -32769_ or 9016 -2_ - 32768_ <> -32770_ or 9017 -2_ - 32769_ <> -32771_ or 9018 -2_ - 2147483646_ <> -2147483648_ or 9019 -2_ - 2147483647_ <> -2147483649_ or 9020 -2_ - 2147483648_ <> -2147483650_ or 9021 -2_ - 2147483649_ <> -2147483651_ or 9022 -1_ - -2147483650_ <> 2147483649_ or 9023 -1_ - -2147483649_ <> 2147483648_ or 9024 -1_ - -2147483648_ <> 2147483647_ or 9025 -1_ - -2147483647_ <> 2147483646_ or 9026 -1_ - -32770_ <> 32769_ or 9027 -1_ - -32769_ <> 32768_ or 9028 -1_ - -32768_ <> 32767_ or 9029 -1_ - -32767_ <> 32766_ or 9030 -1_ - -2_ <> 1_ or 9031 -1_ - -1_ <> 0_ or 9032 -1_ - 0_ <> -1_ or 9033 -1_ - 1_ <> -2_ or 9034 -1_ - 32766_ <> -32767_ or 9035 -1_ - 32767_ <> -32768_ or 9036 -1_ - 32768_ <> -32769_ or 9037 -1_ - 32769_ <> -32770_ or 9038 -1_ - 2147483646_ <> -2147483647_ or 9039 -1_ - 2147483647_ <> -2147483648_ or 9040 -1_ - 2147483648_ <> -2147483649_ or 9041 -1_ - 2147483649_ <> -2147483650_ or 9042 0_ - -2147483650_ <> 2147483650_ or 9043 0_ - -2147483649_ <> 2147483649_ or 9044 0_ - -2147483648_ <> 2147483648_ or 9045 0_ - -2147483647_ <> 2147483647_ or 9046 0_ - -32770_ <> 32770_ or 9047 0_ - -32769_ <> 32769_ or 9048 0_ - -32768_ <> 32768_ or 9049 0_ - -32767_ <> 32767_ or 9050 0_ - -2_ <> 2_ or 9051 0_ - -1_ <> 1_ or 9052 0_ - 0_ <> 0_ or 9053 0_ - 1_ <> -1_ or 9054 0_ - 32766_ <> -32766_ or 9055 0_ - 32767_ <> -32767_ or 9056 0_ - 32768_ <> -32768_ or 9057 0_ - 32769_ <> -32769_ or 9058 0_ - 2147483646_ <> -2147483646_ or 9059 0_ - 2147483647_ <> -2147483647_ or 9060 0_ - 2147483648_ <> -2147483648_ or 9061 0_ - 2147483649_ <> -2147483649_ or 9062 1_ - -2147483650_ <> 2147483651_ or 9063 1_ - -2147483649_ <> 2147483650_ or 9064 1_ - -2147483648_ <> 2147483649_ or 9065 1_ - -2147483647_ <> 2147483648_ or 9066 1_ - -32770_ <> 32771_ or 9067 1_ - -32769_ <> 32770_ or 9068 1_ - -32768_ <> 32769_ or 9069 1_ - -32767_ <> 32768_ or 9070 1_ - -2_ <> 3_ or 9071 1_ - -1_ <> 2_ or 9072 1_ - 0_ <> 1_ or 9073 1_ - 1_ <> 0_ or 9074 1_ - 32766_ <> -32765_ or 9075 1_ - 32767_ <> -32766_ or 9076 1_ - 32768_ <> -32767_ or 9077 1_ - 32769_ <> -32768_ or 9078 1_ - 2147483646_ <> -2147483645_ or 9079 1_ - 2147483647_ <> -2147483646_ or 9080 1_ - 2147483648_ <> -2147483647_ or 9081 1_ - 2147483649_ <> -2147483648_ or 9082 32766_ - -2147483650_ <> 2147516416_ or 9083 32766_ - -2147483649_ <> 2147516415_ or 9084 32766_ - -2147483648_ <> 2147516414_ or 9085 32766_ - -2147483647_ <> 2147516413_ or 9086 32766_ - -32770_ <> 65536_ or 9087 32766_ - -32769_ <> 65535_ or 9088 32766_ - -32768_ <> 65534_ or 9089 32766_ - -32767_ <> 65533_ or 9090 32766_ - -2_ <> 32768_ or 9091 32766_ - -1_ <> 32767_ or 9092 32766_ - 0_ <> 32766_ or 9093 32766_ - 1_ <> 32765_ or 9094 32766_ - 32766_ <> 0_ or 9095 32766_ - 32767_ <> -1_ or 9096 32766_ - 32768_ <> -2_ or 9097 32766_ - 32769_ <> -3_ or 9098 32766_ - 2147483646_ <> -2147450880_ or 9099 32766_ - 2147483647_ <> -2147450881_ or 9100 32766_ - 2147483648_ <> -2147450882_ or 9101 32766_ - 2147483649_ <> -2147450883_ or 9102 32767_ - -2147483650_ <> 2147516417_ or 9103 32767_ - -2147483649_ <> 2147516416_ or 9104 32767_ - -2147483648_ <> 2147516415_ or 9105 32767_ - -2147483647_ <> 2147516414_ or 9106 32767_ - -32770_ <> 65537_ or 9107 32767_ - -32769_ <> 65536_ or 9108 32767_ - -32768_ <> 65535_ or 9109 32767_ - -32767_ <> 65534_ or 9110 32767_ - -2_ <> 32769_ or 9111 32767_ - -1_ <> 32768_ or 9112 32767_ - 0_ <> 32767_ or 9113 32767_ - 1_ <> 32766_ or 9114 32767_ - 32766_ <> 1_ or 9115 32767_ - 32767_ <> 0_ or 9116 32767_ - 32768_ <> -1_ or 9117 32767_ - 32769_ <> -2_ or 9118 32767_ - 2147483646_ <> -2147450879_ or 9119 32767_ - 2147483647_ <> -2147450880_ or 9120 32767_ - 2147483648_ <> -2147450881_ or 9121 32767_ - 2147483649_ <> -2147450882_ or 9122 32768_ - -2147483650_ <> 2147516418_ or 9123 32768_ - -2147483649_ <> 2147516417_ or 9124 32768_ - -2147483648_ <> 2147516416_ or 9125 32768_ - -2147483647_ <> 2147516415_ or 9126 32768_ - -32770_ <> 65538_ or 9127 32768_ - -32769_ <> 65537_ or 9128 32768_ - -32768_ <> 65536_ or 9129 32768_ - -32767_ <> 65535_ or 9130 32768_ - -2_ <> 32770_ or 9131 32768_ - -1_ <> 32769_ or 9132 32768_ - 0_ <> 32768_ or 9133 32768_ - 1_ <> 32767_ or 9134 32768_ - 32766_ <> 2_ or 9135 32768_ - 32767_ <> 1_ or 9136 32768_ - 32768_ <> 0_ or 9137 32768_ - 32769_ <> -1_ or 9138 32768_ - 2147483646_ <> -2147450878_ or 9139 32768_ - 2147483647_ <> -2147450879_ or 9140 32768_ - 2147483648_ <> -2147450880_ or 9141 32768_ - 2147483649_ <> -2147450881_ or 9142 32769_ - -2147483650_ <> 2147516419_ or 9143 32769_ - -2147483649_ <> 2147516418_ or 9144 32769_ - -2147483648_ <> 2147516417_ or 9145 32769_ - -2147483647_ <> 2147516416_ or 9146 32769_ - -32770_ <> 65539_ or 9147 32769_ - -32769_ <> 65538_ or 9148 32769_ - -32768_ <> 65537_ or 9149 32769_ - -32767_ <> 65536_ or 9150 32769_ - -2_ <> 32771_ or 9151 32769_ - -1_ <> 32770_ or 9152 32769_ - 0_ <> 32769_ or 9153 32769_ - 1_ <> 32768_ or 9154 32769_ - 32766_ <> 3_ or 9155 32769_ - 32767_ <> 2_ or 9156 32769_ - 32768_ <> 1_ or 9157 32769_ - 32769_ <> 0_ or 9158 32769_ - 2147483646_ <> -2147450877_ or 9159 32769_ - 2147483647_ <> -2147450878_ or 9160 32769_ - 2147483648_ <> -2147450879_ or 9161 32769_ - 2147483649_ <> -2147450880_ or 9162 2147483646_ - -2147483650_ <> 4294967296_ or 9163 2147483646_ - -2147483649_ <> 4294967295_ or 9164 2147483646_ - -2147483648_ <> 4294967294_ or 9165 2147483646_ - -2147483647_ <> 4294967293_ or 9166 2147483646_ - -32770_ <> 2147516416_ or 9167 2147483646_ - -32769_ <> 2147516415_ or 9168 2147483646_ - -32768_ <> 2147516414_ or 9169 2147483646_ - -32767_ <> 2147516413_ or 9170 2147483646_ - -2_ <> 2147483648_ or 9171 2147483646_ - -1_ <> 2147483647_ or 9172 2147483646_ - 0_ <> 2147483646_ or 9173 2147483646_ - 1_ <> 2147483645_ or 9174 2147483646_ - 32766_ <> 2147450880_ or 9175 2147483646_ - 32767_ <> 2147450879_ or 9176 2147483646_ - 32768_ <> 2147450878_ or 9177 2147483646_ - 32769_ <> 2147450877_ or 9178 2147483646_ - 2147483646_ <> 0_ or 9179 2147483646_ - 2147483647_ <> -1_ or 9180 2147483646_ - 2147483648_ <> -2_ or 9181 2147483646_ - 2147483649_ <> -3_ or 9182 2147483647_ - -2147483650_ <> 4294967297_ or 9183 2147483647_ - -2147483649_ <> 4294967296_ or 9184 2147483647_ - -2147483648_ <> 4294967295_ or 9185 2147483647_ - -2147483647_ <> 4294967294_ or 9186 2147483647_ - -32770_ <> 2147516417_ or 9187 2147483647_ - -32769_ <> 2147516416_ or 9188 2147483647_ - -32768_ <> 2147516415_ or 9189 2147483647_ - -32767_ <> 2147516414_ or 9190 2147483647_ - -2_ <> 2147483649_ or 9191 2147483647_ - -1_ <> 2147483648_ or 9192 2147483647_ - 0_ <> 2147483647_ or 9193 2147483647_ - 1_ <> 2147483646_ or 9194 2147483647_ - 32766_ <> 2147450881_ or 9195 2147483647_ - 32767_ <> 2147450880_ or 9196 2147483647_ - 32768_ <> 2147450879_ or 9197 2147483647_ - 32769_ <> 2147450878_ or 9198 2147483647_ - 2147483646_ <> 1_ or 9199 2147483647_ - 2147483647_ <> 0_ or 9200 2147483647_ - 2147483648_ <> -1_ or 9201 2147483647_ - 2147483649_ <> -2_ or 9202 2147483648_ - -2147483650_ <> 4294967298_ or 9203 2147483648_ - -2147483649_ <> 4294967297_ or 9204 2147483648_ - -2147483648_ <> 4294967296_ or 9205 2147483648_ - -2147483647_ <> 4294967295_ or 9206 2147483648_ - -32770_ <> 2147516418_ or 9207 2147483648_ - -32769_ <> 2147516417_ or 9208 2147483648_ - -32768_ <> 2147516416_ or 9209 2147483648_ - -32767_ <> 2147516415_ or 9210 2147483648_ - -2_ <> 2147483650_ or 9211 2147483648_ - -1_ <> 2147483649_ or 9212 2147483648_ - 0_ <> 2147483648_ or 9213 2147483648_ - 1_ <> 2147483647_ or 9214 2147483648_ - 32766_ <> 2147450882_ or 9215 2147483648_ - 32767_ <> 2147450881_ or 9216 2147483648_ - 32768_ <> 2147450880_ or 9217 2147483648_ - 32769_ <> 2147450879_ or 9218 2147483648_ - 2147483646_ <> 2_ or 9219 2147483648_ - 2147483647_ <> 1_ or 9220 2147483648_ - 2147483648_ <> 0_ or 9221 2147483648_ - 2147483649_ <> -1_ or 9222 2147483649_ - -2147483650_ <> 4294967299_ or 9223 2147483649_ - -2147483649_ <> 4294967298_ or 9224 2147483649_ - -2147483648_ <> 4294967297_ or 9225 2147483649_ - -2147483647_ <> 4294967296_ or 9226 2147483649_ - -32770_ <> 2147516419_ or 9227 2147483649_ - -32769_ <> 2147516418_ or 9228 2147483649_ - -32768_ <> 2147516417_ or 9229 2147483649_ - -32767_ <> 2147516416_ or 9230 2147483649_ - -2_ <> 2147483651_ or 9231 2147483649_ - -1_ <> 2147483650_ or 9232 2147483649_ - 0_ <> 2147483649_ or 9233 2147483649_ - 1_ <> 2147483648_ or 9234 2147483649_ - 32766_ <> 2147450883_ or 9235 2147483649_ - 32767_ <> 2147450882_ or 9236 2147483649_ - 32768_ <> 2147450881_ or 9237 2147483649_ - 32769_ <> 2147450880_ or 9238 2147483649_ - 2147483646_ <> 3_ or 9239 2147483649_ - 2147483647_ <> 2_ or 9240 2147483649_ - 2147483648_ <> 1_ or 9241 2147483649_ - 2147483649_ <> 0_ then 9242 writeln("Subtraction of bigInteger does not work correct."); 9243 okay := FALSE; 9244 end if; 9245 9246 if number - number <> 0_ then 9247 writeln("Subtraction of bigInteger by itself does not work correct."); 9248 okay := FALSE; 9249 end if; 9250 9251 if okay then 9252 writeln("Subtraction of bigInteger works correct."); 9253 else 9254 writeln(" ***** Subtraction of bigInteger does not work correct."); 9255 writeln; 9256 end if; 9257 end func; 9258 9259 9260const func boolean: chkSubtractAssignLiteral1 is func 9261 result 9262 var boolean: ok is TRUE; 9263 local 9264 var bigInteger: big1 is 1_; 9265 begin 9266 big1 := -2147483650_; big1 -:= -2147483650_; ok := ok and big1 = 0_; 9267 big1 := -2147483650_; big1 -:= -2147483649_; ok := ok and big1 = -1_; 9268 big1 := -2147483650_; big1 -:= -2147483648_; ok := ok and big1 = -2_; 9269 big1 := -2147483650_; big1 -:= -2147483647_; ok := ok and big1 = -3_; 9270 big1 := -2147483650_; big1 -:= -32770_; ok := ok and big1 = -2147450880_; 9271 big1 := -2147483650_; big1 -:= -32769_; ok := ok and big1 = -2147450881_; 9272 big1 := -2147483650_; big1 -:= -32768_; ok := ok and big1 = -2147450882_; 9273 big1 := -2147483650_; big1 -:= -32767_; ok := ok and big1 = -2147450883_; 9274 big1 := -2147483650_; big1 -:= -2_; ok := ok and big1 = -2147483648_; 9275 big1 := -2147483650_; big1 -:= -1_; ok := ok and big1 = -2147483649_; 9276 big1 := -2147483650_; big1 -:= 0_; ok := ok and big1 = -2147483650_; 9277 big1 := -2147483650_; big1 -:= 1_; ok := ok and big1 = -2147483651_; 9278 big1 := -2147483650_; big1 -:= 2_; ok := ok and big1 = -2147483652_; 9279 big1 := -2147483650_; big1 -:= 32766_; ok := ok and big1 = -2147516416_; 9280 big1 := -2147483650_; big1 -:= 32767_; ok := ok and big1 = -2147516417_; 9281 big1 := -2147483650_; big1 -:= 32768_; ok := ok and big1 = -2147516418_; 9282 big1 := -2147483650_; big1 -:= 32769_; ok := ok and big1 = -2147516419_; 9283 big1 := -2147483650_; big1 -:= 2147483646_; ok := ok and big1 = -4294967296_; 9284 big1 := -2147483650_; big1 -:= 2147483647_; ok := ok and big1 = -4294967297_; 9285 big1 := -2147483650_; big1 -:= 2147483648_; ok := ok and big1 = -4294967298_; 9286 big1 := -2147483650_; big1 -:= 2147483649_; ok := ok and big1 = -4294967299_; 9287 big1 := -2147483649_; big1 -:= -2147483650_; ok := ok and big1 = 1_; 9288 big1 := -2147483649_; big1 -:= -2147483649_; ok := ok and big1 = 0_; 9289 big1 := -2147483649_; big1 -:= -2147483648_; ok := ok and big1 = -1_; 9290 big1 := -2147483649_; big1 -:= -2147483647_; ok := ok and big1 = -2_; 9291 big1 := -2147483649_; big1 -:= -32770_; ok := ok and big1 = -2147450879_; 9292 big1 := -2147483649_; big1 -:= -32769_; ok := ok and big1 = -2147450880_; 9293 big1 := -2147483649_; big1 -:= -32768_; ok := ok and big1 = -2147450881_; 9294 big1 := -2147483649_; big1 -:= -32767_; ok := ok and big1 = -2147450882_; 9295 big1 := -2147483649_; big1 -:= -2_; ok := ok and big1 = -2147483647_; 9296 big1 := -2147483649_; big1 -:= -1_; ok := ok and big1 = -2147483648_; 9297 big1 := -2147483649_; big1 -:= 0_; ok := ok and big1 = -2147483649_; 9298 big1 := -2147483649_; big1 -:= 1_; ok := ok and big1 = -2147483650_; 9299 big1 := -2147483649_; big1 -:= 2_; ok := ok and big1 = -2147483651_; 9300 big1 := -2147483649_; big1 -:= 32766_; ok := ok and big1 = -2147516415_; 9301 big1 := -2147483649_; big1 -:= 32767_; ok := ok and big1 = -2147516416_; 9302 big1 := -2147483649_; big1 -:= 32768_; ok := ok and big1 = -2147516417_; 9303 big1 := -2147483649_; big1 -:= 32769_; ok := ok and big1 = -2147516418_; 9304 big1 := -2147483649_; big1 -:= 2147483646_; ok := ok and big1 = -4294967295_; 9305 big1 := -2147483649_; big1 -:= 2147483647_; ok := ok and big1 = -4294967296_; 9306 big1 := -2147483649_; big1 -:= 2147483648_; ok := ok and big1 = -4294967297_; 9307 big1 := -2147483649_; big1 -:= 2147483649_; ok := ok and big1 = -4294967298_; 9308 big1 := -2147483648_; big1 -:= -2147483650_; ok := ok and big1 = 2_; 9309 big1 := -2147483648_; big1 -:= -2147483649_; ok := ok and big1 = 1_; 9310 big1 := -2147483648_; big1 -:= -2147483648_; ok := ok and big1 = 0_; 9311 big1 := -2147483648_; big1 -:= -2147483647_; ok := ok and big1 = -1_; 9312 big1 := -2147483648_; big1 -:= -32770_; ok := ok and big1 = -2147450878_; 9313 big1 := -2147483648_; big1 -:= -32769_; ok := ok and big1 = -2147450879_; 9314 big1 := -2147483648_; big1 -:= -32768_; ok := ok and big1 = -2147450880_; 9315 big1 := -2147483648_; big1 -:= -32767_; ok := ok and big1 = -2147450881_; 9316 big1 := -2147483648_; big1 -:= -2_; ok := ok and big1 = -2147483646_; 9317 big1 := -2147483648_; big1 -:= -1_; ok := ok and big1 = -2147483647_; 9318 big1 := -2147483648_; big1 -:= 0_; ok := ok and big1 = -2147483648_; 9319 big1 := -2147483648_; big1 -:= 1_; ok := ok and big1 = -2147483649_; 9320 big1 := -2147483648_; big1 -:= 2_; ok := ok and big1 = -2147483650_; 9321 big1 := -2147483648_; big1 -:= 32766_; ok := ok and big1 = -2147516414_; 9322 big1 := -2147483648_; big1 -:= 32767_; ok := ok and big1 = -2147516415_; 9323 big1 := -2147483648_; big1 -:= 32768_; ok := ok and big1 = -2147516416_; 9324 big1 := -2147483648_; big1 -:= 32769_; ok := ok and big1 = -2147516417_; 9325 big1 := -2147483648_; big1 -:= 2147483646_; ok := ok and big1 = -4294967294_; 9326 big1 := -2147483648_; big1 -:= 2147483647_; ok := ok and big1 = -4294967295_; 9327 big1 := -2147483648_; big1 -:= 2147483648_; ok := ok and big1 = -4294967296_; 9328 big1 := -2147483648_; big1 -:= 2147483649_; ok := ok and big1 = -4294967297_; 9329 big1 := -2147483647_; big1 -:= -2147483650_; ok := ok and big1 = 3_; 9330 big1 := -2147483647_; big1 -:= -2147483649_; ok := ok and big1 = 2_; 9331 big1 := -2147483647_; big1 -:= -2147483648_; ok := ok and big1 = 1_; 9332 big1 := -2147483647_; big1 -:= -2147483647_; ok := ok and big1 = 0_; 9333 big1 := -2147483647_; big1 -:= -32770_; ok := ok and big1 = -2147450877_; 9334 big1 := -2147483647_; big1 -:= -32769_; ok := ok and big1 = -2147450878_; 9335 big1 := -2147483647_; big1 -:= -32768_; ok := ok and big1 = -2147450879_; 9336 big1 := -2147483647_; big1 -:= -32767_; ok := ok and big1 = -2147450880_; 9337 big1 := -2147483647_; big1 -:= -2_; ok := ok and big1 = -2147483645_; 9338 big1 := -2147483647_; big1 -:= -1_; ok := ok and big1 = -2147483646_; 9339 big1 := -2147483647_; big1 -:= 0_; ok := ok and big1 = -2147483647_; 9340 big1 := -2147483647_; big1 -:= 1_; ok := ok and big1 = -2147483648_; 9341 big1 := -2147483647_; big1 -:= 2_; ok := ok and big1 = -2147483649_; 9342 big1 := -2147483647_; big1 -:= 32766_; ok := ok and big1 = -2147516413_; 9343 big1 := -2147483647_; big1 -:= 32767_; ok := ok and big1 = -2147516414_; 9344 big1 := -2147483647_; big1 -:= 32768_; ok := ok and big1 = -2147516415_; 9345 big1 := -2147483647_; big1 -:= 32769_; ok := ok and big1 = -2147516416_; 9346 big1 := -2147483647_; big1 -:= 2147483646_; ok := ok and big1 = -4294967293_; 9347 big1 := -2147483647_; big1 -:= 2147483647_; ok := ok and big1 = -4294967294_; 9348 big1 := -2147483647_; big1 -:= 2147483648_; ok := ok and big1 = -4294967295_; 9349 big1 := -2147483647_; big1 -:= 2147483649_; ok := ok and big1 = -4294967296_; 9350 big1 := -32770_; big1 -:= -2147483650_; ok := ok and big1 = 2147450880_; 9351 big1 := -32770_; big1 -:= -2147483649_; ok := ok and big1 = 2147450879_; 9352 big1 := -32770_; big1 -:= -2147483648_; ok := ok and big1 = 2147450878_; 9353 big1 := -32770_; big1 -:= -2147483647_; ok := ok and big1 = 2147450877_; 9354 big1 := -32770_; big1 -:= -32770_; ok := ok and big1 = 0_; 9355 big1 := -32770_; big1 -:= -32769_; ok := ok and big1 = -1_; 9356 big1 := -32770_; big1 -:= -32768_; ok := ok and big1 = -2_; 9357 big1 := -32770_; big1 -:= -32767_; ok := ok and big1 = -3_; 9358 big1 := -32770_; big1 -:= -2_; ok := ok and big1 = -32768_; 9359 big1 := -32770_; big1 -:= -1_; ok := ok and big1 = -32769_; 9360 big1 := -32770_; big1 -:= 0_; ok := ok and big1 = -32770_; 9361 big1 := -32770_; big1 -:= 1_; ok := ok and big1 = -32771_; 9362 big1 := -32770_; big1 -:= 2_; ok := ok and big1 = -32772_; 9363 big1 := -32770_; big1 -:= 32766_; ok := ok and big1 = -65536_; 9364 big1 := -32770_; big1 -:= 32767_; ok := ok and big1 = -65537_; 9365 big1 := -32770_; big1 -:= 32768_; ok := ok and big1 = -65538_; 9366 big1 := -32770_; big1 -:= 32769_; ok := ok and big1 = -65539_; 9367 big1 := -32770_; big1 -:= 2147483646_; ok := ok and big1 = -2147516416_; 9368 big1 := -32770_; big1 -:= 2147483647_; ok := ok and big1 = -2147516417_; 9369 big1 := -32770_; big1 -:= 2147483648_; ok := ok and big1 = -2147516418_; 9370 big1 := -32770_; big1 -:= 2147483649_; ok := ok and big1 = -2147516419_; 9371 big1 := -32769_; big1 -:= -2147483650_; ok := ok and big1 = 2147450881_; 9372 big1 := -32769_; big1 -:= -2147483649_; ok := ok and big1 = 2147450880_; 9373 big1 := -32769_; big1 -:= -2147483648_; ok := ok and big1 = 2147450879_; 9374 big1 := -32769_; big1 -:= -2147483647_; ok := ok and big1 = 2147450878_; 9375 big1 := -32769_; big1 -:= -32770_; ok := ok and big1 = 1_; 9376 big1 := -32769_; big1 -:= -32769_; ok := ok and big1 = 0_; 9377 big1 := -32769_; big1 -:= -32768_; ok := ok and big1 = -1_; 9378 big1 := -32769_; big1 -:= -32767_; ok := ok and big1 = -2_; 9379 big1 := -32769_; big1 -:= -2_; ok := ok and big1 = -32767_; 9380 big1 := -32769_; big1 -:= -1_; ok := ok and big1 = -32768_; 9381 big1 := -32769_; big1 -:= 0_; ok := ok and big1 = -32769_; 9382 big1 := -32769_; big1 -:= 1_; ok := ok and big1 = -32770_; 9383 big1 := -32769_; big1 -:= 2_; ok := ok and big1 = -32771_; 9384 big1 := -32769_; big1 -:= 32766_; ok := ok and big1 = -65535_; 9385 big1 := -32769_; big1 -:= 32767_; ok := ok and big1 = -65536_; 9386 big1 := -32769_; big1 -:= 32768_; ok := ok and big1 = -65537_; 9387 big1 := -32769_; big1 -:= 32769_; ok := ok and big1 = -65538_; 9388 big1 := -32769_; big1 -:= 2147483646_; ok := ok and big1 = -2147516415_; 9389 big1 := -32769_; big1 -:= 2147483647_; ok := ok and big1 = -2147516416_; 9390 big1 := -32769_; big1 -:= 2147483648_; ok := ok and big1 = -2147516417_; 9391 big1 := -32769_; big1 -:= 2147483649_; ok := ok and big1 = -2147516418_; 9392 big1 := -32768_; big1 -:= -2147483650_; ok := ok and big1 = 2147450882_; 9393 big1 := -32768_; big1 -:= -2147483649_; ok := ok and big1 = 2147450881_; 9394 big1 := -32768_; big1 -:= -2147483648_; ok := ok and big1 = 2147450880_; 9395 big1 := -32768_; big1 -:= -2147483647_; ok := ok and big1 = 2147450879_; 9396 big1 := -32768_; big1 -:= -32770_; ok := ok and big1 = 2_; 9397 big1 := -32768_; big1 -:= -32769_; ok := ok and big1 = 1_; 9398 big1 := -32768_; big1 -:= -32768_; ok := ok and big1 = 0_; 9399 big1 := -32768_; big1 -:= -32767_; ok := ok and big1 = -1_; 9400 big1 := -32768_; big1 -:= -2_; ok := ok and big1 = -32766_; 9401 big1 := -32768_; big1 -:= -1_; ok := ok and big1 = -32767_; 9402 big1 := -32768_; big1 -:= 0_; ok := ok and big1 = -32768_; 9403 big1 := -32768_; big1 -:= 1_; ok := ok and big1 = -32769_; 9404 big1 := -32768_; big1 -:= 2_; ok := ok and big1 = -32770_; 9405 big1 := -32768_; big1 -:= 32766_; ok := ok and big1 = -65534_; 9406 big1 := -32768_; big1 -:= 32767_; ok := ok and big1 = -65535_; 9407 big1 := -32768_; big1 -:= 32768_; ok := ok and big1 = -65536_; 9408 big1 := -32768_; big1 -:= 32769_; ok := ok and big1 = -65537_; 9409 big1 := -32768_; big1 -:= 2147483646_; ok := ok and big1 = -2147516414_; 9410 big1 := -32768_; big1 -:= 2147483647_; ok := ok and big1 = -2147516415_; 9411 big1 := -32768_; big1 -:= 2147483648_; ok := ok and big1 = -2147516416_; 9412 big1 := -32768_; big1 -:= 2147483649_; ok := ok and big1 = -2147516417_; 9413 big1 := -32767_; big1 -:= -2147483650_; ok := ok and big1 = 2147450883_; 9414 big1 := -32767_; big1 -:= -2147483649_; ok := ok and big1 = 2147450882_; 9415 big1 := -32767_; big1 -:= -2147483648_; ok := ok and big1 = 2147450881_; 9416 big1 := -32767_; big1 -:= -2147483647_; ok := ok and big1 = 2147450880_; 9417 big1 := -32767_; big1 -:= -32770_; ok := ok and big1 = 3_; 9418 big1 := -32767_; big1 -:= -32769_; ok := ok and big1 = 2_; 9419 big1 := -32767_; big1 -:= -32768_; ok := ok and big1 = 1_; 9420 big1 := -32767_; big1 -:= -32767_; ok := ok and big1 = 0_; 9421 big1 := -32767_; big1 -:= -2_; ok := ok and big1 = -32765_; 9422 big1 := -32767_; big1 -:= -1_; ok := ok and big1 = -32766_; 9423 big1 := -32767_; big1 -:= 0_; ok := ok and big1 = -32767_; 9424 big1 := -32767_; big1 -:= 1_; ok := ok and big1 = -32768_; 9425 big1 := -32767_; big1 -:= 2_; ok := ok and big1 = -32769_; 9426 big1 := -32767_; big1 -:= 32766_; ok := ok and big1 = -65533_; 9427 big1 := -32767_; big1 -:= 32767_; ok := ok and big1 = -65534_; 9428 big1 := -32767_; big1 -:= 32768_; ok := ok and big1 = -65535_; 9429 big1 := -32767_; big1 -:= 32769_; ok := ok and big1 = -65536_; 9430 big1 := -32767_; big1 -:= 2147483646_; ok := ok and big1 = -2147516413_; 9431 big1 := -32767_; big1 -:= 2147483647_; ok := ok and big1 = -2147516414_; 9432 big1 := -32767_; big1 -:= 2147483648_; ok := ok and big1 = -2147516415_; 9433 big1 := -32767_; big1 -:= 2147483649_; ok := ok and big1 = -2147516416_; 9434 big1 := -2_; big1 -:= -2147483650_; ok := ok and big1 = 2147483648_; 9435 big1 := -2_; big1 -:= -2147483649_; ok := ok and big1 = 2147483647_; 9436 big1 := -2_; big1 -:= -2147483648_; ok := ok and big1 = 2147483646_; 9437 big1 := -2_; big1 -:= -2147483647_; ok := ok and big1 = 2147483645_; 9438 big1 := -2_; big1 -:= -32770_; ok := ok and big1 = 32768_; 9439 big1 := -2_; big1 -:= -32769_; ok := ok and big1 = 32767_; 9440 big1 := -2_; big1 -:= -32768_; ok := ok and big1 = 32766_; 9441 big1 := -2_; big1 -:= -32767_; ok := ok and big1 = 32765_; 9442 big1 := -2_; big1 -:= -2_; ok := ok and big1 = 0_; 9443 big1 := -2_; big1 -:= -1_; ok := ok and big1 = -1_; 9444 big1 := -2_; big1 -:= 0_; ok := ok and big1 = -2_; 9445 big1 := -2_; big1 -:= 1_; ok := ok and big1 = -3_; 9446 big1 := -2_; big1 -:= 2_; ok := ok and big1 = -4_; 9447 big1 := -2_; big1 -:= 32766_; ok := ok and big1 = -32768_; 9448 big1 := -2_; big1 -:= 32767_; ok := ok and big1 = -32769_; 9449 big1 := -2_; big1 -:= 32768_; ok := ok and big1 = -32770_; 9450 big1 := -2_; big1 -:= 32769_; ok := ok and big1 = -32771_; 9451 big1 := -2_; big1 -:= 2147483646_; ok := ok and big1 = -2147483648_; 9452 big1 := -2_; big1 -:= 2147483647_; ok := ok and big1 = -2147483649_; 9453 big1 := -2_; big1 -:= 2147483648_; ok := ok and big1 = -2147483650_; 9454 big1 := -2_; big1 -:= 2147483649_; ok := ok and big1 = -2147483651_; 9455 big1 := -1_; big1 -:= -2147483650_; ok := ok and big1 = 2147483649_; 9456 big1 := -1_; big1 -:= -2147483649_; ok := ok and big1 = 2147483648_; 9457 big1 := -1_; big1 -:= -2147483648_; ok := ok and big1 = 2147483647_; 9458 big1 := -1_; big1 -:= -2147483647_; ok := ok and big1 = 2147483646_; 9459 big1 := -1_; big1 -:= -32770_; ok := ok and big1 = 32769_; 9460 big1 := -1_; big1 -:= -32769_; ok := ok and big1 = 32768_; 9461 big1 := -1_; big1 -:= -32768_; ok := ok and big1 = 32767_; 9462 big1 := -1_; big1 -:= -32767_; ok := ok and big1 = 32766_; 9463 big1 := -1_; big1 -:= -2_; ok := ok and big1 = 1_; 9464 big1 := -1_; big1 -:= -1_; ok := ok and big1 = 0_; 9465 big1 := -1_; big1 -:= 0_; ok := ok and big1 = -1_; 9466 big1 := -1_; big1 -:= 1_; ok := ok and big1 = -2_; 9467 big1 := -1_; big1 -:= 2_; ok := ok and big1 = -3_; 9468 big1 := -1_; big1 -:= 32766_; ok := ok and big1 = -32767_; 9469 big1 := -1_; big1 -:= 32767_; ok := ok and big1 = -32768_; 9470 big1 := -1_; big1 -:= 32768_; ok := ok and big1 = -32769_; 9471 big1 := -1_; big1 -:= 32769_; ok := ok and big1 = -32770_; 9472 big1 := -1_; big1 -:= 2147483646_; ok := ok and big1 = -2147483647_; 9473 big1 := -1_; big1 -:= 2147483647_; ok := ok and big1 = -2147483648_; 9474 big1 := -1_; big1 -:= 2147483648_; ok := ok and big1 = -2147483649_; 9475 big1 := -1_; big1 -:= 2147483649_; ok := ok and big1 = -2147483650_; 9476 if not ok then 9477 writeln("Subtraction assignment of bigInteger with literal does not work correct. (1)"); 9478 end if; 9479 end func; 9480 9481 9482const func boolean: chkSubtractAssignLiteral2 is func 9483 result 9484 var boolean: ok is TRUE; 9485 local 9486 var bigInteger: big1 is 1_; 9487 begin 9488 big1 := 0_; big1 -:= -2147483650_; ok := ok and big1 = 2147483650_; 9489 big1 := 0_; big1 -:= -2147483649_; ok := ok and big1 = 2147483649_; 9490 big1 := 0_; big1 -:= -2147483648_; ok := ok and big1 = 2147483648_; 9491 big1 := 0_; big1 -:= -2147483647_; ok := ok and big1 = 2147483647_; 9492 big1 := 0_; big1 -:= -32770_; ok := ok and big1 = 32770_; 9493 big1 := 0_; big1 -:= -32769_; ok := ok and big1 = 32769_; 9494 big1 := 0_; big1 -:= -32768_; ok := ok and big1 = 32768_; 9495 big1 := 0_; big1 -:= -32767_; ok := ok and big1 = 32767_; 9496 big1 := 0_; big1 -:= -2_; ok := ok and big1 = 2_; 9497 big1 := 0_; big1 -:= -1_; ok := ok and big1 = 1_; 9498 big1 := 0_; big1 -:= 0_; ok := ok and big1 = 0_; 9499 big1 := 0_; big1 -:= 1_; ok := ok and big1 = -1_; 9500 big1 := 0_; big1 -:= 2_; ok := ok and big1 = -2_; 9501 big1 := 0_; big1 -:= 32766_; ok := ok and big1 = -32766_; 9502 big1 := 0_; big1 -:= 32767_; ok := ok and big1 = -32767_; 9503 big1 := 0_; big1 -:= 32768_; ok := ok and big1 = -32768_; 9504 big1 := 0_; big1 -:= 32769_; ok := ok and big1 = -32769_; 9505 big1 := 0_; big1 -:= 2147483646_; ok := ok and big1 = -2147483646_; 9506 big1 := 0_; big1 -:= 2147483647_; ok := ok and big1 = -2147483647_; 9507 big1 := 0_; big1 -:= 2147483648_; ok := ok and big1 = -2147483648_; 9508 big1 := 0_; big1 -:= 2147483649_; ok := ok and big1 = -2147483649_; 9509 big1 := 1_; big1 -:= -2147483650_; ok := ok and big1 = 2147483651_; 9510 big1 := 1_; big1 -:= -2147483649_; ok := ok and big1 = 2147483650_; 9511 big1 := 1_; big1 -:= -2147483648_; ok := ok and big1 = 2147483649_; 9512 big1 := 1_; big1 -:= -2147483647_; ok := ok and big1 = 2147483648_; 9513 big1 := 1_; big1 -:= -32770_; ok := ok and big1 = 32771_; 9514 big1 := 1_; big1 -:= -32769_; ok := ok and big1 = 32770_; 9515 big1 := 1_; big1 -:= -32768_; ok := ok and big1 = 32769_; 9516 big1 := 1_; big1 -:= -32767_; ok := ok and big1 = 32768_; 9517 big1 := 1_; big1 -:= -2_; ok := ok and big1 = 3_; 9518 big1 := 1_; big1 -:= -1_; ok := ok and big1 = 2_; 9519 big1 := 1_; big1 -:= 0_; ok := ok and big1 = 1_; 9520 big1 := 1_; big1 -:= 1_; ok := ok and big1 = 0_; 9521 big1 := 1_; big1 -:= 2_; ok := ok and big1 = -1_; 9522 big1 := 1_; big1 -:= 32766_; ok := ok and big1 = -32765_; 9523 big1 := 1_; big1 -:= 32767_; ok := ok and big1 = -32766_; 9524 big1 := 1_; big1 -:= 32768_; ok := ok and big1 = -32767_; 9525 big1 := 1_; big1 -:= 32769_; ok := ok and big1 = -32768_; 9526 big1 := 1_; big1 -:= 2147483646_; ok := ok and big1 = -2147483645_; 9527 big1 := 1_; big1 -:= 2147483647_; ok := ok and big1 = -2147483646_; 9528 big1 := 1_; big1 -:= 2147483648_; ok := ok and big1 = -2147483647_; 9529 big1 := 1_; big1 -:= 2147483649_; ok := ok and big1 = -2147483648_; 9530 big1 := 2_; big1 -:= -2147483650_; ok := ok and big1 = 2147483652_; 9531 big1 := 2_; big1 -:= -2147483649_; ok := ok and big1 = 2147483651_; 9532 big1 := 2_; big1 -:= -2147483648_; ok := ok and big1 = 2147483650_; 9533 big1 := 2_; big1 -:= -2147483647_; ok := ok and big1 = 2147483649_; 9534 big1 := 2_; big1 -:= -32770_; ok := ok and big1 = 32772_; 9535 big1 := 2_; big1 -:= -32769_; ok := ok and big1 = 32771_; 9536 big1 := 2_; big1 -:= -32768_; ok := ok and big1 = 32770_; 9537 big1 := 2_; big1 -:= -32767_; ok := ok and big1 = 32769_; 9538 big1 := 2_; big1 -:= -2_; ok := ok and big1 = 4_; 9539 big1 := 2_; big1 -:= -1_; ok := ok and big1 = 3_; 9540 big1 := 2_; big1 -:= 0_; ok := ok and big1 = 2_; 9541 big1 := 2_; big1 -:= 1_; ok := ok and big1 = 1_; 9542 big1 := 2_; big1 -:= 2_; ok := ok and big1 = 0_; 9543 big1 := 2_; big1 -:= 32766_; ok := ok and big1 = -32764_; 9544 big1 := 2_; big1 -:= 32767_; ok := ok and big1 = -32765_; 9545 big1 := 2_; big1 -:= 32768_; ok := ok and big1 = -32766_; 9546 big1 := 2_; big1 -:= 32769_; ok := ok and big1 = -32767_; 9547 big1 := 2_; big1 -:= 2147483646_; ok := ok and big1 = -2147483644_; 9548 big1 := 2_; big1 -:= 2147483647_; ok := ok and big1 = -2147483645_; 9549 big1 := 2_; big1 -:= 2147483648_; ok := ok and big1 = -2147483646_; 9550 big1 := 2_; big1 -:= 2147483649_; ok := ok and big1 = -2147483647_; 9551 big1 := 32766_; big1 -:= -2147483650_; ok := ok and big1 = 2147516416_; 9552 big1 := 32766_; big1 -:= -2147483649_; ok := ok and big1 = 2147516415_; 9553 big1 := 32766_; big1 -:= -2147483648_; ok := ok and big1 = 2147516414_; 9554 big1 := 32766_; big1 -:= -2147483647_; ok := ok and big1 = 2147516413_; 9555 big1 := 32766_; big1 -:= -32770_; ok := ok and big1 = 65536_; 9556 big1 := 32766_; big1 -:= -32769_; ok := ok and big1 = 65535_; 9557 big1 := 32766_; big1 -:= -32768_; ok := ok and big1 = 65534_; 9558 big1 := 32766_; big1 -:= -32767_; ok := ok and big1 = 65533_; 9559 big1 := 32766_; big1 -:= -2_; ok := ok and big1 = 32768_; 9560 big1 := 32766_; big1 -:= -1_; ok := ok and big1 = 32767_; 9561 big1 := 32766_; big1 -:= 0_; ok := ok and big1 = 32766_; 9562 big1 := 32766_; big1 -:= 1_; ok := ok and big1 = 32765_; 9563 big1 := 32766_; big1 -:= 2_; ok := ok and big1 = 32764_; 9564 big1 := 32766_; big1 -:= 32766_; ok := ok and big1 = 0_; 9565 big1 := 32766_; big1 -:= 32767_; ok := ok and big1 = -1_; 9566 big1 := 32766_; big1 -:= 32768_; ok := ok and big1 = -2_; 9567 big1 := 32766_; big1 -:= 32769_; ok := ok and big1 = -3_; 9568 big1 := 32766_; big1 -:= 2147483646_; ok := ok and big1 = -2147450880_; 9569 big1 := 32766_; big1 -:= 2147483647_; ok := ok and big1 = -2147450881_; 9570 big1 := 32766_; big1 -:= 2147483648_; ok := ok and big1 = -2147450882_; 9571 big1 := 32766_; big1 -:= 2147483649_; ok := ok and big1 = -2147450883_; 9572 big1 := 32767_; big1 -:= -2147483650_; ok := ok and big1 = 2147516417_; 9573 big1 := 32767_; big1 -:= -2147483649_; ok := ok and big1 = 2147516416_; 9574 big1 := 32767_; big1 -:= -2147483648_; ok := ok and big1 = 2147516415_; 9575 big1 := 32767_; big1 -:= -2147483647_; ok := ok and big1 = 2147516414_; 9576 big1 := 32767_; big1 -:= -32770_; ok := ok and big1 = 65537_; 9577 big1 := 32767_; big1 -:= -32769_; ok := ok and big1 = 65536_; 9578 big1 := 32767_; big1 -:= -32768_; ok := ok and big1 = 65535_; 9579 big1 := 32767_; big1 -:= -32767_; ok := ok and big1 = 65534_; 9580 big1 := 32767_; big1 -:= -2_; ok := ok and big1 = 32769_; 9581 big1 := 32767_; big1 -:= -1_; ok := ok and big1 = 32768_; 9582 big1 := 32767_; big1 -:= 0_; ok := ok and big1 = 32767_; 9583 big1 := 32767_; big1 -:= 1_; ok := ok and big1 = 32766_; 9584 big1 := 32767_; big1 -:= 2_; ok := ok and big1 = 32765_; 9585 big1 := 32767_; big1 -:= 32766_; ok := ok and big1 = 1_; 9586 big1 := 32767_; big1 -:= 32767_; ok := ok and big1 = 0_; 9587 big1 := 32767_; big1 -:= 32768_; ok := ok and big1 = -1_; 9588 big1 := 32767_; big1 -:= 32769_; ok := ok and big1 = -2_; 9589 big1 := 32767_; big1 -:= 2147483646_; ok := ok and big1 = -2147450879_; 9590 big1 := 32767_; big1 -:= 2147483647_; ok := ok and big1 = -2147450880_; 9591 big1 := 32767_; big1 -:= 2147483648_; ok := ok and big1 = -2147450881_; 9592 big1 := 32767_; big1 -:= 2147483649_; ok := ok and big1 = -2147450882_; 9593 big1 := 32768_; big1 -:= -2147483650_; ok := ok and big1 = 2147516418_; 9594 big1 := 32768_; big1 -:= -2147483649_; ok := ok and big1 = 2147516417_; 9595 big1 := 32768_; big1 -:= -2147483648_; ok := ok and big1 = 2147516416_; 9596 big1 := 32768_; big1 -:= -2147483647_; ok := ok and big1 = 2147516415_; 9597 big1 := 32768_; big1 -:= -32770_; ok := ok and big1 = 65538_; 9598 big1 := 32768_; big1 -:= -32769_; ok := ok and big1 = 65537_; 9599 big1 := 32768_; big1 -:= -32768_; ok := ok and big1 = 65536_; 9600 big1 := 32768_; big1 -:= -32767_; ok := ok and big1 = 65535_; 9601 big1 := 32768_; big1 -:= -2_; ok := ok and big1 = 32770_; 9602 big1 := 32768_; big1 -:= -1_; ok := ok and big1 = 32769_; 9603 big1 := 32768_; big1 -:= 0_; ok := ok and big1 = 32768_; 9604 big1 := 32768_; big1 -:= 1_; ok := ok and big1 = 32767_; 9605 big1 := 32768_; big1 -:= 2_; ok := ok and big1 = 32766_; 9606 big1 := 32768_; big1 -:= 32766_; ok := ok and big1 = 2_; 9607 big1 := 32768_; big1 -:= 32767_; ok := ok and big1 = 1_; 9608 big1 := 32768_; big1 -:= 32768_; ok := ok and big1 = 0_; 9609 big1 := 32768_; big1 -:= 32769_; ok := ok and big1 = -1_; 9610 big1 := 32768_; big1 -:= 2147483646_; ok := ok and big1 = -2147450878_; 9611 big1 := 32768_; big1 -:= 2147483647_; ok := ok and big1 = -2147450879_; 9612 big1 := 32768_; big1 -:= 2147483648_; ok := ok and big1 = -2147450880_; 9613 big1 := 32768_; big1 -:= 2147483649_; ok := ok and big1 = -2147450881_; 9614 big1 := 32769_; big1 -:= -2147483650_; ok := ok and big1 = 2147516419_; 9615 big1 := 32769_; big1 -:= -2147483649_; ok := ok and big1 = 2147516418_; 9616 big1 := 32769_; big1 -:= -2147483648_; ok := ok and big1 = 2147516417_; 9617 big1 := 32769_; big1 -:= -2147483647_; ok := ok and big1 = 2147516416_; 9618 big1 := 32769_; big1 -:= -32770_; ok := ok and big1 = 65539_; 9619 big1 := 32769_; big1 -:= -32769_; ok := ok and big1 = 65538_; 9620 big1 := 32769_; big1 -:= -32768_; ok := ok and big1 = 65537_; 9621 big1 := 32769_; big1 -:= -32767_; ok := ok and big1 = 65536_; 9622 big1 := 32769_; big1 -:= -2_; ok := ok and big1 = 32771_; 9623 big1 := 32769_; big1 -:= -1_; ok := ok and big1 = 32770_; 9624 big1 := 32769_; big1 -:= 0_; ok := ok and big1 = 32769_; 9625 big1 := 32769_; big1 -:= 1_; ok := ok and big1 = 32768_; 9626 big1 := 32769_; big1 -:= 2_; ok := ok and big1 = 32767_; 9627 big1 := 32769_; big1 -:= 32766_; ok := ok and big1 = 3_; 9628 big1 := 32769_; big1 -:= 32767_; ok := ok and big1 = 2_; 9629 big1 := 32769_; big1 -:= 32768_; ok := ok and big1 = 1_; 9630 big1 := 32769_; big1 -:= 32769_; ok := ok and big1 = 0_; 9631 big1 := 32769_; big1 -:= 2147483646_; ok := ok and big1 = -2147450877_; 9632 big1 := 32769_; big1 -:= 2147483647_; ok := ok and big1 = -2147450878_; 9633 big1 := 32769_; big1 -:= 2147483648_; ok := ok and big1 = -2147450879_; 9634 big1 := 32769_; big1 -:= 2147483649_; ok := ok and big1 = -2147450880_; 9635 big1 := 2147483646_; big1 -:= -2147483650_; ok := ok and big1 = 4294967296_; 9636 big1 := 2147483646_; big1 -:= -2147483649_; ok := ok and big1 = 4294967295_; 9637 big1 := 2147483646_; big1 -:= -2147483648_; ok := ok and big1 = 4294967294_; 9638 big1 := 2147483646_; big1 -:= -2147483647_; ok := ok and big1 = 4294967293_; 9639 big1 := 2147483646_; big1 -:= -32770_; ok := ok and big1 = 2147516416_; 9640 big1 := 2147483646_; big1 -:= -32769_; ok := ok and big1 = 2147516415_; 9641 big1 := 2147483646_; big1 -:= -32768_; ok := ok and big1 = 2147516414_; 9642 big1 := 2147483646_; big1 -:= -32767_; ok := ok and big1 = 2147516413_; 9643 big1 := 2147483646_; big1 -:= -2_; ok := ok and big1 = 2147483648_; 9644 big1 := 2147483646_; big1 -:= -1_; ok := ok and big1 = 2147483647_; 9645 big1 := 2147483646_; big1 -:= 0_; ok := ok and big1 = 2147483646_; 9646 big1 := 2147483646_; big1 -:= 1_; ok := ok and big1 = 2147483645_; 9647 big1 := 2147483646_; big1 -:= 2_; ok := ok and big1 = 2147483644_; 9648 big1 := 2147483646_; big1 -:= 32766_; ok := ok and big1 = 2147450880_; 9649 big1 := 2147483646_; big1 -:= 32767_; ok := ok and big1 = 2147450879_; 9650 big1 := 2147483646_; big1 -:= 32768_; ok := ok and big1 = 2147450878_; 9651 big1 := 2147483646_; big1 -:= 32769_; ok := ok and big1 = 2147450877_; 9652 big1 := 2147483646_; big1 -:= 2147483646_; ok := ok and big1 = 0_; 9653 big1 := 2147483646_; big1 -:= 2147483647_; ok := ok and big1 = -1_; 9654 big1 := 2147483646_; big1 -:= 2147483648_; ok := ok and big1 = -2_; 9655 big1 := 2147483646_; big1 -:= 2147483649_; ok := ok and big1 = -3_; 9656 big1 := 2147483647_; big1 -:= -2147483650_; ok := ok and big1 = 4294967297_; 9657 big1 := 2147483647_; big1 -:= -2147483649_; ok := ok and big1 = 4294967296_; 9658 big1 := 2147483647_; big1 -:= -2147483648_; ok := ok and big1 = 4294967295_; 9659 big1 := 2147483647_; big1 -:= -2147483647_; ok := ok and big1 = 4294967294_; 9660 big1 := 2147483647_; big1 -:= -32770_; ok := ok and big1 = 2147516417_; 9661 big1 := 2147483647_; big1 -:= -32769_; ok := ok and big1 = 2147516416_; 9662 big1 := 2147483647_; big1 -:= -32768_; ok := ok and big1 = 2147516415_; 9663 big1 := 2147483647_; big1 -:= -32767_; ok := ok and big1 = 2147516414_; 9664 big1 := 2147483647_; big1 -:= -2_; ok := ok and big1 = 2147483649_; 9665 big1 := 2147483647_; big1 -:= -1_; ok := ok and big1 = 2147483648_; 9666 big1 := 2147483647_; big1 -:= 0_; ok := ok and big1 = 2147483647_; 9667 big1 := 2147483647_; big1 -:= 1_; ok := ok and big1 = 2147483646_; 9668 big1 := 2147483647_; big1 -:= 2_; ok := ok and big1 = 2147483645_; 9669 big1 := 2147483647_; big1 -:= 32766_; ok := ok and big1 = 2147450881_; 9670 big1 := 2147483647_; big1 -:= 32767_; ok := ok and big1 = 2147450880_; 9671 big1 := 2147483647_; big1 -:= 32768_; ok := ok and big1 = 2147450879_; 9672 big1 := 2147483647_; big1 -:= 32769_; ok := ok and big1 = 2147450878_; 9673 big1 := 2147483647_; big1 -:= 2147483646_; ok := ok and big1 = 1_; 9674 big1 := 2147483647_; big1 -:= 2147483647_; ok := ok and big1 = 0_; 9675 big1 := 2147483647_; big1 -:= 2147483648_; ok := ok and big1 = -1_; 9676 big1 := 2147483647_; big1 -:= 2147483649_; ok := ok and big1 = -2_; 9677 big1 := 2147483648_; big1 -:= -2147483650_; ok := ok and big1 = 4294967298_; 9678 big1 := 2147483648_; big1 -:= -2147483649_; ok := ok and big1 = 4294967297_; 9679 big1 := 2147483648_; big1 -:= -2147483648_; ok := ok and big1 = 4294967296_; 9680 big1 := 2147483648_; big1 -:= -2147483647_; ok := ok and big1 = 4294967295_; 9681 big1 := 2147483648_; big1 -:= -32770_; ok := ok and big1 = 2147516418_; 9682 big1 := 2147483648_; big1 -:= -32769_; ok := ok and big1 = 2147516417_; 9683 big1 := 2147483648_; big1 -:= -32768_; ok := ok and big1 = 2147516416_; 9684 big1 := 2147483648_; big1 -:= -32767_; ok := ok and big1 = 2147516415_; 9685 big1 := 2147483648_; big1 -:= -2_; ok := ok and big1 = 2147483650_; 9686 big1 := 2147483648_; big1 -:= -1_; ok := ok and big1 = 2147483649_; 9687 big1 := 2147483648_; big1 -:= 0_; ok := ok and big1 = 2147483648_; 9688 big1 := 2147483648_; big1 -:= 1_; ok := ok and big1 = 2147483647_; 9689 big1 := 2147483648_; big1 -:= 2_; ok := ok and big1 = 2147483646_; 9690 big1 := 2147483648_; big1 -:= 32766_; ok := ok and big1 = 2147450882_; 9691 big1 := 2147483648_; big1 -:= 32767_; ok := ok and big1 = 2147450881_; 9692 big1 := 2147483648_; big1 -:= 32768_; ok := ok and big1 = 2147450880_; 9693 big1 := 2147483648_; big1 -:= 32769_; ok := ok and big1 = 2147450879_; 9694 big1 := 2147483648_; big1 -:= 2147483646_; ok := ok and big1 = 2_; 9695 big1 := 2147483648_; big1 -:= 2147483647_; ok := ok and big1 = 1_; 9696 big1 := 2147483648_; big1 -:= 2147483648_; ok := ok and big1 = 0_; 9697 big1 := 2147483648_; big1 -:= 2147483649_; ok := ok and big1 = -1_; 9698 big1 := 2147483649_; big1 -:= -2147483650_; ok := ok and big1 = 4294967299_; 9699 big1 := 2147483649_; big1 -:= -2147483649_; ok := ok and big1 = 4294967298_; 9700 big1 := 2147483649_; big1 -:= -2147483648_; ok := ok and big1 = 4294967297_; 9701 big1 := 2147483649_; big1 -:= -2147483647_; ok := ok and big1 = 4294967296_; 9702 big1 := 2147483649_; big1 -:= -32770_; ok := ok and big1 = 2147516419_; 9703 big1 := 2147483649_; big1 -:= -32769_; ok := ok and big1 = 2147516418_; 9704 big1 := 2147483649_; big1 -:= -32768_; ok := ok and big1 = 2147516417_; 9705 big1 := 2147483649_; big1 -:= -32767_; ok := ok and big1 = 2147516416_; 9706 big1 := 2147483649_; big1 -:= -2_; ok := ok and big1 = 2147483651_; 9707 big1 := 2147483649_; big1 -:= -1_; ok := ok and big1 = 2147483650_; 9708 big1 := 2147483649_; big1 -:= 0_; ok := ok and big1 = 2147483649_; 9709 big1 := 2147483649_; big1 -:= 1_; ok := ok and big1 = 2147483648_; 9710 big1 := 2147483649_; big1 -:= 2_; ok := ok and big1 = 2147483647_; 9711 big1 := 2147483649_; big1 -:= 32766_; ok := ok and big1 = 2147450883_; 9712 big1 := 2147483649_; big1 -:= 32767_; ok := ok and big1 = 2147450882_; 9713 big1 := 2147483649_; big1 -:= 32768_; ok := ok and big1 = 2147450881_; 9714 big1 := 2147483649_; big1 -:= 32769_; ok := ok and big1 = 2147450880_; 9715 big1 := 2147483649_; big1 -:= 2147483646_; ok := ok and big1 = 3_; 9716 big1 := 2147483649_; big1 -:= 2147483647_; ok := ok and big1 = 2_; 9717 big1 := 2147483649_; big1 -:= 2147483648_; ok := ok and big1 = 1_; 9718 big1 := 2147483649_; big1 -:= 2147483649_; ok := ok and big1 = 0_; 9719 if not ok then 9720 writeln("Subtraction assignment of bigInteger with literal does not work correct. (2)"); 9721 end if; 9722 end func; 9723 9724 9725const func boolean: chkSubtractAssignExpression1 is func 9726 result 9727 var boolean: ok is TRUE; 9728 local 9729 var bigInteger: big1 is 1_; 9730 begin 9731 big1 := -2147483650_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 0_; 9732 big1 := -2147483650_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = -1_; 9733 big1 := -2147483650_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = -2_; 9734 big1 := -2147483650_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = -3_; 9735 big1 := -2147483650_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = -2147450880_; 9736 big1 := -2147483650_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = -2147450881_; 9737 big1 := -2147483650_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = -2147450882_; 9738 big1 := -2147483650_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = -2147450883_; 9739 big1 := -2147483650_; big1 -:= bigintExpr( -2_); ok := ok and big1 = -2147483648_; 9740 big1 := -2147483650_; big1 -:= bigintExpr( -1_); ok := ok and big1 = -2147483649_; 9741 big1 := -2147483650_; big1 -:= bigintExpr( 0_); ok := ok and big1 = -2147483650_; 9742 big1 := -2147483650_; big1 -:= bigintExpr( 1_); ok := ok and big1 = -2147483651_; 9743 big1 := -2147483650_; big1 -:= bigintExpr( 2_); ok := ok and big1 = -2147483652_; 9744 big1 := -2147483650_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -2147516416_; 9745 big1 := -2147483650_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -2147516417_; 9746 big1 := -2147483650_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -2147516418_; 9747 big1 := -2147483650_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -2147516419_; 9748 big1 := -2147483650_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -4294967296_; 9749 big1 := -2147483650_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -4294967297_; 9750 big1 := -2147483650_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -4294967298_; 9751 big1 := -2147483650_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -4294967299_; 9752 big1 := -2147483649_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 1_; 9753 big1 := -2147483649_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 0_; 9754 big1 := -2147483649_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = -1_; 9755 big1 := -2147483649_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = -2_; 9756 big1 := -2147483649_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = -2147450879_; 9757 big1 := -2147483649_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = -2147450880_; 9758 big1 := -2147483649_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = -2147450881_; 9759 big1 := -2147483649_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = -2147450882_; 9760 big1 := -2147483649_; big1 -:= bigintExpr( -2_); ok := ok and big1 = -2147483647_; 9761 big1 := -2147483649_; big1 -:= bigintExpr( -1_); ok := ok and big1 = -2147483648_; 9762 big1 := -2147483649_; big1 -:= bigintExpr( 0_); ok := ok and big1 = -2147483649_; 9763 big1 := -2147483649_; big1 -:= bigintExpr( 1_); ok := ok and big1 = -2147483650_; 9764 big1 := -2147483649_; big1 -:= bigintExpr( 2_); ok := ok and big1 = -2147483651_; 9765 big1 := -2147483649_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -2147516415_; 9766 big1 := -2147483649_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -2147516416_; 9767 big1 := -2147483649_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -2147516417_; 9768 big1 := -2147483649_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -2147516418_; 9769 big1 := -2147483649_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -4294967295_; 9770 big1 := -2147483649_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -4294967296_; 9771 big1 := -2147483649_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -4294967297_; 9772 big1 := -2147483649_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -4294967298_; 9773 big1 := -2147483648_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2_; 9774 big1 := -2147483648_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 1_; 9775 big1 := -2147483648_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 0_; 9776 big1 := -2147483648_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = -1_; 9777 big1 := -2147483648_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = -2147450878_; 9778 big1 := -2147483648_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = -2147450879_; 9779 big1 := -2147483648_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = -2147450880_; 9780 big1 := -2147483648_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = -2147450881_; 9781 big1 := -2147483648_; big1 -:= bigintExpr( -2_); ok := ok and big1 = -2147483646_; 9782 big1 := -2147483648_; big1 -:= bigintExpr( -1_); ok := ok and big1 = -2147483647_; 9783 big1 := -2147483648_; big1 -:= bigintExpr( 0_); ok := ok and big1 = -2147483648_; 9784 big1 := -2147483648_; big1 -:= bigintExpr( 1_); ok := ok and big1 = -2147483649_; 9785 big1 := -2147483648_; big1 -:= bigintExpr( 2_); ok := ok and big1 = -2147483650_; 9786 big1 := -2147483648_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -2147516414_; 9787 big1 := -2147483648_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -2147516415_; 9788 big1 := -2147483648_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -2147516416_; 9789 big1 := -2147483648_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -2147516417_; 9790 big1 := -2147483648_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -4294967294_; 9791 big1 := -2147483648_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -4294967295_; 9792 big1 := -2147483648_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -4294967296_; 9793 big1 := -2147483648_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -4294967297_; 9794 big1 := -2147483647_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 3_; 9795 big1 := -2147483647_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2_; 9796 big1 := -2147483647_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 1_; 9797 big1 := -2147483647_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 0_; 9798 big1 := -2147483647_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = -2147450877_; 9799 big1 := -2147483647_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = -2147450878_; 9800 big1 := -2147483647_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = -2147450879_; 9801 big1 := -2147483647_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = -2147450880_; 9802 big1 := -2147483647_; big1 -:= bigintExpr( -2_); ok := ok and big1 = -2147483645_; 9803 big1 := -2147483647_; big1 -:= bigintExpr( -1_); ok := ok and big1 = -2147483646_; 9804 big1 := -2147483647_; big1 -:= bigintExpr( 0_); ok := ok and big1 = -2147483647_; 9805 big1 := -2147483647_; big1 -:= bigintExpr( 1_); ok := ok and big1 = -2147483648_; 9806 big1 := -2147483647_; big1 -:= bigintExpr( 2_); ok := ok and big1 = -2147483649_; 9807 big1 := -2147483647_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -2147516413_; 9808 big1 := -2147483647_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -2147516414_; 9809 big1 := -2147483647_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -2147516415_; 9810 big1 := -2147483647_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -2147516416_; 9811 big1 := -2147483647_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -4294967293_; 9812 big1 := -2147483647_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -4294967294_; 9813 big1 := -2147483647_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -4294967295_; 9814 big1 := -2147483647_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -4294967296_; 9815 big1 := -32770_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147450880_; 9816 big1 := -32770_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147450879_; 9817 big1 := -32770_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147450878_; 9818 big1 := -32770_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147450877_; 9819 big1 := -32770_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 0_; 9820 big1 := -32770_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = -1_; 9821 big1 := -32770_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = -2_; 9822 big1 := -32770_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = -3_; 9823 big1 := -32770_; big1 -:= bigintExpr( -2_); ok := ok and big1 = -32768_; 9824 big1 := -32770_; big1 -:= bigintExpr( -1_); ok := ok and big1 = -32769_; 9825 big1 := -32770_; big1 -:= bigintExpr( 0_); ok := ok and big1 = -32770_; 9826 big1 := -32770_; big1 -:= bigintExpr( 1_); ok := ok and big1 = -32771_; 9827 big1 := -32770_; big1 -:= bigintExpr( 2_); ok := ok and big1 = -32772_; 9828 big1 := -32770_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -65536_; 9829 big1 := -32770_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -65537_; 9830 big1 := -32770_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -65538_; 9831 big1 := -32770_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -65539_; 9832 big1 := -32770_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147516416_; 9833 big1 := -32770_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147516417_; 9834 big1 := -32770_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147516418_; 9835 big1 := -32770_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147516419_; 9836 big1 := -32769_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147450881_; 9837 big1 := -32769_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147450880_; 9838 big1 := -32769_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147450879_; 9839 big1 := -32769_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147450878_; 9840 big1 := -32769_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 1_; 9841 big1 := -32769_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 0_; 9842 big1 := -32769_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = -1_; 9843 big1 := -32769_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = -2_; 9844 big1 := -32769_; big1 -:= bigintExpr( -2_); ok := ok and big1 = -32767_; 9845 big1 := -32769_; big1 -:= bigintExpr( -1_); ok := ok and big1 = -32768_; 9846 big1 := -32769_; big1 -:= bigintExpr( 0_); ok := ok and big1 = -32769_; 9847 big1 := -32769_; big1 -:= bigintExpr( 1_); ok := ok and big1 = -32770_; 9848 big1 := -32769_; big1 -:= bigintExpr( 2_); ok := ok and big1 = -32771_; 9849 big1 := -32769_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -65535_; 9850 big1 := -32769_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -65536_; 9851 big1 := -32769_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -65537_; 9852 big1 := -32769_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -65538_; 9853 big1 := -32769_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147516415_; 9854 big1 := -32769_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147516416_; 9855 big1 := -32769_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147516417_; 9856 big1 := -32769_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147516418_; 9857 big1 := -32768_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147450882_; 9858 big1 := -32768_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147450881_; 9859 big1 := -32768_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147450880_; 9860 big1 := -32768_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147450879_; 9861 big1 := -32768_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 2_; 9862 big1 := -32768_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 1_; 9863 big1 := -32768_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 0_; 9864 big1 := -32768_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = -1_; 9865 big1 := -32768_; big1 -:= bigintExpr( -2_); ok := ok and big1 = -32766_; 9866 big1 := -32768_; big1 -:= bigintExpr( -1_); ok := ok and big1 = -32767_; 9867 big1 := -32768_; big1 -:= bigintExpr( 0_); ok := ok and big1 = -32768_; 9868 big1 := -32768_; big1 -:= bigintExpr( 1_); ok := ok and big1 = -32769_; 9869 big1 := -32768_; big1 -:= bigintExpr( 2_); ok := ok and big1 = -32770_; 9870 big1 := -32768_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -65534_; 9871 big1 := -32768_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -65535_; 9872 big1 := -32768_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -65536_; 9873 big1 := -32768_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -65537_; 9874 big1 := -32768_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147516414_; 9875 big1 := -32768_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147516415_; 9876 big1 := -32768_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147516416_; 9877 big1 := -32768_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147516417_; 9878 big1 := -32767_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147450883_; 9879 big1 := -32767_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147450882_; 9880 big1 := -32767_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147450881_; 9881 big1 := -32767_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147450880_; 9882 big1 := -32767_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 3_; 9883 big1 := -32767_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 2_; 9884 big1 := -32767_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 1_; 9885 big1 := -32767_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 0_; 9886 big1 := -32767_; big1 -:= bigintExpr( -2_); ok := ok and big1 = -32765_; 9887 big1 := -32767_; big1 -:= bigintExpr( -1_); ok := ok and big1 = -32766_; 9888 big1 := -32767_; big1 -:= bigintExpr( 0_); ok := ok and big1 = -32767_; 9889 big1 := -32767_; big1 -:= bigintExpr( 1_); ok := ok and big1 = -32768_; 9890 big1 := -32767_; big1 -:= bigintExpr( 2_); ok := ok and big1 = -32769_; 9891 big1 := -32767_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -65533_; 9892 big1 := -32767_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -65534_; 9893 big1 := -32767_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -65535_; 9894 big1 := -32767_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -65536_; 9895 big1 := -32767_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147516413_; 9896 big1 := -32767_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147516414_; 9897 big1 := -32767_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147516415_; 9898 big1 := -32767_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147516416_; 9899 big1 := -2_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147483648_; 9900 big1 := -2_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147483647_; 9901 big1 := -2_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147483646_; 9902 big1 := -2_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147483645_; 9903 big1 := -2_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 32768_; 9904 big1 := -2_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 32767_; 9905 big1 := -2_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 32766_; 9906 big1 := -2_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 32765_; 9907 big1 := -2_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 0_; 9908 big1 := -2_; big1 -:= bigintExpr( -1_); ok := ok and big1 = -1_; 9909 big1 := -2_; big1 -:= bigintExpr( 0_); ok := ok and big1 = -2_; 9910 big1 := -2_; big1 -:= bigintExpr( 1_); ok := ok and big1 = -3_; 9911 big1 := -2_; big1 -:= bigintExpr( 2_); ok := ok and big1 = -4_; 9912 big1 := -2_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -32768_; 9913 big1 := -2_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -32769_; 9914 big1 := -2_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -32770_; 9915 big1 := -2_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -32771_; 9916 big1 := -2_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147483648_; 9917 big1 := -2_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147483649_; 9918 big1 := -2_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147483650_; 9919 big1 := -2_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147483651_; 9920 big1 := -1_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147483649_; 9921 big1 := -1_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147483648_; 9922 big1 := -1_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147483647_; 9923 big1 := -1_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147483646_; 9924 big1 := -1_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 32769_; 9925 big1 := -1_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 32768_; 9926 big1 := -1_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 32767_; 9927 big1 := -1_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 32766_; 9928 big1 := -1_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 1_; 9929 big1 := -1_; big1 -:= bigintExpr( -1_); ok := ok and big1 = 0_; 9930 big1 := -1_; big1 -:= bigintExpr( 0_); ok := ok and big1 = -1_; 9931 big1 := -1_; big1 -:= bigintExpr( 1_); ok := ok and big1 = -2_; 9932 big1 := -1_; big1 -:= bigintExpr( 2_); ok := ok and big1 = -3_; 9933 big1 := -1_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -32767_; 9934 big1 := -1_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -32768_; 9935 big1 := -1_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -32769_; 9936 big1 := -1_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -32770_; 9937 big1 := -1_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147483647_; 9938 big1 := -1_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147483648_; 9939 big1 := -1_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147483649_; 9940 big1 := -1_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147483650_; 9941 if not ok then 9942 writeln("Subtraction assignment of bigInteger with expression does not work correct. (1)"); 9943 end if; 9944 end func; 9945 9946 9947const func boolean: chkSubtractAssignExpression2 is func 9948 result 9949 var boolean: ok is TRUE; 9950 local 9951 var bigInteger: big1 is 1_; 9952 begin 9953 big1 := 0_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147483650_; 9954 big1 := 0_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147483649_; 9955 big1 := 0_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147483648_; 9956 big1 := 0_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147483647_; 9957 big1 := 0_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 32770_; 9958 big1 := 0_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 32769_; 9959 big1 := 0_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 32768_; 9960 big1 := 0_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 32767_; 9961 big1 := 0_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 2_; 9962 big1 := 0_; big1 -:= bigintExpr( -1_); ok := ok and big1 = 1_; 9963 big1 := 0_; big1 -:= bigintExpr( 0_); ok := ok and big1 = 0_; 9964 big1 := 0_; big1 -:= bigintExpr( 1_); ok := ok and big1 = -1_; 9965 big1 := 0_; big1 -:= bigintExpr( 2_); ok := ok and big1 = -2_; 9966 big1 := 0_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -32766_; 9967 big1 := 0_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -32767_; 9968 big1 := 0_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -32768_; 9969 big1 := 0_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -32769_; 9970 big1 := 0_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147483646_; 9971 big1 := 0_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147483647_; 9972 big1 := 0_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147483648_; 9973 big1 := 0_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147483649_; 9974 big1 := 1_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147483651_; 9975 big1 := 1_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147483650_; 9976 big1 := 1_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147483649_; 9977 big1 := 1_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147483648_; 9978 big1 := 1_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 32771_; 9979 big1 := 1_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 32770_; 9980 big1 := 1_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 32769_; 9981 big1 := 1_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 32768_; 9982 big1 := 1_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 3_; 9983 big1 := 1_; big1 -:= bigintExpr( -1_); ok := ok and big1 = 2_; 9984 big1 := 1_; big1 -:= bigintExpr( 0_); ok := ok and big1 = 1_; 9985 big1 := 1_; big1 -:= bigintExpr( 1_); ok := ok and big1 = 0_; 9986 big1 := 1_; big1 -:= bigintExpr( 2_); ok := ok and big1 = -1_; 9987 big1 := 1_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -32765_; 9988 big1 := 1_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -32766_; 9989 big1 := 1_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -32767_; 9990 big1 := 1_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -32768_; 9991 big1 := 1_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147483645_; 9992 big1 := 1_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147483646_; 9993 big1 := 1_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147483647_; 9994 big1 := 1_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147483648_; 9995 big1 := 2_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147483652_; 9996 big1 := 2_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147483651_; 9997 big1 := 2_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147483650_; 9998 big1 := 2_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147483649_; 9999 big1 := 2_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 32772_; 10000 big1 := 2_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 32771_; 10001 big1 := 2_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 32770_; 10002 big1 := 2_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 32769_; 10003 big1 := 2_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 4_; 10004 big1 := 2_; big1 -:= bigintExpr( -1_); ok := ok and big1 = 3_; 10005 big1 := 2_; big1 -:= bigintExpr( 0_); ok := ok and big1 = 2_; 10006 big1 := 2_; big1 -:= bigintExpr( 1_); ok := ok and big1 = 1_; 10007 big1 := 2_; big1 -:= bigintExpr( 2_); ok := ok and big1 = 0_; 10008 big1 := 2_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = -32764_; 10009 big1 := 2_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -32765_; 10010 big1 := 2_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -32766_; 10011 big1 := 2_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -32767_; 10012 big1 := 2_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147483644_; 10013 big1 := 2_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147483645_; 10014 big1 := 2_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147483646_; 10015 big1 := 2_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147483647_; 10016 big1 := 32766_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147516416_; 10017 big1 := 32766_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147516415_; 10018 big1 := 32766_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147516414_; 10019 big1 := 32766_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147516413_; 10020 big1 := 32766_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 65536_; 10021 big1 := 32766_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 65535_; 10022 big1 := 32766_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 65534_; 10023 big1 := 32766_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 65533_; 10024 big1 := 32766_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 32768_; 10025 big1 := 32766_; big1 -:= bigintExpr( -1_); ok := ok and big1 = 32767_; 10026 big1 := 32766_; big1 -:= bigintExpr( 0_); ok := ok and big1 = 32766_; 10027 big1 := 32766_; big1 -:= bigintExpr( 1_); ok := ok and big1 = 32765_; 10028 big1 := 32766_; big1 -:= bigintExpr( 2_); ok := ok and big1 = 32764_; 10029 big1 := 32766_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = 0_; 10030 big1 := 32766_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = -1_; 10031 big1 := 32766_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -2_; 10032 big1 := 32766_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -3_; 10033 big1 := 32766_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147450880_; 10034 big1 := 32766_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147450881_; 10035 big1 := 32766_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147450882_; 10036 big1 := 32766_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147450883_; 10037 big1 := 32767_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147516417_; 10038 big1 := 32767_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147516416_; 10039 big1 := 32767_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147516415_; 10040 big1 := 32767_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147516414_; 10041 big1 := 32767_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 65537_; 10042 big1 := 32767_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 65536_; 10043 big1 := 32767_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 65535_; 10044 big1 := 32767_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 65534_; 10045 big1 := 32767_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 32769_; 10046 big1 := 32767_; big1 -:= bigintExpr( -1_); ok := ok and big1 = 32768_; 10047 big1 := 32767_; big1 -:= bigintExpr( 0_); ok := ok and big1 = 32767_; 10048 big1 := 32767_; big1 -:= bigintExpr( 1_); ok := ok and big1 = 32766_; 10049 big1 := 32767_; big1 -:= bigintExpr( 2_); ok := ok and big1 = 32765_; 10050 big1 := 32767_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = 1_; 10051 big1 := 32767_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = 0_; 10052 big1 := 32767_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = -1_; 10053 big1 := 32767_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -2_; 10054 big1 := 32767_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147450879_; 10055 big1 := 32767_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147450880_; 10056 big1 := 32767_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147450881_; 10057 big1 := 32767_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147450882_; 10058 big1 := 32768_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147516418_; 10059 big1 := 32768_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147516417_; 10060 big1 := 32768_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147516416_; 10061 big1 := 32768_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147516415_; 10062 big1 := 32768_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 65538_; 10063 big1 := 32768_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 65537_; 10064 big1 := 32768_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 65536_; 10065 big1 := 32768_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 65535_; 10066 big1 := 32768_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 32770_; 10067 big1 := 32768_; big1 -:= bigintExpr( -1_); ok := ok and big1 = 32769_; 10068 big1 := 32768_; big1 -:= bigintExpr( 0_); ok := ok and big1 = 32768_; 10069 big1 := 32768_; big1 -:= bigintExpr( 1_); ok := ok and big1 = 32767_; 10070 big1 := 32768_; big1 -:= bigintExpr( 2_); ok := ok and big1 = 32766_; 10071 big1 := 32768_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = 2_; 10072 big1 := 32768_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = 1_; 10073 big1 := 32768_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = 0_; 10074 big1 := 32768_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = -1_; 10075 big1 := 32768_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147450878_; 10076 big1 := 32768_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147450879_; 10077 big1 := 32768_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147450880_; 10078 big1 := 32768_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147450881_; 10079 big1 := 32769_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 2147516419_; 10080 big1 := 32769_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 2147516418_; 10081 big1 := 32769_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 2147516417_; 10082 big1 := 32769_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 2147516416_; 10083 big1 := 32769_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 65539_; 10084 big1 := 32769_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 65538_; 10085 big1 := 32769_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 65537_; 10086 big1 := 32769_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 65536_; 10087 big1 := 32769_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 32771_; 10088 big1 := 32769_; big1 -:= bigintExpr( -1_); ok := ok and big1 = 32770_; 10089 big1 := 32769_; big1 -:= bigintExpr( 0_); ok := ok and big1 = 32769_; 10090 big1 := 32769_; big1 -:= bigintExpr( 1_); ok := ok and big1 = 32768_; 10091 big1 := 32769_; big1 -:= bigintExpr( 2_); ok := ok and big1 = 32767_; 10092 big1 := 32769_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = 3_; 10093 big1 := 32769_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = 2_; 10094 big1 := 32769_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = 1_; 10095 big1 := 32769_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = 0_; 10096 big1 := 32769_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = -2147450877_; 10097 big1 := 32769_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -2147450878_; 10098 big1 := 32769_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2147450879_; 10099 big1 := 32769_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2147450880_; 10100 big1 := 2147483646_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 4294967296_; 10101 big1 := 2147483646_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 4294967295_; 10102 big1 := 2147483646_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 4294967294_; 10103 big1 := 2147483646_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 4294967293_; 10104 big1 := 2147483646_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 2147516416_; 10105 big1 := 2147483646_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 2147516415_; 10106 big1 := 2147483646_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 2147516414_; 10107 big1 := 2147483646_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 2147516413_; 10108 big1 := 2147483646_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 2147483648_; 10109 big1 := 2147483646_; big1 -:= bigintExpr( -1_); ok := ok and big1 = 2147483647_; 10110 big1 := 2147483646_; big1 -:= bigintExpr( 0_); ok := ok and big1 = 2147483646_; 10111 big1 := 2147483646_; big1 -:= bigintExpr( 1_); ok := ok and big1 = 2147483645_; 10112 big1 := 2147483646_; big1 -:= bigintExpr( 2_); ok := ok and big1 = 2147483644_; 10113 big1 := 2147483646_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = 2147450880_; 10114 big1 := 2147483646_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = 2147450879_; 10115 big1 := 2147483646_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = 2147450878_; 10116 big1 := 2147483646_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = 2147450877_; 10117 big1 := 2147483646_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = 0_; 10118 big1 := 2147483646_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = -1_; 10119 big1 := 2147483646_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -2_; 10120 big1 := 2147483646_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -3_; 10121 big1 := 2147483647_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 4294967297_; 10122 big1 := 2147483647_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 4294967296_; 10123 big1 := 2147483647_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 4294967295_; 10124 big1 := 2147483647_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 4294967294_; 10125 big1 := 2147483647_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 2147516417_; 10126 big1 := 2147483647_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 2147516416_; 10127 big1 := 2147483647_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 2147516415_; 10128 big1 := 2147483647_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 2147516414_; 10129 big1 := 2147483647_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 2147483649_; 10130 big1 := 2147483647_; big1 -:= bigintExpr( -1_); ok := ok and big1 = 2147483648_; 10131 big1 := 2147483647_; big1 -:= bigintExpr( 0_); ok := ok and big1 = 2147483647_; 10132 big1 := 2147483647_; big1 -:= bigintExpr( 1_); ok := ok and big1 = 2147483646_; 10133 big1 := 2147483647_; big1 -:= bigintExpr( 2_); ok := ok and big1 = 2147483645_; 10134 big1 := 2147483647_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = 2147450881_; 10135 big1 := 2147483647_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = 2147450880_; 10136 big1 := 2147483647_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = 2147450879_; 10137 big1 := 2147483647_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = 2147450878_; 10138 big1 := 2147483647_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = 1_; 10139 big1 := 2147483647_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = 0_; 10140 big1 := 2147483647_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = -1_; 10141 big1 := 2147483647_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -2_; 10142 big1 := 2147483648_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 4294967298_; 10143 big1 := 2147483648_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 4294967297_; 10144 big1 := 2147483648_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 4294967296_; 10145 big1 := 2147483648_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 4294967295_; 10146 big1 := 2147483648_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 2147516418_; 10147 big1 := 2147483648_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 2147516417_; 10148 big1 := 2147483648_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 2147516416_; 10149 big1 := 2147483648_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 2147516415_; 10150 big1 := 2147483648_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 2147483650_; 10151 big1 := 2147483648_; big1 -:= bigintExpr( -1_); ok := ok and big1 = 2147483649_; 10152 big1 := 2147483648_; big1 -:= bigintExpr( 0_); ok := ok and big1 = 2147483648_; 10153 big1 := 2147483648_; big1 -:= bigintExpr( 1_); ok := ok and big1 = 2147483647_; 10154 big1 := 2147483648_; big1 -:= bigintExpr( 2_); ok := ok and big1 = 2147483646_; 10155 big1 := 2147483648_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = 2147450882_; 10156 big1 := 2147483648_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = 2147450881_; 10157 big1 := 2147483648_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = 2147450880_; 10158 big1 := 2147483648_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = 2147450879_; 10159 big1 := 2147483648_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = 2_; 10160 big1 := 2147483648_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = 1_; 10161 big1 := 2147483648_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = 0_; 10162 big1 := 2147483648_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = -1_; 10163 big1 := 2147483649_; big1 -:= bigintExpr(-2147483650_); ok := ok and big1 = 4294967299_; 10164 big1 := 2147483649_; big1 -:= bigintExpr(-2147483649_); ok := ok and big1 = 4294967298_; 10165 big1 := 2147483649_; big1 -:= bigintExpr(-2147483648_); ok := ok and big1 = 4294967297_; 10166 big1 := 2147483649_; big1 -:= bigintExpr(-2147483647_); ok := ok and big1 = 4294967296_; 10167 big1 := 2147483649_; big1 -:= bigintExpr( -32770_); ok := ok and big1 = 2147516419_; 10168 big1 := 2147483649_; big1 -:= bigintExpr( -32769_); ok := ok and big1 = 2147516418_; 10169 big1 := 2147483649_; big1 -:= bigintExpr( -32768_); ok := ok and big1 = 2147516417_; 10170 big1 := 2147483649_; big1 -:= bigintExpr( -32767_); ok := ok and big1 = 2147516416_; 10171 big1 := 2147483649_; big1 -:= bigintExpr( -2_); ok := ok and big1 = 2147483651_; 10172 big1 := 2147483649_; big1 -:= bigintExpr( -1_); ok := ok and big1 = 2147483650_; 10173 big1 := 2147483649_; big1 -:= bigintExpr( 0_); ok := ok and big1 = 2147483649_; 10174 big1 := 2147483649_; big1 -:= bigintExpr( 1_); ok := ok and big1 = 2147483648_; 10175 big1 := 2147483649_; big1 -:= bigintExpr( 2_); ok := ok and big1 = 2147483647_; 10176 big1 := 2147483649_; big1 -:= bigintExpr( 32766_); ok := ok and big1 = 2147450883_; 10177 big1 := 2147483649_; big1 -:= bigintExpr( 32767_); ok := ok and big1 = 2147450882_; 10178 big1 := 2147483649_; big1 -:= bigintExpr( 32768_); ok := ok and big1 = 2147450881_; 10179 big1 := 2147483649_; big1 -:= bigintExpr( 32769_); ok := ok and big1 = 2147450880_; 10180 big1 := 2147483649_; big1 -:= bigintExpr( 2147483646_); ok := ok and big1 = 3_; 10181 big1 := 2147483649_; big1 -:= bigintExpr( 2147483647_); ok := ok and big1 = 2_; 10182 big1 := 2147483649_; big1 -:= bigintExpr( 2147483648_); ok := ok and big1 = 1_; 10183 big1 := 2147483649_; big1 -:= bigintExpr( 2147483649_); ok := ok and big1 = 0_; 10184 if not ok then 10185 writeln("Subtraction assignment of bigInteger with expression does not work correct. (2)"); 10186 end if; 10187 end func; 10188 10189 10190const func boolean: chkSubtractAssignWithItself is func 10191 result 10192 var boolean: ok is TRUE; 10193 local 10194 var bigInteger: big1 is 1_; 10195 begin 10196 big1 := -9223372036854775808_; big1 -:= big1; ok := ok and big1 = 0_; 10197 big1 := -9223372036854775807_; big1 -:= big1; ok := ok and big1 = 0_; 10198 big1 := -9223372036854775806_; big1 -:= big1; ok := ok and big1 = 0_; 10199 big1 := -9000000000000000000_; big1 -:= big1; ok := ok and big1 = 0_; 10200 big1 := -8000000000000000000_; big1 -:= big1; ok := ok and big1 = 0_; 10201 big1 := -7000000000000000000_; big1 -:= big1; ok := ok and big1 = 0_; 10202 big1 := -6000000000000000000_; big1 -:= big1; ok := ok and big1 = 0_; 10203 big1 := -5000000000000000000_; big1 -:= big1; ok := ok and big1 = 0_; 10204 big1 := -4611686018427387905_; big1 -:= big1; ok := ok and big1 = 0_; 10205 big1 := -4611686018427387904_; big1 -:= big1; ok := ok and big1 = 0_; 10206 big1 := -4611686018427387903_; big1 -:= big1; ok := ok and big1 = 0_; 10207 big1 := -2147483649_; big1 -:= big1; ok := ok and big1 = 0_; 10208 big1 := -2147483648_; big1 -:= big1; ok := ok and big1 = 0_; 10209 big1 := -2147483647_; big1 -:= big1; ok := ok and big1 = 0_; 10210 big1 := -2000000000_; big1 -:= big1; ok := ok and big1 = 0_; 10211 big1 := -1500000000_; big1 -:= big1; ok := ok and big1 = 0_; 10212 big1 := -1073741825_; big1 -:= big1; ok := ok and big1 = 0_; 10213 big1 := -1073741824_; big1 -:= big1; ok := ok and big1 = 0_; 10214 big1 := -1073741823_; big1 -:= big1; ok := ok and big1 = 0_; 10215 big1 := -10_; big1 -:= big1; ok := ok and big1 = 0_; 10216 big1 := -1_; big1 -:= big1; ok := ok and big1 = 0_; 10217 big1 := 0_; big1 -:= big1; ok := ok and big1 = 0_; 10218 big1 := 1_; big1 -:= big1; ok := ok and big1 = 0_; 10219 big1 := 10_; big1 -:= big1; ok := ok and big1 = 0_; 10220 big1 := 1073741823_; big1 -:= big1; ok := ok and big1 = 0_; 10221 big1 := 1073741824_; big1 -:= big1; ok := ok and big1 = 0_; 10222 big1 := 1073741825_; big1 -:= big1; ok := ok and big1 = 0_; 10223 big1 := 1500000000_; big1 -:= big1; ok := ok and big1 = 0_; 10224 big1 := 2000000000_; big1 -:= big1; ok := ok and big1 = 0_; 10225 big1 := 2147483647_; big1 -:= big1; ok := ok and big1 = 0_; 10226 big1 := 2147483648_; big1 -:= big1; ok := ok and big1 = 0_; 10227 big1 := 2147483649_; big1 -:= big1; ok := ok and big1 = 0_; 10228 big1 := 4611686018427387903_; big1 -:= big1; ok := ok and big1 = 0_; 10229 big1 := 4611686018427387904_; big1 -:= big1; ok := ok and big1 = 0_; 10230 big1 := 4611686018427387905_; big1 -:= big1; ok := ok and big1 = 0_; 10231 big1 := 5000000000000000000_; big1 -:= big1; ok := ok and big1 = 0_; 10232 big1 := 6000000000000000000_; big1 -:= big1; ok := ok and big1 = 0_; 10233 big1 := 7000000000000000000_; big1 -:= big1; ok := ok and big1 = 0_; 10234 big1 := 8000000000000000000_; big1 -:= big1; ok := ok and big1 = 0_; 10235 big1 := 9000000000000000000_; big1 -:= big1; ok := ok and big1 = 0_; 10236 big1 := 9223372036854775806_; big1 -:= big1; ok := ok and big1 = 0_; 10237 big1 := 9223372036854775807_; big1 -:= big1; ok := ok and big1 = 0_; 10238 big1 := 9223372036854775808_; big1 -:= big1; ok := ok and big1 = 0_; 10239 if not ok then 10240 writeln("Subtraction assignment of bigInteger with itself does not work correct."); 10241 end if; 10242 end func; 10243 10244 10245const proc: chkSubtractAssign is func 10246 begin 10247 if chkSubtractAssignLiteral1 and 10248 chkSubtractAssignLiteral2 and 10249 chkSubtractAssignExpression1 and 10250 chkSubtractAssignExpression2 and 10251 chkSubtractAssignWithItself then 10252 writeln("Subtraction assignment of bigInteger works correct."); 10253 else 10254 writeln(" ***** Subtraction assignment of bigInteger does not work correct."); 10255 writeln; 10256 end if; 10257 end func; 10258 10259 10260const proc: chkMultiplication is func 10261 local 10262 var bigInteger: number is 0_; 10263 var boolean: okay is TRUE; 10264 begin 10265 if -65538_ * -65538_ <> 4295229444_ or 10266 -65538_ * -65537_ <> 4295163906_ or 10267 -65538_ * -65536_ <> 4295098368_ or 10268 -65538_ * -65535_ <> 4295032830_ or 10269 -65538_ * -65534_ <> 4294967292_ or 10270 -65538_ * -32770_ <> 2147680260_ or 10271 -65538_ * -32769_ <> 2147614722_ or 10272 -65538_ * -32768_ <> 2147549184_ or 10273 -65538_ * -32767_ <> 2147483646_ or 10274 -65538_ * -32766_ <> 2147418108_ or 10275 -65538_ * 0_ <> 0_ or 10276 -65538_ * 32766_ <> -2147418108_ or 10277 -65538_ * 32767_ <> -2147483646_ or 10278 -65538_ * 32768_ <> -2147549184_ or 10279 -65538_ * 32769_ <> -2147614722_ or 10280 -65538_ * 32770_ <> -2147680260_ or 10281 -65538_ * 65534_ <> -4294967292_ or 10282 -65538_ * 65535_ <> -4295032830_ or 10283 -65538_ * 65536_ <> -4295098368_ or 10284 -65538_ * 65537_ <> -4295163906_ or 10285 -65538_ * 65538_ <> -4295229444_ or 10286 -65537_ * -65538_ <> 4295163906_ or 10287 -65537_ * -65537_ <> 4295098369_ or 10288 -65537_ * -65536_ <> 4295032832_ or 10289 -65537_ * -65535_ <> 4294967295_ or 10290 -65537_ * -65534_ <> 4294901758_ or 10291 -65537_ * -32770_ <> 2147647490_ or 10292 -65537_ * -32769_ <> 2147581953_ or 10293 -65537_ * -32768_ <> 2147516416_ or 10294 -65537_ * -32767_ <> 2147450879_ or 10295 -65537_ * -32766_ <> 2147385342_ or 10296 -65537_ * 0_ <> 0_ or 10297 -65537_ * 32766_ <> -2147385342_ or 10298 -65537_ * 32767_ <> -2147450879_ or 10299 -65537_ * 32768_ <> -2147516416_ or 10300 -65537_ * 32769_ <> -2147581953_ or 10301 -65537_ * 32770_ <> -2147647490_ or 10302 -65537_ * 65534_ <> -4294901758_ or 10303 -65537_ * 65535_ <> -4294967295_ or 10304 -65537_ * 65536_ <> -4295032832_ or 10305 -65537_ * 65537_ <> -4295098369_ or 10306 -65537_ * 65538_ <> -4295163906_ or 10307 -65536_ * -65538_ <> 4295098368_ or 10308 -65536_ * -65537_ <> 4295032832_ or 10309 -65536_ * -65536_ <> 4294967296_ or 10310 -65536_ * -65535_ <> 4294901760_ or 10311 -65536_ * -65534_ <> 4294836224_ or 10312 -65536_ * -32770_ <> 2147614720_ or 10313 -65536_ * -32769_ <> 2147549184_ or 10314 -65536_ * -32768_ <> 2147483648_ or 10315 -65536_ * -32767_ <> 2147418112_ or 10316 -65536_ * -32766_ <> 2147352576_ or 10317 -65536_ * 0_ <> 0_ or 10318 -65536_ * 32766_ <> -2147352576_ or 10319 -65536_ * 32767_ <> -2147418112_ or 10320 -65536_ * 32768_ <> -2147483648_ or 10321 -65536_ * 32769_ <> -2147549184_ or 10322 -65536_ * 32770_ <> -2147614720_ or 10323 -65536_ * 65534_ <> -4294836224_ or 10324 -65536_ * 65535_ <> -4294901760_ or 10325 -65536_ * 65536_ <> -4294967296_ or 10326 -65536_ * 65537_ <> -4295032832_ or 10327 -65536_ * 65538_ <> -4295098368_ or 10328 -65535_ * -65538_ <> 4295032830_ or 10329 -65535_ * -65537_ <> 4294967295_ or 10330 -65535_ * -65536_ <> 4294901760_ or 10331 -65535_ * -65535_ <> 4294836225_ or 10332 -65535_ * -65534_ <> 4294770690_ or 10333 -65535_ * -32770_ <> 2147581950_ or 10334 -65535_ * -32769_ <> 2147516415_ or 10335 -65535_ * -32768_ <> 2147450880_ or 10336 -65535_ * -32767_ <> 2147385345_ or 10337 -65535_ * -32766_ <> 2147319810_ or 10338 -65535_ * 0_ <> 0_ or 10339 -65535_ * 32766_ <> -2147319810_ or 10340 -65535_ * 32767_ <> -2147385345_ or 10341 -65535_ * 32768_ <> -2147450880_ or 10342 -65535_ * 32769_ <> -2147516415_ or 10343 -65535_ * 32770_ <> -2147581950_ or 10344 -65535_ * 65534_ <> -4294770690_ or 10345 -65535_ * 65535_ <> -4294836225_ or 10346 -65535_ * 65536_ <> -4294901760_ or 10347 -65535_ * 65537_ <> -4294967295_ or 10348 -65535_ * 65538_ <> -4295032830_ or 10349 -65534_ * -65538_ <> 4294967292_ or 10350 -65534_ * -65537_ <> 4294901758_ or 10351 -65534_ * -65536_ <> 4294836224_ or 10352 -65534_ * -65535_ <> 4294770690_ or 10353 -65534_ * -65534_ <> 4294705156_ or 10354 -65534_ * -32770_ <> 2147549180_ or 10355 -65534_ * -32769_ <> 2147483646_ or 10356 -65534_ * -32768_ <> 2147418112_ or 10357 -65534_ * -32767_ <> 2147352578_ or 10358 -65534_ * -32766_ <> 2147287044_ or 10359 -65534_ * 0_ <> 0_ or 10360 -65534_ * 32766_ <> -2147287044_ or 10361 -65534_ * 32767_ <> -2147352578_ or 10362 -65534_ * 32768_ <> -2147418112_ or 10363 -65534_ * 32769_ <> -2147483646_ or 10364 -65534_ * 32770_ <> -2147549180_ or 10365 -65534_ * 65534_ <> -4294705156_ or 10366 -65534_ * 65535_ <> -4294770690_ or 10367 -65534_ * 65536_ <> -4294836224_ or 10368 -65534_ * 65537_ <> -4294901758_ or 10369 -65534_ * 65538_ <> -4294967292_ or 10370 -32770_ * -65538_ <> 2147680260_ or 10371 -32770_ * -65537_ <> 2147647490_ or 10372 -32770_ * -65536_ <> 2147614720_ or 10373 -32770_ * -65535_ <> 2147581950_ or 10374 -32770_ * -65534_ <> 2147549180_ or 10375 -32770_ * -32770_ <> 1073872900_ or 10376 -32770_ * -32769_ <> 1073840130_ or 10377 -32770_ * -32768_ <> 1073807360_ or 10378 -32770_ * -32767_ <> 1073774590_ or 10379 -32770_ * -32766_ <> 1073741820_ or 10380 -32770_ * 0_ <> 0_ or 10381 -32770_ * 32766_ <> -1073741820_ or 10382 -32770_ * 32767_ <> -1073774590_ or 10383 -32770_ * 32768_ <> -1073807360_ or 10384 -32770_ * 32769_ <> -1073840130_ or 10385 -32770_ * 32770_ <> -1073872900_ or 10386 -32770_ * 65534_ <> -2147549180_ or 10387 -32770_ * 65535_ <> -2147581950_ or 10388 -32770_ * 65536_ <> -2147614720_ or 10389 -32770_ * 65537_ <> -2147647490_ or 10390 -32770_ * 65538_ <> -2147680260_ or 10391 -32769_ * -65538_ <> 2147614722_ or 10392 -32769_ * -65537_ <> 2147581953_ or 10393 -32769_ * -65536_ <> 2147549184_ or 10394 -32769_ * -65535_ <> 2147516415_ or 10395 -32769_ * -65534_ <> 2147483646_ or 10396 -32769_ * -32770_ <> 1073840130_ or 10397 -32769_ * -32769_ <> 1073807361_ or 10398 -32769_ * -32768_ <> 1073774592_ or 10399 -32769_ * -32767_ <> 1073741823_ or 10400 -32769_ * -32766_ <> 1073709054_ or 10401 -32769_ * 0_ <> 0_ or 10402 -32769_ * 32766_ <> -1073709054_ or 10403 -32769_ * 32767_ <> -1073741823_ or 10404 -32769_ * 32768_ <> -1073774592_ or 10405 -32769_ * 32769_ <> -1073807361_ or 10406 -32769_ * 32770_ <> -1073840130_ or 10407 -32769_ * 65534_ <> -2147483646_ or 10408 -32769_ * 65535_ <> -2147516415_ or 10409 -32769_ * 65536_ <> -2147549184_ or 10410 -32769_ * 65537_ <> -2147581953_ or 10411 -32769_ * 65538_ <> -2147614722_ or 10412 -32768_ * -65538_ <> 2147549184_ or 10413 -32768_ * -65537_ <> 2147516416_ or 10414 -32768_ * -65536_ <> 2147483648_ or 10415 -32768_ * -65535_ <> 2147450880_ or 10416 -32768_ * -65534_ <> 2147418112_ or 10417 -32768_ * -32770_ <> 1073807360_ or 10418 -32768_ * -32769_ <> 1073774592_ or 10419 -32768_ * -32768_ <> 1073741824_ or 10420 -32768_ * -32767_ <> 1073709056_ or 10421 -32768_ * -32766_ <> 1073676288_ or 10422 -32768_ * 0_ <> 0_ or 10423 -32768_ * 32766_ <> -1073676288_ or 10424 -32768_ * 32767_ <> -1073709056_ or 10425 -32768_ * 32768_ <> -1073741824_ or 10426 -32768_ * 32769_ <> -1073774592_ or 10427 -32768_ * 32770_ <> -1073807360_ or 10428 -32768_ * 65534_ <> -2147418112_ or 10429 -32768_ * 65535_ <> -2147450880_ or 10430 -32768_ * 65536_ <> -2147483648_ or 10431 -32768_ * 65537_ <> -2147516416_ or 10432 -32768_ * 65538_ <> -2147549184_ or 10433 -32767_ * -65538_ <> 2147483646_ or 10434 -32767_ * -65537_ <> 2147450879_ or 10435 -32767_ * -65536_ <> 2147418112_ or 10436 -32767_ * -65535_ <> 2147385345_ or 10437 -32767_ * -65534_ <> 2147352578_ or 10438 -32767_ * -32770_ <> 1073774590_ or 10439 -32767_ * -32769_ <> 1073741823_ or 10440 -32767_ * -32768_ <> 1073709056_ or 10441 -32767_ * -32767_ <> 1073676289_ or 10442 -32767_ * -32766_ <> 1073643522_ or 10443 -32767_ * 0_ <> 0_ or 10444 -32767_ * 32766_ <> -1073643522_ or 10445 -32767_ * 32767_ <> -1073676289_ or 10446 -32767_ * 32768_ <> -1073709056_ or 10447 -32767_ * 32769_ <> -1073741823_ or 10448 -32767_ * 32770_ <> -1073774590_ or 10449 -32767_ * 65534_ <> -2147352578_ or 10450 -32767_ * 65535_ <> -2147385345_ or 10451 -32767_ * 65536_ <> -2147418112_ or 10452 -32767_ * 65537_ <> -2147450879_ or 10453 -32767_ * 65538_ <> -2147483646_ or 10454 -32766_ * -65538_ <> 2147418108_ or 10455 -32766_ * -65537_ <> 2147385342_ or 10456 -32766_ * -65536_ <> 2147352576_ or 10457 -32766_ * -65535_ <> 2147319810_ or 10458 -32766_ * -65534_ <> 2147287044_ or 10459 -32766_ * -32770_ <> 1073741820_ or 10460 -32766_ * -32769_ <> 1073709054_ or 10461 -32766_ * -32768_ <> 1073676288_ or 10462 -32766_ * -32767_ <> 1073643522_ or 10463 -32766_ * -32766_ <> 1073610756_ or 10464 -32766_ * 0_ <> 0_ or 10465 -32766_ * 32766_ <> -1073610756_ or 10466 -32766_ * 32767_ <> -1073643522_ or 10467 -32766_ * 32768_ <> -1073676288_ or 10468 -32766_ * 32769_ <> -1073709054_ or 10469 -32766_ * 32770_ <> -1073741820_ or 10470 -32766_ * 65534_ <> -2147287044_ or 10471 -32766_ * 65535_ <> -2147319810_ or 10472 -32766_ * 65536_ <> -2147352576_ or 10473 -32766_ * 65537_ <> -2147385342_ or 10474 -32766_ * 65538_ <> -2147418108_ or 10475 -2_ * -2_ <> 4_ or 10476 -2_ * -1_ <> 2_ or 10477 -2_ * 0_ <> 0_ or 10478 -2_ * 1_ <> -2_ or 10479 -2_ * 2_ <> -4_ or 10480 -1_ * -2_ <> 2_ or 10481 -1_ * -1_ <> 1_ or 10482 -1_ * 0_ <> 0_ or 10483 -1_ * 1_ <> -1_ or 10484 -1_ * 2_ <> -2_ or 10485 0_ * -2_ <> 0_ or 10486 0_ * -1_ <> 0_ or 10487 0_ * 0_ <> 0_ or 10488 0_ * 1_ <> 0_ or 10489 0_ * 2_ <> 0_ or 10490 1_ * -2_ <> -2_ or 10491 1_ * -1_ <> -1_ or 10492 1_ * 0_ <> 0_ or 10493 1_ * 1_ <> 1_ or 10494 1_ * 2_ <> 2_ or 10495 2_ * -2_ <> -4_ or 10496 2_ * -1_ <> -2_ or 10497 2_ * 0_ <> 0_ or 10498 2_ * 1_ <> 2_ or 10499 2_ * 2_ <> 4_ or 10500 181_ * 181_ <> 32761_ or 10501 128_ * 256_ <> 32768_ or 10502 256_ * 256_ <> 65536_ or 10503 1785_ * 22_ <> 39270_ or 10504 32766_ * -65538_ <> -2147418108_ or 10505 32766_ * -65537_ <> -2147385342_ or 10506 32766_ * -65536_ <> -2147352576_ or 10507 32766_ * -65535_ <> -2147319810_ or 10508 32766_ * -65534_ <> -2147287044_ or 10509 32766_ * -32770_ <> -1073741820_ or 10510 32766_ * -32769_ <> -1073709054_ or 10511 32766_ * -32768_ <> -1073676288_ or 10512 32766_ * -32767_ <> -1073643522_ or 10513 32766_ * -32766_ <> -1073610756_ or 10514 32766_ * 0_ <> 0_ or 10515 32766_ * 32766_ <> 1073610756_ or 10516 32766_ * 32767_ <> 1073643522_ or 10517 32766_ * 32768_ <> 1073676288_ or 10518 32766_ * 32769_ <> 1073709054_ or 10519 32766_ * 32770_ <> 1073741820_ or 10520 32766_ * 65534_ <> 2147287044_ or 10521 32766_ * 65535_ <> 2147319810_ or 10522 32766_ * 65536_ <> 2147352576_ or 10523 32766_ * 65537_ <> 2147385342_ or 10524 32766_ * 65538_ <> 2147418108_ or 10525 32767_ * -65538_ <> -2147483646_ or 10526 32767_ * -65537_ <> -2147450879_ or 10527 32767_ * -65536_ <> -2147418112_ or 10528 32767_ * -65535_ <> -2147385345_ or 10529 32767_ * -65534_ <> -2147352578_ or 10530 32767_ * -32770_ <> -1073774590_ or 10531 32767_ * -32769_ <> -1073741823_ or 10532 32767_ * -32768_ <> -1073709056_ or 10533 32767_ * -32767_ <> -1073676289_ or 10534 32767_ * -32766_ <> -1073643522_ or 10535 32767_ * 0_ <> 0_ or 10536 32767_ * 32766_ <> 1073643522_ or 10537 32767_ * 32767_ <> 1073676289_ or 10538 32767_ * 32768_ <> 1073709056_ or 10539 32767_ * 32769_ <> 1073741823_ or 10540 32767_ * 32770_ <> 1073774590_ or 10541 32767_ * 65534_ <> 2147352578_ or 10542 32767_ * 65535_ <> 2147385345_ or 10543 32767_ * 65536_ <> 2147418112_ or 10544 32767_ * 65537_ <> 2147450879_ or 10545 32767_ * 65538_ <> 2147483646_ or 10546 32768_ * -65538_ <> -2147549184_ or 10547 32768_ * -65537_ <> -2147516416_ or 10548 32768_ * -65536_ <> -2147483648_ or 10549 32768_ * -65535_ <> -2147450880_ or 10550 32768_ * -65534_ <> -2147418112_ or 10551 32768_ * -32770_ <> -1073807360_ or 10552 32768_ * -32769_ <> -1073774592_ or 10553 32768_ * -32768_ <> -1073741824_ or 10554 32768_ * -32767_ <> -1073709056_ or 10555 32768_ * -32766_ <> -1073676288_ or 10556 32768_ * 0_ <> 0_ or 10557 32768_ * 32766_ <> 1073676288_ or 10558 32768_ * 32767_ <> 1073709056_ or 10559 32768_ * 32768_ <> 1073741824_ or 10560 32768_ * 32769_ <> 1073774592_ or 10561 32768_ * 32770_ <> 1073807360_ or 10562 32768_ * 65534_ <> 2147418112_ or 10563 32768_ * 65535_ <> 2147450880_ or 10564 32768_ * 65536_ <> 2147483648_ or 10565 32768_ * 65537_ <> 2147516416_ or 10566 32768_ * 65538_ <> 2147549184_ or 10567 32769_ * -65538_ <> -2147614722_ or 10568 32769_ * -65537_ <> -2147581953_ or 10569 32769_ * -65536_ <> -2147549184_ or 10570 32769_ * -65535_ <> -2147516415_ or 10571 32769_ * -65534_ <> -2147483646_ or 10572 32769_ * -32770_ <> -1073840130_ or 10573 32769_ * -32769_ <> -1073807361_ or 10574 32769_ * -32768_ <> -1073774592_ or 10575 32769_ * -32767_ <> -1073741823_ or 10576 32769_ * -32766_ <> -1073709054_ or 10577 32769_ * 0_ <> 0_ or 10578 32769_ * 32766_ <> 1073709054_ or 10579 32769_ * 32767_ <> 1073741823_ or 10580 32769_ * 32768_ <> 1073774592_ or 10581 32769_ * 32769_ <> 1073807361_ or 10582 32769_ * 32770_ <> 1073840130_ or 10583 32769_ * 65534_ <> 2147483646_ or 10584 32769_ * 65535_ <> 2147516415_ or 10585 32769_ * 65536_ <> 2147549184_ or 10586 32769_ * 65537_ <> 2147581953_ or 10587 32769_ * 65538_ <> 2147614722_ or 10588 32770_ * -65538_ <> -2147680260_ or 10589 32770_ * -65537_ <> -2147647490_ or 10590 32770_ * -65536_ <> -2147614720_ or 10591 32770_ * -65535_ <> -2147581950_ or 10592 32770_ * -65534_ <> -2147549180_ or 10593 32770_ * -32770_ <> -1073872900_ or 10594 32770_ * -32769_ <> -1073840130_ or 10595 32770_ * -32768_ <> -1073807360_ or 10596 32770_ * -32767_ <> -1073774590_ or 10597 32770_ * -32766_ <> -1073741820_ or 10598 32770_ * 0_ <> 0_ or 10599 32770_ * 32766_ <> 1073741820_ or 10600 32770_ * 32767_ <> 1073774590_ or 10601 32770_ * 32768_ <> 1073807360_ or 10602 32770_ * 32769_ <> 1073840130_ or 10603 32770_ * 32770_ <> 1073872900_ or 10604 32770_ * 65534_ <> 2147549180_ or 10605 32770_ * 65535_ <> 2147581950_ or 10606 32770_ * 65536_ <> 2147614720_ or 10607 32770_ * 65537_ <> 2147647490_ or 10608 32770_ * 65538_ <> 2147680260_ or 10609 65534_ * -65538_ <> -4294967292_ or 10610 65534_ * -65537_ <> -4294901758_ or 10611 65534_ * -65536_ <> -4294836224_ or 10612 65534_ * -65535_ <> -4294770690_ or 10613 65534_ * -65534_ <> -4294705156_ or 10614 65534_ * -32770_ <> -2147549180_ or 10615 65534_ * -32769_ <> -2147483646_ or 10616 65534_ * -32768_ <> -2147418112_ or 10617 65534_ * -32767_ <> -2147352578_ or 10618 65534_ * -32766_ <> -2147287044_ or 10619 65534_ * 0_ <> 0_ or 10620 65534_ * 32766_ <> 2147287044_ or 10621 65534_ * 32767_ <> 2147352578_ or 10622 65534_ * 32768_ <> 2147418112_ or 10623 65534_ * 32769_ <> 2147483646_ or 10624 65534_ * 32770_ <> 2147549180_ or 10625 65534_ * 65534_ <> 4294705156_ or 10626 65534_ * 65535_ <> 4294770690_ or 10627 65534_ * 65536_ <> 4294836224_ or 10628 65534_ * 65537_ <> 4294901758_ or 10629 65534_ * 65538_ <> 4294967292_ or 10630 65535_ * -65538_ <> -4295032830_ or 10631 65535_ * -65537_ <> -4294967295_ or 10632 65535_ * -65536_ <> -4294901760_ or 10633 65535_ * -65535_ <> -4294836225_ or 10634 65535_ * -65534_ <> -4294770690_ or 10635 65535_ * -32770_ <> -2147581950_ or 10636 65535_ * -32769_ <> -2147516415_ or 10637 65535_ * -32768_ <> -2147450880_ or 10638 65535_ * -32767_ <> -2147385345_ or 10639 65535_ * -32766_ <> -2147319810_ or 10640 65535_ * 0_ <> 0_ or 10641 65535_ * 32766_ <> 2147319810_ or 10642 65535_ * 32767_ <> 2147385345_ or 10643 65535_ * 32768_ <> 2147450880_ or 10644 65535_ * 32769_ <> 2147516415_ or 10645 65535_ * 32770_ <> 2147581950_ or 10646 65535_ * 65534_ <> 4294770690_ or 10647 65535_ * 65535_ <> 4294836225_ or 10648 65535_ * 65536_ <> 4294901760_ or 10649 65535_ * 65537_ <> 4294967295_ or 10650 65535_ * 65538_ <> 4295032830_ or 10651 65536_ * -65538_ <> -4295098368_ or 10652 65536_ * -65537_ <> -4295032832_ or 10653 65536_ * -65536_ <> -4294967296_ or 10654 65536_ * -65535_ <> -4294901760_ or 10655 65536_ * -65534_ <> -4294836224_ or 10656 65536_ * -32770_ <> -2147614720_ or 10657 65536_ * -32769_ <> -2147549184_ or 10658 65536_ * -32768_ <> -2147483648_ or 10659 65536_ * -32767_ <> -2147418112_ or 10660 65536_ * -32766_ <> -2147352576_ or 10661 65536_ * 0_ <> 0_ or 10662 65536_ * 32766_ <> 2147352576_ or 10663 65536_ * 32767_ <> 2147418112_ or 10664 65536_ * 32768_ <> 2147483648_ or 10665 65536_ * 32769_ <> 2147549184_ or 10666 65536_ * 32770_ <> 2147614720_ or 10667 65536_ * 65534_ <> 4294836224_ or 10668 65536_ * 65535_ <> 4294901760_ or 10669 65536_ * 65536_ <> 4294967296_ or 10670 65536_ * 65537_ <> 4295032832_ or 10671 65536_ * 65538_ <> 4295098368_ or 10672 65537_ * -65538_ <> -4295163906_ or 10673 65537_ * -65537_ <> -4295098369_ or 10674 65537_ * -65536_ <> -4295032832_ or 10675 65537_ * -65535_ <> -4294967295_ or 10676 65537_ * -65534_ <> -4294901758_ or 10677 65537_ * -32770_ <> -2147647490_ or 10678 65537_ * -32769_ <> -2147581953_ or 10679 65537_ * -32768_ <> -2147516416_ or 10680 65537_ * -32767_ <> -2147450879_ or 10681 65537_ * -32766_ <> -2147385342_ or 10682 65537_ * 0_ <> 0_ or 10683 65537_ * 32766_ <> 2147385342_ or 10684 65537_ * 32767_ <> 2147450879_ or 10685 65537_ * 32768_ <> 2147516416_ or 10686 65537_ * 32769_ <> 2147581953_ or 10687 65537_ * 32770_ <> 2147647490_ or 10688 65537_ * 65534_ <> 4294901758_ or 10689 65537_ * 65535_ <> 4294967295_ or 10690 65537_ * 65536_ <> 4295032832_ or 10691 65537_ * 65537_ <> 4295098369_ or 10692 65537_ * 65538_ <> 4295163906_ or 10693 65538_ * -65538_ <> -4295229444_ or 10694 65538_ * -65537_ <> -4295163906_ or 10695 65538_ * -65536_ <> -4295098368_ or 10696 65538_ * -65535_ <> -4295032830_ or 10697 65538_ * -65534_ <> -4294967292_ or 10698 65538_ * -32770_ <> -2147680260_ or 10699 65538_ * -32769_ <> -2147614722_ or 10700 65538_ * -32768_ <> -2147549184_ or 10701 65538_ * -32767_ <> -2147483646_ or 10702 65538_ * -32766_ <> -2147418108_ or 10703 65538_ * 0_ <> 0_ or 10704 65538_ * 32766_ <> 2147418108_ or 10705 65538_ * 32767_ <> 2147483646_ or 10706 65538_ * 32768_ <> 2147549184_ or 10707 65538_ * 32769_ <> 2147614722_ or 10708 65538_ * 32770_ <> 2147680260_ or 10709 65538_ * 65534_ <> 4294967292_ or 10710 65538_ * 65535_ <> 4295032830_ or 10711 65538_ * 65536_ <> 4295098368_ or 10712 65538_ * 65537_ <> 4295163906_ or 10713 65538_ * 65538_ <> 4295229444_ then 10714 writeln("Multiplication of bigInteger does not work correct."); 10715 okay := FALSE; 10716 end if; 10717 10718 number := 1024_; 10719 if number * number <> 1048576_ then 10720 writeln("Multiplication of bigInteger with itself does not work correct."); 10721 okay := FALSE; 10722 end if; 10723 10724 number := 123456789_; 10725 if number * -1_ <> -123456789_ or 10726 -1_ * number <> -123456789_ then 10727 writeln("Multiplication of bigInteger with -1 does not work correct."); 10728 okay := FALSE; 10729 end if; 10730 10731 if 65535_ * 196607_ <> 12884639745_ or 10732 196607_ * 65535_ <> 12884639745_ or 10733 1078203909375_ * 17878103347812890625_ <> 19276240921822134027894287109375_ or 10734 17878103347812890625_ * 1078203909375_ <> 19276240921822134027894287109375_ or 10735 17878103347812890625_ * 17878103347812890625_ <> 319626579315078487616775634918212890625_ then 10736 writeln("Multiplication of bigger bigInteger values does not work correct."); 10737 okay := FALSE; 10738 end if; 10739 10740 if -3_ * bigintExpr(-18446744073709551617_) <> 55340232221128654851_ or 10741 -3_ * bigintExpr(-18446744073709551616_) <> 55340232221128654848_ or 10742 -3_ * bigintExpr(-10000000000000000000_) <> 30000000000000000000_ or 10743 -3_ * bigintExpr( -1000000000000000000_) <> 3000000000000000000_ or 10744 -3_ * bigintExpr( -100000000000000000_) <> 300000000000000000_ or 10745 -3_ * bigintExpr( -10000000000000000_) <> 30000000000000000_ or 10746 -3_ * bigintExpr( -1000000000000000_) <> 3000000000000000_ or 10747 -3_ * bigintExpr( -100000000000000_) <> 300000000000000_ or 10748 -3_ * bigintExpr( -10000000000000_) <> 30000000000000_ or 10749 -3_ * bigintExpr( -1000000000000_) <> 3000000000000_ or 10750 -3_ * bigintExpr( -100000000000_) <> 300000000000_ or 10751 -3_ * bigintExpr( -10000000000_) <> 30000000000_ or 10752 -3_ * bigintExpr( -4294967297_) <> 12884901891_ or 10753 -3_ * bigintExpr( -4294967296_) <> 12884901888_ or 10754 -3_ * bigintExpr( -1000000000_) <> 3000000000_ or 10755 -3_ * bigintExpr( -100000000_) <> 300000000_ or 10756 -3_ * bigintExpr( -10000000_) <> 30000000_ or 10757 -3_ * bigintExpr( -1000000_) <> 3000000_ or 10758 -3_ * bigintExpr( -100000_) <> 300000_ or 10759 -3_ * bigintExpr( -65537_) <> 196611_ or 10760 -3_ * bigintExpr( -65536_) <> 196608_ or 10761 -3_ * bigintExpr( -10000_) <> 30000_ or 10762 -3_ * bigintExpr( -1000_) <> 3000_ or 10763 -3_ * bigintExpr( -257_) <> 771_ or 10764 -3_ * bigintExpr( -256_) <> 768_ or 10765 -3_ * bigintExpr( -10_) <> 30_ or 10766 -3_ * bigintExpr( -4_) <> 12_ or 10767 -3_ * bigintExpr( -3_) <> 9_ or 10768 -3_ * bigintExpr( -2_) <> 6_ or 10769 -3_ * bigintExpr( -1_) <> 3_ or 10770 -3_ * bigintExpr( 0_) <> 0_ or 10771 -3_ * bigintExpr( 1_) <> -3_ or 10772 -3_ * bigintExpr( 2_) <> -6_ or 10773 -3_ * bigintExpr( 3_) <> -9_ or 10774 -3_ * bigintExpr( 4_) <> -12_ or 10775 -3_ * bigintExpr( 10_) <> -30_ or 10776 -3_ * bigintExpr( 255_) <> -765_ or 10777 -3_ * bigintExpr( 256_) <> -768_ or 10778 -3_ * bigintExpr( 1000_) <> -3000_ or 10779 -3_ * bigintExpr( 10000_) <> -30000_ or 10780 -3_ * bigintExpr( 65535_) <> -196605_ or 10781 -3_ * bigintExpr( 65536_) <> -196608_ or 10782 -3_ * bigintExpr( 100000_) <> -300000_ or 10783 -3_ * bigintExpr( 1000000_) <> -3000000_ or 10784 -3_ * bigintExpr( 10000000_) <> -30000000_ or 10785 -3_ * bigintExpr( 100000000_) <> -300000000_ or 10786 -3_ * bigintExpr( 1000000000_) <> -3000000000_ or 10787 -3_ * bigintExpr( 4294967295_) <> -12884901885_ or 10788 -3_ * bigintExpr( 4294967296_) <> -12884901888_ or 10789 -3_ * bigintExpr( 10000000000_) <> -30000000000_ or 10790 -3_ * bigintExpr( 100000000000_) <> -300000000000_ or 10791 -3_ * bigintExpr( 1000000000000_) <> -3000000000000_ or 10792 -3_ * bigintExpr( 10000000000000_) <> -30000000000000_ or 10793 -3_ * bigintExpr( 100000000000000_) <> -300000000000000_ or 10794 -3_ * bigintExpr( 1000000000000000_) <> -3000000000000000_ or 10795 -3_ * bigintExpr( 10000000000000000_) <> -30000000000000000_ or 10796 -3_ * bigintExpr( 100000000000000000_) <> -300000000000000000_ or 10797 -3_ * bigintExpr( 1000000000000000000_) <> -3000000000000000000_ or 10798 -3_ * bigintExpr( 10000000000000000000_) <> -30000000000000000000_ or 10799 -3_ * bigintExpr( 18446744073709551615_) <> -55340232221128654845_ or 10800 -3_ * bigintExpr( 18446744073709551616_) <> -55340232221128654848_ or 10801 -2_ * bigintExpr(-18446744073709551617_) <> 36893488147419103234_ or 10802 -2_ * bigintExpr(-18446744073709551616_) <> 36893488147419103232_ or 10803 -2_ * bigintExpr(-10000000000000000000_) <> 20000000000000000000_ or 10804 -2_ * bigintExpr( -1000000000000000000_) <> 2000000000000000000_ or 10805 -2_ * bigintExpr( -100000000000000000_) <> 200000000000000000_ or 10806 -2_ * bigintExpr( -10000000000000000_) <> 20000000000000000_ or 10807 -2_ * bigintExpr( -1000000000000000_) <> 2000000000000000_ or 10808 -2_ * bigintExpr( -100000000000000_) <> 200000000000000_ or 10809 -2_ * bigintExpr( -10000000000000_) <> 20000000000000_ or 10810 -2_ * bigintExpr( -1000000000000_) <> 2000000000000_ or 10811 -2_ * bigintExpr( -100000000000_) <> 200000000000_ or 10812 -2_ * bigintExpr( -10000000000_) <> 20000000000_ or 10813 -2_ * bigintExpr( -4294967297_) <> 8589934594_ or 10814 -2_ * bigintExpr( -4294967296_) <> 8589934592_ or 10815 -2_ * bigintExpr( -1000000000_) <> 2000000000_ or 10816 -2_ * bigintExpr( -100000000_) <> 200000000_ or 10817 -2_ * bigintExpr( -10000000_) <> 20000000_ or 10818 -2_ * bigintExpr( -1000000_) <> 2000000_ or 10819 -2_ * bigintExpr( -100000_) <> 200000_ or 10820 -2_ * bigintExpr( -65537_) <> 131074_ or 10821 -2_ * bigintExpr( -65536_) <> 131072_ or 10822 -2_ * bigintExpr( -10000_) <> 20000_ or 10823 -2_ * bigintExpr( -1000_) <> 2000_ or 10824 -2_ * bigintExpr( -257_) <> 514_ or 10825 -2_ * bigintExpr( -256_) <> 512_ or 10826 -2_ * bigintExpr( -10_) <> 20_ or 10827 -2_ * bigintExpr( -4_) <> 8_ or 10828 -2_ * bigintExpr( -3_) <> 6_ or 10829 -2_ * bigintExpr( -2_) <> 4_ or 10830 -2_ * bigintExpr( -1_) <> 2_ or 10831 -2_ * bigintExpr( 0_) <> 0_ or 10832 -2_ * bigintExpr( 1_) <> -2_ or 10833 -2_ * bigintExpr( 2_) <> -4_ or 10834 -2_ * bigintExpr( 3_) <> -6_ or 10835 -2_ * bigintExpr( 4_) <> -8_ or 10836 -2_ * bigintExpr( 10_) <> -20_ or 10837 -2_ * bigintExpr( 255_) <> -510_ or 10838 -2_ * bigintExpr( 256_) <> -512_ or 10839 -2_ * bigintExpr( 1000_) <> -2000_ or 10840 -2_ * bigintExpr( 10000_) <> -20000_ or 10841 -2_ * bigintExpr( 65535_) <> -131070_ or 10842 -2_ * bigintExpr( 65536_) <> -131072_ or 10843 -2_ * bigintExpr( 100000_) <> -200000_ or 10844 -2_ * bigintExpr( 1000000_) <> -2000000_ or 10845 -2_ * bigintExpr( 10000000_) <> -20000000_ or 10846 -2_ * bigintExpr( 100000000_) <> -200000000_ or 10847 -2_ * bigintExpr( 1000000000_) <> -2000000000_ or 10848 -2_ * bigintExpr( 4294967295_) <> -8589934590_ or 10849 -2_ * bigintExpr( 4294967296_) <> -8589934592_ or 10850 -2_ * bigintExpr( 10000000000_) <> -20000000000_ or 10851 -2_ * bigintExpr( 100000000000_) <> -200000000000_ or 10852 -2_ * bigintExpr( 1000000000000_) <> -2000000000000_ or 10853 -2_ * bigintExpr( 10000000000000_) <> -20000000000000_ or 10854 -2_ * bigintExpr( 100000000000000_) <> -200000000000000_ or 10855 -2_ * bigintExpr( 1000000000000000_) <> -2000000000000000_ or 10856 -2_ * bigintExpr( 10000000000000000_) <> -20000000000000000_ or 10857 -2_ * bigintExpr( 100000000000000000_) <> -200000000000000000_ or 10858 -2_ * bigintExpr( 1000000000000000000_) <> -2000000000000000000_ or 10859 -2_ * bigintExpr( 10000000000000000000_) <> -20000000000000000000_ or 10860 -2_ * bigintExpr( 18446744073709551615_) <> -36893488147419103230_ or 10861 -2_ * bigintExpr( 18446744073709551616_) <> -36893488147419103232_ or 10862 -1_ * bigintExpr(-18446744073709551617_) <> 18446744073709551617_ or 10863 -1_ * bigintExpr(-18446744073709551616_) <> 18446744073709551616_ or 10864 -1_ * bigintExpr(-10000000000000000000_) <> 10000000000000000000_ or 10865 -1_ * bigintExpr( -1000000000000000000_) <> 1000000000000000000_ or 10866 -1_ * bigintExpr( -100000000000000000_) <> 100000000000000000_ or 10867 -1_ * bigintExpr( -10000000000000000_) <> 10000000000000000_ or 10868 -1_ * bigintExpr( -1000000000000000_) <> 1000000000000000_ or 10869 -1_ * bigintExpr( -100000000000000_) <> 100000000000000_ or 10870 -1_ * bigintExpr( -10000000000000_) <> 10000000000000_ or 10871 -1_ * bigintExpr( -1000000000000_) <> 1000000000000_ or 10872 -1_ * bigintExpr( -100000000000_) <> 100000000000_ or 10873 -1_ * bigintExpr( -10000000000_) <> 10000000000_ or 10874 -1_ * bigintExpr( -4294967297_) <> 4294967297_ or 10875 -1_ * bigintExpr( -4294967296_) <> 4294967296_ or 10876 -1_ * bigintExpr( -1000000000_) <> 1000000000_ or 10877 -1_ * bigintExpr( -100000000_) <> 100000000_ or 10878 -1_ * bigintExpr( -10000000_) <> 10000000_ or 10879 -1_ * bigintExpr( -1000000_) <> 1000000_ or 10880 -1_ * bigintExpr( -100000_) <> 100000_ or 10881 -1_ * bigintExpr( -65537_) <> 65537_ or 10882 -1_ * bigintExpr( -65536_) <> 65536_ or 10883 -1_ * bigintExpr( -10000_) <> 10000_ or 10884 -1_ * bigintExpr( -1000_) <> 1000_ or 10885 -1_ * bigintExpr( -257_) <> 257_ or 10886 -1_ * bigintExpr( -256_) <> 256_ or 10887 -1_ * bigintExpr( -10_) <> 10_ or 10888 -1_ * bigintExpr( -4_) <> 4_ or 10889 -1_ * bigintExpr( -3_) <> 3_ or 10890 -1_ * bigintExpr( -2_) <> 2_ or 10891 -1_ * bigintExpr( -1_) <> 1_ or 10892 -1_ * bigintExpr( 0_) <> 0_ or 10893 -1_ * bigintExpr( 1_) <> -1_ or 10894 -1_ * bigintExpr( 2_) <> -2_ or 10895 -1_ * bigintExpr( 3_) <> -3_ or 10896 -1_ * bigintExpr( 4_) <> -4_ or 10897 -1_ * bigintExpr( 10_) <> -10_ or 10898 -1_ * bigintExpr( 255_) <> -255_ or 10899 -1_ * bigintExpr( 256_) <> -256_ or 10900 -1_ * bigintExpr( 1000_) <> -1000_ or 10901 -1_ * bigintExpr( 10000_) <> -10000_ or 10902 -1_ * bigintExpr( 65535_) <> -65535_ or 10903 -1_ * bigintExpr( 65536_) <> -65536_ or 10904 -1_ * bigintExpr( 100000_) <> -100000_ or 10905 -1_ * bigintExpr( 1000000_) <> -1000000_ or 10906 -1_ * bigintExpr( 10000000_) <> -10000000_ or 10907 -1_ * bigintExpr( 100000000_) <> -100000000_ or 10908 -1_ * bigintExpr( 1000000000_) <> -1000000000_ or 10909 -1_ * bigintExpr( 4294967295_) <> -4294967295_ or 10910 -1_ * bigintExpr( 4294967296_) <> -4294967296_ or 10911 -1_ * bigintExpr( 10000000000_) <> -10000000000_ or 10912 -1_ * bigintExpr( 100000000000_) <> -100000000000_ or 10913 -1_ * bigintExpr( 1000000000000_) <> -1000000000000_ or 10914 -1_ * bigintExpr( 10000000000000_) <> -10000000000000_ or 10915 -1_ * bigintExpr( 100000000000000_) <> -100000000000000_ or 10916 -1_ * bigintExpr( 1000000000000000_) <> -1000000000000000_ or 10917 -1_ * bigintExpr( 10000000000000000_) <> -10000000000000000_ or 10918 -1_ * bigintExpr( 100000000000000000_) <> -100000000000000000_ or 10919 -1_ * bigintExpr( 1000000000000000000_) <> -1000000000000000000_ or 10920 -1_ * bigintExpr( 10000000000000000000_) <> -10000000000000000000_ or 10921 -1_ * bigintExpr( 18446744073709551615_) <> -18446744073709551615_ or 10922 -1_ * bigintExpr( 18446744073709551616_) <> -18446744073709551616_ or 10923 0_ * bigintExpr(-18446744073709551617_) <> 0_ or 10924 0_ * bigintExpr(-18446744073709551616_) <> 0_ or 10925 0_ * bigintExpr(-10000000000000000000_) <> 0_ or 10926 0_ * bigintExpr( -1000000000000000000_) <> 0_ or 10927 0_ * bigintExpr( -100000000000000000_) <> 0_ or 10928 0_ * bigintExpr( -10000000000000000_) <> 0_ or 10929 0_ * bigintExpr( -1000000000000000_) <> 0_ or 10930 0_ * bigintExpr( -100000000000000_) <> 0_ or 10931 0_ * bigintExpr( -10000000000000_) <> 0_ or 10932 0_ * bigintExpr( -1000000000000_) <> 0_ or 10933 0_ * bigintExpr( -100000000000_) <> 0_ or 10934 0_ * bigintExpr( -10000000000_) <> 0_ or 10935 0_ * bigintExpr( -4294967297_) <> 0_ or 10936 0_ * bigintExpr( -4294967296_) <> 0_ or 10937 0_ * bigintExpr( -1000000000_) <> 0_ or 10938 0_ * bigintExpr( -100000000_) <> 0_ or 10939 0_ * bigintExpr( -10000000_) <> 0_ or 10940 0_ * bigintExpr( -1000000_) <> 0_ or 10941 0_ * bigintExpr( -100000_) <> 0_ or 10942 0_ * bigintExpr( -65536_) <> 0_ or 10943 0_ * bigintExpr( -65536_) <> 0_ or 10944 0_ * bigintExpr( -10000_) <> 0_ or 10945 0_ * bigintExpr( -1000_) <> 0_ or 10946 0_ * bigintExpr( -257_) <> 0_ or 10947 0_ * bigintExpr( -256_) <> 0_ or 10948 0_ * bigintExpr( -10_) <> 0_ or 10949 0_ * bigintExpr( -4_) <> 0_ or 10950 0_ * bigintExpr( -3_) <> 0_ or 10951 0_ * bigintExpr( -2_) <> 0_ or 10952 0_ * bigintExpr( -1_) <> 0_ or 10953 0_ * bigintExpr( 0_) <> 0_ or 10954 0_ * bigintExpr( 1_) <> 0_ or 10955 0_ * bigintExpr( 2_) <> 0_ or 10956 0_ * bigintExpr( 3_) <> 0_ or 10957 0_ * bigintExpr( 4_) <> 0_ or 10958 0_ * bigintExpr( 10_) <> 0_ or 10959 0_ * bigintExpr( 255_) <> 0_ or 10960 0_ * bigintExpr( 256_) <> 0_ or 10961 0_ * bigintExpr( 1000_) <> 0_ or 10962 0_ * bigintExpr( 10000_) <> 0_ or 10963 0_ * bigintExpr( 65535_) <> 0_ or 10964 0_ * bigintExpr( 65536_) <> 0_ or 10965 0_ * bigintExpr( 100000_) <> 0_ or 10966 0_ * bigintExpr( 1000000_) <> 0_ or 10967 0_ * bigintExpr( 10000000_) <> 0_ or 10968 0_ * bigintExpr( 100000000_) <> 0_ or 10969 0_ * bigintExpr( 1000000000_) <> 0_ or 10970 0_ * bigintExpr( 4294967295_) <> 0_ or 10971 0_ * bigintExpr( 4294967296_) <> 0_ or 10972 0_ * bigintExpr( 10000000000_) <> 0_ or 10973 0_ * bigintExpr( 100000000000_) <> 0_ or 10974 0_ * bigintExpr( 1000000000000_) <> 0_ or 10975 0_ * bigintExpr( 10000000000000_) <> 0_ or 10976 0_ * bigintExpr( 100000000000000_) <> 0_ or 10977 0_ * bigintExpr( 1000000000000000_) <> 0_ or 10978 0_ * bigintExpr( 10000000000000000_) <> 0_ or 10979 0_ * bigintExpr( 100000000000000000_) <> 0_ or 10980 0_ * bigintExpr( 1000000000000000000_) <> 0_ or 10981 0_ * bigintExpr( 10000000000000000000_) <> 0_ or 10982 0_ * bigintExpr( 18446744073709551615_) <> 0_ or 10983 0_ * bigintExpr( 18446744073709551616_) <> 0_ or 10984 1_ * bigintExpr(-18446744073709551617_) <> -18446744073709551617_ or 10985 1_ * bigintExpr(-18446744073709551616_) <> -18446744073709551616_ or 10986 1_ * bigintExpr(-10000000000000000000_) <> -10000000000000000000_ or 10987 1_ * bigintExpr( -1000000000000000000_) <> -1000000000000000000_ or 10988 1_ * bigintExpr( -100000000000000000_) <> -100000000000000000_ or 10989 1_ * bigintExpr( -10000000000000000_) <> -10000000000000000_ or 10990 1_ * bigintExpr( -1000000000000000_) <> -1000000000000000_ or 10991 1_ * bigintExpr( -100000000000000_) <> -100000000000000_ or 10992 1_ * bigintExpr( -10000000000000_) <> -10000000000000_ or 10993 1_ * bigintExpr( -1000000000000_) <> -1000000000000_ or 10994 1_ * bigintExpr( -100000000000_) <> -100000000000_ or 10995 1_ * bigintExpr( -10000000000_) <> -10000000000_ or 10996 1_ * bigintExpr( -4294967297_) <> -4294967297_ or 10997 1_ * bigintExpr( -4294967296_) <> -4294967296_ or 10998 1_ * bigintExpr( -1000000000_) <> -1000000000_ or 10999 1_ * bigintExpr( -100000000_) <> -100000000_ or 11000 1_ * bigintExpr( -10000000_) <> -10000000_ or 11001 1_ * bigintExpr( -1000000_) <> -1000000_ or 11002 1_ * bigintExpr( -100000_) <> -100000_ or 11003 1_ * bigintExpr( -65537_) <> -65537_ or 11004 1_ * bigintExpr( -65536_) <> -65536_ or 11005 1_ * bigintExpr( -10000_) <> -10000_ or 11006 1_ * bigintExpr( -1000_) <> -1000_ or 11007 1_ * bigintExpr( -257_) <> -257_ or 11008 1_ * bigintExpr( -256_) <> -256_ or 11009 1_ * bigintExpr( -10_) <> -10_ or 11010 1_ * bigintExpr( -4_) <> -4_ or 11011 1_ * bigintExpr( -3_) <> -3_ or 11012 1_ * bigintExpr( -2_) <> -2_ or 11013 1_ * bigintExpr( -1_) <> -1_ or 11014 1_ * bigintExpr( 0_) <> 0_ or 11015 1_ * bigintExpr( 1_) <> 1_ or 11016 1_ * bigintExpr( 2_) <> 2_ or 11017 1_ * bigintExpr( 3_) <> 3_ or 11018 1_ * bigintExpr( 4_) <> 4_ or 11019 1_ * bigintExpr( 10_) <> 10_ or 11020 1_ * bigintExpr( 255_) <> 255_ or 11021 1_ * bigintExpr( 256_) <> 256_ or 11022 1_ * bigintExpr( 1000_) <> 1000_ or 11023 1_ * bigintExpr( 10000_) <> 10000_ or 11024 1_ * bigintExpr( 65535_) <> 65535_ or 11025 1_ * bigintExpr( 65536_) <> 65536_ or 11026 1_ * bigintExpr( 100000_) <> 100000_ or 11027 1_ * bigintExpr( 1000000_) <> 1000000_ or 11028 1_ * bigintExpr( 10000000_) <> 10000000_ or 11029 1_ * bigintExpr( 100000000_) <> 100000000_ or 11030 1_ * bigintExpr( 1000000000_) <> 1000000000_ or 11031 1_ * bigintExpr( 4294967295_) <> 4294967295_ or 11032 1_ * bigintExpr( 4294967296_) <> 4294967296_ or 11033 1_ * bigintExpr( 10000000000_) <> 10000000000_ or 11034 1_ * bigintExpr( 100000000000_) <> 100000000000_ or 11035 1_ * bigintExpr( 1000000000000_) <> 1000000000000_ or 11036 1_ * bigintExpr( 10000000000000_) <> 10000000000000_ or 11037 1_ * bigintExpr( 100000000000000_) <> 100000000000000_ or 11038 1_ * bigintExpr( 1000000000000000_) <> 1000000000000000_ or 11039 1_ * bigintExpr( 10000000000000000_) <> 10000000000000000_ or 11040 1_ * bigintExpr( 100000000000000000_) <> 100000000000000000_ or 11041 1_ * bigintExpr( 1000000000000000000_) <> 1000000000000000000_ or 11042 1_ * bigintExpr( 10000000000000000000_) <> 10000000000000000000_ or 11043 1_ * bigintExpr( 18446744073709551615_) <> 18446744073709551615_ or 11044 1_ * bigintExpr( 18446744073709551616_) <> 18446744073709551616_ or 11045 2_ * bigintExpr(-18446744073709551617_) <> -36893488147419103234_ or 11046 2_ * bigintExpr(-18446744073709551616_) <> -36893488147419103232_ or 11047 2_ * bigintExpr(-10000000000000000000_) <> -20000000000000000000_ or 11048 2_ * bigintExpr( -1000000000000000000_) <> -2000000000000000000_ or 11049 2_ * bigintExpr( -100000000000000000_) <> -200000000000000000_ or 11050 2_ * bigintExpr( -10000000000000000_) <> -20000000000000000_ or 11051 2_ * bigintExpr( -1000000000000000_) <> -2000000000000000_ or 11052 2_ * bigintExpr( -100000000000000_) <> -200000000000000_ or 11053 2_ * bigintExpr( -10000000000000_) <> -20000000000000_ or 11054 2_ * bigintExpr( -1000000000000_) <> -2000000000000_ or 11055 2_ * bigintExpr( -100000000000_) <> -200000000000_ or 11056 2_ * bigintExpr( -10000000000_) <> -20000000000_ or 11057 2_ * bigintExpr( -4294967297_) <> -8589934594_ or 11058 2_ * bigintExpr( -4294967296_) <> -8589934592_ or 11059 2_ * bigintExpr( -1000000000_) <> -2000000000_ or 11060 2_ * bigintExpr( -100000000_) <> -200000000_ or 11061 2_ * bigintExpr( -10000000_) <> -20000000_ or 11062 2_ * bigintExpr( -1000000_) <> -2000000_ or 11063 2_ * bigintExpr( -100000_) <> -200000_ or 11064 2_ * bigintExpr( -65537_) <> -131074_ or 11065 2_ * bigintExpr( -65536_) <> -131072_ or 11066 2_ * bigintExpr( -10000_) <> -20000_ or 11067 2_ * bigintExpr( -1000_) <> -2000_ or 11068 2_ * bigintExpr( -257_) <> -514_ or 11069 2_ * bigintExpr( -256_) <> -512_ or 11070 2_ * bigintExpr( -10_) <> -20_ or 11071 2_ * bigintExpr( -4_) <> -8_ or 11072 2_ * bigintExpr( -3_) <> -6_ or 11073 2_ * bigintExpr( -2_) <> -4_ or 11074 2_ * bigintExpr( -1_) <> -2_ or 11075 2_ * bigintExpr( 0_) <> 0_ or 11076 2_ * bigintExpr( 1_) <> 2_ or 11077 2_ * bigintExpr( 2_) <> 4_ or 11078 2_ * bigintExpr( 3_) <> 6_ or 11079 2_ * bigintExpr( 4_) <> 8_ or 11080 2_ * bigintExpr( 10_) <> 20_ or 11081 2_ * bigintExpr( 255_) <> 510_ or 11082 2_ * bigintExpr( 256_) <> 512_ or 11083 2_ * bigintExpr( 1000_) <> 2000_ or 11084 2_ * bigintExpr( 10000_) <> 20000_ or 11085 2_ * bigintExpr( 65535_) <> 131070_ or 11086 2_ * bigintExpr( 65536_) <> 131072_ or 11087 2_ * bigintExpr( 100000_) <> 200000_ or 11088 2_ * bigintExpr( 1000000_) <> 2000000_ or 11089 2_ * bigintExpr( 10000000_) <> 20000000_ or 11090 2_ * bigintExpr( 100000000_) <> 200000000_ or 11091 2_ * bigintExpr( 1000000000_) <> 2000000000_ or 11092 2_ * bigintExpr( 4294967295_) <> 8589934590_ or 11093 2_ * bigintExpr( 4294967296_) <> 8589934592_ or 11094 2_ * bigintExpr( 10000000000_) <> 20000000000_ or 11095 2_ * bigintExpr( 100000000000_) <> 200000000000_ or 11096 2_ * bigintExpr( 1000000000000_) <> 2000000000000_ or 11097 2_ * bigintExpr( 10000000000000_) <> 20000000000000_ or 11098 2_ * bigintExpr( 100000000000000_) <> 200000000000000_ or 11099 2_ * bigintExpr( 1000000000000000_) <> 2000000000000000_ or 11100 2_ * bigintExpr( 10000000000000000_) <> 20000000000000000_ or 11101 2_ * bigintExpr( 100000000000000000_) <> 200000000000000000_ or 11102 2_ * bigintExpr( 1000000000000000000_) <> 2000000000000000000_ or 11103 2_ * bigintExpr( 10000000000000000000_) <> 20000000000000000000_ or 11104 2_ * bigintExpr( 18446744073709551615_) <> 36893488147419103230_ or 11105 2_ * bigintExpr( 18446744073709551616_) <> 36893488147419103232_ or 11106 3_ * bigintExpr(-18446744073709551617_) <> -55340232221128654851_ or 11107 3_ * bigintExpr(-18446744073709551616_) <> -55340232221128654848_ or 11108 3_ * bigintExpr(-10000000000000000000_) <> -30000000000000000000_ or 11109 3_ * bigintExpr( -1000000000000000000_) <> -3000000000000000000_ or 11110 3_ * bigintExpr( -100000000000000000_) <> -300000000000000000_ or 11111 3_ * bigintExpr( -10000000000000000_) <> -30000000000000000_ or 11112 3_ * bigintExpr( -1000000000000000_) <> -3000000000000000_ or 11113 3_ * bigintExpr( -100000000000000_) <> -300000000000000_ or 11114 3_ * bigintExpr( -10000000000000_) <> -30000000000000_ or 11115 3_ * bigintExpr( -1000000000000_) <> -3000000000000_ or 11116 3_ * bigintExpr( -100000000000_) <> -300000000000_ or 11117 3_ * bigintExpr( -10000000000_) <> -30000000000_ or 11118 3_ * bigintExpr( -4294967297_) <> -12884901891_ or 11119 3_ * bigintExpr( -4294967296_) <> -12884901888_ or 11120 3_ * bigintExpr( -1000000000_) <> -3000000000_ or 11121 3_ * bigintExpr( -100000000_) <> -300000000_ or 11122 3_ * bigintExpr( -10000000_) <> -30000000_ or 11123 3_ * bigintExpr( -1000000_) <> -3000000_ or 11124 3_ * bigintExpr( -100000_) <> -300000_ or 11125 3_ * bigintExpr( -65537_) <> -196611_ or 11126 3_ * bigintExpr( -65536_) <> -196608_ or 11127 3_ * bigintExpr( -10000_) <> -30000_ or 11128 3_ * bigintExpr( -1000_) <> -3000_ or 11129 3_ * bigintExpr( -257_) <> -771_ or 11130 3_ * bigintExpr( -256_) <> -768_ or 11131 3_ * bigintExpr( -10_) <> -30_ or 11132 3_ * bigintExpr( -4_) <> -12_ or 11133 3_ * bigintExpr( -3_) <> -9_ or 11134 3_ * bigintExpr( -2_) <> -6_ or 11135 3_ * bigintExpr( -1_) <> -3_ or 11136 3_ * bigintExpr( 0_) <> 0_ or 11137 3_ * bigintExpr( 1_) <> 3_ or 11138 3_ * bigintExpr( 2_) <> 6_ or 11139 3_ * bigintExpr( 3_) <> 9_ or 11140 3_ * bigintExpr( 4_) <> 12_ or 11141 3_ * bigintExpr( 10_) <> 30_ or 11142 3_ * bigintExpr( 255_) <> 765_ or 11143 3_ * bigintExpr( 256_) <> 768_ or 11144 3_ * bigintExpr( 1000_) <> 3000_ or 11145 3_ * bigintExpr( 10000_) <> 30000_ or 11146 3_ * bigintExpr( 65535_) <> 196605_ or 11147 3_ * bigintExpr( 65536_) <> 196608_ or 11148 3_ * bigintExpr( 100000_) <> 300000_ or 11149 3_ * bigintExpr( 1000000_) <> 3000000_ or 11150 3_ * bigintExpr( 10000000_) <> 30000000_ or 11151 3_ * bigintExpr( 100000000_) <> 300000000_ or 11152 3_ * bigintExpr( 1000000000_) <> 3000000000_ or 11153 3_ * bigintExpr( 4294967295_) <> 12884901885_ or 11154 3_ * bigintExpr( 4294967296_) <> 12884901888_ or 11155 3_ * bigintExpr( 10000000000_) <> 30000000000_ or 11156 3_ * bigintExpr( 100000000000_) <> 300000000000_ or 11157 3_ * bigintExpr( 1000000000000_) <> 3000000000000_ or 11158 3_ * bigintExpr( 10000000000000_) <> 30000000000000_ or 11159 3_ * bigintExpr( 100000000000000_) <> 300000000000000_ or 11160 3_ * bigintExpr( 1000000000000000_) <> 3000000000000000_ or 11161 3_ * bigintExpr( 10000000000000000_) <> 30000000000000000_ or 11162 3_ * bigintExpr( 100000000000000000_) <> 300000000000000000_ or 11163 3_ * bigintExpr( 1000000000000000000_) <> 3000000000000000000_ or 11164 3_ * bigintExpr( 10000000000000000000_) <> 30000000000000000000_ or 11165 3_ * bigintExpr( 18446744073709551615_) <> 55340232221128654845_ or 11166 3_ * bigintExpr( 18446744073709551616_) <> 55340232221128654848_ or 11167 bigintExpr(-18446744073709551617_) * -3_ <> 55340232221128654851_ or 11168 bigintExpr(-18446744073709551616_) * -3_ <> 55340232221128654848_ or 11169 bigintExpr(-10000000000000000000_) * -3_ <> 30000000000000000000_ or 11170 bigintExpr( -1000000000000000000_) * -3_ <> 3000000000000000000_ or 11171 bigintExpr( -100000000000000000_) * -3_ <> 300000000000000000_ or 11172 bigintExpr( -10000000000000000_) * -3_ <> 30000000000000000_ or 11173 bigintExpr( -1000000000000000_) * -3_ <> 3000000000000000_ or 11174 bigintExpr( -100000000000000_) * -3_ <> 300000000000000_ or 11175 bigintExpr( -10000000000000_) * -3_ <> 30000000000000_ or 11176 bigintExpr( -1000000000000_) * -3_ <> 3000000000000_ or 11177 bigintExpr( -100000000000_) * -3_ <> 300000000000_ or 11178 bigintExpr( -10000000000_) * -3_ <> 30000000000_ or 11179 bigintExpr( -4294967297_) * -3_ <> 12884901891_ or 11180 bigintExpr( -4294967296_) * -3_ <> 12884901888_ or 11181 bigintExpr( -1000000000_) * -3_ <> 3000000000_ or 11182 bigintExpr( -100000000_) * -3_ <> 300000000_ or 11183 bigintExpr( -10000000_) * -3_ <> 30000000_ or 11184 bigintExpr( -1000000_) * -3_ <> 3000000_ or 11185 bigintExpr( -100000_) * -3_ <> 300000_ or 11186 bigintExpr( -65537_) * -3_ <> 196611_ or 11187 bigintExpr( -65536_) * -3_ <> 196608_ or 11188 bigintExpr( -10000_) * -3_ <> 30000_ or 11189 bigintExpr( -1000_) * -3_ <> 3000_ or 11190 bigintExpr( -257_) * -3_ <> 771_ or 11191 bigintExpr( -256_) * -3_ <> 768_ or 11192 bigintExpr( -10_) * -3_ <> 30_ or 11193 bigintExpr( -4_) * -3_ <> 12_ or 11194 bigintExpr( -3_) * -3_ <> 9_ or 11195 bigintExpr( -2_) * -3_ <> 6_ or 11196 bigintExpr( -1_) * -3_ <> 3_ or 11197 bigintExpr( 0_) * -3_ <> 0_ or 11198 bigintExpr( 1_) * -3_ <> -3_ or 11199 bigintExpr( 2_) * -3_ <> -6_ or 11200 bigintExpr( 3_) * -3_ <> -9_ or 11201 bigintExpr( 4_) * -3_ <> -12_ or 11202 bigintExpr( 10_) * -3_ <> -30_ or 11203 bigintExpr( 255_) * -3_ <> -765_ or 11204 bigintExpr( 256_) * -3_ <> -768_ or 11205 bigintExpr( 1000_) * -3_ <> -3000_ or 11206 bigintExpr( 10000_) * -3_ <> -30000_ or 11207 bigintExpr( 65535_) * -3_ <> -196605_ or 11208 bigintExpr( 65536_) * -3_ <> -196608_ or 11209 bigintExpr( 100000_) * -3_ <> -300000_ or 11210 bigintExpr( 1000000_) * -3_ <> -3000000_ or 11211 bigintExpr( 10000000_) * -3_ <> -30000000_ or 11212 bigintExpr( 100000000_) * -3_ <> -300000000_ or 11213 bigintExpr( 1000000000_) * -3_ <> -3000000000_ or 11214 bigintExpr( 4294967295_) * -3_ <> -12884901885_ or 11215 bigintExpr( 4294967296_) * -3_ <> -12884901888_ or 11216 bigintExpr( 10000000000_) * -3_ <> -30000000000_ or 11217 bigintExpr( 100000000000_) * -3_ <> -300000000000_ or 11218 bigintExpr( 1000000000000_) * -3_ <> -3000000000000_ or 11219 bigintExpr( 10000000000000_) * -3_ <> -30000000000000_ or 11220 bigintExpr( 100000000000000_) * -3_ <> -300000000000000_ or 11221 bigintExpr( 1000000000000000_) * -3_ <> -3000000000000000_ or 11222 bigintExpr( 10000000000000000_) * -3_ <> -30000000000000000_ or 11223 bigintExpr( 100000000000000000_) * -3_ <> -300000000000000000_ or 11224 bigintExpr( 1000000000000000000_) * -3_ <> -3000000000000000000_ or 11225 bigintExpr( 10000000000000000000_) * -3_ <> -30000000000000000000_ or 11226 bigintExpr( 18446744073709551615_) * -3_ <> -55340232221128654845_ or 11227 bigintExpr( 18446744073709551616_) * -3_ <> -55340232221128654848_ or 11228 bigintExpr(-18446744073709551617_) * -2_ <> 36893488147419103234_ or 11229 bigintExpr(-18446744073709551616_) * -2_ <> 36893488147419103232_ or 11230 bigintExpr(-10000000000000000000_) * -2_ <> 20000000000000000000_ or 11231 bigintExpr( -1000000000000000000_) * -2_ <> 2000000000000000000_ or 11232 bigintExpr( -100000000000000000_) * -2_ <> 200000000000000000_ or 11233 bigintExpr( -10000000000000000_) * -2_ <> 20000000000000000_ or 11234 bigintExpr( -1000000000000000_) * -2_ <> 2000000000000000_ or 11235 bigintExpr( -100000000000000_) * -2_ <> 200000000000000_ or 11236 bigintExpr( -10000000000000_) * -2_ <> 20000000000000_ or 11237 bigintExpr( -1000000000000_) * -2_ <> 2000000000000_ or 11238 bigintExpr( -100000000000_) * -2_ <> 200000000000_ or 11239 bigintExpr( -10000000000_) * -2_ <> 20000000000_ or 11240 bigintExpr( -4294967297_) * -2_ <> 8589934594_ or 11241 bigintExpr( -4294967296_) * -2_ <> 8589934592_ or 11242 bigintExpr( -1000000000_) * -2_ <> 2000000000_ or 11243 bigintExpr( -100000000_) * -2_ <> 200000000_ or 11244 bigintExpr( -10000000_) * -2_ <> 20000000_ or 11245 bigintExpr( -1000000_) * -2_ <> 2000000_ or 11246 bigintExpr( -100000_) * -2_ <> 200000_ or 11247 bigintExpr( -65537_) * -2_ <> 131074_ or 11248 bigintExpr( -65536_) * -2_ <> 131072_ or 11249 bigintExpr( -10000_) * -2_ <> 20000_ or 11250 bigintExpr( -1000_) * -2_ <> 2000_ or 11251 bigintExpr( -257_) * -2_ <> 514_ or 11252 bigintExpr( -256_) * -2_ <> 512_ or 11253 bigintExpr( -10_) * -2_ <> 20_ or 11254 bigintExpr( -4_) * -2_ <> 8_ or 11255 bigintExpr( -3_) * -2_ <> 6_ or 11256 bigintExpr( -2_) * -2_ <> 4_ or 11257 bigintExpr( -1_) * -2_ <> 2_ or 11258 bigintExpr( 0_) * -2_ <> 0_ or 11259 bigintExpr( 1_) * -2_ <> -2_ or 11260 bigintExpr( 2_) * -2_ <> -4_ or 11261 bigintExpr( 3_) * -2_ <> -6_ or 11262 bigintExpr( 4_) * -2_ <> -8_ or 11263 bigintExpr( 10_) * -2_ <> -20_ or 11264 bigintExpr( 255_) * -2_ <> -510_ or 11265 bigintExpr( 256_) * -2_ <> -512_ or 11266 bigintExpr( 1000_) * -2_ <> -2000_ or 11267 bigintExpr( 10000_) * -2_ <> -20000_ or 11268 bigintExpr( 65535_) * -2_ <> -131070_ or 11269 bigintExpr( 65536_) * -2_ <> -131072_ or 11270 bigintExpr( 100000_) * -2_ <> -200000_ or 11271 bigintExpr( 1000000_) * -2_ <> -2000000_ or 11272 bigintExpr( 10000000_) * -2_ <> -20000000_ or 11273 bigintExpr( 100000000_) * -2_ <> -200000000_ or 11274 bigintExpr( 1000000000_) * -2_ <> -2000000000_ or 11275 bigintExpr( 4294967295_) * -2_ <> -8589934590_ or 11276 bigintExpr( 4294967296_) * -2_ <> -8589934592_ or 11277 bigintExpr( 10000000000_) * -2_ <> -20000000000_ or 11278 bigintExpr( 100000000000_) * -2_ <> -200000000000_ or 11279 bigintExpr( 1000000000000_) * -2_ <> -2000000000000_ or 11280 bigintExpr( 10000000000000_) * -2_ <> -20000000000000_ or 11281 bigintExpr( 100000000000000_) * -2_ <> -200000000000000_ or 11282 bigintExpr( 1000000000000000_) * -2_ <> -2000000000000000_ or 11283 bigintExpr( 10000000000000000_) * -2_ <> -20000000000000000_ or 11284 bigintExpr( 100000000000000000_) * -2_ <> -200000000000000000_ or 11285 bigintExpr( 1000000000000000000_) * -2_ <> -2000000000000000000_ or 11286 bigintExpr( 10000000000000000000_) * -2_ <> -20000000000000000000_ or 11287 bigintExpr( 18446744073709551615_) * -2_ <> -36893488147419103230_ or 11288 bigintExpr( 18446744073709551616_) * -2_ <> -36893488147419103232_ or 11289 bigintExpr(-18446744073709551617_) * -1_ <> 18446744073709551617_ or 11290 bigintExpr(-18446744073709551616_) * -1_ <> 18446744073709551616_ or 11291 bigintExpr(-10000000000000000000_) * -1_ <> 10000000000000000000_ or 11292 bigintExpr( -1000000000000000000_) * -1_ <> 1000000000000000000_ or 11293 bigintExpr( -100000000000000000_) * -1_ <> 100000000000000000_ or 11294 bigintExpr( -10000000000000000_) * -1_ <> 10000000000000000_ or 11295 bigintExpr( -1000000000000000_) * -1_ <> 1000000000000000_ or 11296 bigintExpr( -100000000000000_) * -1_ <> 100000000000000_ or 11297 bigintExpr( -10000000000000_) * -1_ <> 10000000000000_ or 11298 bigintExpr( -1000000000000_) * -1_ <> 1000000000000_ or 11299 bigintExpr( -100000000000_) * -1_ <> 100000000000_ or 11300 bigintExpr( -10000000000_) * -1_ <> 10000000000_ or 11301 bigintExpr( -4294967297_) * -1_ <> 4294967297_ or 11302 bigintExpr( -4294967296_) * -1_ <> 4294967296_ or 11303 bigintExpr( -1000000000_) * -1_ <> 1000000000_ or 11304 bigintExpr( -100000000_) * -1_ <> 100000000_ or 11305 bigintExpr( -10000000_) * -1_ <> 10000000_ or 11306 bigintExpr( -1000000_) * -1_ <> 1000000_ or 11307 bigintExpr( -100000_) * -1_ <> 100000_ or 11308 bigintExpr( -65537_) * -1_ <> 65537_ or 11309 bigintExpr( -65536_) * -1_ <> 65536_ or 11310 bigintExpr( -10000_) * -1_ <> 10000_ or 11311 bigintExpr( -1000_) * -1_ <> 1000_ or 11312 bigintExpr( -257_) * -1_ <> 257_ or 11313 bigintExpr( -256_) * -1_ <> 256_ or 11314 bigintExpr( -10_) * -1_ <> 10_ or 11315 bigintExpr( -4_) * -1_ <> 4_ or 11316 bigintExpr( -3_) * -1_ <> 3_ or 11317 bigintExpr( -2_) * -1_ <> 2_ or 11318 bigintExpr( -1_) * -1_ <> 1_ or 11319 bigintExpr( 0_) * -1_ <> 0_ or 11320 bigintExpr( 1_) * -1_ <> -1_ or 11321 bigintExpr( 2_) * -1_ <> -2_ or 11322 bigintExpr( 3_) * -1_ <> -3_ or 11323 bigintExpr( 4_) * -1_ <> -4_ or 11324 bigintExpr( 10_) * -1_ <> -10_ or 11325 bigintExpr( 255_) * -1_ <> -255_ or 11326 bigintExpr( 256_) * -1_ <> -256_ or 11327 bigintExpr( 1000_) * -1_ <> -1000_ or 11328 bigintExpr( 10000_) * -1_ <> -10000_ or 11329 bigintExpr( 65535_) * -1_ <> -65535_ or 11330 bigintExpr( 65536_) * -1_ <> -65536_ or 11331 bigintExpr( 100000_) * -1_ <> -100000_ or 11332 bigintExpr( 1000000_) * -1_ <> -1000000_ or 11333 bigintExpr( 10000000_) * -1_ <> -10000000_ or 11334 bigintExpr( 100000000_) * -1_ <> -100000000_ or 11335 bigintExpr( 1000000000_) * -1_ <> -1000000000_ or 11336 bigintExpr( 4294967295_) * -1_ <> -4294967295_ or 11337 bigintExpr( 4294967296_) * -1_ <> -4294967296_ or 11338 bigintExpr( 10000000000_) * -1_ <> -10000000000_ or 11339 bigintExpr( 100000000000_) * -1_ <> -100000000000_ or 11340 bigintExpr( 1000000000000_) * -1_ <> -1000000000000_ or 11341 bigintExpr( 10000000000000_) * -1_ <> -10000000000000_ or 11342 bigintExpr( 100000000000000_) * -1_ <> -100000000000000_ or 11343 bigintExpr( 1000000000000000_) * -1_ <> -1000000000000000_ or 11344 bigintExpr( 10000000000000000_) * -1_ <> -10000000000000000_ or 11345 bigintExpr( 100000000000000000_) * -1_ <> -100000000000000000_ or 11346 bigintExpr( 1000000000000000000_) * -1_ <> -1000000000000000000_ or 11347 bigintExpr( 10000000000000000000_) * -1_ <> -10000000000000000000_ or 11348 bigintExpr( 18446744073709551615_) * -1_ <> -18446744073709551615_ or 11349 bigintExpr( 18446744073709551616_) * -1_ <> -18446744073709551616_ or 11350 bigintExpr(-18446744073709551617_) * 0_ <> 0_ or 11351 bigintExpr(-18446744073709551616_) * 0_ <> 0_ or 11352 bigintExpr(-10000000000000000000_) * 0_ <> 0_ or 11353 bigintExpr( -1000000000000000000_) * 0_ <> 0_ or 11354 bigintExpr( -100000000000000000_) * 0_ <> 0_ or 11355 bigintExpr( -10000000000000000_) * 0_ <> 0_ or 11356 bigintExpr( -1000000000000000_) * 0_ <> 0_ or 11357 bigintExpr( -100000000000000_) * 0_ <> 0_ or 11358 bigintExpr( -10000000000000_) * 0_ <> 0_ or 11359 bigintExpr( -1000000000000_) * 0_ <> 0_ or 11360 bigintExpr( -100000000000_) * 0_ <> 0_ or 11361 bigintExpr( -10000000000_) * 0_ <> 0_ or 11362 bigintExpr( -4294967297_) * 0_ <> 0_ or 11363 bigintExpr( -4294967296_) * 0_ <> 0_ or 11364 bigintExpr( -1000000000_) * 0_ <> 0_ or 11365 bigintExpr( -100000000_) * 0_ <> 0_ or 11366 bigintExpr( -10000000_) * 0_ <> 0_ or 11367 bigintExpr( -1000000_) * 0_ <> 0_ or 11368 bigintExpr( -100000_) * 0_ <> 0_ or 11369 bigintExpr( -65536_) * 0_ <> 0_ or 11370 bigintExpr( -65536_) * 0_ <> 0_ or 11371 bigintExpr( -10000_) * 0_ <> 0_ or 11372 bigintExpr( -1000_) * 0_ <> 0_ or 11373 bigintExpr( -257_) * 0_ <> 0_ or 11374 bigintExpr( -256_) * 0_ <> 0_ or 11375 bigintExpr( -10_) * 0_ <> 0_ or 11376 bigintExpr( -4_) * 0_ <> 0_ or 11377 bigintExpr( -3_) * 0_ <> 0_ or 11378 bigintExpr( -2_) * 0_ <> 0_ or 11379 bigintExpr( -1_) * 0_ <> 0_ or 11380 bigintExpr( 0_) * 0_ <> 0_ or 11381 bigintExpr( 1_) * 0_ <> 0_ or 11382 bigintExpr( 2_) * 0_ <> 0_ or 11383 bigintExpr( 3_) * 0_ <> 0_ or 11384 bigintExpr( 4_) * 0_ <> 0_ or 11385 bigintExpr( 10_) * 0_ <> 0_ or 11386 bigintExpr( 255_) * 0_ <> 0_ or 11387 bigintExpr( 256_) * 0_ <> 0_ or 11388 bigintExpr( 1000_) * 0_ <> 0_ or 11389 bigintExpr( 10000_) * 0_ <> 0_ or 11390 bigintExpr( 65535_) * 0_ <> 0_ or 11391 bigintExpr( 65536_) * 0_ <> 0_ or 11392 bigintExpr( 100000_) * 0_ <> 0_ or 11393 bigintExpr( 1000000_) * 0_ <> 0_ or 11394 bigintExpr( 10000000_) * 0_ <> 0_ or 11395 bigintExpr( 100000000_) * 0_ <> 0_ or 11396 bigintExpr( 1000000000_) * 0_ <> 0_ or 11397 bigintExpr( 4294967295_) * 0_ <> 0_ or 11398 bigintExpr( 4294967296_) * 0_ <> 0_ or 11399 bigintExpr( 10000000000_) * 0_ <> 0_ or 11400 bigintExpr( 100000000000_) * 0_ <> 0_ or 11401 bigintExpr( 1000000000000_) * 0_ <> 0_ or 11402 bigintExpr( 10000000000000_) * 0_ <> 0_ or 11403 bigintExpr( 100000000000000_) * 0_ <> 0_ or 11404 bigintExpr( 1000000000000000_) * 0_ <> 0_ or 11405 bigintExpr( 10000000000000000_) * 0_ <> 0_ or 11406 bigintExpr( 100000000000000000_) * 0_ <> 0_ or 11407 bigintExpr( 1000000000000000000_) * 0_ <> 0_ or 11408 bigintExpr( 10000000000000000000_) * 0_ <> 0_ or 11409 bigintExpr( 18446744073709551615_) * 0_ <> 0_ or 11410 bigintExpr( 18446744073709551616_) * 0_ <> 0_ or 11411 bigintExpr(-18446744073709551617_) * 1_ <> -18446744073709551617_ or 11412 bigintExpr(-18446744073709551616_) * 1_ <> -18446744073709551616_ or 11413 bigintExpr(-10000000000000000000_) * 1_ <> -10000000000000000000_ or 11414 bigintExpr( -1000000000000000000_) * 1_ <> -1000000000000000000_ or 11415 bigintExpr( -100000000000000000_) * 1_ <> -100000000000000000_ or 11416 bigintExpr( -10000000000000000_) * 1_ <> -10000000000000000_ or 11417 bigintExpr( -1000000000000000_) * 1_ <> -1000000000000000_ or 11418 bigintExpr( -100000000000000_) * 1_ <> -100000000000000_ or 11419 bigintExpr( -10000000000000_) * 1_ <> -10000000000000_ or 11420 bigintExpr( -1000000000000_) * 1_ <> -1000000000000_ or 11421 bigintExpr( -100000000000_) * 1_ <> -100000000000_ or 11422 bigintExpr( -10000000000_) * 1_ <> -10000000000_ or 11423 bigintExpr( -4294967297_) * 1_ <> -4294967297_ or 11424 bigintExpr( -4294967296_) * 1_ <> -4294967296_ or 11425 bigintExpr( -1000000000_) * 1_ <> -1000000000_ or 11426 bigintExpr( -100000000_) * 1_ <> -100000000_ or 11427 bigintExpr( -10000000_) * 1_ <> -10000000_ or 11428 bigintExpr( -1000000_) * 1_ <> -1000000_ or 11429 bigintExpr( -100000_) * 1_ <> -100000_ or 11430 bigintExpr( -65537_) * 1_ <> -65537_ or 11431 bigintExpr( -65536_) * 1_ <> -65536_ or 11432 bigintExpr( -10000_) * 1_ <> -10000_ or 11433 bigintExpr( -1000_) * 1_ <> -1000_ or 11434 bigintExpr( -257_) * 1_ <> -257_ or 11435 bigintExpr( -256_) * 1_ <> -256_ or 11436 bigintExpr( -10_) * 1_ <> -10_ or 11437 bigintExpr( -4_) * 1_ <> -4_ or 11438 bigintExpr( -3_) * 1_ <> -3_ or 11439 bigintExpr( -2_) * 1_ <> -2_ or 11440 bigintExpr( -1_) * 1_ <> -1_ or 11441 bigintExpr( 0_) * 1_ <> 0_ or 11442 bigintExpr( 1_) * 1_ <> 1_ or 11443 bigintExpr( 2_) * 1_ <> 2_ or 11444 bigintExpr( 3_) * 1_ <> 3_ or 11445 bigintExpr( 4_) * 1_ <> 4_ or 11446 bigintExpr( 10_) * 1_ <> 10_ or 11447 bigintExpr( 255_) * 1_ <> 255_ or 11448 bigintExpr( 256_) * 1_ <> 256_ or 11449 bigintExpr( 1000_) * 1_ <> 1000_ or 11450 bigintExpr( 10000_) * 1_ <> 10000_ or 11451 bigintExpr( 65535_) * 1_ <> 65535_ or 11452 bigintExpr( 65536_) * 1_ <> 65536_ or 11453 bigintExpr( 100000_) * 1_ <> 100000_ or 11454 bigintExpr( 1000000_) * 1_ <> 1000000_ or 11455 bigintExpr( 10000000_) * 1_ <> 10000000_ or 11456 bigintExpr( 100000000_) * 1_ <> 100000000_ or 11457 bigintExpr( 1000000000_) * 1_ <> 1000000000_ or 11458 bigintExpr( 4294967295_) * 1_ <> 4294967295_ or 11459 bigintExpr( 4294967296_) * 1_ <> 4294967296_ or 11460 bigintExpr( 10000000000_) * 1_ <> 10000000000_ or 11461 bigintExpr( 100000000000_) * 1_ <> 100000000000_ or 11462 bigintExpr( 1000000000000_) * 1_ <> 1000000000000_ or 11463 bigintExpr( 10000000000000_) * 1_ <> 10000000000000_ or 11464 bigintExpr( 100000000000000_) * 1_ <> 100000000000000_ or 11465 bigintExpr( 1000000000000000_) * 1_ <> 1000000000000000_ or 11466 bigintExpr( 10000000000000000_) * 1_ <> 10000000000000000_ or 11467 bigintExpr( 100000000000000000_) * 1_ <> 100000000000000000_ or 11468 bigintExpr( 1000000000000000000_) * 1_ <> 1000000000000000000_ or 11469 bigintExpr( 10000000000000000000_) * 1_ <> 10000000000000000000_ or 11470 bigintExpr( 18446744073709551615_) * 1_ <> 18446744073709551615_ or 11471 bigintExpr( 18446744073709551616_) * 1_ <> 18446744073709551616_ or 11472 bigintExpr(-18446744073709551617_) * 2_ <> -36893488147419103234_ or 11473 bigintExpr(-18446744073709551616_) * 2_ <> -36893488147419103232_ or 11474 bigintExpr(-10000000000000000000_) * 2_ <> -20000000000000000000_ or 11475 bigintExpr( -1000000000000000000_) * 2_ <> -2000000000000000000_ or 11476 bigintExpr( -100000000000000000_) * 2_ <> -200000000000000000_ or 11477 bigintExpr( -10000000000000000_) * 2_ <> -20000000000000000_ or 11478 bigintExpr( -1000000000000000_) * 2_ <> -2000000000000000_ or 11479 bigintExpr( -100000000000000_) * 2_ <> -200000000000000_ or 11480 bigintExpr( -10000000000000_) * 2_ <> -20000000000000_ or 11481 bigintExpr( -1000000000000_) * 2_ <> -2000000000000_ or 11482 bigintExpr( -100000000000_) * 2_ <> -200000000000_ or 11483 bigintExpr( -10000000000_) * 2_ <> -20000000000_ or 11484 bigintExpr( -4294967297_) * 2_ <> -8589934594_ or 11485 bigintExpr( -4294967296_) * 2_ <> -8589934592_ or 11486 bigintExpr( -1000000000_) * 2_ <> -2000000000_ or 11487 bigintExpr( -100000000_) * 2_ <> -200000000_ or 11488 bigintExpr( -10000000_) * 2_ <> -20000000_ or 11489 bigintExpr( -1000000_) * 2_ <> -2000000_ or 11490 bigintExpr( -100000_) * 2_ <> -200000_ or 11491 bigintExpr( -65537_) * 2_ <> -131074_ or 11492 bigintExpr( -65536_) * 2_ <> -131072_ or 11493 bigintExpr( -10000_) * 2_ <> -20000_ or 11494 bigintExpr( -1000_) * 2_ <> -2000_ or 11495 bigintExpr( -257_) * 2_ <> -514_ or 11496 bigintExpr( -256_) * 2_ <> -512_ or 11497 bigintExpr( -10_) * 2_ <> -20_ or 11498 bigintExpr( -4_) * 2_ <> -8_ or 11499 bigintExpr( -3_) * 2_ <> -6_ or 11500 bigintExpr( -2_) * 2_ <> -4_ or 11501 bigintExpr( -1_) * 2_ <> -2_ or 11502 bigintExpr( 0_) * 2_ <> 0_ or 11503 bigintExpr( 1_) * 2_ <> 2_ or 11504 bigintExpr( 2_) * 2_ <> 4_ or 11505 bigintExpr( 3_) * 2_ <> 6_ or 11506 bigintExpr( 4_) * 2_ <> 8_ or 11507 bigintExpr( 10_) * 2_ <> 20_ or 11508 bigintExpr( 255_) * 2_ <> 510_ or 11509 bigintExpr( 256_) * 2_ <> 512_ or 11510 bigintExpr( 1000_) * 2_ <> 2000_ or 11511 bigintExpr( 10000_) * 2_ <> 20000_ or 11512 bigintExpr( 65535_) * 2_ <> 131070_ or 11513 bigintExpr( 65536_) * 2_ <> 131072_ or 11514 bigintExpr( 100000_) * 2_ <> 200000_ or 11515 bigintExpr( 1000000_) * 2_ <> 2000000_ or 11516 bigintExpr( 10000000_) * 2_ <> 20000000_ or 11517 bigintExpr( 100000000_) * 2_ <> 200000000_ or 11518 bigintExpr( 1000000000_) * 2_ <> 2000000000_ or 11519 bigintExpr( 4294967295_) * 2_ <> 8589934590_ or 11520 bigintExpr( 4294967296_) * 2_ <> 8589934592_ or 11521 bigintExpr( 10000000000_) * 2_ <> 20000000000_ or 11522 bigintExpr( 100000000000_) * 2_ <> 200000000000_ or 11523 bigintExpr( 1000000000000_) * 2_ <> 2000000000000_ or 11524 bigintExpr( 10000000000000_) * 2_ <> 20000000000000_ or 11525 bigintExpr( 100000000000000_) * 2_ <> 200000000000000_ or 11526 bigintExpr( 1000000000000000_) * 2_ <> 2000000000000000_ or 11527 bigintExpr( 10000000000000000_) * 2_ <> 20000000000000000_ or 11528 bigintExpr( 100000000000000000_) * 2_ <> 200000000000000000_ or 11529 bigintExpr( 1000000000000000000_) * 2_ <> 2000000000000000000_ or 11530 bigintExpr( 10000000000000000000_) * 2_ <> 20000000000000000000_ or 11531 bigintExpr( 18446744073709551615_) * 2_ <> 36893488147419103230_ or 11532 bigintExpr( 18446744073709551616_) * 2_ <> 36893488147419103232_ or 11533 bigintExpr(-18446744073709551617_) * 3_ <> -55340232221128654851_ or 11534 bigintExpr(-18446744073709551616_) * 3_ <> -55340232221128654848_ or 11535 bigintExpr(-10000000000000000000_) * 3_ <> -30000000000000000000_ or 11536 bigintExpr( -1000000000000000000_) * 3_ <> -3000000000000000000_ or 11537 bigintExpr( -100000000000000000_) * 3_ <> -300000000000000000_ or 11538 bigintExpr( -10000000000000000_) * 3_ <> -30000000000000000_ or 11539 bigintExpr( -1000000000000000_) * 3_ <> -3000000000000000_ or 11540 bigintExpr( -100000000000000_) * 3_ <> -300000000000000_ or 11541 bigintExpr( -10000000000000_) * 3_ <> -30000000000000_ or 11542 bigintExpr( -1000000000000_) * 3_ <> -3000000000000_ or 11543 bigintExpr( -100000000000_) * 3_ <> -300000000000_ or 11544 bigintExpr( -10000000000_) * 3_ <> -30000000000_ or 11545 bigintExpr( -4294967297_) * 3_ <> -12884901891_ or 11546 bigintExpr( -4294967296_) * 3_ <> -12884901888_ or 11547 bigintExpr( -1000000000_) * 3_ <> -3000000000_ or 11548 bigintExpr( -100000000_) * 3_ <> -300000000_ or 11549 bigintExpr( -10000000_) * 3_ <> -30000000_ or 11550 bigintExpr( -1000000_) * 3_ <> -3000000_ or 11551 bigintExpr( -100000_) * 3_ <> -300000_ or 11552 bigintExpr( -65537_) * 3_ <> -196611_ or 11553 bigintExpr( -65536_) * 3_ <> -196608_ or 11554 bigintExpr( -10000_) * 3_ <> -30000_ or 11555 bigintExpr( -1000_) * 3_ <> -3000_ or 11556 bigintExpr( -257_) * 3_ <> -771_ or 11557 bigintExpr( -256_) * 3_ <> -768_ or 11558 bigintExpr( -10_) * 3_ <> -30_ or 11559 bigintExpr( -4_) * 3_ <> -12_ or 11560 bigintExpr( -3_) * 3_ <> -9_ or 11561 bigintExpr( -2_) * 3_ <> -6_ or 11562 bigintExpr( -1_) * 3_ <> -3_ or 11563 bigintExpr( 0_) * 3_ <> 0_ or 11564 bigintExpr( 1_) * 3_ <> 3_ or 11565 bigintExpr( 2_) * 3_ <> 6_ or 11566 bigintExpr( 3_) * 3_ <> 9_ or 11567 bigintExpr( 4_) * 3_ <> 12_ or 11568 bigintExpr( 10_) * 3_ <> 30_ or 11569 bigintExpr( 255_) * 3_ <> 765_ or 11570 bigintExpr( 256_) * 3_ <> 768_ or 11571 bigintExpr( 1000_) * 3_ <> 3000_ or 11572 bigintExpr( 10000_) * 3_ <> 30000_ or 11573 bigintExpr( 65535_) * 3_ <> 196605_ or 11574 bigintExpr( 65536_) * 3_ <> 196608_ or 11575 bigintExpr( 100000_) * 3_ <> 300000_ or 11576 bigintExpr( 1000000_) * 3_ <> 3000000_ or 11577 bigintExpr( 10000000_) * 3_ <> 30000000_ or 11578 bigintExpr( 100000000_) * 3_ <> 300000000_ or 11579 bigintExpr( 1000000000_) * 3_ <> 3000000000_ or 11580 bigintExpr( 4294967295_) * 3_ <> 12884901885_ or 11581 bigintExpr( 4294967296_) * 3_ <> 12884901888_ or 11582 bigintExpr( 10000000000_) * 3_ <> 30000000000_ or 11583 bigintExpr( 100000000000_) * 3_ <> 300000000000_ or 11584 bigintExpr( 1000000000000_) * 3_ <> 3000000000000_ or 11585 bigintExpr( 10000000000000_) * 3_ <> 30000000000000_ or 11586 bigintExpr( 100000000000000_) * 3_ <> 300000000000000_ or 11587 bigintExpr( 1000000000000000_) * 3_ <> 3000000000000000_ or 11588 bigintExpr( 10000000000000000_) * 3_ <> 30000000000000000_ or 11589 bigintExpr( 100000000000000000_) * 3_ <> 300000000000000000_ or 11590 bigintExpr( 1000000000000000000_) * 3_ <> 3000000000000000000_ or 11591 bigintExpr( 10000000000000000000_) * 3_ <> 30000000000000000000_ or 11592 bigintExpr( 18446744073709551615_) * 3_ <> 55340232221128654845_ or 11593 bigintExpr( 18446744073709551616_) * 3_ <> 55340232221128654848_ then 11594 writeln("Multiplication of digit with bigInteger values does not work correct."); 11595 okay := FALSE; 11596 end if; 11597 11598 if bigintExpr(16#0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef_) * 11599 bigintExpr(16#0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef_) <> 11600 16#14b66dc33f6acdca878d6495a927ab94fa645b6812e4895f6d3b523a7ca16729e012490ce65e44f452e93fdf501b22bec5c036b1b9d8008938972d842394de53ab6e24568d51bc1e1e451b28f70e99e8911c11fb60cb77b303f308cdca88557d76c9ffa034453347e9a0f6729e0211125c77ed4507beeedccf4ee417717bcca718b8ff635c630edca5e20890f2a63112330b11be88e95347c0341aec1f2c757d4d5d2419b56f97b2da862d474bb2b9e867af3674e1f5dc1df4d83fa27838fe53820148d00e7c20890f2a51fda4bf42be9c535b2b3b0264f4297c6458d1458729b6a56d866788a95f43ce76b3fdcbcb94d0f77fe1940eedca5e20890f2a521_ or 11601 bigintExpr(16#0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef_) * 11602 bigintExpr(16#fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210_) <> 11603 16#121fa00ad77d742247acc9140513b7447d39f21d32a9fa66b2c71b2660403d88e854442f8dd680ab1de16d38bb6cc3cd536e9641e90306ef88fbbf4b16994a11be88e854442f8d33f416115d71c5d05629a33a669f5c13785f30636fccf2569a94bd8c78fa8899bcca4ab582281edcdeffd7de8b55b5200135650794834b632346b2f08801e6be011125c77ed4507adedb989e75a6ba37bca60b756c7923f49a707e4c634b8db1783af1235a1df76e560563fa50f0612b33cfd6d147c2cae8119a49a83e9534a4ef64bc7f35679e61cd2f2f562c3a081eaaf9a22d230c71db88c4150419dedb98668e87db10b145554458fab20783af1222236d88fe5618cf0_ or 11604 bigintExpr(16#fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210_) * 11605 bigintExpr(16#0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef_) <> 11606 16#121fa00ad77d742247acc9140513b7447d39f21d32a9fa66b2c71b2660403d88e854442f8dd680ab1de16d38bb6cc3cd536e9641e90306ef88fbbf4b16994a11be88e854442f8d33f416115d71c5d05629a33a669f5c13785f30636fccf2569a94bd8c78fa8899bcca4ab582281edcdeffd7de8b55b5200135650794834b632346b2f08801e6be011125c77ed4507adedb989e75a6ba37bca60b756c7923f49a707e4c634b8db1783af1235a1df76e560563fa50f0612b33cfd6d147c2cae8119a49a83e9534a4ef64bc7f35679e61cd2f2f562c3a081eaaf9a22d230c71db88c4150419dedb98668e87db10b145554458fab20783af1222236d88fe5618cf0_ or 11607 bigintExpr(16#fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210_) * 11608 bigintExpr(16#fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210_) <> 11609 16#fdbac097c8dc5aceda61ee073602f69cb7091b76a329926a93b048e610502e38705776557d76ca064cfea3c4ea9d65d429a5d13457c401a2064cfea3c4ea9d6fe2f42c133211393dbf9b59829f37d50b9c4286f20c5e70d978e9b46179850ca75590e1d0e6aba87532380f4053d244430edf3cafc0f8e010eb866a1f2e1f7bdcccb8165f098d620ef010e8ef9c66c6411369bb802f402a7336c28e10c2198ea55a1b60a154f2f2d77d743331e7cc5709a0cd05c27aa5bb3bc425d8530d7f1f6de77eaae3a05883a00ad77d743331e7d22e305004c60b4c045189229558e4b03674e1f525ebbe1468983ac7b67e97789abb939a471170dcccdeec6cd7a44a4100_ or 11610 bigintExpr(16#ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff_) * 11611 bigintExpr(16#ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff_) <> 11612 16#fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001_ then 11613 writeln("Karatsuba multiplication does not work correct."); 11614 okay := FALSE; 11615 end if; 11616 11617 if okay then 11618 writeln("Multiplication of bigInteger works correct."); 11619 else 11620 writeln(" ***** Multiplication of bigInteger does not work correct."); 11621 writeln; 11622 end if; 11623 end func; 11624 11625 11626const func boolean: chkMultAssignLiteral1 is func 11627 result 11628 var boolean: ok is TRUE; 11629 local 11630 var bigInteger: big1 is 0_; 11631 begin 11632 big1 := -65538_; big1 *:= -65538_; ok := ok and big1 = 4295229444_; 11633 big1 := -65538_; big1 *:= -65537_; ok := ok and big1 = 4295163906_; 11634 big1 := -65538_; big1 *:= -65536_; ok := ok and big1 = 4295098368_; 11635 big1 := -65538_; big1 *:= -65535_; ok := ok and big1 = 4295032830_; 11636 big1 := -65538_; big1 *:= -65534_; ok := ok and big1 = 4294967292_; 11637 big1 := -65538_; big1 *:= -32770_; ok := ok and big1 = 2147680260_; 11638 big1 := -65538_; big1 *:= -32769_; ok := ok and big1 = 2147614722_; 11639 big1 := -65538_; big1 *:= -32768_; ok := ok and big1 = 2147549184_; 11640 big1 := -65538_; big1 *:= -32767_; ok := ok and big1 = 2147483646_; 11641 big1 := -65538_; big1 *:= -32766_; ok := ok and big1 = 2147418108_; 11642 big1 := -65538_; big1 *:= 0_; ok := ok and big1 = 0_; 11643 big1 := -65538_; big1 *:= 32766_; ok := ok and big1 = -2147418108_; 11644 big1 := -65538_; big1 *:= 32767_; ok := ok and big1 = -2147483646_; 11645 big1 := -65538_; big1 *:= 32768_; ok := ok and big1 = -2147549184_; 11646 big1 := -65538_; big1 *:= 32769_; ok := ok and big1 = -2147614722_; 11647 big1 := -65538_; big1 *:= 32770_; ok := ok and big1 = -2147680260_; 11648 big1 := -65538_; big1 *:= 65534_; ok := ok and big1 = -4294967292_; 11649 big1 := -65538_; big1 *:= 65535_; ok := ok and big1 = -4295032830_; 11650 big1 := -65538_; big1 *:= 65536_; ok := ok and big1 = -4295098368_; 11651 big1 := -65538_; big1 *:= 65537_; ok := ok and big1 = -4295163906_; 11652 big1 := -65538_; big1 *:= 65538_; ok := ok and big1 = -4295229444_; 11653 big1 := -65537_; big1 *:= -65538_; ok := ok and big1 = 4295163906_; 11654 big1 := -65537_; big1 *:= -65537_; ok := ok and big1 = 4295098369_; 11655 big1 := -65537_; big1 *:= -65536_; ok := ok and big1 = 4295032832_; 11656 big1 := -65537_; big1 *:= -65535_; ok := ok and big1 = 4294967295_; 11657 big1 := -65537_; big1 *:= -65534_; ok := ok and big1 = 4294901758_; 11658 big1 := -65537_; big1 *:= -32770_; ok := ok and big1 = 2147647490_; 11659 big1 := -65537_; big1 *:= -32769_; ok := ok and big1 = 2147581953_; 11660 big1 := -65537_; big1 *:= -32768_; ok := ok and big1 = 2147516416_; 11661 big1 := -65537_; big1 *:= -32767_; ok := ok and big1 = 2147450879_; 11662 big1 := -65537_; big1 *:= -32766_; ok := ok and big1 = 2147385342_; 11663 big1 := -65537_; big1 *:= 0_; ok := ok and big1 = 0_; 11664 big1 := -65537_; big1 *:= 32766_; ok := ok and big1 = -2147385342_; 11665 big1 := -65537_; big1 *:= 32767_; ok := ok and big1 = -2147450879_; 11666 big1 := -65537_; big1 *:= 32768_; ok := ok and big1 = -2147516416_; 11667 big1 := -65537_; big1 *:= 32769_; ok := ok and big1 = -2147581953_; 11668 big1 := -65537_; big1 *:= 32770_; ok := ok and big1 = -2147647490_; 11669 big1 := -65537_; big1 *:= 65534_; ok := ok and big1 = -4294901758_; 11670 big1 := -65537_; big1 *:= 65535_; ok := ok and big1 = -4294967295_; 11671 big1 := -65537_; big1 *:= 65536_; ok := ok and big1 = -4295032832_; 11672 big1 := -65537_; big1 *:= 65537_; ok := ok and big1 = -4295098369_; 11673 big1 := -65537_; big1 *:= 65538_; ok := ok and big1 = -4295163906_; 11674 big1 := -65536_; big1 *:= -65538_; ok := ok and big1 = 4295098368_; 11675 big1 := -65536_; big1 *:= -65537_; ok := ok and big1 = 4295032832_; 11676 big1 := -65536_; big1 *:= -65536_; ok := ok and big1 = 4294967296_; 11677 big1 := -65536_; big1 *:= -65535_; ok := ok and big1 = 4294901760_; 11678 big1 := -65536_; big1 *:= -65534_; ok := ok and big1 = 4294836224_; 11679 big1 := -65536_; big1 *:= -32770_; ok := ok and big1 = 2147614720_; 11680 big1 := -65536_; big1 *:= -32769_; ok := ok and big1 = 2147549184_; 11681 big1 := -65536_; big1 *:= -32768_; ok := ok and big1 = 2147483648_; 11682 big1 := -65536_; big1 *:= -32767_; ok := ok and big1 = 2147418112_; 11683 big1 := -65536_; big1 *:= -32766_; ok := ok and big1 = 2147352576_; 11684 big1 := -65536_; big1 *:= 0_; ok := ok and big1 = 0_; 11685 big1 := -65536_; big1 *:= 32766_; ok := ok and big1 = -2147352576_; 11686 big1 := -65536_; big1 *:= 32767_; ok := ok and big1 = -2147418112_; 11687 big1 := -65536_; big1 *:= 32768_; ok := ok and big1 = -2147483648_; 11688 big1 := -65536_; big1 *:= 32769_; ok := ok and big1 = -2147549184_; 11689 big1 := -65536_; big1 *:= 32770_; ok := ok and big1 = -2147614720_; 11690 big1 := -65536_; big1 *:= 65534_; ok := ok and big1 = -4294836224_; 11691 big1 := -65536_; big1 *:= 65535_; ok := ok and big1 = -4294901760_; 11692 big1 := -65536_; big1 *:= 65536_; ok := ok and big1 = -4294967296_; 11693 big1 := -65536_; big1 *:= 65537_; ok := ok and big1 = -4295032832_; 11694 big1 := -65536_; big1 *:= 65538_; ok := ok and big1 = -4295098368_; 11695 big1 := -65535_; big1 *:= -65538_; ok := ok and big1 = 4295032830_; 11696 big1 := -65535_; big1 *:= -65537_; ok := ok and big1 = 4294967295_; 11697 big1 := -65535_; big1 *:= -65536_; ok := ok and big1 = 4294901760_; 11698 big1 := -65535_; big1 *:= -65535_; ok := ok and big1 = 4294836225_; 11699 big1 := -65535_; big1 *:= -65534_; ok := ok and big1 = 4294770690_; 11700 big1 := -65535_; big1 *:= -32770_; ok := ok and big1 = 2147581950_; 11701 big1 := -65535_; big1 *:= -32769_; ok := ok and big1 = 2147516415_; 11702 big1 := -65535_; big1 *:= -32768_; ok := ok and big1 = 2147450880_; 11703 big1 := -65535_; big1 *:= -32767_; ok := ok and big1 = 2147385345_; 11704 big1 := -65535_; big1 *:= -32766_; ok := ok and big1 = 2147319810_; 11705 big1 := -65535_; big1 *:= 0_; ok := ok and big1 = 0_; 11706 big1 := -65535_; big1 *:= 32766_; ok := ok and big1 = -2147319810_; 11707 big1 := -65535_; big1 *:= 32767_; ok := ok and big1 = -2147385345_; 11708 big1 := -65535_; big1 *:= 32768_; ok := ok and big1 = -2147450880_; 11709 big1 := -65535_; big1 *:= 32769_; ok := ok and big1 = -2147516415_; 11710 big1 := -65535_; big1 *:= 32770_; ok := ok and big1 = -2147581950_; 11711 big1 := -65535_; big1 *:= 65534_; ok := ok and big1 = -4294770690_; 11712 big1 := -65535_; big1 *:= 65535_; ok := ok and big1 = -4294836225_; 11713 big1 := -65535_; big1 *:= 65536_; ok := ok and big1 = -4294901760_; 11714 big1 := -65535_; big1 *:= 65537_; ok := ok and big1 = -4294967295_; 11715 big1 := -65535_; big1 *:= 65538_; ok := ok and big1 = -4295032830_; 11716 big1 := -65534_; big1 *:= -65538_; ok := ok and big1 = 4294967292_; 11717 big1 := -65534_; big1 *:= -65537_; ok := ok and big1 = 4294901758_; 11718 big1 := -65534_; big1 *:= -65536_; ok := ok and big1 = 4294836224_; 11719 big1 := -65534_; big1 *:= -65535_; ok := ok and big1 = 4294770690_; 11720 big1 := -65534_; big1 *:= -65534_; ok := ok and big1 = 4294705156_; 11721 big1 := -65534_; big1 *:= -32770_; ok := ok and big1 = 2147549180_; 11722 big1 := -65534_; big1 *:= -32769_; ok := ok and big1 = 2147483646_; 11723 big1 := -65534_; big1 *:= -32768_; ok := ok and big1 = 2147418112_; 11724 big1 := -65534_; big1 *:= -32767_; ok := ok and big1 = 2147352578_; 11725 big1 := -65534_; big1 *:= -32766_; ok := ok and big1 = 2147287044_; 11726 big1 := -65534_; big1 *:= 0_; ok := ok and big1 = 0_; 11727 big1 := -65534_; big1 *:= 32766_; ok := ok and big1 = -2147287044_; 11728 big1 := -65534_; big1 *:= 32767_; ok := ok and big1 = -2147352578_; 11729 big1 := -65534_; big1 *:= 32768_; ok := ok and big1 = -2147418112_; 11730 big1 := -65534_; big1 *:= 32769_; ok := ok and big1 = -2147483646_; 11731 big1 := -65534_; big1 *:= 32770_; ok := ok and big1 = -2147549180_; 11732 big1 := -65534_; big1 *:= 65534_; ok := ok and big1 = -4294705156_; 11733 big1 := -65534_; big1 *:= 65535_; ok := ok and big1 = -4294770690_; 11734 big1 := -65534_; big1 *:= 65536_; ok := ok and big1 = -4294836224_; 11735 big1 := -65534_; big1 *:= 65537_; ok := ok and big1 = -4294901758_; 11736 big1 := -65534_; big1 *:= 65538_; ok := ok and big1 = -4294967292_; 11737 big1 := -32770_; big1 *:= -65538_; ok := ok and big1 = 2147680260_; 11738 big1 := -32770_; big1 *:= -65537_; ok := ok and big1 = 2147647490_; 11739 big1 := -32770_; big1 *:= -65536_; ok := ok and big1 = 2147614720_; 11740 big1 := -32770_; big1 *:= -65535_; ok := ok and big1 = 2147581950_; 11741 big1 := -32770_; big1 *:= -65534_; ok := ok and big1 = 2147549180_; 11742 big1 := -32770_; big1 *:= -32770_; ok := ok and big1 = 1073872900_; 11743 big1 := -32770_; big1 *:= -32769_; ok := ok and big1 = 1073840130_; 11744 big1 := -32770_; big1 *:= -32768_; ok := ok and big1 = 1073807360_; 11745 big1 := -32770_; big1 *:= -32767_; ok := ok and big1 = 1073774590_; 11746 big1 := -32770_; big1 *:= -32766_; ok := ok and big1 = 1073741820_; 11747 big1 := -32770_; big1 *:= 0_; ok := ok and big1 = 0_; 11748 big1 := -32770_; big1 *:= 32766_; ok := ok and big1 = -1073741820_; 11749 big1 := -32770_; big1 *:= 32767_; ok := ok and big1 = -1073774590_; 11750 big1 := -32770_; big1 *:= 32768_; ok := ok and big1 = -1073807360_; 11751 big1 := -32770_; big1 *:= 32769_; ok := ok and big1 = -1073840130_; 11752 big1 := -32770_; big1 *:= 32770_; ok := ok and big1 = -1073872900_; 11753 big1 := -32770_; big1 *:= 65534_; ok := ok and big1 = -2147549180_; 11754 big1 := -32770_; big1 *:= 65535_; ok := ok and big1 = -2147581950_; 11755 big1 := -32770_; big1 *:= 65536_; ok := ok and big1 = -2147614720_; 11756 big1 := -32770_; big1 *:= 65537_; ok := ok and big1 = -2147647490_; 11757 big1 := -32770_; big1 *:= 65538_; ok := ok and big1 = -2147680260_; 11758 big1 := -32769_; big1 *:= -65538_; ok := ok and big1 = 2147614722_; 11759 big1 := -32769_; big1 *:= -65537_; ok := ok and big1 = 2147581953_; 11760 big1 := -32769_; big1 *:= -65536_; ok := ok and big1 = 2147549184_; 11761 big1 := -32769_; big1 *:= -65535_; ok := ok and big1 = 2147516415_; 11762 big1 := -32769_; big1 *:= -65534_; ok := ok and big1 = 2147483646_; 11763 big1 := -32769_; big1 *:= -32770_; ok := ok and big1 = 1073840130_; 11764 big1 := -32769_; big1 *:= -32769_; ok := ok and big1 = 1073807361_; 11765 big1 := -32769_; big1 *:= -32768_; ok := ok and big1 = 1073774592_; 11766 big1 := -32769_; big1 *:= -32767_; ok := ok and big1 = 1073741823_; 11767 big1 := -32769_; big1 *:= -32766_; ok := ok and big1 = 1073709054_; 11768 big1 := -32769_; big1 *:= 0_; ok := ok and big1 = 0_; 11769 big1 := -32769_; big1 *:= 32766_; ok := ok and big1 = -1073709054_; 11770 big1 := -32769_; big1 *:= 32767_; ok := ok and big1 = -1073741823_; 11771 big1 := -32769_; big1 *:= 32768_; ok := ok and big1 = -1073774592_; 11772 big1 := -32769_; big1 *:= 32769_; ok := ok and big1 = -1073807361_; 11773 big1 := -32769_; big1 *:= 32770_; ok := ok and big1 = -1073840130_; 11774 big1 := -32769_; big1 *:= 65534_; ok := ok and big1 = -2147483646_; 11775 big1 := -32769_; big1 *:= 65535_; ok := ok and big1 = -2147516415_; 11776 big1 := -32769_; big1 *:= 65536_; ok := ok and big1 = -2147549184_; 11777 big1 := -32769_; big1 *:= 65537_; ok := ok and big1 = -2147581953_; 11778 big1 := -32769_; big1 *:= 65538_; ok := ok and big1 = -2147614722_; 11779 big1 := -32768_; big1 *:= -65538_; ok := ok and big1 = 2147549184_; 11780 big1 := -32768_; big1 *:= -65537_; ok := ok and big1 = 2147516416_; 11781 big1 := -32768_; big1 *:= -65536_; ok := ok and big1 = 2147483648_; 11782 big1 := -32768_; big1 *:= -65535_; ok := ok and big1 = 2147450880_; 11783 big1 := -32768_; big1 *:= -65534_; ok := ok and big1 = 2147418112_; 11784 big1 := -32768_; big1 *:= -32770_; ok := ok and big1 = 1073807360_; 11785 big1 := -32768_; big1 *:= -32769_; ok := ok and big1 = 1073774592_; 11786 big1 := -32768_; big1 *:= -32768_; ok := ok and big1 = 1073741824_; 11787 big1 := -32768_; big1 *:= -32767_; ok := ok and big1 = 1073709056_; 11788 big1 := -32768_; big1 *:= -32766_; ok := ok and big1 = 1073676288_; 11789 big1 := -32768_; big1 *:= 0_; ok := ok and big1 = 0_; 11790 big1 := -32768_; big1 *:= 32766_; ok := ok and big1 = -1073676288_; 11791 big1 := -32768_; big1 *:= 32767_; ok := ok and big1 = -1073709056_; 11792 big1 := -32768_; big1 *:= 32768_; ok := ok and big1 = -1073741824_; 11793 big1 := -32768_; big1 *:= 32769_; ok := ok and big1 = -1073774592_; 11794 big1 := -32768_; big1 *:= 32770_; ok := ok and big1 = -1073807360_; 11795 big1 := -32768_; big1 *:= 65534_; ok := ok and big1 = -2147418112_; 11796 big1 := -32768_; big1 *:= 65535_; ok := ok and big1 = -2147450880_; 11797 big1 := -32768_; big1 *:= 65536_; ok := ok and big1 = -2147483648_; 11798 big1 := -32768_; big1 *:= 65537_; ok := ok and big1 = -2147516416_; 11799 big1 := -32768_; big1 *:= 65538_; ok := ok and big1 = -2147549184_; 11800 big1 := -32767_; big1 *:= -65538_; ok := ok and big1 = 2147483646_; 11801 big1 := -32767_; big1 *:= -65537_; ok := ok and big1 = 2147450879_; 11802 big1 := -32767_; big1 *:= -65536_; ok := ok and big1 = 2147418112_; 11803 big1 := -32767_; big1 *:= -65535_; ok := ok and big1 = 2147385345_; 11804 big1 := -32767_; big1 *:= -65534_; ok := ok and big1 = 2147352578_; 11805 big1 := -32767_; big1 *:= -32770_; ok := ok and big1 = 1073774590_; 11806 big1 := -32767_; big1 *:= -32769_; ok := ok and big1 = 1073741823_; 11807 big1 := -32767_; big1 *:= -32768_; ok := ok and big1 = 1073709056_; 11808 big1 := -32767_; big1 *:= -32767_; ok := ok and big1 = 1073676289_; 11809 big1 := -32767_; big1 *:= -32766_; ok := ok and big1 = 1073643522_; 11810 big1 := -32767_; big1 *:= 0_; ok := ok and big1 = 0_; 11811 big1 := -32767_; big1 *:= 32766_; ok := ok and big1 = -1073643522_; 11812 big1 := -32767_; big1 *:= 32767_; ok := ok and big1 = -1073676289_; 11813 big1 := -32767_; big1 *:= 32768_; ok := ok and big1 = -1073709056_; 11814 big1 := -32767_; big1 *:= 32769_; ok := ok and big1 = -1073741823_; 11815 big1 := -32767_; big1 *:= 32770_; ok := ok and big1 = -1073774590_; 11816 big1 := -32767_; big1 *:= 65534_; ok := ok and big1 = -2147352578_; 11817 big1 := -32767_; big1 *:= 65535_; ok := ok and big1 = -2147385345_; 11818 big1 := -32767_; big1 *:= 65536_; ok := ok and big1 = -2147418112_; 11819 big1 := -32767_; big1 *:= 65537_; ok := ok and big1 = -2147450879_; 11820 big1 := -32767_; big1 *:= 65538_; ok := ok and big1 = -2147483646_; 11821 big1 := -32766_; big1 *:= -65538_; ok := ok and big1 = 2147418108_; 11822 big1 := -32766_; big1 *:= -65537_; ok := ok and big1 = 2147385342_; 11823 big1 := -32766_; big1 *:= -65536_; ok := ok and big1 = 2147352576_; 11824 big1 := -32766_; big1 *:= -65535_; ok := ok and big1 = 2147319810_; 11825 big1 := -32766_; big1 *:= -65534_; ok := ok and big1 = 2147287044_; 11826 big1 := -32766_; big1 *:= -32770_; ok := ok and big1 = 1073741820_; 11827 big1 := -32766_; big1 *:= -32769_; ok := ok and big1 = 1073709054_; 11828 big1 := -32766_; big1 *:= -32768_; ok := ok and big1 = 1073676288_; 11829 big1 := -32766_; big1 *:= -32767_; ok := ok and big1 = 1073643522_; 11830 big1 := -32766_; big1 *:= -32766_; ok := ok and big1 = 1073610756_; 11831 big1 := -32766_; big1 *:= 0_; ok := ok and big1 = 0_; 11832 big1 := -32766_; big1 *:= 32766_; ok := ok and big1 = -1073610756_; 11833 big1 := -32766_; big1 *:= 32767_; ok := ok and big1 = -1073643522_; 11834 big1 := -32766_; big1 *:= 32768_; ok := ok and big1 = -1073676288_; 11835 big1 := -32766_; big1 *:= 32769_; ok := ok and big1 = -1073709054_; 11836 big1 := -32766_; big1 *:= 32770_; ok := ok and big1 = -1073741820_; 11837 big1 := -32766_; big1 *:= 65534_; ok := ok and big1 = -2147287044_; 11838 big1 := -32766_; big1 *:= 65535_; ok := ok and big1 = -2147319810_; 11839 big1 := -32766_; big1 *:= 65536_; ok := ok and big1 = -2147352576_; 11840 big1 := -32766_; big1 *:= 65537_; ok := ok and big1 = -2147385342_; 11841 big1 := -32766_; big1 *:= 65538_; ok := ok and big1 = -2147418108_; 11842 big1 := -2_; big1 *:= -2_; ok := ok and big1 = 4_; 11843 big1 := -2_; big1 *:= -1_; ok := ok and big1 = 2_; 11844 big1 := -2_; big1 *:= 0_; ok := ok and big1 = 0_; 11845 big1 := -2_; big1 *:= 1_; ok := ok and big1 = -2_; 11846 big1 := -2_; big1 *:= 2_; ok := ok and big1 = -4_; 11847 big1 := -1_; big1 *:= -2_; ok := ok and big1 = 2_; 11848 big1 := -1_; big1 *:= -1_; ok := ok and big1 = 1_; 11849 big1 := -1_; big1 *:= 0_; ok := ok and big1 = 0_; 11850 big1 := -1_; big1 *:= 1_; ok := ok and big1 = -1_; 11851 big1 := -1_; big1 *:= 2_; ok := ok and big1 = -2_; 11852 if not ok then 11853 writeln("Multiplication assignment of bigInteger with literals does not work correct. (1)"); 11854 end if; 11855 end func; 11856 11857 11858const func boolean: chkMultAssignLiteral2 is func 11859 result 11860 var boolean: ok is TRUE; 11861 local 11862 var bigInteger: big1 is 0_; 11863 begin 11864 big1 := 0_; big1 *:= -2_; ok := ok and big1 = 0_; 11865 big1 := 0_; big1 *:= -1_; ok := ok and big1 = 0_; 11866 big1 := 0_; big1 *:= 0_; ok := ok and big1 = 0_; 11867 big1 := 0_; big1 *:= 1_; ok := ok and big1 = 0_; 11868 big1 := 0_; big1 *:= 2_; ok := ok and big1 = 0_; 11869 big1 := 1_; big1 *:= -2_; ok := ok and big1 = -2_; 11870 big1 := 1_; big1 *:= -1_; ok := ok and big1 = -1_; 11871 big1 := 1_; big1 *:= 0_; ok := ok and big1 = 0_; 11872 big1 := 1_; big1 *:= 1_; ok := ok and big1 = 1_; 11873 big1 := 1_; big1 *:= 2_; ok := ok and big1 = 2_; 11874 big1 := 2_; big1 *:= -2_; ok := ok and big1 = -4_; 11875 big1 := 2_; big1 *:= -1_; ok := ok and big1 = -2_; 11876 big1 := 2_; big1 *:= 0_; ok := ok and big1 = 0_; 11877 big1 := 2_; big1 *:= 1_; ok := ok and big1 = 2_; 11878 big1 := 2_; big1 *:= 2_; ok := ok and big1 = 4_; 11879 big1 := 181_; big1 *:= 181_; ok := ok and big1 = 32761_; 11880 big1 := 128_; big1 *:= 256_; ok := ok and big1 = 32768_; 11881 big1 := 256_; big1 *:= 256_; ok := ok and big1 = 65536_; 11882 big1 := 32766_; big1 *:= -65538_; ok := ok and big1 = -2147418108_; 11883 big1 := 32766_; big1 *:= -65537_; ok := ok and big1 = -2147385342_; 11884 big1 := 32766_; big1 *:= -65536_; ok := ok and big1 = -2147352576_; 11885 big1 := 32766_; big1 *:= -65535_; ok := ok and big1 = -2147319810_; 11886 big1 := 32766_; big1 *:= -65534_; ok := ok and big1 = -2147287044_; 11887 big1 := 32766_; big1 *:= -32770_; ok := ok and big1 = -1073741820_; 11888 big1 := 32766_; big1 *:= -32769_; ok := ok and big1 = -1073709054_; 11889 big1 := 32766_; big1 *:= -32768_; ok := ok and big1 = -1073676288_; 11890 big1 := 32766_; big1 *:= -32767_; ok := ok and big1 = -1073643522_; 11891 big1 := 32766_; big1 *:= -32766_; ok := ok and big1 = -1073610756_; 11892 big1 := 32766_; big1 *:= 0_; ok := ok and big1 = 0_; 11893 big1 := 32766_; big1 *:= 32766_; ok := ok and big1 = 1073610756_; 11894 big1 := 32766_; big1 *:= 32767_; ok := ok and big1 = 1073643522_; 11895 big1 := 32766_; big1 *:= 32768_; ok := ok and big1 = 1073676288_; 11896 big1 := 32766_; big1 *:= 32769_; ok := ok and big1 = 1073709054_; 11897 big1 := 32766_; big1 *:= 32770_; ok := ok and big1 = 1073741820_; 11898 big1 := 32766_; big1 *:= 65534_; ok := ok and big1 = 2147287044_; 11899 big1 := 32766_; big1 *:= 65535_; ok := ok and big1 = 2147319810_; 11900 big1 := 32766_; big1 *:= 65536_; ok := ok and big1 = 2147352576_; 11901 big1 := 32766_; big1 *:= 65537_; ok := ok and big1 = 2147385342_; 11902 big1 := 32766_; big1 *:= 65538_; ok := ok and big1 = 2147418108_; 11903 big1 := 32767_; big1 *:= -65538_; ok := ok and big1 = -2147483646_; 11904 big1 := 32767_; big1 *:= -65537_; ok := ok and big1 = -2147450879_; 11905 big1 := 32767_; big1 *:= -65536_; ok := ok and big1 = -2147418112_; 11906 big1 := 32767_; big1 *:= -65535_; ok := ok and big1 = -2147385345_; 11907 big1 := 32767_; big1 *:= -65534_; ok := ok and big1 = -2147352578_; 11908 big1 := 32767_; big1 *:= -32770_; ok := ok and big1 = -1073774590_; 11909 big1 := 32767_; big1 *:= -32769_; ok := ok and big1 = -1073741823_; 11910 big1 := 32767_; big1 *:= -32768_; ok := ok and big1 = -1073709056_; 11911 big1 := 32767_; big1 *:= -32767_; ok := ok and big1 = -1073676289_; 11912 big1 := 32767_; big1 *:= -32766_; ok := ok and big1 = -1073643522_; 11913 big1 := 32767_; big1 *:= 0_; ok := ok and big1 = 0_; 11914 big1 := 32767_; big1 *:= 32766_; ok := ok and big1 = 1073643522_; 11915 big1 := 32767_; big1 *:= 32767_; ok := ok and big1 = 1073676289_; 11916 big1 := 32767_; big1 *:= 32768_; ok := ok and big1 = 1073709056_; 11917 big1 := 32767_; big1 *:= 32769_; ok := ok and big1 = 1073741823_; 11918 big1 := 32767_; big1 *:= 32770_; ok := ok and big1 = 1073774590_; 11919 big1 := 32767_; big1 *:= 65534_; ok := ok and big1 = 2147352578_; 11920 big1 := 32767_; big1 *:= 65535_; ok := ok and big1 = 2147385345_; 11921 big1 := 32767_; big1 *:= 65536_; ok := ok and big1 = 2147418112_; 11922 big1 := 32767_; big1 *:= 65537_; ok := ok and big1 = 2147450879_; 11923 big1 := 32767_; big1 *:= 65538_; ok := ok and big1 = 2147483646_; 11924 big1 := 32768_; big1 *:= -65538_; ok := ok and big1 = -2147549184_; 11925 big1 := 32768_; big1 *:= -65537_; ok := ok and big1 = -2147516416_; 11926 big1 := 32768_; big1 *:= -65536_; ok := ok and big1 = -2147483648_; 11927 big1 := 32768_; big1 *:= -65535_; ok := ok and big1 = -2147450880_; 11928 big1 := 32768_; big1 *:= -65534_; ok := ok and big1 = -2147418112_; 11929 big1 := 32768_; big1 *:= -32770_; ok := ok and big1 = -1073807360_; 11930 big1 := 32768_; big1 *:= -32769_; ok := ok and big1 = -1073774592_; 11931 big1 := 32768_; big1 *:= -32768_; ok := ok and big1 = -1073741824_; 11932 big1 := 32768_; big1 *:= -32767_; ok := ok and big1 = -1073709056_; 11933 big1 := 32768_; big1 *:= -32766_; ok := ok and big1 = -1073676288_; 11934 big1 := 32768_; big1 *:= 0_; ok := ok and big1 = 0_; 11935 big1 := 32768_; big1 *:= 32766_; ok := ok and big1 = 1073676288_; 11936 big1 := 32768_; big1 *:= 32767_; ok := ok and big1 = 1073709056_; 11937 big1 := 32768_; big1 *:= 32768_; ok := ok and big1 = 1073741824_; 11938 big1 := 32768_; big1 *:= 32769_; ok := ok and big1 = 1073774592_; 11939 big1 := 32768_; big1 *:= 32770_; ok := ok and big1 = 1073807360_; 11940 big1 := 32768_; big1 *:= 65534_; ok := ok and big1 = 2147418112_; 11941 big1 := 32768_; big1 *:= 65535_; ok := ok and big1 = 2147450880_; 11942 big1 := 32768_; big1 *:= 65536_; ok := ok and big1 = 2147483648_; 11943 big1 := 32768_; big1 *:= 65537_; ok := ok and big1 = 2147516416_; 11944 big1 := 32768_; big1 *:= 65538_; ok := ok and big1 = 2147549184_; 11945 big1 := 32769_; big1 *:= -65538_; ok := ok and big1 = -2147614722_; 11946 big1 := 32769_; big1 *:= -65537_; ok := ok and big1 = -2147581953_; 11947 big1 := 32769_; big1 *:= -65536_; ok := ok and big1 = -2147549184_; 11948 big1 := 32769_; big1 *:= -65535_; ok := ok and big1 = -2147516415_; 11949 big1 := 32769_; big1 *:= -65534_; ok := ok and big1 = -2147483646_; 11950 big1 := 32769_; big1 *:= -32770_; ok := ok and big1 = -1073840130_; 11951 big1 := 32769_; big1 *:= -32769_; ok := ok and big1 = -1073807361_; 11952 big1 := 32769_; big1 *:= -32768_; ok := ok and big1 = -1073774592_; 11953 big1 := 32769_; big1 *:= -32767_; ok := ok and big1 = -1073741823_; 11954 big1 := 32769_; big1 *:= -32766_; ok := ok and big1 = -1073709054_; 11955 big1 := 32769_; big1 *:= 0_; ok := ok and big1 = 0_; 11956 big1 := 32769_; big1 *:= 32766_; ok := ok and big1 = 1073709054_; 11957 big1 := 32769_; big1 *:= 32767_; ok := ok and big1 = 1073741823_; 11958 big1 := 32769_; big1 *:= 32768_; ok := ok and big1 = 1073774592_; 11959 big1 := 32769_; big1 *:= 32769_; ok := ok and big1 = 1073807361_; 11960 big1 := 32769_; big1 *:= 32770_; ok := ok and big1 = 1073840130_; 11961 big1 := 32769_; big1 *:= 65534_; ok := ok and big1 = 2147483646_; 11962 big1 := 32769_; big1 *:= 65535_; ok := ok and big1 = 2147516415_; 11963 big1 := 32769_; big1 *:= 65536_; ok := ok and big1 = 2147549184_; 11964 big1 := 32769_; big1 *:= 65537_; ok := ok and big1 = 2147581953_; 11965 big1 := 32769_; big1 *:= 65538_; ok := ok and big1 = 2147614722_; 11966 big1 := 32770_; big1 *:= -65538_; ok := ok and big1 = -2147680260_; 11967 big1 := 32770_; big1 *:= -65537_; ok := ok and big1 = -2147647490_; 11968 big1 := 32770_; big1 *:= -65536_; ok := ok and big1 = -2147614720_; 11969 big1 := 32770_; big1 *:= -65535_; ok := ok and big1 = -2147581950_; 11970 big1 := 32770_; big1 *:= -65534_; ok := ok and big1 = -2147549180_; 11971 big1 := 32770_; big1 *:= -32770_; ok := ok and big1 = -1073872900_; 11972 big1 := 32770_; big1 *:= -32769_; ok := ok and big1 = -1073840130_; 11973 big1 := 32770_; big1 *:= -32768_; ok := ok and big1 = -1073807360_; 11974 big1 := 32770_; big1 *:= -32767_; ok := ok and big1 = -1073774590_; 11975 big1 := 32770_; big1 *:= -32766_; ok := ok and big1 = -1073741820_; 11976 big1 := 32770_; big1 *:= 0_; ok := ok and big1 = 0_; 11977 big1 := 32770_; big1 *:= 32766_; ok := ok and big1 = 1073741820_; 11978 big1 := 32770_; big1 *:= 32767_; ok := ok and big1 = 1073774590_; 11979 big1 := 32770_; big1 *:= 32768_; ok := ok and big1 = 1073807360_; 11980 big1 := 32770_; big1 *:= 32769_; ok := ok and big1 = 1073840130_; 11981 big1 := 32770_; big1 *:= 32770_; ok := ok and big1 = 1073872900_; 11982 big1 := 32770_; big1 *:= 65534_; ok := ok and big1 = 2147549180_; 11983 big1 := 32770_; big1 *:= 65535_; ok := ok and big1 = 2147581950_; 11984 big1 := 32770_; big1 *:= 65536_; ok := ok and big1 = 2147614720_; 11985 big1 := 32770_; big1 *:= 65537_; ok := ok and big1 = 2147647490_; 11986 big1 := 32770_; big1 *:= 65538_; ok := ok and big1 = 2147680260_; 11987 big1 := 65534_; big1 *:= -65538_; ok := ok and big1 = -4294967292_; 11988 big1 := 65534_; big1 *:= -65537_; ok := ok and big1 = -4294901758_; 11989 big1 := 65534_; big1 *:= -65536_; ok := ok and big1 = -4294836224_; 11990 big1 := 65534_; big1 *:= -65535_; ok := ok and big1 = -4294770690_; 11991 big1 := 65534_; big1 *:= -65534_; ok := ok and big1 = -4294705156_; 11992 big1 := 65534_; big1 *:= -32770_; ok := ok and big1 = -2147549180_; 11993 big1 := 65534_; big1 *:= -32769_; ok := ok and big1 = -2147483646_; 11994 big1 := 65534_; big1 *:= -32768_; ok := ok and big1 = -2147418112_; 11995 big1 := 65534_; big1 *:= -32767_; ok := ok and big1 = -2147352578_; 11996 big1 := 65534_; big1 *:= -32766_; ok := ok and big1 = -2147287044_; 11997 big1 := 65534_; big1 *:= 0_; ok := ok and big1 = 0_; 11998 big1 := 65534_; big1 *:= 32766_; ok := ok and big1 = 2147287044_; 11999 big1 := 65534_; big1 *:= 32767_; ok := ok and big1 = 2147352578_; 12000 big1 := 65534_; big1 *:= 32768_; ok := ok and big1 = 2147418112_; 12001 big1 := 65534_; big1 *:= 32769_; ok := ok and big1 = 2147483646_; 12002 big1 := 65534_; big1 *:= 32770_; ok := ok and big1 = 2147549180_; 12003 big1 := 65534_; big1 *:= 65534_; ok := ok and big1 = 4294705156_; 12004 big1 := 65534_; big1 *:= 65535_; ok := ok and big1 = 4294770690_; 12005 big1 := 65534_; big1 *:= 65536_; ok := ok and big1 = 4294836224_; 12006 big1 := 65534_; big1 *:= 65537_; ok := ok and big1 = 4294901758_; 12007 big1 := 65534_; big1 *:= 65538_; ok := ok and big1 = 4294967292_; 12008 big1 := 65535_; big1 *:= -65538_; ok := ok and big1 = -4295032830_; 12009 big1 := 65535_; big1 *:= -65537_; ok := ok and big1 = -4294967295_; 12010 big1 := 65535_; big1 *:= -65536_; ok := ok and big1 = -4294901760_; 12011 big1 := 65535_; big1 *:= -65535_; ok := ok and big1 = -4294836225_; 12012 big1 := 65535_; big1 *:= -65534_; ok := ok and big1 = -4294770690_; 12013 big1 := 65535_; big1 *:= -32770_; ok := ok and big1 = -2147581950_; 12014 big1 := 65535_; big1 *:= -32769_; ok := ok and big1 = -2147516415_; 12015 big1 := 65535_; big1 *:= -32768_; ok := ok and big1 = -2147450880_; 12016 big1 := 65535_; big1 *:= -32767_; ok := ok and big1 = -2147385345_; 12017 big1 := 65535_; big1 *:= -32766_; ok := ok and big1 = -2147319810_; 12018 big1 := 65535_; big1 *:= 0_; ok := ok and big1 = 0_; 12019 big1 := 65535_; big1 *:= 32766_; ok := ok and big1 = 2147319810_; 12020 big1 := 65535_; big1 *:= 32767_; ok := ok and big1 = 2147385345_; 12021 big1 := 65535_; big1 *:= 32768_; ok := ok and big1 = 2147450880_; 12022 big1 := 65535_; big1 *:= 32769_; ok := ok and big1 = 2147516415_; 12023 big1 := 65535_; big1 *:= 32770_; ok := ok and big1 = 2147581950_; 12024 big1 := 65535_; big1 *:= 65534_; ok := ok and big1 = 4294770690_; 12025 big1 := 65535_; big1 *:= 65535_; ok := ok and big1 = 4294836225_; 12026 big1 := 65535_; big1 *:= 65536_; ok := ok and big1 = 4294901760_; 12027 big1 := 65535_; big1 *:= 65537_; ok := ok and big1 = 4294967295_; 12028 big1 := 65535_; big1 *:= 65538_; ok := ok and big1 = 4295032830_; 12029 big1 := 65536_; big1 *:= -65538_; ok := ok and big1 = -4295098368_; 12030 big1 := 65536_; big1 *:= -65537_; ok := ok and big1 = -4295032832_; 12031 big1 := 65536_; big1 *:= -65536_; ok := ok and big1 = -4294967296_; 12032 big1 := 65536_; big1 *:= -65535_; ok := ok and big1 = -4294901760_; 12033 big1 := 65536_; big1 *:= -65534_; ok := ok and big1 = -4294836224_; 12034 big1 := 65536_; big1 *:= -32770_; ok := ok and big1 = -2147614720_; 12035 big1 := 65536_; big1 *:= -32769_; ok := ok and big1 = -2147549184_; 12036 big1 := 65536_; big1 *:= -32768_; ok := ok and big1 = -2147483648_; 12037 big1 := 65536_; big1 *:= -32767_; ok := ok and big1 = -2147418112_; 12038 big1 := 65536_; big1 *:= -32766_; ok := ok and big1 = -2147352576_; 12039 big1 := 65536_; big1 *:= 0_; ok := ok and big1 = 0_; 12040 big1 := 65536_; big1 *:= 32766_; ok := ok and big1 = 2147352576_; 12041 big1 := 65536_; big1 *:= 32767_; ok := ok and big1 = 2147418112_; 12042 big1 := 65536_; big1 *:= 32768_; ok := ok and big1 = 2147483648_; 12043 big1 := 65536_; big1 *:= 32769_; ok := ok and big1 = 2147549184_; 12044 big1 := 65536_; big1 *:= 32770_; ok := ok and big1 = 2147614720_; 12045 big1 := 65536_; big1 *:= 65534_; ok := ok and big1 = 4294836224_; 12046 big1 := 65536_; big1 *:= 65535_; ok := ok and big1 = 4294901760_; 12047 big1 := 65536_; big1 *:= 65536_; ok := ok and big1 = 4294967296_; 12048 big1 := 65536_; big1 *:= 65537_; ok := ok and big1 = 4295032832_; 12049 big1 := 65536_; big1 *:= 65538_; ok := ok and big1 = 4295098368_; 12050 big1 := 65537_; big1 *:= -65538_; ok := ok and big1 = -4295163906_; 12051 big1 := 65537_; big1 *:= -65537_; ok := ok and big1 = -4295098369_; 12052 big1 := 65537_; big1 *:= -65536_; ok := ok and big1 = -4295032832_; 12053 big1 := 65537_; big1 *:= -65535_; ok := ok and big1 = -4294967295_; 12054 big1 := 65537_; big1 *:= -65534_; ok := ok and big1 = -4294901758_; 12055 big1 := 65537_; big1 *:= -32770_; ok := ok and big1 = -2147647490_; 12056 big1 := 65537_; big1 *:= -32769_; ok := ok and big1 = -2147581953_; 12057 big1 := 65537_; big1 *:= -32768_; ok := ok and big1 = -2147516416_; 12058 big1 := 65537_; big1 *:= -32767_; ok := ok and big1 = -2147450879_; 12059 big1 := 65537_; big1 *:= -32766_; ok := ok and big1 = -2147385342_; 12060 big1 := 65537_; big1 *:= 0_; ok := ok and big1 = 0_; 12061 big1 := 65537_; big1 *:= 32766_; ok := ok and big1 = 2147385342_; 12062 big1 := 65537_; big1 *:= 32767_; ok := ok and big1 = 2147450879_; 12063 big1 := 65537_; big1 *:= 32768_; ok := ok and big1 = 2147516416_; 12064 big1 := 65537_; big1 *:= 32769_; ok := ok and big1 = 2147581953_; 12065 big1 := 65537_; big1 *:= 32770_; ok := ok and big1 = 2147647490_; 12066 big1 := 65537_; big1 *:= 65534_; ok := ok and big1 = 4294901758_; 12067 big1 := 65537_; big1 *:= 65535_; ok := ok and big1 = 4294967295_; 12068 big1 := 65537_; big1 *:= 65536_; ok := ok and big1 = 4295032832_; 12069 big1 := 65537_; big1 *:= 65537_; ok := ok and big1 = 4295098369_; 12070 big1 := 65537_; big1 *:= 65538_; ok := ok and big1 = 4295163906_; 12071 big1 := 65538_; big1 *:= -65538_; ok := ok and big1 = -4295229444_; 12072 big1 := 65538_; big1 *:= -65537_; ok := ok and big1 = -4295163906_; 12073 big1 := 65538_; big1 *:= -65536_; ok := ok and big1 = -4295098368_; 12074 big1 := 65538_; big1 *:= -65535_; ok := ok and big1 = -4295032830_; 12075 big1 := 65538_; big1 *:= -65534_; ok := ok and big1 = -4294967292_; 12076 big1 := 65538_; big1 *:= -32770_; ok := ok and big1 = -2147680260_; 12077 big1 := 65538_; big1 *:= -32769_; ok := ok and big1 = -2147614722_; 12078 big1 := 65538_; big1 *:= -32768_; ok := ok and big1 = -2147549184_; 12079 big1 := 65538_; big1 *:= -32767_; ok := ok and big1 = -2147483646_; 12080 big1 := 65538_; big1 *:= -32766_; ok := ok and big1 = -2147418108_; 12081 big1 := 65538_; big1 *:= 0_; ok := ok and big1 = 0_; 12082 big1 := 65538_; big1 *:= 32766_; ok := ok and big1 = 2147418108_; 12083 big1 := 65538_; big1 *:= 32767_; ok := ok and big1 = 2147483646_; 12084 big1 := 65538_; big1 *:= 32768_; ok := ok and big1 = 2147549184_; 12085 big1 := 65538_; big1 *:= 32769_; ok := ok and big1 = 2147614722_; 12086 big1 := 65538_; big1 *:= 32770_; ok := ok and big1 = 2147680260_; 12087 big1 := 65538_; big1 *:= 65534_; ok := ok and big1 = 4294967292_; 12088 big1 := 65538_; big1 *:= 65535_; ok := ok and big1 = 4295032830_; 12089 big1 := 65538_; big1 *:= 65536_; ok := ok and big1 = 4295098368_; 12090 big1 := 65538_; big1 *:= 65537_; ok := ok and big1 = 4295163906_; 12091 big1 := 65538_; big1 *:= 65538_; ok := ok and big1 = 4295229444_; 12092 if not ok then 12093 writeln("Multiplication assignment of bigInteger with literals does not work correct. (2)"); 12094 end if; 12095 end func; 12096 12097 12098const func boolean: chkMultAssignExpression1 is func 12099 result 12100 var boolean: ok is TRUE; 12101 local 12102 var bigInteger: big1 is 0_; 12103 begin 12104 big1 := -65538_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = 4295229444_; 12105 big1 := -65538_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = 4295163906_; 12106 big1 := -65538_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = 4295098368_; 12107 big1 := -65538_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = 4295032830_; 12108 big1 := -65538_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = 4294967292_; 12109 big1 := -65538_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = 2147680260_; 12110 big1 := -65538_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = 2147614722_; 12111 big1 := -65538_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = 2147549184_; 12112 big1 := -65538_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = 2147483646_; 12113 big1 := -65538_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = 2147418108_; 12114 big1 := -65538_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12115 big1 := -65538_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = -2147418108_; 12116 big1 := -65538_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = -2147483646_; 12117 big1 := -65538_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = -2147549184_; 12118 big1 := -65538_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = -2147614722_; 12119 big1 := -65538_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = -2147680260_; 12120 big1 := -65538_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = -4294967292_; 12121 big1 := -65538_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = -4295032830_; 12122 big1 := -65538_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = -4295098368_; 12123 big1 := -65538_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = -4295163906_; 12124 big1 := -65538_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = -4295229444_; 12125 big1 := -65537_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = 4295163906_; 12126 big1 := -65537_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = 4295098369_; 12127 big1 := -65537_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = 4295032832_; 12128 big1 := -65537_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = 4294967295_; 12129 big1 := -65537_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = 4294901758_; 12130 big1 := -65537_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = 2147647490_; 12131 big1 := -65537_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = 2147581953_; 12132 big1 := -65537_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = 2147516416_; 12133 big1 := -65537_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = 2147450879_; 12134 big1 := -65537_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = 2147385342_; 12135 big1 := -65537_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12136 big1 := -65537_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = -2147385342_; 12137 big1 := -65537_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = -2147450879_; 12138 big1 := -65537_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = -2147516416_; 12139 big1 := -65537_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = -2147581953_; 12140 big1 := -65537_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = -2147647490_; 12141 big1 := -65537_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = -4294901758_; 12142 big1 := -65537_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = -4294967295_; 12143 big1 := -65537_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = -4295032832_; 12144 big1 := -65537_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = -4295098369_; 12145 big1 := -65537_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = -4295163906_; 12146 big1 := -65536_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = 4295098368_; 12147 big1 := -65536_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = 4295032832_; 12148 big1 := -65536_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = 4294967296_; 12149 big1 := -65536_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = 4294901760_; 12150 big1 := -65536_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = 4294836224_; 12151 big1 := -65536_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = 2147614720_; 12152 big1 := -65536_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = 2147549184_; 12153 big1 := -65536_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = 2147483648_; 12154 big1 := -65536_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = 2147418112_; 12155 big1 := -65536_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = 2147352576_; 12156 big1 := -65536_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12157 big1 := -65536_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = -2147352576_; 12158 big1 := -65536_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = -2147418112_; 12159 big1 := -65536_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = -2147483648_; 12160 big1 := -65536_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = -2147549184_; 12161 big1 := -65536_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = -2147614720_; 12162 big1 := -65536_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = -4294836224_; 12163 big1 := -65536_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = -4294901760_; 12164 big1 := -65536_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = -4294967296_; 12165 big1 := -65536_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = -4295032832_; 12166 big1 := -65536_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = -4295098368_; 12167 big1 := -65535_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = 4295032830_; 12168 big1 := -65535_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = 4294967295_; 12169 big1 := -65535_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = 4294901760_; 12170 big1 := -65535_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = 4294836225_; 12171 big1 := -65535_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = 4294770690_; 12172 big1 := -65535_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = 2147581950_; 12173 big1 := -65535_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = 2147516415_; 12174 big1 := -65535_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = 2147450880_; 12175 big1 := -65535_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = 2147385345_; 12176 big1 := -65535_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = 2147319810_; 12177 big1 := -65535_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12178 big1 := -65535_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = -2147319810_; 12179 big1 := -65535_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = -2147385345_; 12180 big1 := -65535_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = -2147450880_; 12181 big1 := -65535_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = -2147516415_; 12182 big1 := -65535_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = -2147581950_; 12183 big1 := -65535_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = -4294770690_; 12184 big1 := -65535_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = -4294836225_; 12185 big1 := -65535_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = -4294901760_; 12186 big1 := -65535_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = -4294967295_; 12187 big1 := -65535_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = -4295032830_; 12188 big1 := -65534_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = 4294967292_; 12189 big1 := -65534_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = 4294901758_; 12190 big1 := -65534_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = 4294836224_; 12191 big1 := -65534_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = 4294770690_; 12192 big1 := -65534_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = 4294705156_; 12193 big1 := -65534_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = 2147549180_; 12194 big1 := -65534_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = 2147483646_; 12195 big1 := -65534_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = 2147418112_; 12196 big1 := -65534_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = 2147352578_; 12197 big1 := -65534_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = 2147287044_; 12198 big1 := -65534_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12199 big1 := -65534_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = -2147287044_; 12200 big1 := -65534_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = -2147352578_; 12201 big1 := -65534_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = -2147418112_; 12202 big1 := -65534_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = -2147483646_; 12203 big1 := -65534_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = -2147549180_; 12204 big1 := -65534_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = -4294705156_; 12205 big1 := -65534_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = -4294770690_; 12206 big1 := -65534_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = -4294836224_; 12207 big1 := -65534_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = -4294901758_; 12208 big1 := -65534_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = -4294967292_; 12209 big1 := -32770_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = 2147680260_; 12210 big1 := -32770_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = 2147647490_; 12211 big1 := -32770_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = 2147614720_; 12212 big1 := -32770_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = 2147581950_; 12213 big1 := -32770_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = 2147549180_; 12214 big1 := -32770_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = 1073872900_; 12215 big1 := -32770_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = 1073840130_; 12216 big1 := -32770_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = 1073807360_; 12217 big1 := -32770_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = 1073774590_; 12218 big1 := -32770_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = 1073741820_; 12219 big1 := -32770_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12220 big1 := -32770_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = -1073741820_; 12221 big1 := -32770_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = -1073774590_; 12222 big1 := -32770_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = -1073807360_; 12223 big1 := -32770_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = -1073840130_; 12224 big1 := -32770_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = -1073872900_; 12225 big1 := -32770_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = -2147549180_; 12226 big1 := -32770_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = -2147581950_; 12227 big1 := -32770_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = -2147614720_; 12228 big1 := -32770_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = -2147647490_; 12229 big1 := -32770_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = -2147680260_; 12230 big1 := -32769_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = 2147614722_; 12231 big1 := -32769_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = 2147581953_; 12232 big1 := -32769_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = 2147549184_; 12233 big1 := -32769_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = 2147516415_; 12234 big1 := -32769_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = 2147483646_; 12235 big1 := -32769_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = 1073840130_; 12236 big1 := -32769_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = 1073807361_; 12237 big1 := -32769_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = 1073774592_; 12238 big1 := -32769_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = 1073741823_; 12239 big1 := -32769_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = 1073709054_; 12240 big1 := -32769_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12241 big1 := -32769_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = -1073709054_; 12242 big1 := -32769_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = -1073741823_; 12243 big1 := -32769_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = -1073774592_; 12244 big1 := -32769_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = -1073807361_; 12245 big1 := -32769_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = -1073840130_; 12246 big1 := -32769_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = -2147483646_; 12247 big1 := -32769_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = -2147516415_; 12248 big1 := -32769_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = -2147549184_; 12249 big1 := -32769_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = -2147581953_; 12250 big1 := -32769_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = -2147614722_; 12251 big1 := -32768_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = 2147549184_; 12252 big1 := -32768_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = 2147516416_; 12253 big1 := -32768_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = 2147483648_; 12254 big1 := -32768_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = 2147450880_; 12255 big1 := -32768_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = 2147418112_; 12256 big1 := -32768_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = 1073807360_; 12257 big1 := -32768_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = 1073774592_; 12258 big1 := -32768_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = 1073741824_; 12259 big1 := -32768_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = 1073709056_; 12260 big1 := -32768_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = 1073676288_; 12261 big1 := -32768_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12262 big1 := -32768_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = -1073676288_; 12263 big1 := -32768_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = -1073709056_; 12264 big1 := -32768_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = -1073741824_; 12265 big1 := -32768_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = -1073774592_; 12266 big1 := -32768_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = -1073807360_; 12267 big1 := -32768_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = -2147418112_; 12268 big1 := -32768_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = -2147450880_; 12269 big1 := -32768_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = -2147483648_; 12270 big1 := -32768_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = -2147516416_; 12271 big1 := -32768_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = -2147549184_; 12272 big1 := -32767_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = 2147483646_; 12273 big1 := -32767_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = 2147450879_; 12274 big1 := -32767_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = 2147418112_; 12275 big1 := -32767_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = 2147385345_; 12276 big1 := -32767_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = 2147352578_; 12277 big1 := -32767_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = 1073774590_; 12278 big1 := -32767_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = 1073741823_; 12279 big1 := -32767_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = 1073709056_; 12280 big1 := -32767_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = 1073676289_; 12281 big1 := -32767_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = 1073643522_; 12282 big1 := -32767_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12283 big1 := -32767_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = -1073643522_; 12284 big1 := -32767_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = -1073676289_; 12285 big1 := -32767_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = -1073709056_; 12286 big1 := -32767_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = -1073741823_; 12287 big1 := -32767_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = -1073774590_; 12288 big1 := -32767_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = -2147352578_; 12289 big1 := -32767_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = -2147385345_; 12290 big1 := -32767_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = -2147418112_; 12291 big1 := -32767_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = -2147450879_; 12292 big1 := -32767_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = -2147483646_; 12293 big1 := -32766_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = 2147418108_; 12294 big1 := -32766_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = 2147385342_; 12295 big1 := -32766_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = 2147352576_; 12296 big1 := -32766_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = 2147319810_; 12297 big1 := -32766_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = 2147287044_; 12298 big1 := -32766_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = 1073741820_; 12299 big1 := -32766_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = 1073709054_; 12300 big1 := -32766_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = 1073676288_; 12301 big1 := -32766_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = 1073643522_; 12302 big1 := -32766_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = 1073610756_; 12303 big1 := -32766_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12304 big1 := -32766_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = -1073610756_; 12305 big1 := -32766_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = -1073643522_; 12306 big1 := -32766_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = -1073676288_; 12307 big1 := -32766_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = -1073709054_; 12308 big1 := -32766_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = -1073741820_; 12309 big1 := -32766_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = -2147287044_; 12310 big1 := -32766_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = -2147319810_; 12311 big1 := -32766_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = -2147352576_; 12312 big1 := -32766_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = -2147385342_; 12313 big1 := -32766_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = -2147418108_; 12314 big1 := -2_; big1 *:= bigintExpr( -2_); ok := ok and big1 = 4_; 12315 big1 := -2_; big1 *:= bigintExpr( -1_); ok := ok and big1 = 2_; 12316 big1 := -2_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12317 big1 := -2_; big1 *:= bigintExpr( 1_); ok := ok and big1 = -2_; 12318 big1 := -2_; big1 *:= bigintExpr( 2_); ok := ok and big1 = -4_; 12319 big1 := -1_; big1 *:= bigintExpr( -2_); ok := ok and big1 = 2_; 12320 big1 := -1_; big1 *:= bigintExpr( -1_); ok := ok and big1 = 1_; 12321 big1 := -1_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12322 big1 := -1_; big1 *:= bigintExpr( 1_); ok := ok and big1 = -1_; 12323 big1 := -1_; big1 *:= bigintExpr( 2_); ok := ok and big1 = -2_; 12324 if not ok then 12325 writeln("Multiplication assignment of bigInteger with expressions does not work correct. (1)"); 12326 end if; 12327 end func; 12328 12329 12330const func boolean: chkMultAssignExpression2 is func 12331 result 12332 var boolean: ok is TRUE; 12333 local 12334 var bigInteger: big1 is 0_; 12335 begin 12336 big1 := 0_; big1 *:= bigintExpr( -2_); ok := ok and big1 = 0_; 12337 big1 := 0_; big1 *:= bigintExpr( -1_); ok := ok and big1 = 0_; 12338 big1 := 0_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12339 big1 := 0_; big1 *:= bigintExpr( 1_); ok := ok and big1 = 0_; 12340 big1 := 0_; big1 *:= bigintExpr( 2_); ok := ok and big1 = 0_; 12341 big1 := 1_; big1 *:= bigintExpr( -2_); ok := ok and big1 = -2_; 12342 big1 := 1_; big1 *:= bigintExpr( -1_); ok := ok and big1 = -1_; 12343 big1 := 1_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12344 big1 := 1_; big1 *:= bigintExpr( 1_); ok := ok and big1 = 1_; 12345 big1 := 1_; big1 *:= bigintExpr( 2_); ok := ok and big1 = 2_; 12346 big1 := 2_; big1 *:= bigintExpr( -2_); ok := ok and big1 = -4_; 12347 big1 := 2_; big1 *:= bigintExpr( -1_); ok := ok and big1 = -2_; 12348 big1 := 2_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12349 big1 := 2_; big1 *:= bigintExpr( 1_); ok := ok and big1 = 2_; 12350 big1 := 2_; big1 *:= bigintExpr( 2_); ok := ok and big1 = 4_; 12351 big1 := 181_; big1 *:= bigintExpr( 181_); ok := ok and big1 = 32761_; 12352 big1 := 128_; big1 *:= bigintExpr( 256_); ok := ok and big1 = 32768_; 12353 big1 := 256_; big1 *:= bigintExpr( 256_); ok := ok and big1 = 65536_; 12354 big1 := 32766_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = -2147418108_; 12355 big1 := 32766_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = -2147385342_; 12356 big1 := 32766_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = -2147352576_; 12357 big1 := 32766_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = -2147319810_; 12358 big1 := 32766_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = -2147287044_; 12359 big1 := 32766_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = -1073741820_; 12360 big1 := 32766_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = -1073709054_; 12361 big1 := 32766_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = -1073676288_; 12362 big1 := 32766_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = -1073643522_; 12363 big1 := 32766_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = -1073610756_; 12364 big1 := 32766_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12365 big1 := 32766_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = 1073610756_; 12366 big1 := 32766_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = 1073643522_; 12367 big1 := 32766_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = 1073676288_; 12368 big1 := 32766_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = 1073709054_; 12369 big1 := 32766_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = 1073741820_; 12370 big1 := 32766_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = 2147287044_; 12371 big1 := 32766_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = 2147319810_; 12372 big1 := 32766_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = 2147352576_; 12373 big1 := 32766_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = 2147385342_; 12374 big1 := 32766_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = 2147418108_; 12375 big1 := 32767_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = -2147483646_; 12376 big1 := 32767_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = -2147450879_; 12377 big1 := 32767_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = -2147418112_; 12378 big1 := 32767_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = -2147385345_; 12379 big1 := 32767_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = -2147352578_; 12380 big1 := 32767_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = -1073774590_; 12381 big1 := 32767_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = -1073741823_; 12382 big1 := 32767_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = -1073709056_; 12383 big1 := 32767_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = -1073676289_; 12384 big1 := 32767_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = -1073643522_; 12385 big1 := 32767_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12386 big1 := 32767_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = 1073643522_; 12387 big1 := 32767_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = 1073676289_; 12388 big1 := 32767_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = 1073709056_; 12389 big1 := 32767_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = 1073741823_; 12390 big1 := 32767_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = 1073774590_; 12391 big1 := 32767_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = 2147352578_; 12392 big1 := 32767_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = 2147385345_; 12393 big1 := 32767_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = 2147418112_; 12394 big1 := 32767_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = 2147450879_; 12395 big1 := 32767_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = 2147483646_; 12396 big1 := 32768_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = -2147549184_; 12397 big1 := 32768_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = -2147516416_; 12398 big1 := 32768_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = -2147483648_; 12399 big1 := 32768_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = -2147450880_; 12400 big1 := 32768_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = -2147418112_; 12401 big1 := 32768_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = -1073807360_; 12402 big1 := 32768_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = -1073774592_; 12403 big1 := 32768_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = -1073741824_; 12404 big1 := 32768_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = -1073709056_; 12405 big1 := 32768_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = -1073676288_; 12406 big1 := 32768_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12407 big1 := 32768_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = 1073676288_; 12408 big1 := 32768_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = 1073709056_; 12409 big1 := 32768_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = 1073741824_; 12410 big1 := 32768_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = 1073774592_; 12411 big1 := 32768_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = 1073807360_; 12412 big1 := 32768_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = 2147418112_; 12413 big1 := 32768_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = 2147450880_; 12414 big1 := 32768_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = 2147483648_; 12415 big1 := 32768_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = 2147516416_; 12416 big1 := 32768_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = 2147549184_; 12417 big1 := 32769_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = -2147614722_; 12418 big1 := 32769_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = -2147581953_; 12419 big1 := 32769_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = -2147549184_; 12420 big1 := 32769_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = -2147516415_; 12421 big1 := 32769_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = -2147483646_; 12422 big1 := 32769_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = -1073840130_; 12423 big1 := 32769_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = -1073807361_; 12424 big1 := 32769_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = -1073774592_; 12425 big1 := 32769_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = -1073741823_; 12426 big1 := 32769_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = -1073709054_; 12427 big1 := 32769_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12428 big1 := 32769_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = 1073709054_; 12429 big1 := 32769_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = 1073741823_; 12430 big1 := 32769_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = 1073774592_; 12431 big1 := 32769_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = 1073807361_; 12432 big1 := 32769_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = 1073840130_; 12433 big1 := 32769_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = 2147483646_; 12434 big1 := 32769_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = 2147516415_; 12435 big1 := 32769_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = 2147549184_; 12436 big1 := 32769_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = 2147581953_; 12437 big1 := 32769_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = 2147614722_; 12438 big1 := 32770_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = -2147680260_; 12439 big1 := 32770_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = -2147647490_; 12440 big1 := 32770_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = -2147614720_; 12441 big1 := 32770_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = -2147581950_; 12442 big1 := 32770_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = -2147549180_; 12443 big1 := 32770_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = -1073872900_; 12444 big1 := 32770_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = -1073840130_; 12445 big1 := 32770_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = -1073807360_; 12446 big1 := 32770_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = -1073774590_; 12447 big1 := 32770_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = -1073741820_; 12448 big1 := 32770_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12449 big1 := 32770_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = 1073741820_; 12450 big1 := 32770_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = 1073774590_; 12451 big1 := 32770_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = 1073807360_; 12452 big1 := 32770_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = 1073840130_; 12453 big1 := 32770_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = 1073872900_; 12454 big1 := 32770_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = 2147549180_; 12455 big1 := 32770_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = 2147581950_; 12456 big1 := 32770_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = 2147614720_; 12457 big1 := 32770_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = 2147647490_; 12458 big1 := 32770_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = 2147680260_; 12459 big1 := 65534_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = -4294967292_; 12460 big1 := 65534_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = -4294901758_; 12461 big1 := 65534_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = -4294836224_; 12462 big1 := 65534_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = -4294770690_; 12463 big1 := 65534_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = -4294705156_; 12464 big1 := 65534_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = -2147549180_; 12465 big1 := 65534_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = -2147483646_; 12466 big1 := 65534_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = -2147418112_; 12467 big1 := 65534_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = -2147352578_; 12468 big1 := 65534_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = -2147287044_; 12469 big1 := 65534_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12470 big1 := 65534_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = 2147287044_; 12471 big1 := 65534_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = 2147352578_; 12472 big1 := 65534_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = 2147418112_; 12473 big1 := 65534_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = 2147483646_; 12474 big1 := 65534_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = 2147549180_; 12475 big1 := 65534_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = 4294705156_; 12476 big1 := 65534_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = 4294770690_; 12477 big1 := 65534_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = 4294836224_; 12478 big1 := 65534_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = 4294901758_; 12479 big1 := 65534_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = 4294967292_; 12480 big1 := 65535_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = -4295032830_; 12481 big1 := 65535_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = -4294967295_; 12482 big1 := 65535_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = -4294901760_; 12483 big1 := 65535_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = -4294836225_; 12484 big1 := 65535_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = -4294770690_; 12485 big1 := 65535_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = -2147581950_; 12486 big1 := 65535_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = -2147516415_; 12487 big1 := 65535_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = -2147450880_; 12488 big1 := 65535_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = -2147385345_; 12489 big1 := 65535_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = -2147319810_; 12490 big1 := 65535_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12491 big1 := 65535_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = 2147319810_; 12492 big1 := 65535_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = 2147385345_; 12493 big1 := 65535_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = 2147450880_; 12494 big1 := 65535_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = 2147516415_; 12495 big1 := 65535_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = 2147581950_; 12496 big1 := 65535_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = 4294770690_; 12497 big1 := 65535_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = 4294836225_; 12498 big1 := 65535_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = 4294901760_; 12499 big1 := 65535_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = 4294967295_; 12500 big1 := 65535_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = 4295032830_; 12501 big1 := 65536_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = -4295098368_; 12502 big1 := 65536_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = -4295032832_; 12503 big1 := 65536_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = -4294967296_; 12504 big1 := 65536_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = -4294901760_; 12505 big1 := 65536_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = -4294836224_; 12506 big1 := 65536_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = -2147614720_; 12507 big1 := 65536_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = -2147549184_; 12508 big1 := 65536_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = -2147483648_; 12509 big1 := 65536_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = -2147418112_; 12510 big1 := 65536_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = -2147352576_; 12511 big1 := 65536_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12512 big1 := 65536_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = 2147352576_; 12513 big1 := 65536_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = 2147418112_; 12514 big1 := 65536_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = 2147483648_; 12515 big1 := 65536_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = 2147549184_; 12516 big1 := 65536_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = 2147614720_; 12517 big1 := 65536_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = 4294836224_; 12518 big1 := 65536_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = 4294901760_; 12519 big1 := 65536_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = 4294967296_; 12520 big1 := 65536_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = 4295032832_; 12521 big1 := 65536_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = 4295098368_; 12522 big1 := 65537_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = -4295163906_; 12523 big1 := 65537_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = -4295098369_; 12524 big1 := 65537_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = -4295032832_; 12525 big1 := 65537_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = -4294967295_; 12526 big1 := 65537_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = -4294901758_; 12527 big1 := 65537_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = -2147647490_; 12528 big1 := 65537_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = -2147581953_; 12529 big1 := 65537_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = -2147516416_; 12530 big1 := 65537_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = -2147450879_; 12531 big1 := 65537_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = -2147385342_; 12532 big1 := 65537_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12533 big1 := 65537_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = 2147385342_; 12534 big1 := 65537_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = 2147450879_; 12535 big1 := 65537_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = 2147516416_; 12536 big1 := 65537_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = 2147581953_; 12537 big1 := 65537_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = 2147647490_; 12538 big1 := 65537_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = 4294901758_; 12539 big1 := 65537_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = 4294967295_; 12540 big1 := 65537_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = 4295032832_; 12541 big1 := 65537_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = 4295098369_; 12542 big1 := 65537_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = 4295163906_; 12543 big1 := 65538_; big1 *:= bigintExpr( -65538_); ok := ok and big1 = -4295229444_; 12544 big1 := 65538_; big1 *:= bigintExpr( -65537_); ok := ok and big1 = -4295163906_; 12545 big1 := 65538_; big1 *:= bigintExpr( -65536_); ok := ok and big1 = -4295098368_; 12546 big1 := 65538_; big1 *:= bigintExpr( -65535_); ok := ok and big1 = -4295032830_; 12547 big1 := 65538_; big1 *:= bigintExpr( -65534_); ok := ok and big1 = -4294967292_; 12548 big1 := 65538_; big1 *:= bigintExpr( -32770_); ok := ok and big1 = -2147680260_; 12549 big1 := 65538_; big1 *:= bigintExpr( -32769_); ok := ok and big1 = -2147614722_; 12550 big1 := 65538_; big1 *:= bigintExpr( -32768_); ok := ok and big1 = -2147549184_; 12551 big1 := 65538_; big1 *:= bigintExpr( -32767_); ok := ok and big1 = -2147483646_; 12552 big1 := 65538_; big1 *:= bigintExpr( -32766_); ok := ok and big1 = -2147418108_; 12553 big1 := 65538_; big1 *:= bigintExpr( 0_); ok := ok and big1 = 0_; 12554 big1 := 65538_; big1 *:= bigintExpr( 32766_); ok := ok and big1 = 2147418108_; 12555 big1 := 65538_; big1 *:= bigintExpr( 32767_); ok := ok and big1 = 2147483646_; 12556 big1 := 65538_; big1 *:= bigintExpr( 32768_); ok := ok and big1 = 2147549184_; 12557 big1 := 65538_; big1 *:= bigintExpr( 32769_); ok := ok and big1 = 2147614722_; 12558 big1 := 65538_; big1 *:= bigintExpr( 32770_); ok := ok and big1 = 2147680260_; 12559 big1 := 65538_; big1 *:= bigintExpr( 65534_); ok := ok and big1 = 4294967292_; 12560 big1 := 65538_; big1 *:= bigintExpr( 65535_); ok := ok and big1 = 4295032830_; 12561 big1 := 65538_; big1 *:= bigintExpr( 65536_); ok := ok and big1 = 4295098368_; 12562 big1 := 65538_; big1 *:= bigintExpr( 65537_); ok := ok and big1 = 4295163906_; 12563 big1 := 65538_; big1 *:= bigintExpr( 65538_); ok := ok and big1 = 4295229444_; 12564 if not ok then 12565 writeln("Multiplication assignment of bigInteger with expressions does not work correct. (2)"); 12566 end if; 12567 end func; 12568 12569 12570const func boolean: chkMultAssign1 is func 12571 result 12572 var boolean: ok is TRUE; 12573 local 12574 var bigInteger: big1 is 0_; 12575 begin 12576 big1 := 123456789_; big1 *:= -18446744073709551616_; ok := ok and big1 = -2277375790844960561141121024_; 12577 big1 := 123456789_; big1 *:= -10000000000000000000_; ok := ok and big1 = -1234567890000000000000000000_; 12578 big1 := 123456789_; big1 *:= -9223372036854775808_; ok := ok and big1 = -1138687895422480280570560512_; 12579 big1 := 123456789_; big1 *:= -4611686018427387904_; ok := ok and big1 = -569343947711240140285280256_; 12580 big1 := 123456789_; big1 *:= -2305843009213693952_; ok := ok and big1 = -284671973855620070142640128_; 12581 big1 := 123456789_; big1 *:= -1152921504606846976_; ok := ok and big1 = -142335986927810035071320064_; 12582 big1 := 123456789_; big1 *:= -1000000000000000000_; ok := ok and big1 = -123456789000000000000000000_; 12583 big1 := 123456789_; big1 *:= -576460752303423488_; ok := ok and big1 = -71167993463905017535660032_; 12584 big1 := 123456789_; big1 *:= -288230376151711744_; ok := ok and big1 = -35583996731952508767830016_; 12585 big1 := 123456789_; big1 *:= -144115188075855872_; ok := ok and big1 = -17791998365976254383915008_; 12586 big1 := 123456789_; big1 *:= -100000000000000000_; ok := ok and big1 = -12345678900000000000000000_; 12587 big1 := 123456789_; big1 *:= -72057594037927936_; ok := ok and big1 = -8895999182988127191957504_; 12588 big1 := 123456789_; big1 *:= -36028797018963968_; ok := ok and big1 = -4447999591494063595978752_; 12589 big1 := 123456789_; big1 *:= -18014398509481984_; ok := ok and big1 = -2223999795747031797989376_; 12590 big1 := 123456789_; big1 *:= -10000000000000000_; ok := ok and big1 = -1234567890000000000000000_; 12591 big1 := 123456789_; big1 *:= -9007199254740992_; ok := ok and big1 = -1111999897873515898994688_; 12592 big1 := 123456789_; big1 *:= -4503599627370496_; ok := ok and big1 = -555999948936757949497344_; 12593 big1 := 123456789_; big1 *:= -2251799813685248_; ok := ok and big1 = -277999974468378974748672_; 12594 big1 := 123456789_; big1 *:= -1125899906842624_; ok := ok and big1 = -138999987234189487374336_; 12595 big1 := 123456789_; big1 *:= -1000000000000000_; ok := ok and big1 = -123456789000000000000000_; 12596 big1 := 123456789_; big1 *:= -562949953421312_; ok := ok and big1 = -69499993617094743687168_; 12597 big1 := 123456789_; big1 *:= -281474976710656_; ok := ok and big1 = -34749996808547371843584_; 12598 big1 := 123456789_; big1 *:= -140737488355328_; ok := ok and big1 = -17374998404273685921792_; 12599 big1 := 123456789_; big1 *:= -100000000000000_; ok := ok and big1 = -12345678900000000000000_; 12600 big1 := 123456789_; big1 *:= -70368744177664_; ok := ok and big1 = -8687499202136842960896_; 12601 big1 := 123456789_; big1 *:= -35184372088832_; ok := ok and big1 = -4343749601068421480448_; 12602 big1 := 123456789_; big1 *:= -17592186044416_; ok := ok and big1 = -2171874800534210740224_; 12603 big1 := 123456789_; big1 *:= -10000000000000_; ok := ok and big1 = -1234567890000000000000_; 12604 big1 := 123456789_; big1 *:= -8796093022208_; ok := ok and big1 = -1085937400267105370112_; 12605 big1 := 123456789_; big1 *:= -4398046511104_; ok := ok and big1 = -542968700133552685056_; 12606 big1 := 123456789_; big1 *:= -2199023255552_; ok := ok and big1 = -271484350066776342528_; 12607 big1 := 123456789_; big1 *:= -1099511627776_; ok := ok and big1 = -135742175033388171264_; 12608 big1 := 123456789_; big1 *:= -1000000000000_; ok := ok and big1 = -123456789000000000000_; 12609 big1 := 123456789_; big1 *:= -549755813888_; ok := ok and big1 = -67871087516694085632_; 12610 big1 := 123456789_; big1 *:= -274877906944_; ok := ok and big1 = -33935543758347042816_; 12611 big1 := 123456789_; big1 *:= -137438953472_; ok := ok and big1 = -16967771879173521408_; 12612 big1 := 123456789_; big1 *:= -100000000000_; ok := ok and big1 = -12345678900000000000_; 12613 big1 := 123456789_; big1 *:= -68719476736_; ok := ok and big1 = -8483885939586760704_; 12614 big1 := 123456789_; big1 *:= -34359738368_; ok := ok and big1 = -4241942969793380352_; 12615 big1 := 123456789_; big1 *:= -17179869184_; ok := ok and big1 = -2120971484896690176_; 12616 big1 := 123456789_; big1 *:= -10000000000_; ok := ok and big1 = -1234567890000000000_; 12617 big1 := 123456789_; big1 *:= -8589934592_; ok := ok and big1 = -1060485742448345088_; 12618 big1 := 123456789_; big1 *:= -4294967296_; ok := ok and big1 = -530242871224172544_; 12619 big1 := 123456789_; big1 *:= -2147483648_; ok := ok and big1 = -265121435612086272_; 12620 big1 := 123456789_; big1 *:= -1073741824_; ok := ok and big1 = -132560717806043136_; 12621 big1 := 123456789_; big1 *:= -1000000000_; ok := ok and big1 = -123456789000000000_; 12622 big1 := 123456789_; big1 *:= -536870912_; ok := ok and big1 = -66280358903021568_; 12623 big1 := 123456789_; big1 *:= -268435456_; ok := ok and big1 = -33140179451510784_; 12624 big1 := 123456789_; big1 *:= -134217728_; ok := ok and big1 = -16570089725755392_; 12625 big1 := 123456789_; big1 *:= -100000000_; ok := ok and big1 = -12345678900000000_; 12626 big1 := 123456789_; big1 *:= -67108864_; ok := ok and big1 = -8285044862877696_; 12627 big1 := 123456789_; big1 *:= -33554432_; ok := ok and big1 = -4142522431438848_; 12628 big1 := 123456789_; big1 *:= -16777216_; ok := ok and big1 = -2071261215719424_; 12629 big1 := 123456789_; big1 *:= -10000000_; ok := ok and big1 = -1234567890000000_; 12630 big1 := 123456789_; big1 *:= -8388608_; ok := ok and big1 = -1035630607859712_; 12631 big1 := 123456789_; big1 *:= -4194304_; ok := ok and big1 = -517815303929856_; 12632 big1 := 123456789_; big1 *:= -2097152_; ok := ok and big1 = -258907651964928_; 12633 big1 := 123456789_; big1 *:= -1048576_; ok := ok and big1 = -129453825982464_; 12634 big1 := 123456789_; big1 *:= -1000000_; ok := ok and big1 = -123456789000000_; 12635 big1 := 123456789_; big1 *:= -524288_; ok := ok and big1 = -64726912991232_; 12636 big1 := 123456789_; big1 *:= -262144_; ok := ok and big1 = -32363456495616_; 12637 big1 := 123456789_; big1 *:= -131072_; ok := ok and big1 = -16181728247808_; 12638 big1 := 123456789_; big1 *:= -100000_; ok := ok and big1 = -12345678900000_; 12639 big1 := 123456789_; big1 *:= -65536_; ok := ok and big1 = -8090864123904_; 12640 big1 := 123456789_; big1 *:= -32768_; ok := ok and big1 = -4045432061952_; 12641 big1 := 123456789_; big1 *:= -16384_; ok := ok and big1 = -2022716030976_; 12642 big1 := 123456789_; big1 *:= -10000_; ok := ok and big1 = -1234567890000_; 12643 big1 := 123456789_; big1 *:= -8192_; ok := ok and big1 = -1011358015488_; 12644 big1 := 123456789_; big1 *:= -4096_; ok := ok and big1 = -505679007744_; 12645 big1 := 123456789_; big1 *:= -2048_; ok := ok and big1 = -252839503872_; 12646 big1 := 123456789_; big1 *:= -1024_; ok := ok and big1 = -126419751936_; 12647 big1 := 123456789_; big1 *:= -1000_; ok := ok and big1 = -123456789000_; 12648 big1 := 123456789_; big1 *:= -512_; ok := ok and big1 = -63209875968_; 12649 big1 := 123456789_; big1 *:= -256_; ok := ok and big1 = -31604937984_; 12650 big1 := 123456789_; big1 *:= -128_; ok := ok and big1 = -15802468992_; 12651 big1 := 123456789_; big1 *:= -100_; ok := ok and big1 = -12345678900_; 12652 big1 := 123456789_; big1 *:= -64_; ok := ok and big1 = -7901234496_; 12653 big1 := 123456789_; big1 *:= -32_; ok := ok and big1 = -3950617248_; 12654 big1 := 123456789_; big1 *:= -16_; ok := ok and big1 = -1975308624_; 12655 big1 := 123456789_; big1 *:= -10_; ok := ok and big1 = -1234567890_; 12656 big1 := 123456789_; big1 *:= -8_; ok := ok and big1 = -987654312_; 12657 big1 := 123456789_; big1 *:= -5_; ok := ok and big1 = -617283945_; 12658 big1 := 123456789_; big1 *:= -4_; ok := ok and big1 = -493827156_; 12659 big1 := 123456789_; big1 *:= -3_; ok := ok and big1 = -370370367_; 12660 big1 := 123456789_; big1 *:= -2_; ok := ok and big1 = -246913578_; 12661 big1 := 123456789_; big1 *:= -1_; ok := ok and big1 = -123456789_; 12662 big1 := 123456789_; big1 *:= 0_; ok := ok and big1 = 0_; 12663 big1 := 123456789_; big1 *:= 1_; ok := ok and big1 = 123456789_; 12664 big1 := 123456789_; big1 *:= 2_; ok := ok and big1 = 246913578_; 12665 big1 := 123456789_; big1 *:= 3_; ok := ok and big1 = 370370367_; 12666 big1 := 123456789_; big1 *:= 4_; ok := ok and big1 = 493827156_; 12667 big1 := 123456789_; big1 *:= 5_; ok := ok and big1 = 617283945_; 12668 big1 := 123456789_; big1 *:= 8_; ok := ok and big1 = 987654312_; 12669 big1 := 123456789_; big1 *:= 10_; ok := ok and big1 = 1234567890_; 12670 big1 := 123456789_; big1 *:= 16_; ok := ok and big1 = 1975308624_; 12671 big1 := 123456789_; big1 *:= 32_; ok := ok and big1 = 3950617248_; 12672 big1 := 123456789_; big1 *:= 64_; ok := ok and big1 = 7901234496_; 12673 big1 := 123456789_; big1 *:= 100_; ok := ok and big1 = 12345678900_; 12674 big1 := 123456789_; big1 *:= 128_; ok := ok and big1 = 15802468992_; 12675 big1 := 123456789_; big1 *:= 256_; ok := ok and big1 = 31604937984_; 12676 big1 := 123456789_; big1 *:= 512_; ok := ok and big1 = 63209875968_; 12677 big1 := 123456789_; big1 *:= 1000_; ok := ok and big1 = 123456789000_; 12678 big1 := 123456789_; big1 *:= 1024_; ok := ok and big1 = 126419751936_; 12679 big1 := 123456789_; big1 *:= 2048_; ok := ok and big1 = 252839503872_; 12680 big1 := 123456789_; big1 *:= 4096_; ok := ok and big1 = 505679007744_; 12681 big1 := 123456789_; big1 *:= 8192_; ok := ok and big1 = 1011358015488_; 12682 big1 := 123456789_; big1 *:= 10000_; ok := ok and big1 = 1234567890000_; 12683 big1 := 123456789_; big1 *:= 16384_; ok := ok and big1 = 2022716030976_; 12684 big1 := 123456789_; big1 *:= 32768_; ok := ok and big1 = 4045432061952_; 12685 big1 := 123456789_; big1 *:= 65536_; ok := ok and big1 = 8090864123904_; 12686 big1 := 123456789_; big1 *:= 100000_; ok := ok and big1 = 12345678900000_; 12687 big1 := 123456789_; big1 *:= 131072_; ok := ok and big1 = 16181728247808_; 12688 big1 := 123456789_; big1 *:= 262144_; ok := ok and big1 = 32363456495616_; 12689 big1 := 123456789_; big1 *:= 524288_; ok := ok and big1 = 64726912991232_; 12690 big1 := 123456789_; big1 *:= 1000000_; ok := ok and big1 = 123456789000000_; 12691 big1 := 123456789_; big1 *:= 1048576_; ok := ok and big1 = 129453825982464_; 12692 big1 := 123456789_; big1 *:= 2097152_; ok := ok and big1 = 258907651964928_; 12693 big1 := 123456789_; big1 *:= 4194304_; ok := ok and big1 = 517815303929856_; 12694 big1 := 123456789_; big1 *:= 8388608_; ok := ok and big1 = 1035630607859712_; 12695 big1 := 123456789_; big1 *:= 10000000_; ok := ok and big1 = 1234567890000000_; 12696 big1 := 123456789_; big1 *:= 16777216_; ok := ok and big1 = 2071261215719424_; 12697 big1 := 123456789_; big1 *:= 33554432_; ok := ok and big1 = 4142522431438848_; 12698 big1 := 123456789_; big1 *:= 67108864_; ok := ok and big1 = 8285044862877696_; 12699 big1 := 123456789_; big1 *:= 100000000_; ok := ok and big1 = 12345678900000000_; 12700 big1 := 123456789_; big1 *:= 134217728_; ok := ok and big1 = 16570089725755392_; 12701 big1 := 123456789_; big1 *:= 268435456_; ok := ok and big1 = 33140179451510784_; 12702 big1 := 123456789_; big1 *:= 536870912_; ok := ok and big1 = 66280358903021568_; 12703 big1 := 123456789_; big1 *:= 1000000000_; ok := ok and big1 = 123456789000000000_; 12704 big1 := 123456789_; big1 *:= 1073741824_; ok := ok and big1 = 132560717806043136_; 12705 big1 := 123456789_; big1 *:= 2147483648_; ok := ok and big1 = 265121435612086272_; 12706 big1 := 123456789_; big1 *:= 4294967296_; ok := ok and big1 = 530242871224172544_; 12707 big1 := 123456789_; big1 *:= 8589934592_; ok := ok and big1 = 1060485742448345088_; 12708 big1 := 123456789_; big1 *:= 10000000000_; ok := ok and big1 = 1234567890000000000_; 12709 big1 := 123456789_; big1 *:= 17179869184_; ok := ok and big1 = 2120971484896690176_; 12710 big1 := 123456789_; big1 *:= 34359738368_; ok := ok and big1 = 4241942969793380352_; 12711 big1 := 123456789_; big1 *:= 68719476736_; ok := ok and big1 = 8483885939586760704_; 12712 big1 := 123456789_; big1 *:= 100000000000_; ok := ok and big1 = 12345678900000000000_; 12713 big1 := 123456789_; big1 *:= 137438953472_; ok := ok and big1 = 16967771879173521408_; 12714 big1 := 123456789_; big1 *:= 274877906944_; ok := ok and big1 = 33935543758347042816_; 12715 big1 := 123456789_; big1 *:= 549755813888_; ok := ok and big1 = 67871087516694085632_; 12716 big1 := 123456789_; big1 *:= 1000000000000_; ok := ok and big1 = 123456789000000000000_; 12717 big1 := 123456789_; big1 *:= 1099511627776_; ok := ok and big1 = 135742175033388171264_; 12718 big1 := 123456789_; big1 *:= 2199023255552_; ok := ok and big1 = 271484350066776342528_; 12719 big1 := 123456789_; big1 *:= 4398046511104_; ok := ok and big1 = 542968700133552685056_; 12720 big1 := 123456789_; big1 *:= 8796093022208_; ok := ok and big1 = 1085937400267105370112_; 12721 big1 := 123456789_; big1 *:= 10000000000000_; ok := ok and big1 = 1234567890000000000000_; 12722 big1 := 123456789_; big1 *:= 17592186044416_; ok := ok and big1 = 2171874800534210740224_; 12723 big1 := 123456789_; big1 *:= 35184372088832_; ok := ok and big1 = 4343749601068421480448_; 12724 big1 := 123456789_; big1 *:= 70368744177664_; ok := ok and big1 = 8687499202136842960896_; 12725 big1 := 123456789_; big1 *:= 100000000000000_; ok := ok and big1 = 12345678900000000000000_; 12726 big1 := 123456789_; big1 *:= 140737488355328_; ok := ok and big1 = 17374998404273685921792_; 12727 big1 := 123456789_; big1 *:= 281474976710656_; ok := ok and big1 = 34749996808547371843584_; 12728 big1 := 123456789_; big1 *:= 562949953421312_; ok := ok and big1 = 69499993617094743687168_; 12729 big1 := 123456789_; big1 *:= 1000000000000000_; ok := ok and big1 = 123456789000000000000000_; 12730 big1 := 123456789_; big1 *:= 1125899906842624_; ok := ok and big1 = 138999987234189487374336_; 12731 big1 := 123456789_; big1 *:= 2251799813685248_; ok := ok and big1 = 277999974468378974748672_; 12732 big1 := 123456789_; big1 *:= 4503599627370496_; ok := ok and big1 = 555999948936757949497344_; 12733 big1 := 123456789_; big1 *:= 9007199254740992_; ok := ok and big1 = 1111999897873515898994688_; 12734 big1 := 123456789_; big1 *:= 10000000000000000_; ok := ok and big1 = 1234567890000000000000000_; 12735 big1 := 123456789_; big1 *:= 18014398509481984_; ok := ok and big1 = 2223999795747031797989376_; 12736 big1 := 123456789_; big1 *:= 36028797018963968_; ok := ok and big1 = 4447999591494063595978752_; 12737 big1 := 123456789_; big1 *:= 72057594037927936_; ok := ok and big1 = 8895999182988127191957504_; 12738 big1 := 123456789_; big1 *:= 100000000000000000_; ok := ok and big1 = 12345678900000000000000000_; 12739 big1 := 123456789_; big1 *:= 144115188075855872_; ok := ok and big1 = 17791998365976254383915008_; 12740 big1 := 123456789_; big1 *:= 288230376151711744_; ok := ok and big1 = 35583996731952508767830016_; 12741 big1 := 123456789_; big1 *:= 576460752303423488_; ok := ok and big1 = 71167993463905017535660032_; 12742 big1 := 123456789_; big1 *:= 1000000000000000000_; ok := ok and big1 = 123456789000000000000000000_; 12743 big1 := 123456789_; big1 *:= 1152921504606846976_; ok := ok and big1 = 142335986927810035071320064_; 12744 big1 := 123456789_; big1 *:= 2305843009213693952_; ok := ok and big1 = 284671973855620070142640128_; 12745 big1 := 123456789_; big1 *:= 4611686018427387904_; ok := ok and big1 = 569343947711240140285280256_; 12746 big1 := 123456789_; big1 *:= 9223372036854775808_; ok := ok and big1 = 1138687895422480280570560512_; 12747 big1 := 123456789_; big1 *:= 10000000000000000000_; ok := ok and big1 = 1234567890000000000000000000_; 12748 big1 := 123456789_; big1 *:= 18446744073709551616_; ok := ok and big1 = 2277375790844960561141121024_; 12749 if not ok then 12750 writeln(" ***** Multiplication assignment of bigInteger does not work correct."); 12751 end if; 12752 end func; 12753 12754 12755const proc: chkMultAssign is func 12756 local 12757 var bigInteger: big1 is 0_; 12758 var boolean: okay is TRUE; 12759 var boolean: ok is TRUE; 12760 begin 12761 okay := chkMultAssignLiteral1 and 12762 chkMultAssignLiteral2 and 12763 chkMultAssignExpression1 and 12764 chkMultAssignExpression2 and 12765 chkMultAssign1; 12766 12767 big1 := 65535_; big1 *:= 196607_; ok := ok and big1 = 12884639745_; 12768 big1 := 196607_; big1 *:= 65535_; ok := ok and big1 = 12884639745_; 12769 big1 := 1078203909375_; big1 *:= 17878103347812890625_; ok := ok and big1 = 19276240921822134027894287109375_; 12770 big1 := 17878103347812890625_; big1 *:= 1078203909375_; ok := ok and big1 = 19276240921822134027894287109375_; 12771 big1 := 17878103347812890625_; big1 *:= 17878103347812890625_; ok := ok and big1 = 319626579315078487616775634918212890625_; 12772 if not ok then 12773 writeln("Multiplication assignment of bigger bigInteger values does not work correct."); 12774 okay := FALSE; 12775 end if; 12776 12777 ok := TRUE; 12778 big1 := bigintExpr(16#0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef_); 12779 big1 *:= bigintExpr(16#0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef_); 12780 ok := ok and big1 = 16#14b66dc33f6acdca878d6495a927ab94fa645b6812e4895f6d3b523a7ca16729e012490ce65e44f452e93fdf501b22bec5c036b1b9d8008938972d842394de53ab6e24568d51bc1e1e451b28f70e99e8911c11fb60cb77b303f308cdca88557d76c9ffa034453347e9a0f6729e0211125c77ed4507beeedccf4ee417717bcca718b8ff635c630edca5e20890f2a63112330b11be88e95347c0341aec1f2c757d4d5d2419b56f97b2da862d474bb2b9e867af3674e1f5dc1df4d83fa27838fe53820148d00e7c20890f2a51fda4bf42be9c535b2b3b0264f4297c6458d1458729b6a56d866788a95f43ce76b3fdcbcb94d0f77fe1940eedca5e20890f2a521_; 12781 big1 := bigintExpr(16#0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef_); 12782 big1 *:= bigintExpr(16#fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210_); 12783 ok := ok and big1 = 16#121fa00ad77d742247acc9140513b7447d39f21d32a9fa66b2c71b2660403d88e854442f8dd680ab1de16d38bb6cc3cd536e9641e90306ef88fbbf4b16994a11be88e854442f8d33f416115d71c5d05629a33a669f5c13785f30636fccf2569a94bd8c78fa8899bcca4ab582281edcdeffd7de8b55b5200135650794834b632346b2f08801e6be011125c77ed4507adedb989e75a6ba37bca60b756c7923f49a707e4c634b8db1783af1235a1df76e560563fa50f0612b33cfd6d147c2cae8119a49a83e9534a4ef64bc7f35679e61cd2f2f562c3a081eaaf9a22d230c71db88c4150419dedb98668e87db10b145554458fab20783af1222236d88fe5618cf0_; 12784 big1 := bigintExpr(16#fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210_); 12785 big1 *:= bigintExpr(16#0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef_); 12786 ok := ok and big1 = 16#121fa00ad77d742247acc9140513b7447d39f21d32a9fa66b2c71b2660403d88e854442f8dd680ab1de16d38bb6cc3cd536e9641e90306ef88fbbf4b16994a11be88e854442f8d33f416115d71c5d05629a33a669f5c13785f30636fccf2569a94bd8c78fa8899bcca4ab582281edcdeffd7de8b55b5200135650794834b632346b2f08801e6be011125c77ed4507adedb989e75a6ba37bca60b756c7923f49a707e4c634b8db1783af1235a1df76e560563fa50f0612b33cfd6d147c2cae8119a49a83e9534a4ef64bc7f35679e61cd2f2f562c3a081eaaf9a22d230c71db88c4150419dedb98668e87db10b145554458fab20783af1222236d88fe5618cf0_; 12787 big1 := bigintExpr(16#fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210_); 12788 big1 *:= bigintExpr(16#fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210_); 12789 ok := ok and big1 = 16#fdbac097c8dc5aceda61ee073602f69cb7091b76a329926a93b048e610502e38705776557d76ca064cfea3c4ea9d65d429a5d13457c401a2064cfea3c4ea9d6fe2f42c133211393dbf9b59829f37d50b9c4286f20c5e70d978e9b46179850ca75590e1d0e6aba87532380f4053d244430edf3cafc0f8e010eb866a1f2e1f7bdcccb8165f098d620ef010e8ef9c66c6411369bb802f402a7336c28e10c2198ea55a1b60a154f2f2d77d743331e7cc5709a0cd05c27aa5bb3bc425d8530d7f1f6de77eaae3a05883a00ad77d743331e7d22e305004c60b4c045189229558e4b03674e1f525ebbe1468983ac7b67e97789abb939a471170dcccdeec6cd7a44a4100_; 12790 big1 := bigintExpr(16#ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff_); 12791 big1 *:= bigintExpr(16#ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff_); 12792 ok := ok and big1 = 16#fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001_; 12793 if not ok then 12794 writeln("Karatsuba multiplication assignment does not work correct."); 12795 okay := FALSE; 12796 end if; 12797 12798 if okay then 12799 writeln("Multiplication assignment of bigInteger works correct."); 12800 else 12801 writeln(" ***** Multiplication assignment of bigInteger does not work correct."); 12802 writeln; 12803 end if; 12804 end func; 12805 12806 12807const proc: chkDivision is func 12808 local 12809 var bigInteger: number is 0_; 12810 var boolean: okay is TRUE; 12811 begin 12812 if 32766_ div 1_ <> 32766_ or 12813 32767_ div 1_ <> 32767_ or 12814 32768_ div 1_ <> 32768_ or 12815 32769_ div 1_ <> 32769_ or 12816 32770_ div 1_ <> 32770_ or 12817 65534_ div 1_ <> 65534_ or 12818 65535_ div 1_ <> 65535_ or 12819 65536_ div 1_ <> 65536_ or 12820 65537_ div 1_ <> 65537_ or 12821 65538_ div 1_ <> 65538_ or 12822 65536_ div 128_ <> 512_ or 12823 32766_ div 32766_ <> 1_ or 12824 32767_ div 32767_ <> 1_ or 12825 32768_ div 32768_ <> 1_ or 12826 32769_ div 32769_ <> 1_ or 12827 32770_ div 32770_ <> 1_ or 12828 65534_ div 65534_ <> 1_ or 12829 65535_ div 65535_ <> 1_ or 12830 65536_ div 65536_ <> 1_ or 12831 65537_ div 65537_ <> 1_ or 12832 65538_ div 65538_ <> 1_ or 12833 32765_ div 32766_ <> 0_ or 12834 32766_ div 32767_ <> 0_ or 12835 32767_ div 32768_ <> 0_ or 12836 32768_ div 32769_ <> 0_ or 12837 32769_ div 32770_ <> 0_ or 12838 65533_ div 65534_ <> 0_ or 12839 65534_ div 65535_ <> 0_ or 12840 65535_ div 65536_ <> 0_ or 12841 65536_ div 65537_ <> 0_ or 12842 65537_ div 65538_ <> 0_ or 12843 32766_ div 18446744073709551616_ <> 0_ or 12844 32767_ div 18446744073709551616_ <> 0_ or 12845 32768_ div 18446744073709551616_ <> 0_ or 12846 32769_ div 18446744073709551616_ <> 0_ or 12847 32770_ div 18446744073709551616_ <> 0_ or 12848 65534_ div 18446744073709551616_ <> 0_ or 12849 65535_ div 18446744073709551616_ <> 0_ or 12850 65536_ div 18446744073709551616_ <> 0_ or 12851 65537_ div 18446744073709551616_ <> 0_ or 12852 65538_ div 18446744073709551616_ <> 0_ or 12853 2147483647_ div 2147483647_ <> 1_ or 12854 2147483647_ div 2147483648_ <> 0_ or 12855 2147483647_ div 2147483649_ <> 0_ or 12856 2147483648_ div 2147483647_ <> 1_ or 12857 2147483648_ div 2147483648_ <> 1_ or 12858 2147483648_ div 2147483649_ <> 0_ or 12859 2147483649_ div 2147483647_ <> 1_ or 12860 2147483649_ div 2147483648_ <> 1_ or 12861 2147483649_ div 2147483649_ <> 1_ or 12862 4294967295_ div 4294967295_ <> 1_ or 12863 4294967295_ div 4294967296_ <> 0_ or 12864 4294967295_ div 4294967297_ <> 0_ or 12865 4294967296_ div 4294967295_ <> 1_ or 12866 4294967296_ div 4294967296_ <> 1_ or 12867 4294967296_ div 4294967297_ <> 0_ or 12868 4294967297_ div 4294967295_ <> 1_ or 12869 4294967297_ div 4294967296_ <> 1_ or 12870 4294967297_ div 4294967297_ <> 1_ or 12871 140737488355327_ div 140737488355328_ <> 0_ or 12872 140737488355328_ div 140737488355327_ <> 1_ or 12873 140737488355328_ div 140737488355328_ <> 1_ or 12874 140737488355328_ div 140737488355329_ <> 0_ or 12875 9223372036854775807_ div 32768_ <> 281474976710655_ or 12876 9223090561878065152_ div 32767_ <> 281474976710656_ or 12877 4294967296_ div 32768_ <> 131072_ or 12878 4295229444_ div 65538_ <> 65538_ or 12879 8629125120_ div 4833607680_ <> 1_ or 12880 18446744073709551616_ div 32767_ <> 562967133814800_ or 12881 18446744073709551616_ div 32768_ <> 562949953421312_ or 12882 18446744073709551616_ div 65535_ <> 281479271743489_ or 12883 18446744073709551616_ div 131071_ <> 140738562105344_ or 12884 18446744073709551616_ div 2147483648_ <> 8589934592_ or 12885 18446744073709551616_ div 4294967296_ <> 4294967296_ or 12886 18446744073709551616_ div 4294967297_ <> 4294967295_ or 12887 18446744073709551616_ div 18446744073709551616_ <> 1_ or 12888 18446744073709551616_ div 18446744073709551617_ <> 0_ or 12889 9223372036854775808_ div 140737488355329_ <> 65535_ or 12890 9223372036854775808_ div 140737488420863_ <> 65535_ or 12891 9223372036854775808_ div 140737488420864_ <> 65535_ or 12892 9223372036854775808_ div 140741783322623_ <> 65534_ or 12893 1152921504606846976_ div 17596481011711_ <> 65520_ or 12894 9223231303661387776_ div 140739636002821_ <> 65533_ or 12895 39614081257132168796771975168_ div 9223372036854775809_ <> 4294967295_ then 12896 writeln("Division of bigInteger does not work correct. (1)"); 12897 okay := FALSE; 12898 end if; 12899 12900 if 32766_ div -1_ <> -32766_ or 12901 32767_ div -1_ <> -32767_ or 12902 32768_ div -1_ <> -32768_ or 12903 32769_ div -1_ <> -32769_ or 12904 32770_ div -1_ <> -32770_ or 12905 65534_ div -1_ <> -65534_ or 12906 65535_ div -1_ <> -65535_ or 12907 65536_ div -1_ <> -65536_ or 12908 65537_ div -1_ <> -65537_ or 12909 65538_ div -1_ <> -65538_ or 12910 65536_ div -128_ <> -512_ or 12911 32766_ div -32766_ <> -1_ or 12912 32767_ div -32767_ <> -1_ or 12913 32768_ div -32768_ <> -1_ or 12914 32769_ div -32769_ <> -1_ or 12915 32770_ div -32770_ <> -1_ or 12916 65534_ div -65534_ <> -1_ or 12917 65535_ div -65535_ <> -1_ or 12918 65536_ div -65536_ <> -1_ or 12919 65537_ div -65537_ <> -1_ or 12920 65538_ div -65538_ <> -1_ or 12921 32765_ div -32766_ <> 0_ or 12922 32766_ div -32767_ <> 0_ or 12923 32767_ div -32768_ <> 0_ or 12924 32768_ div -32769_ <> 0_ or 12925 32769_ div -32770_ <> 0_ or 12926 65533_ div -65534_ <> 0_ or 12927 65534_ div -65535_ <> 0_ or 12928 65535_ div -65536_ <> 0_ or 12929 65536_ div -65537_ <> 0_ or 12930 65537_ div -65538_ <> 0_ or 12931 32766_ div -18446744073709551616_ <> 0_ or 12932 32767_ div -18446744073709551616_ <> 0_ or 12933 32768_ div -18446744073709551616_ <> 0_ or 12934 32769_ div -18446744073709551616_ <> 0_ or 12935 32770_ div -18446744073709551616_ <> 0_ or 12936 65534_ div -18446744073709551616_ <> 0_ or 12937 65535_ div -18446744073709551616_ <> 0_ or 12938 65536_ div -18446744073709551616_ <> 0_ or 12939 65537_ div -18446744073709551616_ <> 0_ or 12940 65538_ div -18446744073709551616_ <> 0_ or 12941 2147483647_ div -2147483647_ <> -1_ or 12942 2147483647_ div -2147483648_ <> 0_ or 12943 2147483647_ div -2147483649_ <> 0_ or 12944 2147483648_ div -2147483647_ <> -1_ or 12945 2147483648_ div -2147483648_ <> -1_ or 12946 2147483648_ div -2147483649_ <> 0_ or 12947 2147483649_ div -2147483647_ <> -1_ or 12948 2147483649_ div -2147483648_ <> -1_ or 12949 2147483649_ div -2147483649_ <> -1_ or 12950 4294967295_ div -4294967295_ <> -1_ or 12951 4294967295_ div -4294967296_ <> 0_ or 12952 4294967295_ div -4294967297_ <> 0_ or 12953 4294967296_ div -4294967295_ <> -1_ or 12954 4294967296_ div -4294967296_ <> -1_ or 12955 4294967296_ div -4294967297_ <> 0_ or 12956 4294967297_ div -4294967295_ <> -1_ or 12957 4294967297_ div -4294967296_ <> -1_ or 12958 4294967297_ div -4294967297_ <> -1_ or 12959 140737488355327_ div -140737488355328_ <> 0_ or 12960 140737488355328_ div -140737488355327_ <> -1_ or 12961 140737488355328_ div -140737488355328_ <> -1_ or 12962 140737488355328_ div -140737488355329_ <> 0_ or 12963 9223372036854775807_ div -32768_ <> -281474976710655_ or 12964 9223090561878065152_ div -32767_ <> -281474976710656_ or 12965 4294967296_ div -32768_ <> -131072_ or 12966 4295229444_ div -65538_ <> -65538_ or 12967 8629125120_ div -4833607680_ <> -1_ or 12968 18446744073709551616_ div -32767_ <> -562967133814800_ or 12969 18446744073709551616_ div -32768_ <> -562949953421312_ or 12970 18446744073709551616_ div -65535_ <> -281479271743489_ or 12971 18446744073709551616_ div -131071_ <> -140738562105344_ or 12972 18446744073709551616_ div -2147483648_ <> -8589934592_ or 12973 18446744073709551616_ div -4294967296_ <> -4294967296_ or 12974 18446744073709551616_ div -4294967297_ <> -4294967295_ or 12975 18446744073709551616_ div -18446744073709551616_ <> -1_ or 12976 18446744073709551616_ div -18446744073709551617_ <> 0_ or 12977 9223372036854775808_ div -140737488355329_ <> -65535_ or 12978 9223372036854775808_ div -140737488420863_ <> -65535_ or 12979 9223372036854775808_ div -140737488420864_ <> -65535_ or 12980 9223372036854775808_ div -140741783322623_ <> -65534_ or 12981 1152921504606846976_ div -17596481011711_ <> -65520_ or 12982 9223231303661387776_ div -140739636002821_ <> -65533_ or 12983 39614081257132168796771975168_ div -9223372036854775809_ <> -4294967295_ then 12984 writeln("Division of bigInteger does not work correct. (2)"); 12985 okay := FALSE; 12986 end if; 12987 12988 if -32766_ div 1_ <> -32766_ or 12989 -32767_ div 1_ <> -32767_ or 12990 -32768_ div 1_ <> -32768_ or 12991 -32769_ div 1_ <> -32769_ or 12992 -32770_ div 1_ <> -32770_ or 12993 -65534_ div 1_ <> -65534_ or 12994 -65535_ div 1_ <> -65535_ or 12995 -65536_ div 1_ <> -65536_ or 12996 -65537_ div 1_ <> -65537_ or 12997 -65538_ div 1_ <> -65538_ or 12998 -65536_ div 128_ <> -512_ or 12999 -32766_ div 32766_ <> -1_ or 13000 -32767_ div 32767_ <> -1_ or 13001 -32768_ div 32768_ <> -1_ or 13002 -32769_ div 32769_ <> -1_ or 13003 -32770_ div 32770_ <> -1_ or 13004 -65534_ div 65534_ <> -1_ or 13005 -65535_ div 65535_ <> -1_ or 13006 -65536_ div 65536_ <> -1_ or 13007 -65537_ div 65537_ <> -1_ or 13008 -65538_ div 65538_ <> -1_ or 13009 -32765_ div 32766_ <> 0_ or 13010 -32766_ div 32767_ <> 0_ or 13011 -32767_ div 32768_ <> 0_ or 13012 -32768_ div 32769_ <> 0_ or 13013 -32769_ div 32770_ <> 0_ or 13014 -65533_ div 65534_ <> 0_ or 13015 -65534_ div 65535_ <> 0_ or 13016 -65535_ div 65536_ <> 0_ or 13017 -65536_ div 65537_ <> 0_ or 13018 -65537_ div 65538_ <> 0_ or 13019 -32766_ div 18446744073709551616_ <> 0_ or 13020 -32767_ div 18446744073709551616_ <> 0_ or 13021 -32768_ div 18446744073709551616_ <> 0_ or 13022 -32769_ div 18446744073709551616_ <> 0_ or 13023 -32770_ div 18446744073709551616_ <> 0_ or 13024 -65534_ div 18446744073709551616_ <> 0_ or 13025 -65535_ div 18446744073709551616_ <> 0_ or 13026 -65536_ div 18446744073709551616_ <> 0_ or 13027 -65537_ div 18446744073709551616_ <> 0_ or 13028 -65538_ div 18446744073709551616_ <> 0_ or 13029 -2147483647_ div 2147483647_ <> -1_ or 13030 -2147483647_ div 2147483648_ <> 0_ or 13031 -2147483647_ div 2147483649_ <> 0_ or 13032 -2147483648_ div 2147483647_ <> -1_ or 13033 -2147483648_ div 2147483648_ <> -1_ or 13034 -2147483648_ div 2147483649_ <> 0_ or 13035 -2147483649_ div 2147483647_ <> -1_ or 13036 -2147483649_ div 2147483648_ <> -1_ or 13037 -2147483649_ div 2147483649_ <> -1_ or 13038 -4294967295_ div 4294967295_ <> -1_ or 13039 -4294967295_ div 4294967296_ <> 0_ or 13040 -4294967295_ div 4294967297_ <> 0_ or 13041 -4294967296_ div 4294967295_ <> -1_ or 13042 -4294967296_ div 4294967296_ <> -1_ or 13043 -4294967296_ div 4294967297_ <> 0_ or 13044 -4294967297_ div 4294967295_ <> -1_ or 13045 -4294967297_ div 4294967296_ <> -1_ or 13046 -4294967297_ div 4294967297_ <> -1_ or 13047 -140737488355327_ div 140737488355328_ <> 0_ or 13048 -140737488355328_ div 140737488355327_ <> -1_ or 13049 -140737488355328_ div 140737488355328_ <> -1_ or 13050 -140737488355328_ div 140737488355329_ <> 0_ or 13051 -9223372036854775807_ div 32768_ <> -281474976710655_ or 13052 -9223090561878065152_ div 32767_ <> -281474976710656_ or 13053 -4294967296_ div 32768_ <> -131072_ or 13054 -4295229444_ div 65538_ <> -65538_ or 13055 -8629125120_ div 4833607680_ <> -1_ or 13056 -18446744073709551616_ div 32767_ <> -562967133814800_ or 13057 -18446744073709551616_ div 32768_ <> -562949953421312_ or 13058 -18446744073709551616_ div 65535_ <> -281479271743489_ or 13059 -18446744073709551616_ div 131071_ <> -140738562105344_ or 13060 -18446744073709551616_ div 2147483648_ <> -8589934592_ or 13061 -18446744073709551616_ div 4294967296_ <> -4294967296_ or 13062 -18446744073709551616_ div 4294967297_ <> -4294967295_ or 13063 -18446744073709551616_ div 18446744073709551616_ <> -1_ or 13064 -18446744073709551616_ div 18446744073709551617_ <> 0_ or 13065 -9223372036854775808_ div 140737488355329_ <> -65535_ or 13066 -9223372036854775808_ div 140737488420863_ <> -65535_ or 13067 -9223372036854775808_ div 140737488420864_ <> -65535_ or 13068 -9223372036854775808_ div 140741783322623_ <> -65534_ or 13069 -1152921504606846976_ div 17596481011711_ <> -65520_ or 13070 -9223231303661387776_ div 140739636002821_ <> -65533_ or 13071 -39614081257132168796771975168_ div 9223372036854775809_ <> -4294967295_ then 13072 writeln("Division of bigInteger does not work correct. (3)"); 13073 okay := FALSE; 13074 end if; 13075 13076 if -32766_ div -1_ <> 32766_ or 13077 -32767_ div -1_ <> 32767_ or 13078 -32768_ div -1_ <> 32768_ or 13079 -32769_ div -1_ <> 32769_ or 13080 -32770_ div -1_ <> 32770_ or 13081 -65534_ div -1_ <> 65534_ or 13082 -65535_ div -1_ <> 65535_ or 13083 -65536_ div -1_ <> 65536_ or 13084 -65537_ div -1_ <> 65537_ or 13085 -65538_ div -1_ <> 65538_ or 13086 -65536_ div -128_ <> 512_ or 13087 -32766_ div -32766_ <> 1_ or 13088 -32767_ div -32767_ <> 1_ or 13089 -32768_ div -32768_ <> 1_ or 13090 -32769_ div -32769_ <> 1_ or 13091 -32770_ div -32770_ <> 1_ or 13092 -65534_ div -65534_ <> 1_ or 13093 -65535_ div -65535_ <> 1_ or 13094 -65536_ div -65536_ <> 1_ or 13095 -65537_ div -65537_ <> 1_ or 13096 -65538_ div -65538_ <> 1_ or 13097 -32765_ div -32766_ <> 0_ or 13098 -32766_ div -32767_ <> 0_ or 13099 -32767_ div -32768_ <> 0_ or 13100 -32768_ div -32769_ <> 0_ or 13101 -32769_ div -32770_ <> 0_ or 13102 -65533_ div -65534_ <> 0_ or 13103 -65534_ div -65535_ <> 0_ or 13104 -65535_ div -65536_ <> 0_ or 13105 -65536_ div -65537_ <> 0_ or 13106 -65537_ div -65538_ <> 0_ or 13107 -32766_ div -18446744073709551616_ <> 0_ or 13108 -32767_ div -18446744073709551616_ <> 0_ or 13109 -32768_ div -18446744073709551616_ <> 0_ or 13110 -32769_ div -18446744073709551616_ <> 0_ or 13111 -32770_ div -18446744073709551616_ <> 0_ or 13112 -65534_ div -18446744073709551616_ <> 0_ or 13113 -65535_ div -18446744073709551616_ <> 0_ or 13114 -65536_ div -18446744073709551616_ <> 0_ or 13115 -65537_ div -18446744073709551616_ <> 0_ or 13116 -65538_ div -18446744073709551616_ <> 0_ or 13117 -2147483647_ div -2147483647_ <> 1_ or 13118 -2147483647_ div -2147483648_ <> 0_ or 13119 -2147483647_ div -2147483649_ <> 0_ or 13120 -2147483648_ div -2147483647_ <> 1_ or 13121 -2147483648_ div -2147483648_ <> 1_ or 13122 -2147483648_ div -2147483649_ <> 0_ or 13123 -2147483649_ div -2147483647_ <> 1_ or 13124 -2147483649_ div -2147483648_ <> 1_ or 13125 -2147483649_ div -2147483649_ <> 1_ or 13126 -4294967295_ div -4294967295_ <> 1_ or 13127 -4294967295_ div -4294967296_ <> 0_ or 13128 -4294967295_ div -4294967297_ <> 0_ or 13129 -4294967296_ div -4294967295_ <> 1_ or 13130 -4294967296_ div -4294967296_ <> 1_ or 13131 -4294967296_ div -4294967297_ <> 0_ or 13132 -4294967297_ div -4294967295_ <> 1_ or 13133 -4294967297_ div -4294967296_ <> 1_ or 13134 -4294967297_ div -4294967297_ <> 1_ or 13135 -140737488355327_ div -140737488355328_ <> 0_ or 13136 -140737488355328_ div -140737488355327_ <> 1_ or 13137 -140737488355328_ div -140737488355328_ <> 1_ or 13138 -140737488355328_ div -140737488355329_ <> 0_ or 13139 -9223372036854775807_ div -32768_ <> 281474976710655_ or 13140 -9223090561878065152_ div -32767_ <> 281474976710656_ or 13141 -4294967296_ div -32768_ <> 131072_ or 13142 -4295229444_ div -65538_ <> 65538_ or 13143 -8629125120_ div -4833607680_ <> 1_ or 13144 -18446744073709551616_ div -32767_ <> 562967133814800_ or 13145 -18446744073709551616_ div -32768_ <> 562949953421312_ or 13146 -18446744073709551616_ div -65535_ <> 281479271743489_ or 13147 -18446744073709551616_ div -131071_ <> 140738562105344_ or 13148 -18446744073709551616_ div -2147483648_ <> 8589934592_ or 13149 -18446744073709551616_ div -4294967296_ <> 4294967296_ or 13150 -18446744073709551616_ div -4294967297_ <> 4294967295_ or 13151 -18446744073709551616_ div -18446744073709551616_ <> 1_ or 13152 -18446744073709551616_ div -18446744073709551617_ <> 0_ or 13153 -9223372036854775808_ div -140737488355329_ <> 65535_ or 13154 -9223372036854775808_ div -140737488420863_ <> 65535_ or 13155 -9223372036854775808_ div -140737488420864_ <> 65535_ or 13156 -9223372036854775808_ div -140741783322623_ <> 65534_ or 13157 -1152921504606846976_ div -17596481011711_ <> 65520_ or 13158 -9223231303661387776_ div -140739636002821_ <> 65533_ or 13159 -39614081257132168796771975168_ div -9223372036854775809_ <> 4294967295_ then 13160 writeln("Division of bigInteger does not work correct. (4)"); 13161 okay := FALSE; 13162 end if; 13163 13164 if -9223372036854775808_ div 9223372036854775808_ <> -1_ or 13165 -9223372036854775808_ div 9223372036854775809_ <> 0_ or 13166 -9223372036854775807_ div 9223372036854775808_ <> 0_ or 13167 -9223372036854775808_ div bigintExpr(9223372036854775808_) <> -1_ or 13168 -9223372036854775808_ div bigintExpr(9223372036854775809_) <> 0_ or 13169 -9223372036854775807_ div bigintExpr(9223372036854775808_) <> 0_ or 13170 bigintExpr(-9223372036854775808_) div 9223372036854775808_ <> -1_ or 13171 bigintExpr(-9223372036854775808_) div 9223372036854775809_ <> 0_ or 13172 bigintExpr(-9223372036854775807_) div 9223372036854775808_ <> 0_ or 13173 bigintExpr(-9223372036854775808_) div bigintExpr(9223372036854775808_) <> -1_ or 13174 bigintExpr(-9223372036854775808_) div bigintExpr(9223372036854775809_) <> 0_ or 13175 bigintExpr(-9223372036854775807_) div bigintExpr(9223372036854775808_) <> 0_ or 13176 -39614081257132168796771975168_ div 39614081257132168796771975168_ <> -1_ or 13177 -39614081257132168796771975168_ div 39614081257132168796771975169_ <> 0_ or 13178 -39614081257132168796771975167_ div 39614081257132168796771975168_ <> 0_ or 13179 -39614081257132168796771975168_ div bigintExpr(39614081257132168796771975168_) <> -1_ or 13180 -39614081257132168796771975168_ div bigintExpr(39614081257132168796771975169_) <> 0_ or 13181 -39614081257132168796771975167_ div bigintExpr(39614081257132168796771975168_) <> 0_ or 13182 bigintExpr(-39614081257132168796771975168_) div 39614081257132168796771975168_ <> -1_ or 13183 bigintExpr(-39614081257132168796771975168_) div 39614081257132168796771975169_ <> 0_ or 13184 bigintExpr(-39614081257132168796771975167_) div 39614081257132168796771975168_ <> 0_ or 13185 bigintExpr(-39614081257132168796771975168_) div bigintExpr(39614081257132168796771975168_) <> -1_ or 13186 bigintExpr(-39614081257132168796771975168_) div bigintExpr(39614081257132168796771975169_) <> 0_ or 13187 bigintExpr(-39614081257132168796771975167_) div bigintExpr(39614081257132168796771975168_) <> 0_ or 13188 -170141183460469231731687303715884105728_ div 170141183460469231731687303715884105728_ <> -1_ or 13189 -170141183460469231731687303715884105728_ div 170141183460469231731687303715884105729_ <> 0_ or 13190 -170141183460469231731687303715884105727_ div 170141183460469231731687303715884105728_ <> 0_ or 13191 -170141183460469231731687303715884105728_ div bigintExpr(170141183460469231731687303715884105728_) <> -1_ or 13192 -170141183460469231731687303715884105728_ div bigintExpr(170141183460469231731687303715884105729_) <> 0_ or 13193 -170141183460469231731687303715884105727_ div bigintExpr(170141183460469231731687303715884105728_) <> 0_ or 13194 bigintExpr(-170141183460469231731687303715884105728_) div 170141183460469231731687303715884105728_ <> -1_ or 13195 bigintExpr(-170141183460469231731687303715884105728_) div 170141183460469231731687303715884105729_ <> 0_ or 13196 bigintExpr(-170141183460469231731687303715884105727_) div 170141183460469231731687303715884105728_ <> 0_ or 13197 bigintExpr(-170141183460469231731687303715884105728_) div bigintExpr(170141183460469231731687303715884105728_) <> -1_ or 13198 bigintExpr(-170141183460469231731687303715884105728_) div bigintExpr(170141183460469231731687303715884105729_) <> 0_ or 13199 bigintExpr(-170141183460469231731687303715884105727_) div bigintExpr(170141183460469231731687303715884105728_) <> 0_ then 13200 writeln("Division of bigInteger does not work correct. (5)"); 13201 okay := FALSE; 13202 end if; 13203 13204 if 0_ div -170141183460469231731687303715884105729_ <> 0_ or 13205 0_ div -170141183460469231731687303715884105728_ <> 0_ or 13206 0_ div -9223372036854775809_ <> 0_ or 13207 0_ div -9223372036854775808_ <> 0_ or 13208 0_ div -2147483649_ <> 0_ or 13209 0_ div -2147483648_ <> 0_ or 13210 0_ div -32769_ <> 0_ or 13211 0_ div -32768_ <> 0_ or 13212 0_ div -129_ <> 0_ or 13213 0_ div -128_ <> 0_ or 13214 0_ div -1_ <> 0_ or 13215 0_ div 1_ <> 0_ or 13216 0_ div 127_ <> 0_ or 13217 0_ div 128_ <> 0_ or 13218 0_ div 32767_ <> 0_ or 13219 0_ div 32768_ <> 0_ or 13220 0_ div 2147483647_ <> 0_ or 13221 0_ div 2147483648_ <> 0_ or 13222 0_ div 9223372036854775807_ <> 0_ or 13223 0_ div 9223372036854775808_ <> 0_ or 13224 0_ div 170141183460469231731687303715884105727_ <> 0_ or 13225 0_ div 170141183460469231731687303715884105728_ <> 0_ or 13226 0_ div bigintExpr(-170141183460469231731687303715884105729_) <> 0_ or 13227 0_ div bigintExpr(-170141183460469231731687303715884105728_) <> 0_ or 13228 0_ div bigintExpr( -9223372036854775809_) <> 0_ or 13229 0_ div bigintExpr( -9223372036854775808_) <> 0_ or 13230 0_ div bigintExpr( -2147483649_) <> 0_ or 13231 0_ div bigintExpr( -2147483648_) <> 0_ or 13232 0_ div bigintExpr( -32769_) <> 0_ or 13233 0_ div bigintExpr( -32768_) <> 0_ or 13234 0_ div bigintExpr( -129_) <> 0_ or 13235 0_ div bigintExpr( -128_) <> 0_ or 13236 0_ div bigintExpr( -1_) <> 0_ or 13237 0_ div bigintExpr( 1_) <> 0_ or 13238 0_ div bigintExpr( 127_) <> 0_ or 13239 0_ div bigintExpr( 128_) <> 0_ or 13240 0_ div bigintExpr( 32767_) <> 0_ or 13241 0_ div bigintExpr( 32768_) <> 0_ or 13242 0_ div bigintExpr( 2147483647_) <> 0_ or 13243 0_ div bigintExpr( 2147483648_) <> 0_ or 13244 0_ div bigintExpr( 9223372036854775807_) <> 0_ or 13245 0_ div bigintExpr( 9223372036854775808_) <> 0_ or 13246 0_ div bigintExpr( 170141183460469231731687303715884105727_) <> 0_ or 13247 0_ div bigintExpr( 170141183460469231731687303715884105728_) <> 0_ or 13248 bigintExpr(0_) div -170141183460469231731687303715884105729_ <> 0_ or 13249 bigintExpr(0_) div -170141183460469231731687303715884105728_ <> 0_ or 13250 bigintExpr(0_) div -9223372036854775809_ <> 0_ or 13251 bigintExpr(0_) div -9223372036854775808_ <> 0_ or 13252 bigintExpr(0_) div -2147483649_ <> 0_ or 13253 bigintExpr(0_) div -2147483648_ <> 0_ or 13254 bigintExpr(0_) div -32769_ <> 0_ or 13255 bigintExpr(0_) div -32768_ <> 0_ or 13256 bigintExpr(0_) div -129_ <> 0_ or 13257 bigintExpr(0_) div -128_ <> 0_ or 13258 bigintExpr(0_) div -1_ <> 0_ or 13259 bigintExpr(0_) div 1_ <> 0_ or 13260 bigintExpr(0_) div 127_ <> 0_ or 13261 bigintExpr(0_) div 128_ <> 0_ or 13262 bigintExpr(0_) div 32767_ <> 0_ or 13263 bigintExpr(0_) div 32768_ <> 0_ or 13264 bigintExpr(0_) div 2147483647_ <> 0_ or 13265 bigintExpr(0_) div 2147483648_ <> 0_ or 13266 bigintExpr(0_) div 9223372036854775807_ <> 0_ or 13267 bigintExpr(0_) div 9223372036854775808_ <> 0_ or 13268 bigintExpr(0_) div 170141183460469231731687303715884105727_ <> 0_ or 13269 bigintExpr(0_) div 170141183460469231731687303715884105728_ <> 0_ or 13270 bigintExpr(0_) div bigintExpr(-170141183460469231731687303715884105729_) <> 0_ or 13271 bigintExpr(0_) div bigintExpr(-170141183460469231731687303715884105728_) <> 0_ or 13272 bigintExpr(0_) div bigintExpr( -9223372036854775809_) <> 0_ or 13273 bigintExpr(0_) div bigintExpr( -9223372036854775808_) <> 0_ or 13274 bigintExpr(0_) div bigintExpr( -2147483649_) <> 0_ or 13275 bigintExpr(0_) div bigintExpr( -2147483648_) <> 0_ or 13276 bigintExpr(0_) div bigintExpr( -32769_) <> 0_ or 13277 bigintExpr(0_) div bigintExpr( -32768_) <> 0_ or 13278 bigintExpr(0_) div bigintExpr( -129_) <> 0_ or 13279 bigintExpr(0_) div bigintExpr( -128_) <> 0_ or 13280 bigintExpr(0_) div bigintExpr( -1_) <> 0_ or 13281 bigintExpr(0_) div bigintExpr( 1_) <> 0_ or 13282 bigintExpr(0_) div bigintExpr( 127_) <> 0_ or 13283 bigintExpr(0_) div bigintExpr( 128_) <> 0_ or 13284 bigintExpr(0_) div bigintExpr( 32767_) <> 0_ or 13285 bigintExpr(0_) div bigintExpr( 32768_) <> 0_ or 13286 bigintExpr(0_) div bigintExpr( 2147483647_) <> 0_ or 13287 bigintExpr(0_) div bigintExpr( 2147483648_) <> 0_ or 13288 bigintExpr(0_) div bigintExpr( 9223372036854775807_) <> 0_ or 13289 bigintExpr(0_) div bigintExpr( 9223372036854775808_) <> 0_ or 13290 bigintExpr(0_) div bigintExpr( 170141183460469231731687303715884105727_) <> 0_ or 13291 bigintExpr(0_) div bigintExpr( 170141183460469231731687303715884105728_) <> 0_ then 13292 writeln("Division of bigInteger does not work correct. (6)"); 13293 okay := FALSE; 13294 end if; 13295 13296 if 280223983525050_ div 1_ <> 280223983525050_ or 13297 280223983525050_ div 2_ <> 140111991762525_ or 13298 280223983525050_ div 4_ <> 70055995881262_ or 13299 280223983525050_ div 8_ <> 35027997940631_ or 13300 280223983525050_ div 1024_ <> 273656233911_ or 13301 280223983525050_ div 1048576_ <> 267242415_ or 13302 280223983525050_ div 1073741824_ <> 260978_ or 13303 280223983525050_ div 2147483648_ <> 130489_ or 13304 280223983525050_ div 4294967296_ <> 65244_ or 13305 280223983525050_ div 1099511627776_ <> 254_ or 13306 280223983525050_ div -1_ <> -280223983525050_ or 13307 280223983525050_ div -2_ <> -140111991762525_ or 13308 280223983525050_ div -4_ <> -70055995881262_ or 13309 280223983525050_ div -8_ <> -35027997940631_ or 13310 280223983525050_ div -1024_ <> -273656233911_ or 13311 280223983525050_ div -1048576_ <> -267242415_ or 13312 280223983525050_ div -1073741824_ <> -260978_ or 13313 280223983525050_ div -2147483648_ <> -130489_ or 13314 280223983525050_ div -4294967296_ <> -65244_ or 13315 280223983525050_ div -1099511627776_ <> -254_ or 13316 -280223983525050_ div 1_ <> -280223983525050_ or 13317 -280223983525050_ div 2_ <> -140111991762525_ or 13318 -280223983525050_ div 4_ <> -70055995881262_ or 13319 -280223983525050_ div 8_ <> -35027997940631_ or 13320 -280223983525050_ div 1024_ <> -273656233911_ or 13321 -280223983525050_ div 1048576_ <> -267242415_ or 13322 -280223983525050_ div 1073741824_ <> -260978_ or 13323 -280223983525050_ div 2147483648_ <> -130489_ or 13324 -280223983525050_ div 4294967296_ <> -65244_ or 13325 -280223983525050_ div 1099511627776_ <> -254_ or 13326 -280223983525050_ div -1_ <> 280223983525050_ or 13327 -280223983525050_ div -2_ <> 140111991762525_ or 13328 -280223983525050_ div -4_ <> 70055995881262_ or 13329 -280223983525050_ div -8_ <> 35027997940631_ or 13330 -280223983525050_ div -1024_ <> 273656233911_ or 13331 -280223983525050_ div -1048576_ <> 267242415_ or 13332 -280223983525050_ div -1073741824_ <> 260978_ or 13333 -280223983525050_ div -2147483648_ <> 130489_ or 13334 -280223983525050_ div -4294967296_ <> 65244_ or 13335 -280223983525050_ div -1099511627776_ <> 254_ or 13336 13337 280223983525050_ div bigintExpr( 1_) <> 280223983525050_ or 13338 280223983525050_ div bigintExpr( 2_) <> 140111991762525_ or 13339 280223983525050_ div bigintExpr( 4_) <> 70055995881262_ or 13340 280223983525050_ div bigintExpr( 8_) <> 35027997940631_ or 13341 280223983525050_ div bigintExpr( 1024_) <> 273656233911_ or 13342 280223983525050_ div bigintExpr( 1048576_) <> 267242415_ or 13343 280223983525050_ div bigintExpr( 1073741824_) <> 260978_ or 13344 280223983525050_ div bigintExpr( 2147483648_) <> 130489_ or 13345 280223983525050_ div bigintExpr( 4294967296_) <> 65244_ or 13346 280223983525050_ div bigintExpr( 1099511627776_) <> 254_ or 13347 280223983525050_ div bigintExpr( -1_) <> -280223983525050_ or 13348 280223983525050_ div bigintExpr( -2_) <> -140111991762525_ or 13349 280223983525050_ div bigintExpr( -4_) <> -70055995881262_ or 13350 280223983525050_ div bigintExpr( -8_) <> -35027997940631_ or 13351 280223983525050_ div bigintExpr( -1024_) <> -273656233911_ or 13352 280223983525050_ div bigintExpr( -1048576_) <> -267242415_ or 13353 280223983525050_ div bigintExpr( -1073741824_) <> -260978_ or 13354 280223983525050_ div bigintExpr( -2147483648_) <> -130489_ or 13355 280223983525050_ div bigintExpr( -4294967296_) <> -65244_ or 13356 280223983525050_ div bigintExpr(-1099511627776_) <> -254_ or 13357 -280223983525050_ div bigintExpr( 1_) <> -280223983525050_ or 13358 -280223983525050_ div bigintExpr( 2_) <> -140111991762525_ or 13359 -280223983525050_ div bigintExpr( 4_) <> -70055995881262_ or 13360 -280223983525050_ div bigintExpr( 8_) <> -35027997940631_ or 13361 -280223983525050_ div bigintExpr( 1024_) <> -273656233911_ or 13362 -280223983525050_ div bigintExpr( 1048576_) <> -267242415_ or 13363 -280223983525050_ div bigintExpr( 1073741824_) <> -260978_ or 13364 -280223983525050_ div bigintExpr( 2147483648_) <> -130489_ or 13365 -280223983525050_ div bigintExpr( 4294967296_) <> -65244_ or 13366 -280223983525050_ div bigintExpr( 1099511627776_) <> -254_ or 13367 -280223983525050_ div bigintExpr( -1_) <> 280223983525050_ or 13368 -280223983525050_ div bigintExpr( -2_) <> 140111991762525_ or 13369 -280223983525050_ div bigintExpr( -4_) <> 70055995881262_ or 13370 -280223983525050_ div bigintExpr( -8_) <> 35027997940631_ or 13371 -280223983525050_ div bigintExpr( -1024_) <> 273656233911_ or 13372 -280223983525050_ div bigintExpr( -1048576_) <> 267242415_ or 13373 -280223983525050_ div bigintExpr( -1073741824_) <> 260978_ or 13374 -280223983525050_ div bigintExpr( -2147483648_) <> 130489_ or 13375 -280223983525050_ div bigintExpr( -4294967296_) <> 65244_ or 13376 -280223983525050_ div bigintExpr(-1099511627776_) <> 254_ or 13377 13378 bigintExpr( 280223983525050_) div 1_ <> 280223983525050_ or 13379 bigintExpr( 280223983525050_) div 2_ <> 140111991762525_ or 13380 bigintExpr( 280223983525050_) div 4_ <> 70055995881262_ or 13381 bigintExpr( 280223983525050_) div 8_ <> 35027997940631_ or 13382 bigintExpr( 280223983525050_) div 1024_ <> 273656233911_ or 13383 bigintExpr( 280223983525050_) div 1048576_ <> 267242415_ or 13384 bigintExpr( 280223983525050_) div 1073741824_ <> 260978_ or 13385 bigintExpr( 280223983525050_) div 2147483648_ <> 130489_ or 13386 bigintExpr( 280223983525050_) div 4294967296_ <> 65244_ or 13387 bigintExpr( 280223983525050_) div 1099511627776_ <> 254_ or 13388 bigintExpr( 280223983525050_) div -1_ <> -280223983525050_ or 13389 bigintExpr( 280223983525050_) div -2_ <> -140111991762525_ or 13390 bigintExpr( 280223983525050_) div -4_ <> -70055995881262_ or 13391 bigintExpr( 280223983525050_) div -8_ <> -35027997940631_ or 13392 bigintExpr( 280223983525050_) div -1024_ <> -273656233911_ or 13393 bigintExpr( 280223983525050_) div -1048576_ <> -267242415_ or 13394 bigintExpr( 280223983525050_) div -1073741824_ <> -260978_ or 13395 bigintExpr( 280223983525050_) div -2147483648_ <> -130489_ or 13396 bigintExpr( 280223983525050_) div -4294967296_ <> -65244_ or 13397 bigintExpr( 280223983525050_) div -1099511627776_ <> -254_ or 13398 bigintExpr(-280223983525050_) div 1_ <> -280223983525050_ or 13399 bigintExpr(-280223983525050_) div 2_ <> -140111991762525_ or 13400 bigintExpr(-280223983525050_) div 4_ <> -70055995881262_ or 13401 bigintExpr(-280223983525050_) div 8_ <> -35027997940631_ or 13402 bigintExpr(-280223983525050_) div 1024_ <> -273656233911_ or 13403 bigintExpr(-280223983525050_) div 1048576_ <> -267242415_ or 13404 bigintExpr(-280223983525050_) div 1073741824_ <> -260978_ or 13405 bigintExpr(-280223983525050_) div 2147483648_ <> -130489_ or 13406 bigintExpr(-280223983525050_) div 4294967296_ <> -65244_ or 13407 bigintExpr(-280223983525050_) div 1099511627776_ <> -254_ or 13408 bigintExpr(-280223983525050_) div -1_ <> 280223983525050_ or 13409 bigintExpr(-280223983525050_) div -2_ <> 140111991762525_ or 13410 bigintExpr(-280223983525050_) div -4_ <> 70055995881262_ or 13411 bigintExpr(-280223983525050_) div -8_ <> 35027997940631_ or 13412 bigintExpr(-280223983525050_) div -1024_ <> 273656233911_ or 13413 bigintExpr(-280223983525050_) div -1048576_ <> 267242415_ or 13414 bigintExpr(-280223983525050_) div -1073741824_ <> 260978_ or 13415 bigintExpr(-280223983525050_) div -2147483648_ <> 130489_ or 13416 bigintExpr(-280223983525050_) div -4294967296_ <> 65244_ or 13417 bigintExpr(-280223983525050_) div -1099511627776_ <> 254_ or 13418 13419 bigintExpr( 280223983525050_) div bigintExpr( 1_) <> 280223983525050_ or 13420 bigintExpr( 280223983525050_) div bigintExpr( 2_) <> 140111991762525_ or 13421 bigintExpr( 280223983525050_) div bigintExpr( 4_) <> 70055995881262_ or 13422 bigintExpr( 280223983525050_) div bigintExpr( 8_) <> 35027997940631_ or 13423 bigintExpr( 280223983525050_) div bigintExpr( 1024_) <> 273656233911_ or 13424 bigintExpr( 280223983525050_) div bigintExpr( 1048576_) <> 267242415_ or 13425 bigintExpr( 280223983525050_) div bigintExpr( 1073741824_) <> 260978_ or 13426 bigintExpr( 280223983525050_) div bigintExpr( 2147483648_) <> 130489_ or 13427 bigintExpr( 280223983525050_) div bigintExpr( 4294967296_) <> 65244_ or 13428 bigintExpr( 280223983525050_) div bigintExpr( 1099511627776_) <> 254_ or 13429 bigintExpr( 280223983525050_) div bigintExpr( -1_) <> -280223983525050_ or 13430 bigintExpr( 280223983525050_) div bigintExpr( -2_) <> -140111991762525_ or 13431 bigintExpr( 280223983525050_) div bigintExpr( -4_) <> -70055995881262_ or 13432 bigintExpr( 280223983525050_) div bigintExpr( -8_) <> -35027997940631_ or 13433 bigintExpr( 280223983525050_) div bigintExpr( -1024_) <> -273656233911_ or 13434 bigintExpr( 280223983525050_) div bigintExpr( -1048576_) <> -267242415_ or 13435 bigintExpr( 280223983525050_) div bigintExpr( -1073741824_) <> -260978_ or 13436 bigintExpr( 280223983525050_) div bigintExpr( -2147483648_) <> -130489_ or 13437 bigintExpr( 280223983525050_) div bigintExpr( -4294967296_) <> -65244_ or 13438 bigintExpr( 280223983525050_) div bigintExpr(-1099511627776_) <> -254_ or 13439 bigintExpr(-280223983525050_) div bigintExpr( 1_) <> -280223983525050_ or 13440 bigintExpr(-280223983525050_) div bigintExpr( 2_) <> -140111991762525_ or 13441 bigintExpr(-280223983525050_) div bigintExpr( 4_) <> -70055995881262_ or 13442 bigintExpr(-280223983525050_) div bigintExpr( 8_) <> -35027997940631_ or 13443 bigintExpr(-280223983525050_) div bigintExpr( 1024_) <> -273656233911_ or 13444 bigintExpr(-280223983525050_) div bigintExpr( 1048576_) <> -267242415_ or 13445 bigintExpr(-280223983525050_) div bigintExpr( 1073741824_) <> -260978_ or 13446 bigintExpr(-280223983525050_) div bigintExpr( 2147483648_) <> -130489_ or 13447 bigintExpr(-280223983525050_) div bigintExpr( 4294967296_) <> -65244_ or 13448 bigintExpr(-280223983525050_) div bigintExpr( 1099511627776_) <> -254_ or 13449 bigintExpr(-280223983525050_) div bigintExpr( -1_) <> 280223983525050_ or 13450 bigintExpr(-280223983525050_) div bigintExpr( -2_) <> 140111991762525_ or 13451 bigintExpr(-280223983525050_) div bigintExpr( -4_) <> 70055995881262_ or 13452 bigintExpr(-280223983525050_) div bigintExpr( -8_) <> 35027997940631_ or 13453 bigintExpr(-280223983525050_) div bigintExpr( -1024_) <> 273656233911_ or 13454 bigintExpr(-280223983525050_) div bigintExpr( -1048576_) <> 267242415_ or 13455 bigintExpr(-280223983525050_) div bigintExpr( -1073741824_) <> 260978_ or 13456 bigintExpr(-280223983525050_) div bigintExpr( -2147483648_) <> 130489_ or 13457 bigintExpr(-280223983525050_) div bigintExpr( -4294967296_) <> 65244_ or 13458 bigintExpr(-280223983525050_) div bigintExpr(-1099511627776_) <> 254_ then 13459 writeln("Division of bigInteger by power of two does not work correct."); 13460 okay := FALSE; 13461 end if; 13462 13463 number := 123456789012345678901234567890_; 13464 if number div -1_ <> -123456789012345678901234567890_ or 13465 number div -2_ <> -61728394506172839450617283945_ or 13466 number div -3_ <> -41152263004115226300411522630_ or 13467 number div -4_ <> -30864197253086419725308641972_ or 13468 number div -1023_ <> -120681123179223537537863702_ or 13469 number div -1024_ <> -120563270519868827051986882_ or 13470 number div -1048576_ <> -117737568867059401417955_ or 13471 number div -1073741824_ <> -114978094596737696697_ or 13472 number div -2147483647_ <> -57489047325139272132_ or 13473 number div -4294967295_ <> -28744523655877030118_ or 13474 number div -1099511627776_ <> -112283295504626656_ or 13475 number div -1152921504606846976_ <> -107081695084_ or 13476 number div -1208925819614629174706176_ <> -102121_ or 13477 number div -1237940039285380274899124224_ <> -99_ then 13478 writeln("Division of bigInteger by negative number does not work correct."); 13479 okay := FALSE; 13480 end if; 13481 13482 if not raisesNumericError( -9223372036854775808_ div 0_ ) or 13483 not raisesNumericError( -9223372036854775807_ div 0_ ) or 13484 not raisesNumericError( -4294967296_ div 0_ ) or 13485 not raisesNumericError( -4294967295_ div 0_ ) or 13486 not raisesNumericError( -2147483648_ div 0_ ) or 13487 not raisesNumericError( -2147483647_ div 0_ ) or 13488 not raisesNumericError( 0_ div 0_ ) or 13489 not raisesNumericError( 2147483647_ div 0_ ) or 13490 not raisesNumericError( 2147483648_ div 0_ ) or 13491 not raisesNumericError( 4294967295_ div 0_ ) or 13492 not raisesNumericError( 4294967296_ div 0_ ) or 13493 not raisesNumericError( 9223372036854775807_ div 0_ ) or 13494 not raisesNumericError( 9223372036854775808_ div 0_ ) or 13495 not raisesNumericError(bigintExpr(-9223372036854775808_) div 0_ ) or 13496 not raisesNumericError(bigintExpr(-9223372036854775807_) div 0_ ) or 13497 not raisesNumericError(bigintExpr( -4294967296_) div 0_ ) or 13498 not raisesNumericError(bigintExpr( -4294967295_) div 0_ ) or 13499 not raisesNumericError(bigintExpr( -2147483648_) div 0_ ) or 13500 not raisesNumericError(bigintExpr( -2147483647_) div 0_ ) or 13501 not raisesNumericError(bigintExpr( 0_) div 0_ ) or 13502 not raisesNumericError(bigintExpr( 2147483647_) div 0_ ) or 13503 not raisesNumericError(bigintExpr( 2147483648_) div 0_ ) or 13504 not raisesNumericError(bigintExpr( 4294967295_) div 0_ ) or 13505 not raisesNumericError(bigintExpr( 4294967296_) div 0_ ) or 13506 not raisesNumericError(bigintExpr( 9223372036854775807_) div 0_ ) or 13507 not raisesNumericError(bigintExpr( 9223372036854775808_) div 0_ ) or 13508 not raisesNumericError( -9223372036854775808_ div bigintExpr(0_)) or 13509 not raisesNumericError( -9223372036854775807_ div bigintExpr(0_)) or 13510 not raisesNumericError( -4294967296_ div bigintExpr(0_)) or 13511 not raisesNumericError( -4294967295_ div bigintExpr(0_)) or 13512 not raisesNumericError( -2147483648_ div bigintExpr(0_)) or 13513 not raisesNumericError( -2147483647_ div bigintExpr(0_)) or 13514 not raisesNumericError( 0_ div bigintExpr(0_)) or 13515 not raisesNumericError( 2147483647_ div bigintExpr(0_)) or 13516 not raisesNumericError( 2147483648_ div bigintExpr(0_)) or 13517 not raisesNumericError( 4294967295_ div bigintExpr(0_)) or 13518 not raisesNumericError( 4294967296_ div bigintExpr(0_)) or 13519 not raisesNumericError( 9223372036854775807_ div bigintExpr(0_)) or 13520 not raisesNumericError( 9223372036854775808_ div bigintExpr(0_)) or 13521 not raisesNumericError(bigintExpr(-9223372036854775808_) div bigintExpr(0_)) or 13522 not raisesNumericError(bigintExpr(-9223372036854775807_) div bigintExpr(0_)) or 13523 not raisesNumericError(bigintExpr( -4294967296_) div bigintExpr(0_)) or 13524 not raisesNumericError(bigintExpr( -4294967295_) div bigintExpr(0_)) or 13525 not raisesNumericError(bigintExpr( -2147483648_) div bigintExpr(0_)) or 13526 not raisesNumericError(bigintExpr( -2147483647_) div bigintExpr(0_)) or 13527 not raisesNumericError(bigintExpr( 0_) div bigintExpr(0_)) or 13528 not raisesNumericError(bigintExpr( 2147483647_) div bigintExpr(0_)) or 13529 not raisesNumericError(bigintExpr( 2147483648_) div bigintExpr(0_)) or 13530 not raisesNumericError(bigintExpr( 4294967295_) div bigintExpr(0_)) or 13531 not raisesNumericError(bigintExpr( 4294967296_) div bigintExpr(0_)) or 13532 not raisesNumericError(bigintExpr( 9223372036854775807_) div bigintExpr(0_)) or 13533 not raisesNumericError(bigintExpr( 9223372036854775808_) div bigintExpr(0_)) then 13534 writeln(" ***** Division of bigInteger by zero does not raise NUMERIC_ERROR."); 13535 okay := FALSE; 13536 end if; 13537 13538 if okay then 13539 writeln("Division of bigInteger works correct."); 13540 else 13541 writeln(" ***** Division of bigInteger does not work correct."); 13542 writeln; 13543 end if; 13544 end func; 13545 13546 13547const proc: chkRemainder is func 13548 local 13549 var boolean: okay is TRUE; 13550 begin 13551 if 32766_ rem 1_ <> 0_ or 13552 32767_ rem 1_ <> 0_ or 13553 32768_ rem 1_ <> 0_ or 13554 32769_ rem 1_ <> 0_ or 13555 32770_ rem 1_ <> 0_ or 13556 65534_ rem 1_ <> 0_ or 13557 65535_ rem 1_ <> 0_ or 13558 65536_ rem 1_ <> 0_ or 13559 65537_ rem 1_ <> 0_ or 13560 65538_ rem 1_ <> 0_ or 13561 65536_ rem 128_ <> 0_ or 13562 32766_ rem 32766_ <> 0_ or 13563 32767_ rem 32767_ <> 0_ or 13564 32768_ rem 32768_ <> 0_ or 13565 32769_ rem 32769_ <> 0_ or 13566 32770_ rem 32770_ <> 0_ or 13567 65534_ rem 65534_ <> 0_ or 13568 65535_ rem 65535_ <> 0_ or 13569 65536_ rem 65536_ <> 0_ or 13570 65537_ rem 65537_ <> 0_ or 13571 65538_ rem 65538_ <> 0_ or 13572 32765_ rem 32766_ <> 32765_ or 13573 32766_ rem 32767_ <> 32766_ or 13574 32767_ rem 32768_ <> 32767_ or 13575 32768_ rem 32769_ <> 32768_ or 13576 32769_ rem 32770_ <> 32769_ or 13577 65533_ rem 65534_ <> 65533_ or 13578 65534_ rem 65535_ <> 65534_ or 13579 65535_ rem 65536_ <> 65535_ or 13580 65536_ rem 65537_ <> 65536_ or 13581 65537_ rem 65538_ <> 65537_ or 13582 32766_ rem 18446744073709551616_ <> 32766_ or 13583 32767_ rem 18446744073709551616_ <> 32767_ or 13584 32768_ rem 18446744073709551616_ <> 32768_ or 13585 32769_ rem 18446744073709551616_ <> 32769_ or 13586 32770_ rem 18446744073709551616_ <> 32770_ or 13587 65534_ rem 18446744073709551616_ <> 65534_ or 13588 65535_ rem 18446744073709551616_ <> 65535_ or 13589 65536_ rem 18446744073709551616_ <> 65536_ or 13590 65537_ rem 18446744073709551616_ <> 65537_ or 13591 65538_ rem 18446744073709551616_ <> 65538_ or 13592 2147483647_ rem 2147483647_ <> 0_ or 13593 2147483647_ rem 2147483648_ <> 2147483647_ or 13594 2147483647_ rem 2147483649_ <> 2147483647_ or 13595 2147483648_ rem 2147483647_ <> 1_ or 13596 2147483648_ rem 2147483648_ <> 0_ or 13597 2147483648_ rem 2147483649_ <> 2147483648_ or 13598 2147483649_ rem 2147483647_ <> 2_ or 13599 2147483649_ rem 2147483648_ <> 1_ or 13600 2147483649_ rem 2147483649_ <> 0_ or 13601 4294967295_ rem 4294967295_ <> 0_ or 13602 4294967295_ rem 4294967296_ <> 4294967295_ or 13603 4294967295_ rem 4294967297_ <> 4294967295_ or 13604 4294967296_ rem 4294967295_ <> 1_ or 13605 4294967296_ rem 4294967296_ <> 0_ or 13606 4294967296_ rem 4294967297_ <> 4294967296_ or 13607 4294967297_ rem 4294967295_ <> 2_ or 13608 4294967297_ rem 4294967296_ <> 1_ or 13609 4294967297_ rem 4294967297_ <> 0_ or 13610 140737488355327_ rem 140737488355328_ <> 140737488355327_ or 13611 140737488355328_ rem 140737488355327_ <> 1_ or 13612 140737488355328_ rem 140737488355328_ <> 0_ or 13613 140737488355328_ rem 140737488355329_ <> 140737488355328_ or 13614 9223372036854775807_ rem 32768_ <> 32767_ or 13615 9223090561878065152_ rem 32767_ <> 0_ or 13616 4294967296_ rem 32768_ <> 0_ or 13617 4295229444_ rem 65538_ <> 0_ or 13618 8629125120_ rem 4833607680_ <> 3795517440_ or 13619 18446744073709551616_ rem 32767_ <> 16_ or 13620 18446744073709551616_ rem 32768_ <> 0_ or 13621 18446744073709551616_ rem 65535_ <> 1_ or 13622 18446744073709551616_ rem 131071_ <> 8192_ or 13623 18446744073709551616_ rem 2147483648_ <> 0_ or 13624 18446744073709551616_ rem 4294967296_ <> 0_ or 13625 18446744073709551616_ rem 4294967297_ <> 1_ or 13626 18446744073709551616_ rem 18446744073709551616_ <> 0_ or 13627 18446744073709551616_ rem 18446744073709551617_ <> 18446744073709551616_ or 13628 9223372036854775808_ rem 140737488355329_ <> 140737488289793_ or 13629 9223372036854775808_ rem 140737488420863_ <> 140733193519103_ or 13630 9223372036854775808_ rem 140737488420864_ <> 140733193453568_ or 13631 9223372036854775808_ rem 140741783322623_ <> 8590000126_ or 13632 1152921504606846976_ rem 17596481011711_ <> 68719542256_ or 13633 9223231303661387776_ rem 140739636002821_ <> 140737488519183_ or 13634 39614081257132168796771975168_ rem 9223372036854775809_ <> 9223372032559808513_ then 13635 writeln("Remainder of bigInteger division does not work correct. (1)"); 13636 okay := FALSE; 13637 end if; 13638 13639 if 32766_ rem -1_ <> 0_ or 13640 32767_ rem -1_ <> 0_ or 13641 32768_ rem -1_ <> 0_ or 13642 32769_ rem -1_ <> 0_ or 13643 32770_ rem -1_ <> 0_ or 13644 65534_ rem -1_ <> 0_ or 13645 65535_ rem -1_ <> 0_ or 13646 65536_ rem -1_ <> 0_ or 13647 65537_ rem -1_ <> 0_ or 13648 65538_ rem -1_ <> 0_ or 13649 65536_ rem -128_ <> 0_ or 13650 32766_ rem -32766_ <> 0_ or 13651 32767_ rem -32767_ <> 0_ or 13652 32768_ rem -32768_ <> 0_ or 13653 32769_ rem -32769_ <> 0_ or 13654 32770_ rem -32770_ <> 0_ or 13655 65534_ rem -65534_ <> 0_ or 13656 65535_ rem -65535_ <> 0_ or 13657 65536_ rem -65536_ <> 0_ or 13658 65537_ rem -65537_ <> 0_ or 13659 65538_ rem -65538_ <> 0_ or 13660 32765_ rem -32766_ <> 32765_ or 13661 32766_ rem -32767_ <> 32766_ or 13662 32767_ rem -32768_ <> 32767_ or 13663 32768_ rem -32769_ <> 32768_ or 13664 32769_ rem -32770_ <> 32769_ or 13665 65533_ rem -65534_ <> 65533_ or 13666 65534_ rem -65535_ <> 65534_ or 13667 65535_ rem -65536_ <> 65535_ or 13668 65536_ rem -65537_ <> 65536_ or 13669 65537_ rem -65538_ <> 65537_ or 13670 32766_ rem -18446744073709551616_ <> 32766_ or 13671 32767_ rem -18446744073709551616_ <> 32767_ or 13672 32768_ rem -18446744073709551616_ <> 32768_ or 13673 32769_ rem -18446744073709551616_ <> 32769_ or 13674 32770_ rem -18446744073709551616_ <> 32770_ or 13675 65534_ rem -18446744073709551616_ <> 65534_ or 13676 65535_ rem -18446744073709551616_ <> 65535_ or 13677 65536_ rem -18446744073709551616_ <> 65536_ or 13678 65537_ rem -18446744073709551616_ <> 65537_ or 13679 65538_ rem -18446744073709551616_ <> 65538_ or 13680 2147483647_ rem -2147483647_ <> 0_ or 13681 2147483647_ rem -2147483648_ <> 2147483647_ or 13682 2147483647_ rem -2147483649_ <> 2147483647_ or 13683 2147483648_ rem -2147483647_ <> 1_ or 13684 2147483648_ rem -2147483648_ <> 0_ or 13685 2147483648_ rem -2147483649_ <> 2147483648_ or 13686 2147483649_ rem -2147483647_ <> 2_ or 13687 2147483649_ rem -2147483648_ <> 1_ or 13688 2147483649_ rem -2147483649_ <> 0_ or 13689 4294967295_ rem -4294967295_ <> 0_ or 13690 4294967295_ rem -4294967296_ <> 4294967295_ or 13691 4294967295_ rem -4294967297_ <> 4294967295_ or 13692 4294967296_ rem -4294967295_ <> 1_ or 13693 4294967296_ rem -4294967296_ <> 0_ or 13694 4294967296_ rem -4294967297_ <> 4294967296_ or 13695 4294967297_ rem -4294967295_ <> 2_ or 13696 4294967297_ rem -4294967296_ <> 1_ or 13697 4294967297_ rem -4294967297_ <> 0_ or 13698 140737488355327_ rem -140737488355328_ <> 140737488355327_ or 13699 140737488355328_ rem -140737488355327_ <> 1_ or 13700 140737488355328_ rem -140737488355328_ <> 0_ or 13701 140737488355328_ rem -140737488355329_ <> 140737488355328_ or 13702 9223372036854775807_ rem -32768_ <> 32767_ or 13703 9223090561878065152_ rem -32767_ <> 0_ or 13704 4294967296_ rem -32768_ <> 0_ or 13705 4295229444_ rem -65538_ <> 0_ or 13706 8629125120_ rem -4833607680_ <> 3795517440_ or 13707 18446744073709551616_ rem -32767_ <> 16_ or 13708 18446744073709551616_ rem -32768_ <> 0_ or 13709 18446744073709551616_ rem -65535_ <> 1_ or 13710 18446744073709551616_ rem -131071_ <> 8192_ or 13711 18446744073709551616_ rem -2147483648_ <> 0_ or 13712 18446744073709551616_ rem -4294967296_ <> 0_ or 13713 18446744073709551616_ rem -4294967297_ <> 1_ or 13714 18446744073709551616_ rem -18446744073709551616_ <> 0_ or 13715 18446744073709551616_ rem -18446744073709551617_ <> 18446744073709551616_ or 13716 9223372036854775808_ rem -140737488355329_ <> 140737488289793_ or 13717 9223372036854775808_ rem -140737488420863_ <> 140733193519103_ or 13718 9223372036854775808_ rem -140737488420864_ <> 140733193453568_ or 13719 9223372036854775808_ rem -140741783322623_ <> 8590000126_ or 13720 1152921504606846976_ rem -17596481011711_ <> 68719542256_ or 13721 9223231303661387776_ rem -140739636002821_ <> 140737488519183_ or 13722 39614081257132168796771975168_ rem -9223372036854775809_ <> 9223372032559808513_ then 13723 writeln("Remainder of bigInteger division does not work correct. (2)"); 13724 okay := FALSE; 13725 end if; 13726 13727 if -32766_ rem 1_ <> 0_ or 13728 -32767_ rem 1_ <> 0_ or 13729 -32768_ rem 1_ <> 0_ or 13730 -32769_ rem 1_ <> 0_ or 13731 -32770_ rem 1_ <> 0_ or 13732 -65534_ rem 1_ <> 0_ or 13733 -65535_ rem 1_ <> 0_ or 13734 -65536_ rem 1_ <> 0_ or 13735 -65537_ rem 1_ <> 0_ or 13736 -65538_ rem 1_ <> 0_ or 13737 -65536_ rem 128_ <> 0_ or 13738 -32766_ rem 32766_ <> 0_ or 13739 -32767_ rem 32767_ <> 0_ or 13740 -32768_ rem 32768_ <> 0_ or 13741 -32769_ rem 32769_ <> 0_ or 13742 -32770_ rem 32770_ <> 0_ or 13743 -65534_ rem 65534_ <> 0_ or 13744 -65535_ rem 65535_ <> 0_ or 13745 -65536_ rem 65536_ <> 0_ or 13746 -65537_ rem 65537_ <> 0_ or 13747 -65538_ rem 65538_ <> 0_ or 13748 -32765_ rem 32766_ <> -32765_ or 13749 -32766_ rem 32767_ <> -32766_ or 13750 -32767_ rem 32768_ <> -32767_ or 13751 -32768_ rem 32769_ <> -32768_ or 13752 -32769_ rem 32770_ <> -32769_ or 13753 -65533_ rem 65534_ <> -65533_ or 13754 -65534_ rem 65535_ <> -65534_ or 13755 -65535_ rem 65536_ <> -65535_ or 13756 -65536_ rem 65537_ <> -65536_ or 13757 -65537_ rem 65538_ <> -65537_ or 13758 -32766_ rem 18446744073709551616_ <> -32766_ or 13759 -32767_ rem 18446744073709551616_ <> -32767_ or 13760 -32768_ rem 18446744073709551616_ <> -32768_ or 13761 -32769_ rem 18446744073709551616_ <> -32769_ or 13762 -32770_ rem 18446744073709551616_ <> -32770_ or 13763 -65534_ rem 18446744073709551616_ <> -65534_ or 13764 -65535_ rem 18446744073709551616_ <> -65535_ or 13765 -65536_ rem 18446744073709551616_ <> -65536_ or 13766 -65537_ rem 18446744073709551616_ <> -65537_ or 13767 -65538_ rem 18446744073709551616_ <> -65538_ or 13768 -2147483647_ rem 2147483647_ <> 0_ or 13769 -2147483647_ rem 2147483648_ <> -2147483647_ or 13770 -2147483647_ rem 2147483649_ <> -2147483647_ or 13771 -2147483648_ rem 2147483647_ <> -1_ or 13772 -2147483648_ rem 2147483648_ <> 0_ or 13773 -2147483648_ rem 2147483649_ <> -2147483648_ or 13774 -2147483649_ rem 2147483647_ <> -2_ or 13775 -2147483649_ rem 2147483648_ <> -1_ or 13776 -2147483649_ rem 2147483649_ <> 0_ or 13777 -4294967295_ rem 4294967295_ <> 0_ or 13778 -4294967295_ rem 4294967296_ <> -4294967295_ or 13779 -4294967295_ rem 4294967297_ <> -4294967295_ or 13780 -4294967296_ rem 4294967295_ <> -1_ or 13781 -4294967296_ rem 4294967296_ <> 0_ or 13782 -4294967296_ rem 4294967297_ <> -4294967296_ or 13783 -4294967297_ rem 4294967295_ <> -2_ or 13784 -4294967297_ rem 4294967296_ <> -1_ or 13785 -4294967297_ rem 4294967297_ <> 0_ or 13786 -140737488355327_ rem 140737488355328_ <> -140737488355327_ or 13787 -140737488355328_ rem 140737488355327_ <> -1_ or 13788 -140737488355328_ rem 140737488355328_ <> 0_ or 13789 -140737488355328_ rem 140737488355329_ <> -140737488355328_ or 13790 -9223372036854775807_ rem 32768_ <> -32767_ or 13791 -9223090561878065152_ rem 32767_ <> 0_ or 13792 -4294967296_ rem 32768_ <> 0_ or 13793 -4295229444_ rem 65538_ <> 0_ or 13794 -8629125120_ rem 4833607680_ <> -3795517440_ or 13795 -18446744073709551616_ rem 32767_ <> -16_ or 13796 -18446744073709551616_ rem 32768_ <> 0_ or 13797 -18446744073709551616_ rem 65535_ <> -1_ or 13798 -18446744073709551616_ rem 131071_ <> -8192_ or 13799 -18446744073709551616_ rem 2147483648_ <> 0_ or 13800 -18446744073709551616_ rem 4294967296_ <> 0_ or 13801 -18446744073709551616_ rem 4294967297_ <> -1_ or 13802 -18446744073709551616_ rem 18446744073709551616_ <> 0_ or 13803 -18446744073709551616_ rem 18446744073709551617_ <> -18446744073709551616_ or 13804 -9223372036854775808_ rem 140737488355329_ <> -140737488289793_ or 13805 -9223372036854775808_ rem 140737488420863_ <> -140733193519103_ or 13806 -9223372036854775808_ rem 140737488420864_ <> -140733193453568_ or 13807 -9223372036854775808_ rem 140741783322623_ <> -8590000126_ or 13808 -1152921504606846976_ rem 17596481011711_ <> -68719542256_ or 13809 -9223231303661387776_ rem 140739636002821_ <> -140737488519183_ or 13810 -39614081257132168796771975168_ rem 9223372036854775809_ <> -9223372032559808513_ then 13811 writeln("Remainder of bigInteger division does not work correct. (3)"); 13812 okay := FALSE; 13813 end if; 13814 13815 if -32766_ rem -1_ <> 0_ or 13816 -32767_ rem -1_ <> 0_ or 13817 -32768_ rem -1_ <> 0_ or 13818 -32769_ rem -1_ <> 0_ or 13819 -32770_ rem -1_ <> 0_ or 13820 -65534_ rem -1_ <> 0_ or 13821 -65535_ rem -1_ <> 0_ or 13822 -65536_ rem -1_ <> 0_ or 13823 -65537_ rem -1_ <> 0_ or 13824 -65538_ rem -1_ <> 0_ or 13825 -65536_ rem -128_ <> 0_ or 13826 -32766_ rem -32766_ <> 0_ or 13827 -32767_ rem -32767_ <> 0_ or 13828 -32768_ rem -32768_ <> 0_ or 13829 -32769_ rem -32769_ <> 0_ or 13830 -32770_ rem -32770_ <> 0_ or 13831 -65534_ rem -65534_ <> 0_ or 13832 -65535_ rem -65535_ <> 0_ or 13833 -65536_ rem -65536_ <> 0_ or 13834 -65537_ rem -65537_ <> 0_ or 13835 -65538_ rem -65538_ <> 0_ or 13836 -32765_ rem -32766_ <> -32765_ or 13837 -32766_ rem -32767_ <> -32766_ or 13838 -32767_ rem -32768_ <> -32767_ or 13839 -32768_ rem -32769_ <> -32768_ or 13840 -32769_ rem -32770_ <> -32769_ or 13841 -65533_ rem -65534_ <> -65533_ or 13842 -65534_ rem -65535_ <> -65534_ or 13843 -65535_ rem -65536_ <> -65535_ or 13844 -65536_ rem -65537_ <> -65536_ or 13845 -65537_ rem -65538_ <> -65537_ or 13846 -32766_ rem -18446744073709551616_ <> -32766_ or 13847 -32767_ rem -18446744073709551616_ <> -32767_ or 13848 -32768_ rem -18446744073709551616_ <> -32768_ or 13849 -32769_ rem -18446744073709551616_ <> -32769_ or 13850 -32770_ rem -18446744073709551616_ <> -32770_ or 13851 -65534_ rem -18446744073709551616_ <> -65534_ or 13852 -65535_ rem -18446744073709551616_ <> -65535_ or 13853 -65536_ rem -18446744073709551616_ <> -65536_ or 13854 -65537_ rem -18446744073709551616_ <> -65537_ or 13855 -65538_ rem -18446744073709551616_ <> -65538_ or 13856 -2147483647_ rem -2147483647_ <> 0_ or 13857 -2147483647_ rem -2147483648_ <> -2147483647_ or 13858 -2147483647_ rem -2147483649_ <> -2147483647_ or 13859 -2147483648_ rem -2147483647_ <> -1_ or 13860 -2147483648_ rem -2147483648_ <> 0_ or 13861 -2147483648_ rem -2147483649_ <> -2147483648_ or 13862 -2147483649_ rem -2147483647_ <> -2_ or 13863 -2147483649_ rem -2147483648_ <> -1_ or 13864 -2147483649_ rem -2147483649_ <> 0_ or 13865 -4294967295_ rem -4294967295_ <> 0_ or 13866 -4294967295_ rem -4294967296_ <> -4294967295_ or 13867 -4294967295_ rem -4294967297_ <> -4294967295_ or 13868 -4294967296_ rem -4294967295_ <> -1_ or 13869 -4294967296_ rem -4294967296_ <> 0_ or 13870 -4294967296_ rem -4294967297_ <> -4294967296_ or 13871 -4294967297_ rem -4294967295_ <> -2_ or 13872 -4294967297_ rem -4294967296_ <> -1_ or 13873 -4294967297_ rem -4294967297_ <> 0_ or 13874 -140737488355327_ rem -140737488355328_ <> -140737488355327_ or 13875 -140737488355328_ rem -140737488355327_ <> -1_ or 13876 -140737488355328_ rem -140737488355328_ <> 0_ or 13877 -140737488355328_ rem -140737488355329_ <> -140737488355328_ or 13878 -9223372036854775807_ rem -32768_ <> -32767_ or 13879 -9223090561878065152_ rem -32767_ <> 0_ or 13880 -4294967296_ rem -32768_ <> 0_ or 13881 -4295229444_ rem -65538_ <> 0_ or 13882 -8629125120_ rem -4833607680_ <> -3795517440_ or 13883 -18446744073709551616_ rem -32767_ <> -16_ or 13884 -18446744073709551616_ rem -32768_ <> 0_ or 13885 -18446744073709551616_ rem -65535_ <> -1_ or 13886 -18446744073709551616_ rem -131071_ <> -8192_ or 13887 -18446744073709551616_ rem -2147483648_ <> 0_ or 13888 -18446744073709551616_ rem -4294967296_ <> 0_ or 13889 -18446744073709551616_ rem -4294967297_ <> -1_ or 13890 -18446744073709551616_ rem -18446744073709551616_ <> 0_ or 13891 -18446744073709551616_ rem -18446744073709551617_ <> -18446744073709551616_ or 13892 -9223372036854775808_ rem -140737488355329_ <> -140737488289793_ or 13893 -9223372036854775808_ rem -140737488420863_ <> -140733193519103_ or 13894 -9223372036854775808_ rem -140737488420864_ <> -140733193453568_ or 13895 -9223372036854775808_ rem -140741783322623_ <> -8590000126_ or 13896 -1152921504606846976_ rem -17596481011711_ <> -68719542256_ or 13897 -9223231303661387776_ rem -140739636002821_ <> -140737488519183_ or 13898 -39614081257132168796771975168_ rem -9223372036854775809_ <> -9223372032559808513_ then 13899 writeln("Remainder of bigInteger division does not work correct. (4)"); 13900 okay := FALSE; 13901 end if; 13902 13903 if -9223372036854775808_ rem 9223372036854775808_ <> 0_ or 13904 -9223372036854775808_ rem 9223372036854775809_ <> -9223372036854775808_ or 13905 -9223372036854775807_ rem 9223372036854775808_ <> -9223372036854775807_ or 13906 -9223372036854775808_ rem bigintExpr(9223372036854775808_) <> 0_ or 13907 -9223372036854775808_ rem bigintExpr(9223372036854775809_) <> -9223372036854775808_ or 13908 -9223372036854775807_ rem bigintExpr(9223372036854775808_) <> -9223372036854775807_ or 13909 bigintExpr(-9223372036854775808_) rem 9223372036854775808_ <> 0_ or 13910 bigintExpr(-9223372036854775808_) rem 9223372036854775809_ <> -9223372036854775808_ or 13911 bigintExpr(-9223372036854775807_) rem 9223372036854775808_ <> -9223372036854775807_ or 13912 bigintExpr(-9223372036854775808_) rem bigintExpr(9223372036854775808_) <> 0_ or 13913 bigintExpr(-9223372036854775808_) rem bigintExpr(9223372036854775809_) <> -9223372036854775808_ or 13914 bigintExpr(-9223372036854775807_) rem bigintExpr(9223372036854775808_) <> -9223372036854775807_ or 13915 -39614081257132168796771975168_ rem 39614081257132168796771975168_ <> 0_ or 13916 -39614081257132168796771975168_ rem 39614081257132168796771975169_ <> -39614081257132168796771975168_ or 13917 -39614081257132168796771975167_ rem 39614081257132168796771975168_ <> -39614081257132168796771975167_ or 13918 -39614081257132168796771975168_ rem bigintExpr(39614081257132168796771975168_) <> 0_ or 13919 -39614081257132168796771975168_ rem bigintExpr(39614081257132168796771975169_) <> -39614081257132168796771975168_ or 13920 -39614081257132168796771975167_ rem bigintExpr(39614081257132168796771975168_) <> -39614081257132168796771975167_ or 13921 bigintExpr(-39614081257132168796771975168_) rem 39614081257132168796771975168_ <> 0_ or 13922 bigintExpr(-39614081257132168796771975168_) rem 39614081257132168796771975169_ <> -39614081257132168796771975168_ or 13923 bigintExpr(-39614081257132168796771975167_) rem 39614081257132168796771975168_ <> -39614081257132168796771975167_ or 13924 bigintExpr(-39614081257132168796771975168_) rem bigintExpr(39614081257132168796771975168_) <> 0_ or 13925 bigintExpr(-39614081257132168796771975168_) rem bigintExpr(39614081257132168796771975169_) <> -39614081257132168796771975168_ or 13926 bigintExpr(-39614081257132168796771975167_) rem bigintExpr(39614081257132168796771975168_) <> -39614081257132168796771975167_ or 13927 -170141183460469231731687303715884105728_ rem 170141183460469231731687303715884105728_ <> 0_ or 13928 -170141183460469231731687303715884105728_ rem 170141183460469231731687303715884105729_ <> 13929 -170141183460469231731687303715884105728_ or 13930 -170141183460469231731687303715884105727_ rem 170141183460469231731687303715884105728_ <> 13931 -170141183460469231731687303715884105727_ or 13932 -170141183460469231731687303715884105728_ rem bigintExpr(170141183460469231731687303715884105728_) <> 0_ or 13933 -170141183460469231731687303715884105728_ rem bigintExpr(170141183460469231731687303715884105729_) <> 13934 -170141183460469231731687303715884105728_ or 13935 -170141183460469231731687303715884105727_ rem bigintExpr(170141183460469231731687303715884105728_) <> 13936 -170141183460469231731687303715884105727_ or 13937 bigintExpr(-170141183460469231731687303715884105728_) rem 170141183460469231731687303715884105728_ <> 0_ or 13938 bigintExpr(-170141183460469231731687303715884105728_) rem 170141183460469231731687303715884105729_ <> 13939 -170141183460469231731687303715884105728_ or 13940 bigintExpr(-170141183460469231731687303715884105727_) rem 170141183460469231731687303715884105728_ <> 13941 -170141183460469231731687303715884105727_ or 13942 bigintExpr(-170141183460469231731687303715884105728_) rem bigintExpr(170141183460469231731687303715884105728_) <> 0_ or 13943 bigintExpr(-170141183460469231731687303715884105728_) rem bigintExpr(170141183460469231731687303715884105729_) <> 13944 -170141183460469231731687303715884105728_ or 13945 bigintExpr(-170141183460469231731687303715884105727_) rem bigintExpr(170141183460469231731687303715884105728_) <> 13946 -170141183460469231731687303715884105727_ then 13947 writeln("Remainder of bigInteger division does not work correct. (5)"); 13948 okay := FALSE; 13949 end if; 13950 13951 if 0_ rem -170141183460469231731687303715884105729_ <> 0_ or 13952 0_ rem -170141183460469231731687303715884105728_ <> 0_ or 13953 0_ rem -9223372036854775809_ <> 0_ or 13954 0_ rem -9223372036854775808_ <> 0_ or 13955 0_ rem -2147483649_ <> 0_ or 13956 0_ rem -2147483648_ <> 0_ or 13957 0_ rem -32769_ <> 0_ or 13958 0_ rem -32768_ <> 0_ or 13959 0_ rem -129_ <> 0_ or 13960 0_ rem -128_ <> 0_ or 13961 0_ rem -1_ <> 0_ or 13962 0_ rem 1_ <> 0_ or 13963 0_ rem 127_ <> 0_ or 13964 0_ rem 128_ <> 0_ or 13965 0_ rem 32767_ <> 0_ or 13966 0_ rem 32768_ <> 0_ or 13967 0_ rem 2147483647_ <> 0_ or 13968 0_ rem 2147483648_ <> 0_ or 13969 0_ rem 9223372036854775807_ <> 0_ or 13970 0_ rem 9223372036854775808_ <> 0_ or 13971 0_ rem 170141183460469231731687303715884105727_ <> 0_ or 13972 0_ rem 170141183460469231731687303715884105728_ <> 0_ or 13973 0_ rem bigintExpr(-170141183460469231731687303715884105729_) <> 0_ or 13974 0_ rem bigintExpr(-170141183460469231731687303715884105728_) <> 0_ or 13975 0_ rem bigintExpr( -9223372036854775809_) <> 0_ or 13976 0_ rem bigintExpr( -9223372036854775808_) <> 0_ or 13977 0_ rem bigintExpr( -2147483649_) <> 0_ or 13978 0_ rem bigintExpr( -2147483648_) <> 0_ or 13979 0_ rem bigintExpr( -32769_) <> 0_ or 13980 0_ rem bigintExpr( -32768_) <> 0_ or 13981 0_ rem bigintExpr( -129_) <> 0_ or 13982 0_ rem bigintExpr( -128_) <> 0_ or 13983 0_ rem bigintExpr( -1_) <> 0_ or 13984 0_ rem bigintExpr( 1_) <> 0_ or 13985 0_ rem bigintExpr( 127_) <> 0_ or 13986 0_ rem bigintExpr( 128_) <> 0_ or 13987 0_ rem bigintExpr( 32767_) <> 0_ or 13988 0_ rem bigintExpr( 32768_) <> 0_ or 13989 0_ rem bigintExpr( 2147483647_) <> 0_ or 13990 0_ rem bigintExpr( 2147483648_) <> 0_ or 13991 0_ rem bigintExpr( 9223372036854775807_) <> 0_ or 13992 0_ rem bigintExpr( 9223372036854775808_) <> 0_ or 13993 0_ rem bigintExpr( 170141183460469231731687303715884105727_) <> 0_ or 13994 0_ rem bigintExpr( 170141183460469231731687303715884105728_) <> 0_ or 13995 bigintExpr(0_) rem -170141183460469231731687303715884105729_ <> 0_ or 13996 bigintExpr(0_) rem -170141183460469231731687303715884105728_ <> 0_ or 13997 bigintExpr(0_) rem -9223372036854775809_ <> 0_ or 13998 bigintExpr(0_) rem -9223372036854775808_ <> 0_ or 13999 bigintExpr(0_) rem -2147483649_ <> 0_ or 14000 bigintExpr(0_) rem -2147483648_ <> 0_ or 14001 bigintExpr(0_) rem -32769_ <> 0_ or 14002 bigintExpr(0_) rem -32768_ <> 0_ or 14003 bigintExpr(0_) rem -129_ <> 0_ or 14004 bigintExpr(0_) rem -128_ <> 0_ or 14005 bigintExpr(0_) rem -1_ <> 0_ or 14006 bigintExpr(0_) rem 1_ <> 0_ or 14007 bigintExpr(0_) rem 127_ <> 0_ or 14008 bigintExpr(0_) rem 128_ <> 0_ or 14009 bigintExpr(0_) rem 32767_ <> 0_ or 14010 bigintExpr(0_) rem 32768_ <> 0_ or 14011 bigintExpr(0_) rem 2147483647_ <> 0_ or 14012 bigintExpr(0_) rem 2147483648_ <> 0_ or 14013 bigintExpr(0_) rem 9223372036854775807_ <> 0_ or 14014 bigintExpr(0_) rem 9223372036854775808_ <> 0_ or 14015 bigintExpr(0_) rem 170141183460469231731687303715884105727_ <> 0_ or 14016 bigintExpr(0_) rem 170141183460469231731687303715884105728_ <> 0_ or 14017 bigintExpr(0_) rem bigintExpr(-170141183460469231731687303715884105729_) <> 0_ or 14018 bigintExpr(0_) rem bigintExpr(-170141183460469231731687303715884105728_) <> 0_ or 14019 bigintExpr(0_) rem bigintExpr( -9223372036854775809_) <> 0_ or 14020 bigintExpr(0_) rem bigintExpr( -9223372036854775808_) <> 0_ or 14021 bigintExpr(0_) rem bigintExpr( -2147483649_) <> 0_ or 14022 bigintExpr(0_) rem bigintExpr( -2147483648_) <> 0_ or 14023 bigintExpr(0_) rem bigintExpr( -32769_) <> 0_ or 14024 bigintExpr(0_) rem bigintExpr( -32768_) <> 0_ or 14025 bigintExpr(0_) rem bigintExpr( -129_) <> 0_ or 14026 bigintExpr(0_) rem bigintExpr( -128_) <> 0_ or 14027 bigintExpr(0_) rem bigintExpr( -1_) <> 0_ or 14028 bigintExpr(0_) rem bigintExpr( 1_) <> 0_ or 14029 bigintExpr(0_) rem bigintExpr( 127_) <> 0_ or 14030 bigintExpr(0_) rem bigintExpr( 128_) <> 0_ or 14031 bigintExpr(0_) rem bigintExpr( 32767_) <> 0_ or 14032 bigintExpr(0_) rem bigintExpr( 32768_) <> 0_ or 14033 bigintExpr(0_) rem bigintExpr( 2147483647_) <> 0_ or 14034 bigintExpr(0_) rem bigintExpr( 2147483648_) <> 0_ or 14035 bigintExpr(0_) rem bigintExpr( 9223372036854775807_) <> 0_ or 14036 bigintExpr(0_) rem bigintExpr( 9223372036854775808_) <> 0_ or 14037 bigintExpr(0_) rem bigintExpr( 170141183460469231731687303715884105727_) <> 0_ or 14038 bigintExpr(0_) rem bigintExpr( 170141183460469231731687303715884105728_) <> 0_ then 14039 writeln("Remainder of bigInteger division does not work correct. (6)"); 14040 okay := FALSE; 14041 end if; 14042 14043 if 280223983525050_ rem 1_ <> 0_ or 14044 280223983525050_ rem 2_ <> 0_ or 14045 280223983525050_ rem 4_ <> 2_ or 14046 280223983525050_ rem 8_ <> 2_ or 14047 280223983525050_ rem 1024_ <> 186_ or 14048 280223983525050_ rem 1048576_ <> 974010_ or 14049 280223983525050_ rem 1073741824_ <> 989781178_ or 14050 280223983525050_ rem 2147483648_ <> 989781178_ or 14051 280223983525050_ rem 4294967296_ <> 3137264826_ or 14052 280223983525050_ rem 1099511627776_ <> 948030069946_ or 14053 280223983525050_ rem -1_ <> 0_ or 14054 280223983525050_ rem -2_ <> 0_ or 14055 280223983525050_ rem -4_ <> 2_ or 14056 280223983525050_ rem -8_ <> 2_ or 14057 280223983525050_ rem -1024_ <> 186_ or 14058 280223983525050_ rem -1048576_ <> 974010_ or 14059 280223983525050_ rem -1073741824_ <> 989781178_ or 14060 280223983525050_ rem -2147483648_ <> 989781178_ or 14061 280223983525050_ rem -4294967296_ <> 3137264826_ or 14062 280223983525050_ rem -1099511627776_ <> 948030069946_ or 14063 -280223983525050_ rem 1_ <> -0_ or 14064 -280223983525050_ rem 2_ <> -0_ or 14065 -280223983525050_ rem 4_ <> -2_ or 14066 -280223983525050_ rem 8_ <> -2_ or 14067 -280223983525050_ rem 1024_ <> -186_ or 14068 -280223983525050_ rem 1048576_ <> -974010_ or 14069 -280223983525050_ rem 1073741824_ <> -989781178_ or 14070 -280223983525050_ rem 2147483648_ <> -989781178_ or 14071 -280223983525050_ rem 4294967296_ <> -3137264826_ or 14072 -280223983525050_ rem 1099511627776_ <> -948030069946_ or 14073 -280223983525050_ rem -1_ <> -0_ or 14074 -280223983525050_ rem -2_ <> -0_ or 14075 -280223983525050_ rem -4_ <> -2_ or 14076 -280223983525050_ rem -8_ <> -2_ or 14077 -280223983525050_ rem -1024_ <> -186_ or 14078 -280223983525050_ rem -1048576_ <> -974010_ or 14079 -280223983525050_ rem -1073741824_ <> -989781178_ or 14080 -280223983525050_ rem -2147483648_ <> -989781178_ or 14081 -280223983525050_ rem -4294967296_ <> -3137264826_ or 14082 -280223983525050_ rem -1099511627776_ <> -948030069946_ or 14083 14084 280223983525050_ rem bigintExpr( 1_) <> 0_ or 14085 280223983525050_ rem bigintExpr( 2_) <> 0_ or 14086 280223983525050_ rem bigintExpr( 4_) <> 2_ or 14087 280223983525050_ rem bigintExpr( 8_) <> 2_ or 14088 280223983525050_ rem bigintExpr( 1024_) <> 186_ or 14089 280223983525050_ rem bigintExpr( 1048576_) <> 974010_ or 14090 280223983525050_ rem bigintExpr( 1073741824_) <> 989781178_ or 14091 280223983525050_ rem bigintExpr( 2147483648_) <> 989781178_ or 14092 280223983525050_ rem bigintExpr( 4294967296_) <> 3137264826_ or 14093 280223983525050_ rem bigintExpr( 1099511627776_) <> 948030069946_ or 14094 280223983525050_ rem bigintExpr( -1_) <> 0_ or 14095 280223983525050_ rem bigintExpr( -2_) <> 0_ or 14096 280223983525050_ rem bigintExpr( -4_) <> 2_ or 14097 280223983525050_ rem bigintExpr( -8_) <> 2_ or 14098 280223983525050_ rem bigintExpr( -1024_) <> 186_ or 14099 280223983525050_ rem bigintExpr( -1048576_) <> 974010_ or 14100 280223983525050_ rem bigintExpr( -1073741824_) <> 989781178_ or 14101 280223983525050_ rem bigintExpr( -2147483648_) <> 989781178_ or 14102 280223983525050_ rem bigintExpr( -4294967296_) <> 3137264826_ or 14103 280223983525050_ rem bigintExpr(-1099511627776_) <> 948030069946_ or 14104 -280223983525050_ rem bigintExpr( 1_) <> -0_ or 14105 -280223983525050_ rem bigintExpr( 2_) <> -0_ or 14106 -280223983525050_ rem bigintExpr( 4_) <> -2_ or 14107 -280223983525050_ rem bigintExpr( 8_) <> -2_ or 14108 -280223983525050_ rem bigintExpr( 1024_) <> -186_ or 14109 -280223983525050_ rem bigintExpr( 1048576_) <> -974010_ or 14110 -280223983525050_ rem bigintExpr( 1073741824_) <> -989781178_ or 14111 -280223983525050_ rem bigintExpr( 2147483648_) <> -989781178_ or 14112 -280223983525050_ rem bigintExpr( 4294967296_) <> -3137264826_ or 14113 -280223983525050_ rem bigintExpr( 1099511627776_) <> -948030069946_ or 14114 -280223983525050_ rem bigintExpr( -1_) <> -0_ or 14115 -280223983525050_ rem bigintExpr( -2_) <> -0_ or 14116 -280223983525050_ rem bigintExpr( -4_) <> -2_ or 14117 -280223983525050_ rem bigintExpr( -8_) <> -2_ or 14118 -280223983525050_ rem bigintExpr( -1024_) <> -186_ or 14119 -280223983525050_ rem bigintExpr( -1048576_) <> -974010_ or 14120 -280223983525050_ rem bigintExpr( -1073741824_) <> -989781178_ or 14121 -280223983525050_ rem bigintExpr( -2147483648_) <> -989781178_ or 14122 -280223983525050_ rem bigintExpr( -4294967296_) <> -3137264826_ or 14123 -280223983525050_ rem bigintExpr(-1099511627776_) <> -948030069946_ or 14124 14125 bigintExpr( 280223983525050_) rem 1_ <> 0_ or 14126 bigintExpr( 280223983525050_) rem 2_ <> 0_ or 14127 bigintExpr( 280223983525050_) rem 4_ <> 2_ or 14128 bigintExpr( 280223983525050_) rem 8_ <> 2_ or 14129 bigintExpr( 280223983525050_) rem 1024_ <> 186_ or 14130 bigintExpr( 280223983525050_) rem 1048576_ <> 974010_ or 14131 bigintExpr( 280223983525050_) rem 1073741824_ <> 989781178_ or 14132 bigintExpr( 280223983525050_) rem 2147483648_ <> 989781178_ or 14133 bigintExpr( 280223983525050_) rem 4294967296_ <> 3137264826_ or 14134 bigintExpr( 280223983525050_) rem 1099511627776_ <> 948030069946_ or 14135 bigintExpr( 280223983525050_) rem -1_ <> 0_ or 14136 bigintExpr( 280223983525050_) rem -2_ <> 0_ or 14137 bigintExpr( 280223983525050_) rem -4_ <> 2_ or 14138 bigintExpr( 280223983525050_) rem -8_ <> 2_ or 14139 bigintExpr( 280223983525050_) rem -1024_ <> 186_ or 14140 bigintExpr( 280223983525050_) rem -1048576_ <> 974010_ or 14141 bigintExpr( 280223983525050_) rem -1073741824_ <> 989781178_ or 14142 bigintExpr( 280223983525050_) rem -2147483648_ <> 989781178_ or 14143 bigintExpr( 280223983525050_) rem -4294967296_ <> 3137264826_ or 14144 bigintExpr( 280223983525050_) rem -1099511627776_ <> 948030069946_ or 14145 bigintExpr(-280223983525050_) rem 1_ <> -0_ or 14146 bigintExpr(-280223983525050_) rem 2_ <> -0_ or 14147 bigintExpr(-280223983525050_) rem 4_ <> -2_ or 14148 bigintExpr(-280223983525050_) rem 8_ <> -2_ or 14149 bigintExpr(-280223983525050_) rem 1024_ <> -186_ or 14150 bigintExpr(-280223983525050_) rem 1048576_ <> -974010_ or 14151 bigintExpr(-280223983525050_) rem 1073741824_ <> -989781178_ or 14152 bigintExpr(-280223983525050_) rem 2147483648_ <> -989781178_ or 14153 bigintExpr(-280223983525050_) rem 4294967296_ <> -3137264826_ or 14154 bigintExpr(-280223983525050_) rem 1099511627776_ <> -948030069946_ or 14155 bigintExpr(-280223983525050_) rem -1_ <> -0_ or 14156 bigintExpr(-280223983525050_) rem -2_ <> -0_ or 14157 bigintExpr(-280223983525050_) rem -4_ <> -2_ or 14158 bigintExpr(-280223983525050_) rem -8_ <> -2_ or 14159 bigintExpr(-280223983525050_) rem -1024_ <> -186_ or 14160 bigintExpr(-280223983525050_) rem -1048576_ <> -974010_ or 14161 bigintExpr(-280223983525050_) rem -1073741824_ <> -989781178_ or 14162 bigintExpr(-280223983525050_) rem -2147483648_ <> -989781178_ or 14163 bigintExpr(-280223983525050_) rem -4294967296_ <> -3137264826_ or 14164 bigintExpr(-280223983525050_) rem -1099511627776_ <> -948030069946_ or 14165 14166 bigintExpr( 280223983525050_) rem bigintExpr( 1_) <> 0_ or 14167 bigintExpr( 280223983525050_) rem bigintExpr( 2_) <> 0_ or 14168 bigintExpr( 280223983525050_) rem bigintExpr( 4_) <> 2_ or 14169 bigintExpr( 280223983525050_) rem bigintExpr( 8_) <> 2_ or 14170 bigintExpr( 280223983525050_) rem bigintExpr( 1024_) <> 186_ or 14171 bigintExpr( 280223983525050_) rem bigintExpr( 1048576_) <> 974010_ or 14172 bigintExpr( 280223983525050_) rem bigintExpr( 1073741824_) <> 989781178_ or 14173 bigintExpr( 280223983525050_) rem bigintExpr( 2147483648_) <> 989781178_ or 14174 bigintExpr( 280223983525050_) rem bigintExpr( 4294967296_) <> 3137264826_ or 14175 bigintExpr( 280223983525050_) rem bigintExpr( 1099511627776_) <> 948030069946_ or 14176 bigintExpr( 280223983525050_) rem bigintExpr( -1_) <> 0_ or 14177 bigintExpr( 280223983525050_) rem bigintExpr( -2_) <> 0_ or 14178 bigintExpr( 280223983525050_) rem bigintExpr( -4_) <> 2_ or 14179 bigintExpr( 280223983525050_) rem bigintExpr( -8_) <> 2_ or 14180 bigintExpr( 280223983525050_) rem bigintExpr( -1024_) <> 186_ or 14181 bigintExpr( 280223983525050_) rem bigintExpr( -1048576_) <> 974010_ or 14182 bigintExpr( 280223983525050_) rem bigintExpr( -1073741824_) <> 989781178_ or 14183 bigintExpr( 280223983525050_) rem bigintExpr( -2147483648_) <> 989781178_ or 14184 bigintExpr( 280223983525050_) rem bigintExpr( -4294967296_) <> 3137264826_ or 14185 bigintExpr( 280223983525050_) rem bigintExpr(-1099511627776_) <> 948030069946_ or 14186 bigintExpr(-280223983525050_) rem bigintExpr( 1_) <> -0_ or 14187 bigintExpr(-280223983525050_) rem bigintExpr( 2_) <> -0_ or 14188 bigintExpr(-280223983525050_) rem bigintExpr( 4_) <> -2_ or 14189 bigintExpr(-280223983525050_) rem bigintExpr( 8_) <> -2_ or 14190 bigintExpr(-280223983525050_) rem bigintExpr( 1024_) <> -186_ or 14191 bigintExpr(-280223983525050_) rem bigintExpr( 1048576_) <> -974010_ or 14192 bigintExpr(-280223983525050_) rem bigintExpr( 1073741824_) <> -989781178_ or 14193 bigintExpr(-280223983525050_) rem bigintExpr( 2147483648_) <> -989781178_ or 14194 bigintExpr(-280223983525050_) rem bigintExpr( 4294967296_) <> -3137264826_ or 14195 bigintExpr(-280223983525050_) rem bigintExpr( 1099511627776_) <> -948030069946_ or 14196 bigintExpr(-280223983525050_) rem bigintExpr( -1_) <> -0_ or 14197 bigintExpr(-280223983525050_) rem bigintExpr( -2_) <> -0_ or 14198 bigintExpr(-280223983525050_) rem bigintExpr( -4_) <> -2_ or 14199 bigintExpr(-280223983525050_) rem bigintExpr( -8_) <> -2_ or 14200 bigintExpr(-280223983525050_) rem bigintExpr( -1024_) <> -186_ or 14201 bigintExpr(-280223983525050_) rem bigintExpr( -1048576_) <> -974010_ or 14202 bigintExpr(-280223983525050_) rem bigintExpr( -1073741824_) <> -989781178_ or 14203 bigintExpr(-280223983525050_) rem bigintExpr( -2147483648_) <> -989781178_ or 14204 bigintExpr(-280223983525050_) rem bigintExpr( -4294967296_) <> -3137264826_ or 14205 bigintExpr(-280223983525050_) rem bigintExpr(-1099511627776_) <> -948030069946_ then 14206 writeln("Remainder of bigInteger division by power of two does not work correct."); 14207 okay := FALSE; 14208 end if; 14209 14210 if not raisesNumericError( -9223372036854775808_ rem 0_ ) or 14211 not raisesNumericError( -9223372036854775807_ rem 0_ ) or 14212 not raisesNumericError( -4294967296_ rem 0_ ) or 14213 not raisesNumericError( -4294967295_ rem 0_ ) or 14214 not raisesNumericError( -2147483648_ rem 0_ ) or 14215 not raisesNumericError( -2147483647_ rem 0_ ) or 14216 not raisesNumericError( 0_ rem 0_ ) or 14217 not raisesNumericError( 2147483647_ rem 0_ ) or 14218 not raisesNumericError( 2147483648_ rem 0_ ) or 14219 not raisesNumericError( 4294967295_ rem 0_ ) or 14220 not raisesNumericError( 4294967296_ rem 0_ ) or 14221 not raisesNumericError( 9223372036854775807_ rem 0_ ) or 14222 not raisesNumericError( 9223372036854775808_ rem 0_ ) or 14223 not raisesNumericError(bigintExpr(-9223372036854775808_) rem 0_ ) or 14224 not raisesNumericError(bigintExpr(-9223372036854775807_) rem 0_ ) or 14225 not raisesNumericError(bigintExpr( -4294967296_) rem 0_ ) or 14226 not raisesNumericError(bigintExpr( -4294967295_) rem 0_ ) or 14227 not raisesNumericError(bigintExpr( -2147483648_) rem 0_ ) or 14228 not raisesNumericError(bigintExpr( -2147483647_) rem 0_ ) or 14229 not raisesNumericError(bigintExpr( 0_) rem 0_ ) or 14230 not raisesNumericError(bigintExpr( 2147483647_) rem 0_ ) or 14231 not raisesNumericError(bigintExpr( 2147483648_) rem 0_ ) or 14232 not raisesNumericError(bigintExpr( 4294967295_) rem 0_ ) or 14233 not raisesNumericError(bigintExpr( 4294967296_) rem 0_ ) or 14234 not raisesNumericError(bigintExpr( 9223372036854775807_) rem 0_ ) or 14235 not raisesNumericError(bigintExpr( 9223372036854775808_) rem 0_ ) or 14236 not raisesNumericError( -9223372036854775808_ rem bigintExpr(0_)) or 14237 not raisesNumericError( -9223372036854775807_ rem bigintExpr(0_)) or 14238 not raisesNumericError( -4294967296_ rem bigintExpr(0_)) or 14239 not raisesNumericError( -4294967295_ rem bigintExpr(0_)) or 14240 not raisesNumericError( -2147483648_ rem bigintExpr(0_)) or 14241 not raisesNumericError( -2147483647_ rem bigintExpr(0_)) or 14242 not raisesNumericError( 0_ rem bigintExpr(0_)) or 14243 not raisesNumericError( 2147483647_ rem bigintExpr(0_)) or 14244 not raisesNumericError( 2147483648_ rem bigintExpr(0_)) or 14245 not raisesNumericError( 4294967295_ rem bigintExpr(0_)) or 14246 not raisesNumericError( 4294967296_ rem bigintExpr(0_)) or 14247 not raisesNumericError( 9223372036854775807_ rem bigintExpr(0_)) or 14248 not raisesNumericError( 9223372036854775808_ rem bigintExpr(0_)) or 14249 not raisesNumericError(bigintExpr(-9223372036854775808_) rem bigintExpr(0_)) or 14250 not raisesNumericError(bigintExpr(-9223372036854775807_) rem bigintExpr(0_)) or 14251 not raisesNumericError(bigintExpr( -4294967296_) rem bigintExpr(0_)) or 14252 not raisesNumericError(bigintExpr( -4294967295_) rem bigintExpr(0_)) or 14253 not raisesNumericError(bigintExpr( -2147483648_) rem bigintExpr(0_)) or 14254 not raisesNumericError(bigintExpr( -2147483647_) rem bigintExpr(0_)) or 14255 not raisesNumericError(bigintExpr( 0_) rem bigintExpr(0_)) or 14256 not raisesNumericError(bigintExpr( 2147483647_) rem bigintExpr(0_)) or 14257 not raisesNumericError(bigintExpr( 2147483648_) rem bigintExpr(0_)) or 14258 not raisesNumericError(bigintExpr( 4294967295_) rem bigintExpr(0_)) or 14259 not raisesNumericError(bigintExpr( 4294967296_) rem bigintExpr(0_)) or 14260 not raisesNumericError(bigintExpr( 9223372036854775807_) rem bigintExpr(0_)) or 14261 not raisesNumericError(bigintExpr( 9223372036854775808_) rem bigintExpr(0_)) then 14262 writeln(" ***** Remainder of bigInteger division by zero does not raise NUMERIC_ERROR."); 14263 okay := FALSE; 14264 end if; 14265 14266 if okay then 14267 writeln("Remainder of bigInteger division works correct."); 14268 else 14269 writeln(" ***** Remainder of bigInteger division does not work correct."); 14270 writeln; 14271 end if; 14272 end func; 14273 14274 14275const proc: chkDivRem is func 14276 local 14277 var boolean: okay is TRUE; 14278 begin 14279 if 32766_ divRem 1_ <> quotRem( 32766_, 0_) or 14280 32767_ divRem 1_ <> quotRem( 32767_, 0_) or 14281 32768_ divRem 1_ <> quotRem( 32768_, 0_) or 14282 32769_ divRem 1_ <> quotRem( 32769_, 0_) or 14283 32770_ divRem 1_ <> quotRem( 32770_, 0_) or 14284 65534_ divRem 1_ <> quotRem( 65534_, 0_) or 14285 65535_ divRem 1_ <> quotRem( 65535_, 0_) or 14286 65536_ divRem 1_ <> quotRem( 65536_, 0_) or 14287 65537_ divRem 1_ <> quotRem( 65537_, 0_) or 14288 65538_ divRem 1_ <> quotRem( 65538_, 0_) or 14289 65536_ divRem 128_ <> quotRem( 512_, 0_) or 14290 32766_ divRem 32766_ <> quotRem( 1_, 0_) or 14291 32767_ divRem 32767_ <> quotRem( 1_, 0_) or 14292 32768_ divRem 32768_ <> quotRem( 1_, 0_) or 14293 32769_ divRem 32769_ <> quotRem( 1_, 0_) or 14294 32770_ divRem 32770_ <> quotRem( 1_, 0_) or 14295 65534_ divRem 65534_ <> quotRem( 1_, 0_) or 14296 65535_ divRem 65535_ <> quotRem( 1_, 0_) or 14297 65536_ divRem 65536_ <> quotRem( 1_, 0_) or 14298 65537_ divRem 65537_ <> quotRem( 1_, 0_) or 14299 65538_ divRem 65538_ <> quotRem( 1_, 0_) or 14300 32765_ divRem 32766_ <> quotRem( 0_, 32765_) or 14301 32766_ divRem 32767_ <> quotRem( 0_, 32766_) or 14302 32767_ divRem 32768_ <> quotRem( 0_, 32767_) or 14303 32768_ divRem 32769_ <> quotRem( 0_, 32768_) or 14304 32769_ divRem 32770_ <> quotRem( 0_, 32769_) or 14305 65533_ divRem 65534_ <> quotRem( 0_, 65533_) or 14306 65534_ divRem 65535_ <> quotRem( 0_, 65534_) or 14307 65535_ divRem 65536_ <> quotRem( 0_, 65535_) or 14308 65536_ divRem 65537_ <> quotRem( 0_, 65536_) or 14309 65537_ divRem 65538_ <> quotRem( 0_, 65537_) or 14310 32766_ divRem 18446744073709551616_ <> quotRem( 0_, 32766_) or 14311 32767_ divRem 18446744073709551616_ <> quotRem( 0_, 32767_) or 14312 32768_ divRem 18446744073709551616_ <> quotRem( 0_, 32768_) or 14313 32769_ divRem 18446744073709551616_ <> quotRem( 0_, 32769_) or 14314 32770_ divRem 18446744073709551616_ <> quotRem( 0_, 32770_) or 14315 65534_ divRem 18446744073709551616_ <> quotRem( 0_, 65534_) or 14316 65535_ divRem 18446744073709551616_ <> quotRem( 0_, 65535_) or 14317 65536_ divRem 18446744073709551616_ <> quotRem( 0_, 65536_) or 14318 65537_ divRem 18446744073709551616_ <> quotRem( 0_, 65537_) or 14319 65538_ divRem 18446744073709551616_ <> quotRem( 0_, 65538_) or 14320 2147483647_ divRem 2147483647_ <> quotRem( 1_, 0_) or 14321 2147483647_ divRem 2147483648_ <> quotRem( 0_, 2147483647_) or 14322 2147483647_ divRem 2147483649_ <> quotRem( 0_, 2147483647_) or 14323 2147483648_ divRem 2147483647_ <> quotRem( 1_, 1_) or 14324 2147483648_ divRem 2147483648_ <> quotRem( 1_, 0_) or 14325 2147483648_ divRem 2147483649_ <> quotRem( 0_, 2147483648_) or 14326 2147483649_ divRem 2147483647_ <> quotRem( 1_, 2_) or 14327 2147483649_ divRem 2147483648_ <> quotRem( 1_, 1_) or 14328 2147483649_ divRem 2147483649_ <> quotRem( 1_, 0_) or 14329 4294967295_ divRem 4294967295_ <> quotRem( 1_, 0_) or 14330 4294967295_ divRem 4294967296_ <> quotRem( 0_, 4294967295_) or 14331 4294967295_ divRem 4294967297_ <> quotRem( 0_, 4294967295_) or 14332 4294967296_ divRem 4294967295_ <> quotRem( 1_, 1_) or 14333 4294967296_ divRem 4294967296_ <> quotRem( 1_, 0_) or 14334 4294967296_ divRem 4294967297_ <> quotRem( 0_, 4294967296_) or 14335 4294967297_ divRem 4294967295_ <> quotRem( 1_, 2_) or 14336 4294967297_ divRem 4294967296_ <> quotRem( 1_, 1_) or 14337 4294967297_ divRem 4294967297_ <> quotRem( 1_, 0_) or 14338 140737488355327_ divRem 140737488355328_ <> quotRem( 0_, 140737488355327_) or 14339 140737488355328_ divRem 140737488355327_ <> quotRem( 1_, 1_) or 14340 140737488355328_ divRem 140737488355328_ <> quotRem( 1_, 0_) or 14341 140737488355328_ divRem 140737488355329_ <> quotRem( 0_, 140737488355328_) or 14342 9223372036854775807_ divRem 32768_ <> quotRem( 281474976710655_, 32767_) or 14343 9223090561878065152_ divRem 32767_ <> quotRem( 281474976710656_, 0_) or 14344 4294967296_ divRem 32768_ <> quotRem( 131072_, 0_) or 14345 4295229444_ divRem 65538_ <> quotRem( 65538_, 0_) or 14346 8629125120_ divRem 4833607680_ <> quotRem( 1_, 3795517440_) or 14347 18446744073709551616_ divRem 32767_ <> quotRem( 562967133814800_, 16_) or 14348 18446744073709551616_ divRem 32768_ <> quotRem( 562949953421312_, 0_) or 14349 18446744073709551616_ divRem 65535_ <> quotRem( 281479271743489_, 1_) or 14350 18446744073709551616_ divRem 131071_ <> quotRem( 140738562105344_, 8192_) or 14351 18446744073709551616_ divRem 2147483648_ <> quotRem( 8589934592_, 0_) or 14352 18446744073709551616_ divRem 4294967296_ <> quotRem( 4294967296_, 0_) or 14353 18446744073709551616_ divRem 4294967297_ <> quotRem( 4294967295_, 1_) or 14354 18446744073709551616_ divRem 18446744073709551616_ <> quotRem( 1_, 0_) or 14355 18446744073709551616_ divRem 18446744073709551617_ <> quotRem( 0_, 18446744073709551616_) or 14356 9223372036854775808_ divRem 140737488355329_ <> quotRem( 65535_, 140737488289793_) or 14357 9223372036854775808_ divRem 140737488420863_ <> quotRem( 65535_, 140733193519103_) or 14358 9223372036854775808_ divRem 140737488420864_ <> quotRem( 65535_, 140733193453568_) or 14359 9223372036854775808_ divRem 140741783322623_ <> quotRem( 65534_, 8590000126_) or 14360 1152921504606846976_ divRem 17596481011711_ <> quotRem( 65520_, 68719542256_) or 14361 9223231303661387776_ divRem 140739636002821_ <> quotRem( 65533_, 140737488519183_) or 14362 39614081257132168796771975168_ divRem 9223372036854775809_ <> quotRem( 4294967295_, 9223372032559808513_) then 14363 writeln("Division of bigInteger with divRem does not work correct. (1)"); 14364 okay := FALSE; 14365 end if; 14366 14367 if 32766_ divRem -1_ <> quotRem( -32766_, 0_) or 14368 32767_ divRem -1_ <> quotRem( -32767_, 0_) or 14369 32768_ divRem -1_ <> quotRem( -32768_, 0_) or 14370 32769_ divRem -1_ <> quotRem( -32769_, 0_) or 14371 32770_ divRem -1_ <> quotRem( -32770_, 0_) or 14372 65534_ divRem -1_ <> quotRem( -65534_, 0_) or 14373 65535_ divRem -1_ <> quotRem( -65535_, 0_) or 14374 65536_ divRem -1_ <> quotRem( -65536_, 0_) or 14375 65537_ divRem -1_ <> quotRem( -65537_, 0_) or 14376 65538_ divRem -1_ <> quotRem( -65538_, 0_) or 14377 65536_ divRem -128_ <> quotRem( -512_, 0_) or 14378 32766_ divRem -32766_ <> quotRem( -1_, 0_) or 14379 32767_ divRem -32767_ <> quotRem( -1_, 0_) or 14380 32768_ divRem -32768_ <> quotRem( -1_, 0_) or 14381 32769_ divRem -32769_ <> quotRem( -1_, 0_) or 14382 32770_ divRem -32770_ <> quotRem( -1_, 0_) or 14383 65534_ divRem -65534_ <> quotRem( -1_, 0_) or 14384 65535_ divRem -65535_ <> quotRem( -1_, 0_) or 14385 65536_ divRem -65536_ <> quotRem( -1_, 0_) or 14386 65537_ divRem -65537_ <> quotRem( -1_, 0_) or 14387 65538_ divRem -65538_ <> quotRem( -1_, 0_) or 14388 32765_ divRem -32766_ <> quotRem( 0_, 32765_) or 14389 32766_ divRem -32767_ <> quotRem( 0_, 32766_) or 14390 32767_ divRem -32768_ <> quotRem( 0_, 32767_) or 14391 32768_ divRem -32769_ <> quotRem( 0_, 32768_) or 14392 32769_ divRem -32770_ <> quotRem( 0_, 32769_) or 14393 65533_ divRem -65534_ <> quotRem( 0_, 65533_) or 14394 65534_ divRem -65535_ <> quotRem( 0_, 65534_) or 14395 65535_ divRem -65536_ <> quotRem( 0_, 65535_) or 14396 65536_ divRem -65537_ <> quotRem( 0_, 65536_) or 14397 65537_ divRem -65538_ <> quotRem( 0_, 65537_) or 14398 32766_ divRem -18446744073709551616_ <> quotRem( 0_, 32766_) or 14399 32767_ divRem -18446744073709551616_ <> quotRem( 0_, 32767_) or 14400 32768_ divRem -18446744073709551616_ <> quotRem( 0_, 32768_) or 14401 32769_ divRem -18446744073709551616_ <> quotRem( 0_, 32769_) or 14402 32770_ divRem -18446744073709551616_ <> quotRem( 0_, 32770_) or 14403 65534_ divRem -18446744073709551616_ <> quotRem( 0_, 65534_) or 14404 65535_ divRem -18446744073709551616_ <> quotRem( 0_, 65535_) or 14405 65536_ divRem -18446744073709551616_ <> quotRem( 0_, 65536_) or 14406 65537_ divRem -18446744073709551616_ <> quotRem( 0_, 65537_) or 14407 65538_ divRem -18446744073709551616_ <> quotRem( 0_, 65538_) or 14408 2147483647_ divRem -2147483647_ <> quotRem( -1_, 0_) or 14409 2147483647_ divRem -2147483648_ <> quotRem( 0_, 2147483647_) or 14410 2147483647_ divRem -2147483649_ <> quotRem( 0_, 2147483647_) or 14411 2147483648_ divRem -2147483647_ <> quotRem( -1_, 1_) or 14412 2147483648_ divRem -2147483648_ <> quotRem( -1_, 0_) or 14413 2147483648_ divRem -2147483649_ <> quotRem( 0_, 2147483648_) or 14414 2147483649_ divRem -2147483647_ <> quotRem( -1_, 2_) or 14415 2147483649_ divRem -2147483648_ <> quotRem( -1_, 1_) or 14416 2147483649_ divRem -2147483649_ <> quotRem( -1_, 0_) or 14417 4294967295_ divRem -4294967295_ <> quotRem( -1_, 0_) or 14418 4294967295_ divRem -4294967296_ <> quotRem( 0_, 4294967295_) or 14419 4294967295_ divRem -4294967297_ <> quotRem( 0_, 4294967295_) or 14420 4294967296_ divRem -4294967295_ <> quotRem( -1_, 1_) or 14421 4294967296_ divRem -4294967296_ <> quotRem( -1_, 0_) or 14422 4294967296_ divRem -4294967297_ <> quotRem( 0_, 4294967296_) or 14423 4294967297_ divRem -4294967295_ <> quotRem( -1_, 2_) or 14424 4294967297_ divRem -4294967296_ <> quotRem( -1_, 1_) or 14425 4294967297_ divRem -4294967297_ <> quotRem( -1_, 0_) or 14426 140737488355327_ divRem -140737488355328_ <> quotRem( 0_, 140737488355327_) or 14427 140737488355328_ divRem -140737488355327_ <> quotRem( -1_, 1_) or 14428 140737488355328_ divRem -140737488355328_ <> quotRem( -1_, 0_) or 14429 140737488355328_ divRem -140737488355329_ <> quotRem( 0_, 140737488355328_) or 14430 9223372036854775807_ divRem -32768_ <> quotRem(-281474976710655_, 32767_) or 14431 9223090561878065152_ divRem -32767_ <> quotRem(-281474976710656_, 0_) or 14432 4294967296_ divRem -32768_ <> quotRem( -131072_, 0_) or 14433 4295229444_ divRem -65538_ <> quotRem( -65538_, 0_) or 14434 8629125120_ divRem -4833607680_ <> quotRem( -1_, 3795517440_) or 14435 18446744073709551616_ divRem -32767_ <> quotRem(-562967133814800_, 16_) or 14436 18446744073709551616_ divRem -32768_ <> quotRem(-562949953421312_, 0_) or 14437 18446744073709551616_ divRem -65535_ <> quotRem(-281479271743489_, 1_) or 14438 18446744073709551616_ divRem -131071_ <> quotRem(-140738562105344_, 8192_) or 14439 18446744073709551616_ divRem -2147483648_ <> quotRem( -8589934592_, 0_) or 14440 18446744073709551616_ divRem -4294967296_ <> quotRem( -4294967296_, 0_) or 14441 18446744073709551616_ divRem -4294967297_ <> quotRem( -4294967295_, 1_) or 14442 18446744073709551616_ divRem -18446744073709551616_ <> quotRem( -1_, 0_) or 14443 18446744073709551616_ divRem -18446744073709551617_ <> quotRem( 0_, 18446744073709551616_) or 14444 9223372036854775808_ divRem -140737488355329_ <> quotRem( -65535_, 140737488289793_) or 14445 9223372036854775808_ divRem -140737488420863_ <> quotRem( -65535_, 140733193519103_) or 14446 9223372036854775808_ divRem -140737488420864_ <> quotRem( -65535_, 140733193453568_) or 14447 9223372036854775808_ divRem -140741783322623_ <> quotRem( -65534_, 8590000126_) or 14448 1152921504606846976_ divRem -17596481011711_ <> quotRem( -65520_, 68719542256_) or 14449 9223231303661387776_ divRem -140739636002821_ <> quotRem( -65533_, 140737488519183_) or 14450 39614081257132168796771975168_ divRem -9223372036854775809_ <> quotRem( -4294967295_, 9223372032559808513_) then 14451 writeln("Division of bigInteger with divRem does not work correct. (2)"); 14452 okay := FALSE; 14453 end if; 14454 14455 if -32766_ divRem 1_ <> quotRem( -32766_, 0_) or 14456 -32767_ divRem 1_ <> quotRem( -32767_, 0_) or 14457 -32768_ divRem 1_ <> quotRem( -32768_, 0_) or 14458 -32769_ divRem 1_ <> quotRem( -32769_, 0_) or 14459 -32770_ divRem 1_ <> quotRem( -32770_, 0_) or 14460 -65534_ divRem 1_ <> quotRem( -65534_, 0_) or 14461 -65535_ divRem 1_ <> quotRem( -65535_, 0_) or 14462 -65536_ divRem 1_ <> quotRem( -65536_, 0_) or 14463 -65537_ divRem 1_ <> quotRem( -65537_, 0_) or 14464 -65538_ divRem 1_ <> quotRem( -65538_, 0_) or 14465 -65536_ divRem 128_ <> quotRem( -512_, 0_) or 14466 -32766_ divRem 32766_ <> quotRem( -1_, 0_) or 14467 -32767_ divRem 32767_ <> quotRem( -1_, 0_) or 14468 -32768_ divRem 32768_ <> quotRem( -1_, 0_) or 14469 -32769_ divRem 32769_ <> quotRem( -1_, 0_) or 14470 -32770_ divRem 32770_ <> quotRem( -1_, 0_) or 14471 -65534_ divRem 65534_ <> quotRem( -1_, 0_) or 14472 -65535_ divRem 65535_ <> quotRem( -1_, 0_) or 14473 -65536_ divRem 65536_ <> quotRem( -1_, 0_) or 14474 -65537_ divRem 65537_ <> quotRem( -1_, 0_) or 14475 -65538_ divRem 65538_ <> quotRem( -1_, 0_) or 14476 -32765_ divRem 32766_ <> quotRem( 0_, -32765_) or 14477 -32766_ divRem 32767_ <> quotRem( 0_, -32766_) or 14478 -32767_ divRem 32768_ <> quotRem( 0_, -32767_) or 14479 -32768_ divRem 32769_ <> quotRem( 0_, -32768_) or 14480 -32769_ divRem 32770_ <> quotRem( 0_, -32769_) or 14481 -65533_ divRem 65534_ <> quotRem( 0_, -65533_) or 14482 -65534_ divRem 65535_ <> quotRem( 0_, -65534_) or 14483 -65535_ divRem 65536_ <> quotRem( 0_, -65535_) or 14484 -65536_ divRem 65537_ <> quotRem( 0_, -65536_) or 14485 -65537_ divRem 65538_ <> quotRem( 0_, -65537_) or 14486 -32766_ divRem 18446744073709551616_ <> quotRem( 0_, -32766_) or 14487 -32767_ divRem 18446744073709551616_ <> quotRem( 0_, -32767_) or 14488 -32768_ divRem 18446744073709551616_ <> quotRem( 0_, -32768_) or 14489 -32769_ divRem 18446744073709551616_ <> quotRem( 0_, -32769_) or 14490 -32770_ divRem 18446744073709551616_ <> quotRem( 0_, -32770_) or 14491 -65534_ divRem 18446744073709551616_ <> quotRem( 0_, -65534_) or 14492 -65535_ divRem 18446744073709551616_ <> quotRem( 0_, -65535_) or 14493 -65536_ divRem 18446744073709551616_ <> quotRem( 0_, -65536_) or 14494 -65537_ divRem 18446744073709551616_ <> quotRem( 0_, -65537_) or 14495 -65538_ divRem 18446744073709551616_ <> quotRem( 0_, -65538_) or 14496 -2147483647_ divRem 2147483647_ <> quotRem( -1_, 0_) or 14497 -2147483647_ divRem 2147483648_ <> quotRem( 0_, -2147483647_) or 14498 -2147483647_ divRem 2147483649_ <> quotRem( 0_, -2147483647_) or 14499 -2147483648_ divRem 2147483647_ <> quotRem( -1_, -1_) or 14500 -2147483648_ divRem 2147483648_ <> quotRem( -1_, 0_) or 14501 -2147483648_ divRem 2147483649_ <> quotRem( 0_, -2147483648_) or 14502 -2147483649_ divRem 2147483647_ <> quotRem( -1_, -2_) or 14503 -2147483649_ divRem 2147483648_ <> quotRem( -1_, -1_) or 14504 -2147483649_ divRem 2147483649_ <> quotRem( -1_, 0_) or 14505 -4294967295_ divRem 4294967295_ <> quotRem( -1_, 0_) or 14506 -4294967295_ divRem 4294967296_ <> quotRem( 0_, -4294967295_) or 14507 -4294967295_ divRem 4294967297_ <> quotRem( 0_, -4294967295_) or 14508 -4294967296_ divRem 4294967295_ <> quotRem( -1_, -1_) or 14509 -4294967296_ divRem 4294967296_ <> quotRem( -1_, 0_) or 14510 -4294967296_ divRem 4294967297_ <> quotRem( 0_, -4294967296_) or 14511 -4294967297_ divRem 4294967295_ <> quotRem( -1_, -2_) or 14512 -4294967297_ divRem 4294967296_ <> quotRem( -1_, -1_) or 14513 -4294967297_ divRem 4294967297_ <> quotRem( -1_, 0_) or 14514 -140737488355327_ divRem 140737488355328_ <> quotRem( 0_, -140737488355327_) or 14515 -140737488355328_ divRem 140737488355327_ <> quotRem( -1_, -1_) or 14516 -140737488355328_ divRem 140737488355328_ <> quotRem( -1_, 0_) or 14517 -140737488355328_ divRem 140737488355329_ <> quotRem( 0_, -140737488355328_) or 14518 -9223372036854775807_ divRem 32768_ <> quotRem(-281474976710655_, -32767_) or 14519 -9223090561878065152_ divRem 32767_ <> quotRem(-281474976710656_, 0_) or 14520 -4294967296_ divRem 32768_ <> quotRem( -131072_, 0_) or 14521 -4295229444_ divRem 65538_ <> quotRem( -65538_, 0_) or 14522 -8629125120_ divRem 4833607680_ <> quotRem( -1_, -3795517440_) or 14523 -18446744073709551616_ divRem 32767_ <> quotRem(-562967133814800_, -16_) or 14524 -18446744073709551616_ divRem 32768_ <> quotRem(-562949953421312_, 0_) or 14525 -18446744073709551616_ divRem 65535_ <> quotRem(-281479271743489_, -1_) or 14526 -18446744073709551616_ divRem 131071_ <> quotRem(-140738562105344_, -8192_) or 14527 -18446744073709551616_ divRem 2147483648_ <> quotRem( -8589934592_, 0_) or 14528 -18446744073709551616_ divRem 4294967296_ <> quotRem( -4294967296_, 0_) or 14529 -18446744073709551616_ divRem 4294967297_ <> quotRem( -4294967295_, -1_) or 14530 -18446744073709551616_ divRem 18446744073709551616_ <> quotRem( -1_, 0_) or 14531 -18446744073709551616_ divRem 18446744073709551617_ <> quotRem( 0_, -18446744073709551616_) or 14532 -9223372036854775808_ divRem 140737488355329_ <> quotRem( -65535_, -140737488289793_) or 14533 -9223372036854775808_ divRem 140737488420863_ <> quotRem( -65535_, -140733193519103_) or 14534 -9223372036854775808_ divRem 140737488420864_ <> quotRem( -65535_, -140733193453568_) or 14535 -9223372036854775808_ divRem 140741783322623_ <> quotRem( -65534_, -8590000126_) or 14536 -1152921504606846976_ divRem 17596481011711_ <> quotRem( -65520_, -68719542256_) or 14537 -9223231303661387776_ divRem 140739636002821_ <> quotRem( -65533_, -140737488519183_) or 14538 -39614081257132168796771975168_ divRem 9223372036854775809_ <> quotRem( -4294967295_, -9223372032559808513_) then 14539 writeln("Division of bigInteger with divRem does not work correct. (3)"); 14540 okay := FALSE; 14541 end if; 14542 14543 if -32766_ divRem -1_ <> quotRem( 32766_, 0_) or 14544 -32767_ divRem -1_ <> quotRem( 32767_, 0_) or 14545 -32768_ divRem -1_ <> quotRem( 32768_, 0_) or 14546 -32769_ divRem -1_ <> quotRem( 32769_, 0_) or 14547 -32770_ divRem -1_ <> quotRem( 32770_, 0_) or 14548 -65534_ divRem -1_ <> quotRem( 65534_, 0_) or 14549 -65535_ divRem -1_ <> quotRem( 65535_, 0_) or 14550 -65536_ divRem -1_ <> quotRem( 65536_, 0_) or 14551 -65537_ divRem -1_ <> quotRem( 65537_, 0_) or 14552 -65538_ divRem -1_ <> quotRem( 65538_, 0_) or 14553 -65536_ divRem -128_ <> quotRem( 512_, 0_) or 14554 -32766_ divRem -32766_ <> quotRem( 1_, 0_) or 14555 -32767_ divRem -32767_ <> quotRem( 1_, 0_) or 14556 -32768_ divRem -32768_ <> quotRem( 1_, 0_) or 14557 -32769_ divRem -32769_ <> quotRem( 1_, 0_) or 14558 -32770_ divRem -32770_ <> quotRem( 1_, 0_) or 14559 -65534_ divRem -65534_ <> quotRem( 1_, 0_) or 14560 -65535_ divRem -65535_ <> quotRem( 1_, 0_) or 14561 -65536_ divRem -65536_ <> quotRem( 1_, 0_) or 14562 -65537_ divRem -65537_ <> quotRem( 1_, 0_) or 14563 -65538_ divRem -65538_ <> quotRem( 1_, 0_) or 14564 -32765_ divRem -32766_ <> quotRem( 0_, -32765_) or 14565 -32766_ divRem -32767_ <> quotRem( 0_, -32766_) or 14566 -32767_ divRem -32768_ <> quotRem( 0_, -32767_) or 14567 -32768_ divRem -32769_ <> quotRem( 0_, -32768_) or 14568 -32769_ divRem -32770_ <> quotRem( 0_, -32769_) or 14569 -65533_ divRem -65534_ <> quotRem( 0_, -65533_) or 14570 -65534_ divRem -65535_ <> quotRem( 0_, -65534_) or 14571 -65535_ divRem -65536_ <> quotRem( 0_, -65535_) or 14572 -65536_ divRem -65537_ <> quotRem( 0_, -65536_) or 14573 -65537_ divRem -65538_ <> quotRem( 0_, -65537_) or 14574 -32766_ divRem -18446744073709551616_ <> quotRem( 0_, -32766_) or 14575 -32767_ divRem -18446744073709551616_ <> quotRem( 0_, -32767_) or 14576 -32768_ divRem -18446744073709551616_ <> quotRem( 0_, -32768_) or 14577 -32769_ divRem -18446744073709551616_ <> quotRem( 0_, -32769_) or 14578 -32770_ divRem -18446744073709551616_ <> quotRem( 0_, -32770_) or 14579 -65534_ divRem -18446744073709551616_ <> quotRem( 0_, -65534_) or 14580 -65535_ divRem -18446744073709551616_ <> quotRem( 0_, -65535_) or 14581 -65536_ divRem -18446744073709551616_ <> quotRem( 0_, -65536_) or 14582 -65537_ divRem -18446744073709551616_ <> quotRem( 0_, -65537_) or 14583 -65538_ divRem -18446744073709551616_ <> quotRem( 0_, -65538_) or 14584 -2147483647_ divRem -2147483647_ <> quotRem( 1_, 0_) or 14585 -2147483647_ divRem -2147483648_ <> quotRem( 0_, -2147483647_) or 14586 -2147483647_ divRem -2147483649_ <> quotRem( 0_, -2147483647_) or 14587 -2147483648_ divRem -2147483647_ <> quotRem( 1_, -1_) or 14588 -2147483648_ divRem -2147483648_ <> quotRem( 1_, 0_) or 14589 -2147483648_ divRem -2147483649_ <> quotRem( 0_, -2147483648_) or 14590 -2147483649_ divRem -2147483647_ <> quotRem( 1_, -2_) or 14591 -2147483649_ divRem -2147483648_ <> quotRem( 1_, -1_) or 14592 -2147483649_ divRem -2147483649_ <> quotRem( 1_, 0_) or 14593 -4294967295_ divRem -4294967295_ <> quotRem( 1_, 0_) or 14594 -4294967295_ divRem -4294967296_ <> quotRem( 0_, -4294967295_) or 14595 -4294967295_ divRem -4294967297_ <> quotRem( 0_, -4294967295_) or 14596 -4294967296_ divRem -4294967295_ <> quotRem( 1_, -1_) or 14597 -4294967296_ divRem -4294967296_ <> quotRem( 1_, 0_) or 14598 -4294967296_ divRem -4294967297_ <> quotRem( 0_, -4294967296_) or 14599 -4294967297_ divRem -4294967295_ <> quotRem( 1_, -2_) or 14600 -4294967297_ divRem -4294967296_ <> quotRem( 1_, -1_) or 14601 -4294967297_ divRem -4294967297_ <> quotRem( 1_, 0_) or 14602 -140737488355327_ divRem -140737488355328_ <> quotRem( 0_, -140737488355327_) or 14603 -140737488355328_ divRem -140737488355327_ <> quotRem( 1_, -1_) or 14604 -140737488355328_ divRem -140737488355328_ <> quotRem( 1_, 0_) or 14605 -140737488355328_ divRem -140737488355329_ <> quotRem( 0_, -140737488355328_) or 14606 -9223372036854775807_ divRem -32768_ <> quotRem( 281474976710655_, -32767_) or 14607 -9223090561878065152_ divRem -32767_ <> quotRem( 281474976710656_, 0_) or 14608 -4294967296_ divRem -32768_ <> quotRem( 131072_, 0_) or 14609 -4295229444_ divRem -65538_ <> quotRem( 65538_, 0_) or 14610 -8629125120_ divRem -4833607680_ <> quotRem( 1_, -3795517440_) or 14611 -18446744073709551616_ divRem -32767_ <> quotRem( 562967133814800_, -16_) or 14612 -18446744073709551616_ divRem -32768_ <> quotRem( 562949953421312_, 0_) or 14613 -18446744073709551616_ divRem -65535_ <> quotRem( 281479271743489_, -1_) or 14614 -18446744073709551616_ divRem -131071_ <> quotRem( 140738562105344_, -8192_) or 14615 -18446744073709551616_ divRem -2147483648_ <> quotRem( 8589934592_, 0_) or 14616 -18446744073709551616_ divRem -4294967296_ <> quotRem( 4294967296_, 0_) or 14617 -18446744073709551616_ divRem -4294967297_ <> quotRem( 4294967295_, -1_) or 14618 -18446744073709551616_ divRem -18446744073709551616_ <> quotRem( 1_, 0_) or 14619 -18446744073709551616_ divRem -18446744073709551617_ <> quotRem( 0_, -18446744073709551616_) or 14620 -9223372036854775808_ divRem -140737488355329_ <> quotRem( 65535_, -140737488289793_) or 14621 -9223372036854775808_ divRem -140737488420863_ <> quotRem( 65535_, -140733193519103_) or 14622 -9223372036854775808_ divRem -140737488420864_ <> quotRem( 65535_, -140733193453568_) or 14623 -9223372036854775808_ divRem -140741783322623_ <> quotRem( 65534_, -8590000126_) or 14624 -1152921504606846976_ divRem -17596481011711_ <> quotRem( 65520_, -68719542256_) or 14625 -9223231303661387776_ divRem -140739636002821_ <> quotRem( 65533_, -140737488519183_) or 14626 -39614081257132168796771975168_ divRem -9223372036854775809_ <> quotRem( 4294967295_, -9223372032559808513_) then 14627 writeln("Division of bigInteger with divRem does not work correct. (4)"); 14628 okay := FALSE; 14629 end if; 14630 14631 if okay then 14632 writeln("Division of bigInteger with divRem works correct."); 14633 else 14634 writeln(" ***** Division of bigInteger with divRem does not work correct."); 14635 writeln; 14636 end if; 14637 end func; 14638 14639 14640const proc: chkModDivision is func 14641 local 14642 var bigInteger: number is 0_; 14643 var boolean: okay is TRUE; 14644 begin 14645 if 32766_ mdiv 1_ <> 32766_ or 14646 32767_ mdiv 1_ <> 32767_ or 14647 32768_ mdiv 1_ <> 32768_ or 14648 32769_ mdiv 1_ <> 32769_ or 14649 32770_ mdiv 1_ <> 32770_ or 14650 65534_ mdiv 1_ <> 65534_ or 14651 65535_ mdiv 1_ <> 65535_ or 14652 65536_ mdiv 1_ <> 65536_ or 14653 65537_ mdiv 1_ <> 65537_ or 14654 65538_ mdiv 1_ <> 65538_ or 14655 65536_ mdiv 128_ <> 512_ or 14656 32766_ mdiv 32766_ <> 1_ or 14657 32767_ mdiv 32767_ <> 1_ or 14658 32768_ mdiv 32768_ <> 1_ or 14659 32769_ mdiv 32769_ <> 1_ or 14660 32770_ mdiv 32770_ <> 1_ or 14661 65534_ mdiv 65534_ <> 1_ or 14662 65535_ mdiv 65535_ <> 1_ or 14663 65536_ mdiv 65536_ <> 1_ or 14664 65537_ mdiv 65537_ <> 1_ or 14665 65538_ mdiv 65538_ <> 1_ or 14666 32765_ mdiv 32766_ <> 0_ or 14667 32766_ mdiv 32767_ <> 0_ or 14668 32767_ mdiv 32768_ <> 0_ or 14669 32768_ mdiv 32769_ <> 0_ or 14670 32769_ mdiv 32770_ <> 0_ or 14671 65533_ mdiv 65534_ <> 0_ or 14672 65534_ mdiv 65535_ <> 0_ or 14673 65535_ mdiv 65536_ <> 0_ or 14674 65536_ mdiv 65537_ <> 0_ or 14675 65537_ mdiv 65538_ <> 0_ or 14676 32766_ mdiv 18446744073709551616_ <> 0_ or 14677 32767_ mdiv 18446744073709551616_ <> 0_ or 14678 32768_ mdiv 18446744073709551616_ <> 0_ or 14679 32769_ mdiv 18446744073709551616_ <> 0_ or 14680 32770_ mdiv 18446744073709551616_ <> 0_ or 14681 65534_ mdiv 18446744073709551616_ <> 0_ or 14682 65535_ mdiv 18446744073709551616_ <> 0_ or 14683 65536_ mdiv 18446744073709551616_ <> 0_ or 14684 65537_ mdiv 18446744073709551616_ <> 0_ or 14685 65538_ mdiv 18446744073709551616_ <> 0_ or 14686 2147483647_ mdiv 2147483647_ <> 1_ or 14687 2147483647_ mdiv 2147483648_ <> 0_ or 14688 2147483647_ mdiv 2147483649_ <> 0_ or 14689 2147483648_ mdiv 2147483647_ <> 1_ or 14690 2147483648_ mdiv 2147483648_ <> 1_ or 14691 2147483648_ mdiv 2147483649_ <> 0_ or 14692 2147483649_ mdiv 2147483647_ <> 1_ or 14693 2147483649_ mdiv 2147483648_ <> 1_ or 14694 2147483649_ mdiv 2147483649_ <> 1_ or 14695 4294967295_ mdiv 4294967295_ <> 1_ or 14696 4294967295_ mdiv 4294967296_ <> 0_ or 14697 4294967295_ mdiv 4294967297_ <> 0_ or 14698 4294967296_ mdiv 4294967295_ <> 1_ or 14699 4294967296_ mdiv 4294967296_ <> 1_ or 14700 4294967296_ mdiv 4294967297_ <> 0_ or 14701 4294967297_ mdiv 4294967295_ <> 1_ or 14702 4294967297_ mdiv 4294967296_ <> 1_ or 14703 4294967297_ mdiv 4294967297_ <> 1_ or 14704 140737488355327_ mdiv 140737488355328_ <> 0_ or 14705 140737488355328_ mdiv 140737488355327_ <> 1_ or 14706 140737488355328_ mdiv 140737488355328_ <> 1_ or 14707 140737488355328_ mdiv 140737488355329_ <> 0_ or 14708 9223372036854775807_ mdiv 32768_ <> 281474976710655_ or 14709 9223090561878065152_ mdiv 32767_ <> 281474976710656_ or 14710 4294967296_ mdiv 32768_ <> 131072_ or 14711 4295229444_ mdiv 65538_ <> 65538_ or 14712 8629125120_ mdiv 4833607680_ <> 1_ or 14713 18446744073709551616_ mdiv 32767_ <> 562967133814800_ or 14714 18446744073709551616_ mdiv 32768_ <> 562949953421312_ or 14715 18446744073709551616_ mdiv 65535_ <> 281479271743489_ or 14716 18446744073709551616_ mdiv 131071_ <> 140738562105344_ or 14717 18446744073709551616_ mdiv 2147483648_ <> 8589934592_ or 14718 18446744073709551616_ mdiv 4294967296_ <> 4294967296_ or 14719 18446744073709551616_ mdiv 4294967297_ <> 4294967295_ or 14720 18446744073709551616_ mdiv 18446744073709551616_ <> 1_ or 14721 18446744073709551616_ mdiv 18446744073709551617_ <> 0_ or 14722 9223372036854775808_ mdiv 140737488355329_ <> 65535_ or 14723 9223372036854775808_ mdiv 140737488420863_ <> 65535_ or 14724 9223372036854775808_ mdiv 140737488420864_ <> 65535_ or 14725 9223372036854775808_ mdiv 140741783322623_ <> 65534_ or 14726 1152921504606846976_ mdiv 17596481011711_ <> 65520_ or 14727 9223231303661387776_ mdiv 140739636002821_ <> 65533_ or 14728 39614081257132168796771975168_ mdiv 9223372036854775809_ <> 4294967295_ then 14729 writeln("Modulo division of bigInteger does not work correct. (1)"); 14730 okay := FALSE; 14731 end if; 14732 14733 if 32766_ mdiv -1_ <> -32766_ or 14734 32767_ mdiv -1_ <> -32767_ or 14735 32768_ mdiv -1_ <> -32768_ or 14736 32769_ mdiv -1_ <> -32769_ or 14737 32770_ mdiv -1_ <> -32770_ or 14738 65534_ mdiv -1_ <> -65534_ or 14739 65535_ mdiv -1_ <> -65535_ or 14740 65536_ mdiv -1_ <> -65536_ or 14741 65537_ mdiv -1_ <> -65537_ or 14742 65538_ mdiv -1_ <> -65538_ or 14743 65536_ mdiv -128_ <> -512_ or 14744 32766_ mdiv -32766_ <> -1_ or 14745 32767_ mdiv -32767_ <> -1_ or 14746 32768_ mdiv -32768_ <> -1_ or 14747 32769_ mdiv -32769_ <> -1_ or 14748 32770_ mdiv -32770_ <> -1_ or 14749 65534_ mdiv -65534_ <> -1_ or 14750 65535_ mdiv -65535_ <> -1_ or 14751 65536_ mdiv -65536_ <> -1_ or 14752 65537_ mdiv -65537_ <> -1_ or 14753 65538_ mdiv -65538_ <> -1_ or 14754 32765_ mdiv -32766_ <> -1_ or 14755 32766_ mdiv -32767_ <> -1_ or 14756 32767_ mdiv -32768_ <> -1_ or 14757 32768_ mdiv -32769_ <> -1_ or 14758 32769_ mdiv -32770_ <> -1_ or 14759 65533_ mdiv -65534_ <> -1_ or 14760 65534_ mdiv -65535_ <> -1_ or 14761 65535_ mdiv -65536_ <> -1_ or 14762 65536_ mdiv -65537_ <> -1_ or 14763 65537_ mdiv -65538_ <> -1_ or 14764 32766_ mdiv -18446744073709551616_ <> -1_ or 14765 32767_ mdiv -18446744073709551616_ <> -1_ or 14766 32768_ mdiv -18446744073709551616_ <> -1_ or 14767 32769_ mdiv -18446744073709551616_ <> -1_ or 14768 32770_ mdiv -18446744073709551616_ <> -1_ or 14769 65534_ mdiv -18446744073709551616_ <> -1_ or 14770 65535_ mdiv -18446744073709551616_ <> -1_ or 14771 65536_ mdiv -18446744073709551616_ <> -1_ or 14772 65537_ mdiv -18446744073709551616_ <> -1_ or 14773 65538_ mdiv -18446744073709551616_ <> -1_ or 14774 2147483647_ mdiv -2147483647_ <> -1_ or 14775 2147483647_ mdiv -2147483648_ <> -1_ or 14776 2147483647_ mdiv -2147483649_ <> -1_ or 14777 2147483648_ mdiv -2147483647_ <> -2_ or 14778 2147483648_ mdiv -2147483648_ <> -1_ or 14779 2147483648_ mdiv -2147483649_ <> -1_ or 14780 2147483649_ mdiv -2147483647_ <> -2_ or 14781 2147483649_ mdiv -2147483648_ <> -2_ or 14782 2147483649_ mdiv -2147483649_ <> -1_ or 14783 4294967295_ mdiv -4294967295_ <> -1_ or 14784 4294967295_ mdiv -4294967296_ <> -1_ or 14785 4294967295_ mdiv -4294967297_ <> -1_ or 14786 4294967296_ mdiv -4294967295_ <> -2_ or 14787 4294967296_ mdiv -4294967296_ <> -1_ or 14788 4294967296_ mdiv -4294967297_ <> -1_ or 14789 4294967297_ mdiv -4294967295_ <> -2_ or 14790 4294967297_ mdiv -4294967296_ <> -2_ or 14791 4294967297_ mdiv -4294967297_ <> -1_ or 14792 140737488355327_ mdiv -140737488355328_ <> -1_ or 14793 140737488355328_ mdiv -140737488355327_ <> -2_ or 14794 140737488355328_ mdiv -140737488355328_ <> -1_ or 14795 140737488355328_ mdiv -140737488355329_ <> -1_ or 14796 9223372036854775807_ mdiv -32768_ <> -281474976710656_ or 14797 9223090561878065152_ mdiv -32767_ <> -281474976710656_ or 14798 4294967296_ mdiv -32768_ <> -131072_ or 14799 4295229444_ mdiv -65538_ <> -65538_ or 14800 8629125120_ mdiv -4833607680_ <> -2_ or 14801 18446744073709551616_ mdiv -32767_ <> -562967133814801_ or 14802 18446744073709551616_ mdiv -32768_ <> -562949953421312_ or 14803 18446744073709551616_ mdiv -65535_ <> -281479271743490_ or 14804 18446744073709551616_ mdiv -131071_ <> -140738562105345_ or 14805 18446744073709551616_ mdiv -2147483648_ <> -8589934592_ or 14806 18446744073709551616_ mdiv -4294967296_ <> -4294967296_ or 14807 18446744073709551616_ mdiv -4294967297_ <> -4294967296_ or 14808 18446744073709551616_ mdiv -18446744073709551616_ <> -1_ or 14809 18446744073709551616_ mdiv -18446744073709551617_ <> -1_ or 14810 9223372036854775808_ mdiv -140737488355329_ <> -65536_ or 14811 9223372036854775808_ mdiv -140737488420863_ <> -65536_ or 14812 9223372036854775808_ mdiv -140737488420864_ <> -65536_ or 14813 9223372036854775808_ mdiv -140741783322623_ <> -65535_ or 14814 1152921504606846976_ mdiv -17596481011711_ <> -65521_ or 14815 9223231303661387776_ mdiv -140739636002821_ <> -65534_ or 14816 39614081257132168796771975168_ mdiv -9223372036854775809_ <> -4294967296_ then 14817 writeln("Modulo division of bigInteger does not work correct. (2)"); 14818 okay := FALSE; 14819 end if; 14820 14821 if -32766_ mdiv 1_ <> -32766_ or 14822 -32767_ mdiv 1_ <> -32767_ or 14823 -32768_ mdiv 1_ <> -32768_ or 14824 -32769_ mdiv 1_ <> -32769_ or 14825 -32770_ mdiv 1_ <> -32770_ or 14826 -65534_ mdiv 1_ <> -65534_ or 14827 -65535_ mdiv 1_ <> -65535_ or 14828 -65536_ mdiv 1_ <> -65536_ or 14829 -65537_ mdiv 1_ <> -65537_ or 14830 -65538_ mdiv 1_ <> -65538_ or 14831 -65536_ mdiv 128_ <> -512_ or 14832 -32766_ mdiv 32766_ <> -1_ or 14833 -32767_ mdiv 32767_ <> -1_ or 14834 -32768_ mdiv 32768_ <> -1_ or 14835 -32769_ mdiv 32769_ <> -1_ or 14836 -32770_ mdiv 32770_ <> -1_ or 14837 -65534_ mdiv 65534_ <> -1_ or 14838 -65535_ mdiv 65535_ <> -1_ or 14839 -65536_ mdiv 65536_ <> -1_ or 14840 -65537_ mdiv 65537_ <> -1_ or 14841 -65538_ mdiv 65538_ <> -1_ or 14842 -32765_ mdiv 32766_ <> -1_ or 14843 -32766_ mdiv 32767_ <> -1_ or 14844 -32767_ mdiv 32768_ <> -1_ or 14845 -32768_ mdiv 32769_ <> -1_ or 14846 -32769_ mdiv 32770_ <> -1_ or 14847 -65533_ mdiv 65534_ <> -1_ or 14848 -65534_ mdiv 65535_ <> -1_ or 14849 -65535_ mdiv 65536_ <> -1_ or 14850 -65536_ mdiv 65537_ <> -1_ or 14851 -65537_ mdiv 65538_ <> -1_ or 14852 -32766_ mdiv 18446744073709551616_ <> -1_ or 14853 -32767_ mdiv 18446744073709551616_ <> -1_ or 14854 -32768_ mdiv 18446744073709551616_ <> -1_ or 14855 -32769_ mdiv 18446744073709551616_ <> -1_ or 14856 -32770_ mdiv 18446744073709551616_ <> -1_ or 14857 -65534_ mdiv 18446744073709551616_ <> -1_ or 14858 -65535_ mdiv 18446744073709551616_ <> -1_ or 14859 -65536_ mdiv 18446744073709551616_ <> -1_ or 14860 -65537_ mdiv 18446744073709551616_ <> -1_ or 14861 -65538_ mdiv 18446744073709551616_ <> -1_ or 14862 -2147483647_ mdiv 2147483647_ <> -1_ or 14863 -2147483647_ mdiv 2147483648_ <> -1_ or 14864 -2147483647_ mdiv 2147483649_ <> -1_ or 14865 -2147483648_ mdiv 2147483647_ <> -2_ or 14866 -2147483648_ mdiv 2147483648_ <> -1_ or 14867 -2147483648_ mdiv 2147483649_ <> -1_ or 14868 -2147483649_ mdiv 2147483647_ <> -2_ or 14869 -2147483649_ mdiv 2147483648_ <> -2_ or 14870 -2147483649_ mdiv 2147483649_ <> -1_ or 14871 -4294967295_ mdiv 4294967295_ <> -1_ or 14872 -4294967295_ mdiv 4294967296_ <> -1_ or 14873 -4294967295_ mdiv 4294967297_ <> -1_ or 14874 -4294967296_ mdiv 4294967295_ <> -2_ or 14875 -4294967296_ mdiv 4294967296_ <> -1_ or 14876 -4294967296_ mdiv 4294967297_ <> -1_ or 14877 -4294967297_ mdiv 4294967295_ <> -2_ or 14878 -4294967297_ mdiv 4294967296_ <> -2_ or 14879 -4294967297_ mdiv 4294967297_ <> -1_ or 14880 -140737488355327_ mdiv 140737488355328_ <> -1_ or 14881 -140737488355328_ mdiv 140737488355327_ <> -2_ or 14882 -140737488355328_ mdiv 140737488355328_ <> -1_ or 14883 -140737488355328_ mdiv 140737488355329_ <> -1_ or 14884 -9223372036854775807_ mdiv 32768_ <> -281474976710656_ or 14885 -9223090561878065152_ mdiv 32767_ <> -281474976710656_ or 14886 -4294967296_ mdiv 32768_ <> -131072_ or 14887 -4295229444_ mdiv 65538_ <> -65538_ or 14888 -8629125120_ mdiv 4833607680_ <> -2_ or 14889 -18446744073709551616_ mdiv 32767_ <> -562967133814801_ or 14890 -18446744073709551616_ mdiv 32768_ <> -562949953421312_ or 14891 -18446744073709551616_ mdiv 65535_ <> -281479271743490_ or 14892 -18446744073709551616_ mdiv 131071_ <> -140738562105345_ or 14893 -18446744073709551616_ mdiv 2147483648_ <> -8589934592_ or 14894 -18446744073709551616_ mdiv 4294967296_ <> -4294967296_ or 14895 -18446744073709551616_ mdiv 4294967297_ <> -4294967296_ or 14896 -18446744073709551616_ mdiv 18446744073709551616_ <> -1_ or 14897 -18446744073709551616_ mdiv 18446744073709551617_ <> -1_ or 14898 -9223372036854775808_ mdiv 140737488355329_ <> -65536_ or 14899 -9223372036854775808_ mdiv 140737488420863_ <> -65536_ or 14900 -9223372036854775808_ mdiv 140737488420864_ <> -65536_ or 14901 -9223372036854775808_ mdiv 140741783322623_ <> -65535_ or 14902 -1152921504606846976_ mdiv 17596481011711_ <> -65521_ or 14903 -9223231303661387776_ mdiv 140739636002821_ <> -65534_ or 14904 -39614081257132168796771975168_ mdiv 9223372036854775809_ <> -4294967296_ then 14905 writeln("Modulo division of bigInteger does not work correct. (3)"); 14906 okay := FALSE; 14907 end if; 14908 14909 if -32766_ mdiv -1_ <> 32766_ or 14910 -32767_ mdiv -1_ <> 32767_ or 14911 -32768_ mdiv -1_ <> 32768_ or 14912 -32769_ mdiv -1_ <> 32769_ or 14913 -32770_ mdiv -1_ <> 32770_ or 14914 -65534_ mdiv -1_ <> 65534_ or 14915 -65535_ mdiv -1_ <> 65535_ or 14916 -65536_ mdiv -1_ <> 65536_ or 14917 -65537_ mdiv -1_ <> 65537_ or 14918 -65538_ mdiv -1_ <> 65538_ or 14919 -65536_ mdiv -128_ <> 512_ or 14920 -32766_ mdiv -32766_ <> 1_ or 14921 -32767_ mdiv -32767_ <> 1_ or 14922 -32768_ mdiv -32768_ <> 1_ or 14923 -32769_ mdiv -32769_ <> 1_ or 14924 -32770_ mdiv -32770_ <> 1_ or 14925 -65534_ mdiv -65534_ <> 1_ or 14926 -65535_ mdiv -65535_ <> 1_ or 14927 -65536_ mdiv -65536_ <> 1_ or 14928 -65537_ mdiv -65537_ <> 1_ or 14929 -65538_ mdiv -65538_ <> 1_ or 14930 -32765_ mdiv -32766_ <> 0_ or 14931 -32766_ mdiv -32767_ <> 0_ or 14932 -32767_ mdiv -32768_ <> 0_ or 14933 -32768_ mdiv -32769_ <> 0_ or 14934 -32769_ mdiv -32770_ <> 0_ or 14935 -65533_ mdiv -65534_ <> 0_ or 14936 -65534_ mdiv -65535_ <> 0_ or 14937 -65535_ mdiv -65536_ <> 0_ or 14938 -65536_ mdiv -65537_ <> 0_ or 14939 -65537_ mdiv -65538_ <> 0_ or 14940 -32766_ mdiv -18446744073709551616_ <> 0_ or 14941 -32767_ mdiv -18446744073709551616_ <> 0_ or 14942 -32768_ mdiv -18446744073709551616_ <> 0_ or 14943 -32769_ mdiv -18446744073709551616_ <> 0_ or 14944 -32770_ mdiv -18446744073709551616_ <> 0_ or 14945 -65534_ mdiv -18446744073709551616_ <> 0_ or 14946 -65535_ mdiv -18446744073709551616_ <> 0_ or 14947 -65536_ mdiv -18446744073709551616_ <> 0_ or 14948 -65537_ mdiv -18446744073709551616_ <> 0_ or 14949 -65538_ mdiv -18446744073709551616_ <> 0_ or 14950 -2147483647_ mdiv -2147483647_ <> 1_ or 14951 -2147483647_ mdiv -2147483648_ <> 0_ or 14952 -2147483647_ mdiv -2147483649_ <> 0_ or 14953 -2147483648_ mdiv -2147483647_ <> 1_ or 14954 -2147483648_ mdiv -2147483648_ <> 1_ or 14955 -2147483648_ mdiv -2147483649_ <> 0_ or 14956 -2147483649_ mdiv -2147483647_ <> 1_ or 14957 -2147483649_ mdiv -2147483648_ <> 1_ or 14958 -2147483649_ mdiv -2147483649_ <> 1_ or 14959 -4294967295_ mdiv -4294967295_ <> 1_ or 14960 -4294967295_ mdiv -4294967296_ <> 0_ or 14961 -4294967295_ mdiv -4294967297_ <> 0_ or 14962 -4294967296_ mdiv -4294967295_ <> 1_ or 14963 -4294967296_ mdiv -4294967296_ <> 1_ or 14964 -4294967296_ mdiv -4294967297_ <> 0_ or 14965 -4294967297_ mdiv -4294967295_ <> 1_ or 14966 -4294967297_ mdiv -4294967296_ <> 1_ or 14967 -4294967297_ mdiv -4294967297_ <> 1_ or 14968 -140737488355327_ mdiv -140737488355328_ <> 0_ or 14969 -140737488355328_ mdiv -140737488355327_ <> 1_ or 14970 -140737488355328_ mdiv -140737488355328_ <> 1_ or 14971 -140737488355328_ mdiv -140737488355329_ <> 0_ or 14972 -9223372036854775807_ mdiv -32768_ <> 281474976710655_ or 14973 -9223090561878065152_ mdiv -32767_ <> 281474976710656_ or 14974 -4294967296_ mdiv -32768_ <> 131072_ or 14975 -4295229444_ mdiv -65538_ <> 65538_ or 14976 -8629125120_ mdiv -4833607680_ <> 1_ or 14977 -18446744073709551616_ mdiv -32767_ <> 562967133814800_ or 14978 -18446744073709551616_ mdiv -32768_ <> 562949953421312_ or 14979 -18446744073709551616_ mdiv -65535_ <> 281479271743489_ or 14980 -18446744073709551616_ mdiv -131071_ <> 140738562105344_ or 14981 -18446744073709551616_ mdiv -2147483648_ <> 8589934592_ or 14982 -18446744073709551616_ mdiv -4294967296_ <> 4294967296_ or 14983 -18446744073709551616_ mdiv -4294967297_ <> 4294967295_ or 14984 -18446744073709551616_ mdiv -18446744073709551616_ <> 1_ or 14985 -18446744073709551616_ mdiv -18446744073709551617_ <> 0_ or 14986 -9223372036854775808_ mdiv -140737488355329_ <> 65535_ or 14987 -9223372036854775808_ mdiv -140737488420863_ <> 65535_ or 14988 -9223372036854775808_ mdiv -140737488420864_ <> 65535_ or 14989 -9223372036854775808_ mdiv -140741783322623_ <> 65534_ or 14990 -1152921504606846976_ mdiv -17596481011711_ <> 65520_ or 14991 -9223231303661387776_ mdiv -140739636002821_ <> 65533_ or 14992 -39614081257132168796771975168_ mdiv -9223372036854775809_ <> 4294967295_ then 14993 writeln("Modulo division of bigInteger does not work correct. (4)"); 14994 okay := FALSE; 14995 end if; 14996 14997 if -9223372036854775808_ mdiv 9223372036854775808_ <> -1_ or 14998 -9223372036854775808_ mdiv 9223372036854775809_ <> -1_ or 14999 -9223372036854775807_ mdiv 9223372036854775808_ <> -1_ or 15000 -9223372036854775808_ mdiv bigintExpr(9223372036854775808_) <> -1_ or 15001 -9223372036854775808_ mdiv bigintExpr(9223372036854775809_) <> -1_ or 15002 -9223372036854775807_ mdiv bigintExpr(9223372036854775808_) <> -1_ or 15003 bigintExpr(-9223372036854775808_) mdiv 9223372036854775808_ <> -1_ or 15004 bigintExpr(-9223372036854775808_) mdiv 9223372036854775809_ <> -1_ or 15005 bigintExpr(-9223372036854775807_) mdiv 9223372036854775808_ <> -1_ or 15006 bigintExpr(-9223372036854775808_) mdiv bigintExpr(9223372036854775808_) <> -1_ or 15007 bigintExpr(-9223372036854775808_) mdiv bigintExpr(9223372036854775809_) <> -1_ or 15008 bigintExpr(-9223372036854775807_) mdiv bigintExpr(9223372036854775808_) <> -1_ or 15009 -39614081257132168796771975168_ mdiv 39614081257132168796771975168_ <> -1_ or 15010 -39614081257132168796771975168_ mdiv 39614081257132168796771975169_ <> -1_ or 15011 -39614081257132168796771975167_ mdiv 39614081257132168796771975168_ <> -1_ or 15012 -39614081257132168796771975168_ mdiv bigintExpr(39614081257132168796771975168_) <> -1_ or 15013 -39614081257132168796771975168_ mdiv bigintExpr(39614081257132168796771975169_) <> -1_ or 15014 -39614081257132168796771975167_ mdiv bigintExpr(39614081257132168796771975168_) <> -1_ or 15015 bigintExpr(-39614081257132168796771975168_) mdiv 39614081257132168796771975168_ <> -1_ or 15016 bigintExpr(-39614081257132168796771975168_) mdiv 39614081257132168796771975169_ <> -1_ or 15017 bigintExpr(-39614081257132168796771975167_) mdiv 39614081257132168796771975168_ <> -1_ or 15018 bigintExpr(-39614081257132168796771975168_) mdiv bigintExpr(39614081257132168796771975168_) <> -1_ or 15019 bigintExpr(-39614081257132168796771975168_) mdiv bigintExpr(39614081257132168796771975169_) <> -1_ or 15020 bigintExpr(-39614081257132168796771975167_) mdiv bigintExpr(39614081257132168796771975168_) <> -1_ or 15021 -170141183460469231731687303715884105728_ mdiv 170141183460469231731687303715884105728_ <> -1_ or 15022 -170141183460469231731687303715884105728_ mdiv 170141183460469231731687303715884105729_ <> -1_ or 15023 -170141183460469231731687303715884105727_ mdiv 170141183460469231731687303715884105728_ <> -1_ or 15024 -170141183460469231731687303715884105728_ mdiv bigintExpr(170141183460469231731687303715884105728_) <> -1_ or 15025 -170141183460469231731687303715884105728_ mdiv bigintExpr(170141183460469231731687303715884105729_) <> -1_ or 15026 -170141183460469231731687303715884105727_ mdiv bigintExpr(170141183460469231731687303715884105728_) <> -1_ or 15027 bigintExpr(-170141183460469231731687303715884105728_) mdiv 170141183460469231731687303715884105728_ <> -1_ or 15028 bigintExpr(-170141183460469231731687303715884105728_) mdiv 170141183460469231731687303715884105729_ <> -1_ or 15029 bigintExpr(-170141183460469231731687303715884105727_) mdiv 170141183460469231731687303715884105728_ <> -1_ or 15030 bigintExpr(-170141183460469231731687303715884105728_) mdiv bigintExpr(170141183460469231731687303715884105728_) <> -1_ or 15031 bigintExpr(-170141183460469231731687303715884105728_) mdiv bigintExpr(170141183460469231731687303715884105729_) <> -1_ or 15032 bigintExpr(-170141183460469231731687303715884105727_) mdiv bigintExpr(170141183460469231731687303715884105728_) <> -1_ then 15033 writeln("Modulo division of bigInteger does not work correct. (5)"); 15034 okay := FALSE; 15035 end if; 15036 15037 if 9223372036854775807_ mdiv 9223372036854775808_ <> 0_ or 15038 9223372036854775807_ mdiv 99999999999999999999999999999999999999999999999999_ <> 0_ or 15039 9223372036854775807_ mdiv -9223372036854775809_ <> -1_ or 15040 9223372036854775807_ mdiv -99999999999999999999999999999999999999999999999999_ <> -1_ or 15041 -9223372036854775808_ mdiv 9223372036854775808_ <> -1_ or 15042 -9223372036854775808_ mdiv 99999999999999999999999999999999999999999999999999_ <> -1_ or 15043 -9223372036854775808_ mdiv -9223372036854775809_ <> 0_ or 15044 -9223372036854775808_ mdiv -99999999999999999999999999999999999999999999999999_ <> 0_ or 15045 9223372036854775807_ mdiv bigintExpr( 9223372036854775808_) <> 0_ or 15046 9223372036854775807_ mdiv bigintExpr( 99999999999999999999999999999999999999999999999999_) <> 0_ or 15047 9223372036854775807_ mdiv bigintExpr( -9223372036854775809_) <> -1_ or 15048 9223372036854775807_ mdiv bigintExpr(-99999999999999999999999999999999999999999999999999_) <> -1_ or 15049 -9223372036854775808_ mdiv bigintExpr( 9223372036854775808_) <> -1_ or 15050 -9223372036854775808_ mdiv bigintExpr( 99999999999999999999999999999999999999999999999999_) <> -1_ or 15051 -9223372036854775808_ mdiv bigintExpr( -9223372036854775809_) <> 0_ or 15052 -9223372036854775808_ mdiv bigintExpr(-99999999999999999999999999999999999999999999999999_) <> 0_ or 15053 bigintExpr( 9223372036854775807_) mdiv 9223372036854775808_ <> 0_ or 15054 bigintExpr( 9223372036854775807_) mdiv 99999999999999999999999999999999999999999999999999_ <> 0_ or 15055 bigintExpr( 9223372036854775807_) mdiv -9223372036854775809_ <> -1_ or 15056 bigintExpr( 9223372036854775807_) mdiv -99999999999999999999999999999999999999999999999999_ <> -1_ or 15057 bigintExpr(-9223372036854775808_) mdiv 9223372036854775808_ <> -1_ or 15058 bigintExpr(-9223372036854775808_) mdiv 99999999999999999999999999999999999999999999999999_ <> -1_ or 15059 bigintExpr(-9223372036854775808_) mdiv -9223372036854775809_ <> 0_ or 15060 bigintExpr(-9223372036854775808_) mdiv -99999999999999999999999999999999999999999999999999_ <> 0_ or 15061 bigintExpr( 9223372036854775807_) mdiv bigintExpr( 9223372036854775808_) <> 0_ or 15062 bigintExpr( 9223372036854775807_) mdiv bigintExpr( 99999999999999999999999999999999999999999999999999_) <> 0_ or 15063 bigintExpr( 9223372036854775807_) mdiv bigintExpr( -9223372036854775809_) <> -1_ or 15064 bigintExpr( 9223372036854775807_) mdiv bigintExpr(-99999999999999999999999999999999999999999999999999_) <> -1_ or 15065 bigintExpr(-9223372036854775808_) mdiv bigintExpr( 9223372036854775808_) <> -1_ or 15066 bigintExpr(-9223372036854775808_) mdiv bigintExpr( 99999999999999999999999999999999999999999999999999_) <> -1_ or 15067 bigintExpr(-9223372036854775808_) mdiv bigintExpr( -9223372036854775809_) <> 0_ or 15068 bigintExpr(-9223372036854775808_) mdiv bigintExpr(-99999999999999999999999999999999999999999999999999_) <> 0_ then 15069 writeln("Modulo division of bigInteger does not work correct. (6)"); 15070 okay := FALSE; 15071 end if; 15072 15073 if 0_ mdiv -170141183460469231731687303715884105729_ <> 0_ or 15074 0_ mdiv -170141183460469231731687303715884105728_ <> 0_ or 15075 0_ mdiv -9223372036854775809_ <> 0_ or 15076 0_ mdiv -9223372036854775808_ <> 0_ or 15077 0_ mdiv -2147483649_ <> 0_ or 15078 0_ mdiv -2147483648_ <> 0_ or 15079 0_ mdiv -32769_ <> 0_ or 15080 0_ mdiv -32768_ <> 0_ or 15081 0_ mdiv -129_ <> 0_ or 15082 0_ mdiv -128_ <> 0_ or 15083 0_ mdiv -1_ <> 0_ or 15084 0_ mdiv 1_ <> 0_ or 15085 0_ mdiv 127_ <> 0_ or 15086 0_ mdiv 128_ <> 0_ or 15087 0_ mdiv 32767_ <> 0_ or 15088 0_ mdiv 32768_ <> 0_ or 15089 0_ mdiv 2147483647_ <> 0_ or 15090 0_ mdiv 2147483648_ <> 0_ or 15091 0_ mdiv 9223372036854775807_ <> 0_ or 15092 0_ mdiv 9223372036854775808_ <> 0_ or 15093 0_ mdiv 170141183460469231731687303715884105727_ <> 0_ or 15094 0_ mdiv 170141183460469231731687303715884105728_ <> 0_ or 15095 0_ mdiv bigintExpr(-170141183460469231731687303715884105729_) <> 0_ or 15096 0_ mdiv bigintExpr(-170141183460469231731687303715884105728_) <> 0_ or 15097 0_ mdiv bigintExpr( -9223372036854775809_) <> 0_ or 15098 0_ mdiv bigintExpr( -9223372036854775808_) <> 0_ or 15099 0_ mdiv bigintExpr( -2147483649_) <> 0_ or 15100 0_ mdiv bigintExpr( -2147483648_) <> 0_ or 15101 0_ mdiv bigintExpr( -32769_) <> 0_ or 15102 0_ mdiv bigintExpr( -32768_) <> 0_ or 15103 0_ mdiv bigintExpr( -129_) <> 0_ or 15104 0_ mdiv bigintExpr( -128_) <> 0_ or 15105 0_ mdiv bigintExpr( -1_) <> 0_ or 15106 0_ mdiv bigintExpr( 1_) <> 0_ or 15107 0_ mdiv bigintExpr( 127_) <> 0_ or 15108 0_ mdiv bigintExpr( 128_) <> 0_ or 15109 0_ mdiv bigintExpr( 32767_) <> 0_ or 15110 0_ mdiv bigintExpr( 32768_) <> 0_ or 15111 0_ mdiv bigintExpr( 2147483647_) <> 0_ or 15112 0_ mdiv bigintExpr( 2147483648_) <> 0_ or 15113 0_ mdiv bigintExpr( 9223372036854775807_) <> 0_ or 15114 0_ mdiv bigintExpr( 9223372036854775808_) <> 0_ or 15115 0_ mdiv bigintExpr( 170141183460469231731687303715884105727_) <> 0_ or 15116 0_ mdiv bigintExpr( 170141183460469231731687303715884105728_) <> 0_ or 15117 bigintExpr(0_) mdiv -170141183460469231731687303715884105729_ <> 0_ or 15118 bigintExpr(0_) mdiv -170141183460469231731687303715884105728_ <> 0_ or 15119 bigintExpr(0_) mdiv -9223372036854775809_ <> 0_ or 15120 bigintExpr(0_) mdiv -9223372036854775808_ <> 0_ or 15121 bigintExpr(0_) mdiv -2147483649_ <> 0_ or 15122 bigintExpr(0_) mdiv -2147483648_ <> 0_ or 15123 bigintExpr(0_) mdiv -32769_ <> 0_ or 15124 bigintExpr(0_) mdiv -32768_ <> 0_ or 15125 bigintExpr(0_) mdiv -129_ <> 0_ or 15126 bigintExpr(0_) mdiv -128_ <> 0_ or 15127 bigintExpr(0_) mdiv -1_ <> 0_ or 15128 bigintExpr(0_) mdiv 1_ <> 0_ or 15129 bigintExpr(0_) mdiv 127_ <> 0_ or 15130 bigintExpr(0_) mdiv 128_ <> 0_ or 15131 bigintExpr(0_) mdiv 32767_ <> 0_ or 15132 bigintExpr(0_) mdiv 32768_ <> 0_ or 15133 bigintExpr(0_) mdiv 2147483647_ <> 0_ or 15134 bigintExpr(0_) mdiv 2147483648_ <> 0_ or 15135 bigintExpr(0_) mdiv 9223372036854775807_ <> 0_ or 15136 bigintExpr(0_) mdiv 9223372036854775808_ <> 0_ or 15137 bigintExpr(0_) mdiv 170141183460469231731687303715884105727_ <> 0_ or 15138 bigintExpr(0_) mdiv 170141183460469231731687303715884105728_ <> 0_ or 15139 bigintExpr(0_) mdiv bigintExpr(-170141183460469231731687303715884105729_) <> 0_ or 15140 bigintExpr(0_) mdiv bigintExpr(-170141183460469231731687303715884105728_) <> 0_ or 15141 bigintExpr(0_) mdiv bigintExpr( -9223372036854775809_) <> 0_ or 15142 bigintExpr(0_) mdiv bigintExpr( -9223372036854775808_) <> 0_ or 15143 bigintExpr(0_) mdiv bigintExpr( -2147483649_) <> 0_ or 15144 bigintExpr(0_) mdiv bigintExpr( -2147483648_) <> 0_ or 15145 bigintExpr(0_) mdiv bigintExpr( -32769_) <> 0_ or 15146 bigintExpr(0_) mdiv bigintExpr( -32768_) <> 0_ or 15147 bigintExpr(0_) mdiv bigintExpr( -129_) <> 0_ or 15148 bigintExpr(0_) mdiv bigintExpr( -128_) <> 0_ or 15149 bigintExpr(0_) mdiv bigintExpr( -1_) <> 0_ or 15150 bigintExpr(0_) mdiv bigintExpr( 1_) <> 0_ or 15151 bigintExpr(0_) mdiv bigintExpr( 127_) <> 0_ or 15152 bigintExpr(0_) mdiv bigintExpr( 128_) <> 0_ or 15153 bigintExpr(0_) mdiv bigintExpr( 32767_) <> 0_ or 15154 bigintExpr(0_) mdiv bigintExpr( 32768_) <> 0_ or 15155 bigintExpr(0_) mdiv bigintExpr( 2147483647_) <> 0_ or 15156 bigintExpr(0_) mdiv bigintExpr( 2147483648_) <> 0_ or 15157 bigintExpr(0_) mdiv bigintExpr( 9223372036854775807_) <> 0_ or 15158 bigintExpr(0_) mdiv bigintExpr( 9223372036854775808_) <> 0_ or 15159 bigintExpr(0_) mdiv bigintExpr( 170141183460469231731687303715884105727_) <> 0_ or 15160 bigintExpr(0_) mdiv bigintExpr( 170141183460469231731687303715884105728_) <> 0_ then 15161 writeln("Modulo division of bigInteger does not work correct. (7)"); 15162 okay := FALSE; 15163 end if; 15164 15165 if 280223983525050_ mdiv 1_ <> 280223983525050_ or 15166 280223983525050_ mdiv 2_ <> 140111991762525_ or 15167 280223983525050_ mdiv 4_ <> 70055995881262_ or 15168 280223983525050_ mdiv 8_ <> 35027997940631_ or 15169 280223983525050_ mdiv 1024_ <> 273656233911_ or 15170 280223983525050_ mdiv 1048576_ <> 267242415_ or 15171 280223983525050_ mdiv 1073741824_ <> 260978_ or 15172 280223983525050_ mdiv 2147483648_ <> 130489_ or 15173 280223983525050_ mdiv 4294967296_ <> 65244_ or 15174 280223983525050_ mdiv 1099511627776_ <> 254_ or 15175 280223983525050_ mdiv -1_ <> -280223983525050_ or 15176 280223983525050_ mdiv -2_ <> -140111991762525_ or 15177 280223983525050_ mdiv -4_ <> -70055995881263_ or 15178 280223983525050_ mdiv -8_ <> -35027997940632_ or 15179 280223983525050_ mdiv -1024_ <> -273656233912_ or 15180 280223983525050_ mdiv -1048576_ <> -267242416_ or 15181 280223983525050_ mdiv -1073741824_ <> -260979_ or 15182 280223983525050_ mdiv -2147483648_ <> -130490_ or 15183 280223983525050_ mdiv -4294967296_ <> -65245_ or 15184 280223983525050_ mdiv -1099511627776_ <> -255_ or 15185 -280223983525050_ mdiv 1_ <> -280223983525050_ or 15186 -280223983525050_ mdiv 2_ <> -140111991762525_ or 15187 -280223983525050_ mdiv 4_ <> -70055995881263_ or 15188 -280223983525050_ mdiv 8_ <> -35027997940632_ or 15189 -280223983525050_ mdiv 1024_ <> -273656233912_ or 15190 -280223983525050_ mdiv 1048576_ <> -267242416_ or 15191 -280223983525050_ mdiv 1073741824_ <> -260979_ or 15192 -280223983525050_ mdiv 2147483648_ <> -130490_ or 15193 -280223983525050_ mdiv 4294967296_ <> -65245_ or 15194 -280223983525050_ mdiv 1099511627776_ <> -255_ or 15195 -280223983525050_ mdiv -1_ <> 280223983525050_ or 15196 -280223983525050_ mdiv -2_ <> 140111991762525_ or 15197 -280223983525050_ mdiv -4_ <> 70055995881262_ or 15198 -280223983525050_ mdiv -8_ <> 35027997940631_ or 15199 -280223983525050_ mdiv -1024_ <> 273656233911_ or 15200 -280223983525050_ mdiv -1048576_ <> 267242415_ or 15201 -280223983525050_ mdiv -1073741824_ <> 260978_ or 15202 -280223983525050_ mdiv -2147483648_ <> 130489_ or 15203 -280223983525050_ mdiv -4294967296_ <> 65244_ or 15204 -280223983525050_ mdiv -1099511627776_ <> 254_ or 15205 15206 280223983525050_ mdiv bigintExpr( 1_) <> 280223983525050_ or 15207 280223983525050_ mdiv bigintExpr( 2_) <> 140111991762525_ or 15208 280223983525050_ mdiv bigintExpr( 4_) <> 70055995881262_ or 15209 280223983525050_ mdiv bigintExpr( 8_) <> 35027997940631_ or 15210 280223983525050_ mdiv bigintExpr( 1024_) <> 273656233911_ or 15211 280223983525050_ mdiv bigintExpr( 1048576_) <> 267242415_ or 15212 280223983525050_ mdiv bigintExpr( 1073741824_) <> 260978_ or 15213 280223983525050_ mdiv bigintExpr( 2147483648_) <> 130489_ or 15214 280223983525050_ mdiv bigintExpr( 4294967296_) <> 65244_ or 15215 280223983525050_ mdiv bigintExpr( 1099511627776_) <> 254_ or 15216 280223983525050_ mdiv bigintExpr( -1_) <> -280223983525050_ or 15217 280223983525050_ mdiv bigintExpr( -2_) <> -140111991762525_ or 15218 280223983525050_ mdiv bigintExpr( -4_) <> -70055995881263_ or 15219 280223983525050_ mdiv bigintExpr( -8_) <> -35027997940632_ or 15220 280223983525050_ mdiv bigintExpr( -1024_) <> -273656233912_ or 15221 280223983525050_ mdiv bigintExpr( -1048576_) <> -267242416_ or 15222 280223983525050_ mdiv bigintExpr( -1073741824_) <> -260979_ or 15223 280223983525050_ mdiv bigintExpr( -2147483648_) <> -130490_ or 15224 280223983525050_ mdiv bigintExpr( -4294967296_) <> -65245_ or 15225 280223983525050_ mdiv bigintExpr(-1099511627776_) <> -255_ or 15226 -280223983525050_ mdiv bigintExpr( 1_) <> -280223983525050_ or 15227 -280223983525050_ mdiv bigintExpr( 2_) <> -140111991762525_ or 15228 -280223983525050_ mdiv bigintExpr( 4_) <> -70055995881263_ or 15229 -280223983525050_ mdiv bigintExpr( 8_) <> -35027997940632_ or 15230 -280223983525050_ mdiv bigintExpr( 1024_) <> -273656233912_ or 15231 -280223983525050_ mdiv bigintExpr( 1048576_) <> -267242416_ or 15232 -280223983525050_ mdiv bigintExpr( 1073741824_) <> -260979_ or 15233 -280223983525050_ mdiv bigintExpr( 2147483648_) <> -130490_ or 15234 -280223983525050_ mdiv bigintExpr( 4294967296_) <> -65245_ or 15235 -280223983525050_ mdiv bigintExpr( 1099511627776_) <> -255_ or 15236 -280223983525050_ mdiv bigintExpr( -1_) <> 280223983525050_ or 15237 -280223983525050_ mdiv bigintExpr( -2_) <> 140111991762525_ or 15238 -280223983525050_ mdiv bigintExpr( -4_) <> 70055995881262_ or 15239 -280223983525050_ mdiv bigintExpr( -8_) <> 35027997940631_ or 15240 -280223983525050_ mdiv bigintExpr( -1024_) <> 273656233911_ or 15241 -280223983525050_ mdiv bigintExpr( -1048576_) <> 267242415_ or 15242 -280223983525050_ mdiv bigintExpr( -1073741824_) <> 260978_ or 15243 -280223983525050_ mdiv bigintExpr( -2147483648_) <> 130489_ or 15244 -280223983525050_ mdiv bigintExpr( -4294967296_) <> 65244_ or 15245 -280223983525050_ mdiv bigintExpr(-1099511627776_) <> 254_ or 15246 15247 bigintExpr( 280223983525050_) mdiv 1_ <> 280223983525050_ or 15248 bigintExpr( 280223983525050_) mdiv 2_ <> 140111991762525_ or 15249 bigintExpr( 280223983525050_) mdiv 4_ <> 70055995881262_ or 15250 bigintExpr( 280223983525050_) mdiv 8_ <> 35027997940631_ or 15251 bigintExpr( 280223983525050_) mdiv 1024_ <> 273656233911_ or 15252 bigintExpr( 280223983525050_) mdiv 1048576_ <> 267242415_ or 15253 bigintExpr( 280223983525050_) mdiv 1073741824_ <> 260978_ or 15254 bigintExpr( 280223983525050_) mdiv 2147483648_ <> 130489_ or 15255 bigintExpr( 280223983525050_) mdiv 4294967296_ <> 65244_ or 15256 bigintExpr( 280223983525050_) mdiv 1099511627776_ <> 254_ or 15257 bigintExpr( 280223983525050_) mdiv -1_ <> -280223983525050_ or 15258 bigintExpr( 280223983525050_) mdiv -2_ <> -140111991762525_ or 15259 bigintExpr( 280223983525050_) mdiv -4_ <> -70055995881263_ or 15260 bigintExpr( 280223983525050_) mdiv -8_ <> -35027997940632_ or 15261 bigintExpr( 280223983525050_) mdiv -1024_ <> -273656233912_ or 15262 bigintExpr( 280223983525050_) mdiv -1048576_ <> -267242416_ or 15263 bigintExpr( 280223983525050_) mdiv -1073741824_ <> -260979_ or 15264 bigintExpr( 280223983525050_) mdiv -2147483648_ <> -130490_ or 15265 bigintExpr( 280223983525050_) mdiv -4294967296_ <> -65245_ or 15266 bigintExpr( 280223983525050_) mdiv -1099511627776_ <> -255_ or 15267 bigintExpr(-280223983525050_) mdiv 1_ <> -280223983525050_ or 15268 bigintExpr(-280223983525050_) mdiv 2_ <> -140111991762525_ or 15269 bigintExpr(-280223983525050_) mdiv 4_ <> -70055995881263_ or 15270 bigintExpr(-280223983525050_) mdiv 8_ <> -35027997940632_ or 15271 bigintExpr(-280223983525050_) mdiv 1024_ <> -273656233912_ or 15272 bigintExpr(-280223983525050_) mdiv 1048576_ <> -267242416_ or 15273 bigintExpr(-280223983525050_) mdiv 1073741824_ <> -260979_ or 15274 bigintExpr(-280223983525050_) mdiv 2147483648_ <> -130490_ or 15275 bigintExpr(-280223983525050_) mdiv 4294967296_ <> -65245_ or 15276 bigintExpr(-280223983525050_) mdiv 1099511627776_ <> -255_ or 15277 bigintExpr(-280223983525050_) mdiv -1_ <> 280223983525050_ or 15278 bigintExpr(-280223983525050_) mdiv -2_ <> 140111991762525_ or 15279 bigintExpr(-280223983525050_) mdiv -4_ <> 70055995881262_ or 15280 bigintExpr(-280223983525050_) mdiv -8_ <> 35027997940631_ or 15281 bigintExpr(-280223983525050_) mdiv -1024_ <> 273656233911_ or 15282 bigintExpr(-280223983525050_) mdiv -1048576_ <> 267242415_ or 15283 bigintExpr(-280223983525050_) mdiv -1073741824_ <> 260978_ or 15284 bigintExpr(-280223983525050_) mdiv -2147483648_ <> 130489_ or 15285 bigintExpr(-280223983525050_) mdiv -4294967296_ <> 65244_ or 15286 bigintExpr(-280223983525050_) mdiv -1099511627776_ <> 254_ or 15287 15288 bigintExpr( 280223983525050_) mdiv bigintExpr( 1_) <> 280223983525050_ or 15289 bigintExpr( 280223983525050_) mdiv bigintExpr( 2_) <> 140111991762525_ or 15290 bigintExpr( 280223983525050_) mdiv bigintExpr( 4_) <> 70055995881262_ or 15291 bigintExpr( 280223983525050_) mdiv bigintExpr( 8_) <> 35027997940631_ or 15292 bigintExpr( 280223983525050_) mdiv bigintExpr( 1024_) <> 273656233911_ or 15293 bigintExpr( 280223983525050_) mdiv bigintExpr( 1048576_) <> 267242415_ or 15294 bigintExpr( 280223983525050_) mdiv bigintExpr( 1073741824_) <> 260978_ or 15295 bigintExpr( 280223983525050_) mdiv bigintExpr( 2147483648_) <> 130489_ or 15296 bigintExpr( 280223983525050_) mdiv bigintExpr( 4294967296_) <> 65244_ or 15297 bigintExpr( 280223983525050_) mdiv bigintExpr( 1099511627776_) <> 254_ or 15298 bigintExpr( 280223983525050_) mdiv bigintExpr( -1_) <> -280223983525050_ or 15299 bigintExpr( 280223983525050_) mdiv bigintExpr( -2_) <> -140111991762525_ or 15300 bigintExpr( 280223983525050_) mdiv bigintExpr( -4_) <> -70055995881263_ or 15301 bigintExpr( 280223983525050_) mdiv bigintExpr( -8_) <> -35027997940632_ or 15302 bigintExpr( 280223983525050_) mdiv bigintExpr( -1024_) <> -273656233912_ or 15303 bigintExpr( 280223983525050_) mdiv bigintExpr( -1048576_) <> -267242416_ or 15304 bigintExpr( 280223983525050_) mdiv bigintExpr( -1073741824_) <> -260979_ or 15305 bigintExpr( 280223983525050_) mdiv bigintExpr( -2147483648_) <> -130490_ or 15306 bigintExpr( 280223983525050_) mdiv bigintExpr( -4294967296_) <> -65245_ or 15307 bigintExpr( 280223983525050_) mdiv bigintExpr(-1099511627776_) <> -255_ or 15308 bigintExpr(-280223983525050_) mdiv bigintExpr( 1_) <> -280223983525050_ or 15309 bigintExpr(-280223983525050_) mdiv bigintExpr( 2_) <> -140111991762525_ or 15310 bigintExpr(-280223983525050_) mdiv bigintExpr( 4_) <> -70055995881263_ or 15311 bigintExpr(-280223983525050_) mdiv bigintExpr( 8_) <> -35027997940632_ or 15312 bigintExpr(-280223983525050_) mdiv bigintExpr( 1024_) <> -273656233912_ or 15313 bigintExpr(-280223983525050_) mdiv bigintExpr( 1048576_) <> -267242416_ or 15314 bigintExpr(-280223983525050_) mdiv bigintExpr( 1073741824_) <> -260979_ or 15315 bigintExpr(-280223983525050_) mdiv bigintExpr( 2147483648_) <> -130490_ or 15316 bigintExpr(-280223983525050_) mdiv bigintExpr( 4294967296_) <> -65245_ or 15317 bigintExpr(-280223983525050_) mdiv bigintExpr( 1099511627776_) <> -255_ or 15318 bigintExpr(-280223983525050_) mdiv bigintExpr( -1_) <> 280223983525050_ or 15319 bigintExpr(-280223983525050_) mdiv bigintExpr( -2_) <> 140111991762525_ or 15320 bigintExpr(-280223983525050_) mdiv bigintExpr( -4_) <> 70055995881262_ or 15321 bigintExpr(-280223983525050_) mdiv bigintExpr( -8_) <> 35027997940631_ or 15322 bigintExpr(-280223983525050_) mdiv bigintExpr( -1024_) <> 273656233911_ or 15323 bigintExpr(-280223983525050_) mdiv bigintExpr( -1048576_) <> 267242415_ or 15324 bigintExpr(-280223983525050_) mdiv bigintExpr( -1073741824_) <> 260978_ or 15325 bigintExpr(-280223983525050_) mdiv bigintExpr( -2147483648_) <> 130489_ or 15326 bigintExpr(-280223983525050_) mdiv bigintExpr( -4294967296_) <> 65244_ or 15327 bigintExpr(-280223983525050_) mdiv bigintExpr(-1099511627776_) <> 254_ then 15328 writeln("Modulo division of bigInteger by power of two does not work correct."); 15329 okay := FALSE; 15330 end if; 15331 15332 number := 123456789012345678901234567890_; 15333 if number mdiv -1_ <> -123456789012345678901234567890_ or 15334 number mdiv -2_ <> -61728394506172839450617283945_ or 15335 number mdiv -3_ <> -41152263004115226300411522630_ or 15336 number mdiv -4_ <> -30864197253086419725308641973_ or 15337 number mdiv -1023_ <> -120681123179223537537863703_ or 15338 number mdiv -1024_ <> -120563270519868827051986883_ or 15339 number mdiv -1048576_ <> -117737568867059401417956_ or 15340 number mdiv -1073741824_ <> -114978094596737696698_ or 15341 number mdiv -2147483647_ <> -57489047325139272133_ or 15342 number mdiv -4294967295_ <> -28744523655877030119_ or 15343 number mdiv -1099511627776_ <> -112283295504626657_ or 15344 number mdiv -1152921504606846976_ <> -107081695085_ or 15345 number mdiv -1208925819614629174706176_ <> -102122_ or 15346 number mdiv -1237940039285380274899124224_ <> -100_ then 15347 writeln("Modulo division of bigInteger by negative number does not work correct."); 15348 okay := FALSE; 15349 end if; 15350 15351 if not raisesNumericError( -9223372036854775808_ mdiv 0_ ) or 15352 not raisesNumericError( -9223372036854775807_ mdiv 0_ ) or 15353 not raisesNumericError( -4294967296_ mdiv 0_ ) or 15354 not raisesNumericError( -4294967295_ mdiv 0_ ) or 15355 not raisesNumericError( -2147483648_ mdiv 0_ ) or 15356 not raisesNumericError( -2147483647_ mdiv 0_ ) or 15357 not raisesNumericError( 0_ mdiv 0_ ) or 15358 not raisesNumericError( 2147483647_ mdiv 0_ ) or 15359 not raisesNumericError( 2147483648_ mdiv 0_ ) or 15360 not raisesNumericError( 4294967295_ mdiv 0_ ) or 15361 not raisesNumericError( 4294967296_ mdiv 0_ ) or 15362 not raisesNumericError( 9223372036854775807_ mdiv 0_ ) or 15363 not raisesNumericError( 9223372036854775808_ mdiv 0_ ) or 15364 not raisesNumericError(bigintExpr(-9223372036854775808_) mdiv 0_ ) or 15365 not raisesNumericError(bigintExpr(-9223372036854775807_) mdiv 0_ ) or 15366 not raisesNumericError(bigintExpr( -4294967296_) mdiv 0_ ) or 15367 not raisesNumericError(bigintExpr( -4294967295_) mdiv 0_ ) or 15368 not raisesNumericError(bigintExpr( -2147483648_) mdiv 0_ ) or 15369 not raisesNumericError(bigintExpr( -2147483647_) mdiv 0_ ) or 15370 not raisesNumericError(bigintExpr( 0_) mdiv 0_ ) or 15371 not raisesNumericError(bigintExpr( 2147483647_) mdiv 0_ ) or 15372 not raisesNumericError(bigintExpr( 2147483648_) mdiv 0_ ) or 15373 not raisesNumericError(bigintExpr( 4294967295_) mdiv 0_ ) or 15374 not raisesNumericError(bigintExpr( 4294967296_) mdiv 0_ ) or 15375 not raisesNumericError(bigintExpr( 9223372036854775807_) mdiv 0_ ) or 15376 not raisesNumericError(bigintExpr( 9223372036854775808_) mdiv 0_ ) or 15377 not raisesNumericError( -9223372036854775808_ mdiv bigintExpr(0_)) or 15378 not raisesNumericError( -9223372036854775807_ mdiv bigintExpr(0_)) or 15379 not raisesNumericError( -4294967296_ mdiv bigintExpr(0_)) or 15380 not raisesNumericError( -4294967295_ mdiv bigintExpr(0_)) or 15381 not raisesNumericError( -2147483648_ mdiv bigintExpr(0_)) or 15382 not raisesNumericError( -2147483647_ mdiv bigintExpr(0_)) or 15383 not raisesNumericError( 0_ mdiv bigintExpr(0_)) or 15384 not raisesNumericError( 2147483647_ mdiv bigintExpr(0_)) or 15385 not raisesNumericError( 2147483648_ mdiv bigintExpr(0_)) or 15386 not raisesNumericError( 4294967295_ mdiv bigintExpr(0_)) or 15387 not raisesNumericError( 4294967296_ mdiv bigintExpr(0_)) or 15388 not raisesNumericError( 9223372036854775807_ mdiv bigintExpr(0_)) or 15389 not raisesNumericError( 9223372036854775808_ mdiv bigintExpr(0_)) or 15390 not raisesNumericError(bigintExpr(-9223372036854775808_) mdiv bigintExpr(0_)) or 15391 not raisesNumericError(bigintExpr(-9223372036854775807_) mdiv bigintExpr(0_)) or 15392 not raisesNumericError(bigintExpr( -4294967296_) mdiv bigintExpr(0_)) or 15393 not raisesNumericError(bigintExpr( -4294967295_) mdiv bigintExpr(0_)) or 15394 not raisesNumericError(bigintExpr( -2147483648_) mdiv bigintExpr(0_)) or 15395 not raisesNumericError(bigintExpr( -2147483647_) mdiv bigintExpr(0_)) or 15396 not raisesNumericError(bigintExpr( 0_) mdiv bigintExpr(0_)) or 15397 not raisesNumericError(bigintExpr( 2147483647_) mdiv bigintExpr(0_)) or 15398 not raisesNumericError(bigintExpr( 2147483648_) mdiv bigintExpr(0_)) or 15399 not raisesNumericError(bigintExpr( 4294967295_) mdiv bigintExpr(0_)) or 15400 not raisesNumericError(bigintExpr( 4294967296_) mdiv bigintExpr(0_)) or 15401 not raisesNumericError(bigintExpr( 9223372036854775807_) mdiv bigintExpr(0_)) or 15402 not raisesNumericError(bigintExpr( 9223372036854775808_) mdiv bigintExpr(0_)) then 15403 writeln(" ***** Modulo division of bigInteger by zero does not raise NUMERIC_ERROR."); 15404 okay := FALSE; 15405 end if; 15406 15407 if okay then 15408 writeln("Modulo division of bigInteger works correct."); 15409 else 15410 writeln(" ***** Modulo division of bigInteger does not work correct."); 15411 writeln; 15412 end if; 15413 end func; 15414 15415 15416const proc: chkModulo is func 15417 local 15418 var boolean: okay is TRUE; 15419 begin 15420 if 32766_ mod 1_ <> 0_ or 15421 32767_ mod 1_ <> 0_ or 15422 32768_ mod 1_ <> 0_ or 15423 32769_ mod 1_ <> 0_ or 15424 32770_ mod 1_ <> 0_ or 15425 65534_ mod 1_ <> 0_ or 15426 65535_ mod 1_ <> 0_ or 15427 65536_ mod 1_ <> 0_ or 15428 65537_ mod 1_ <> 0_ or 15429 65538_ mod 1_ <> 0_ or 15430 65536_ mod 128_ <> 0_ or 15431 32766_ mod 32766_ <> 0_ or 15432 32767_ mod 32767_ <> 0_ or 15433 32768_ mod 32768_ <> 0_ or 15434 32769_ mod 32769_ <> 0_ or 15435 32770_ mod 32770_ <> 0_ or 15436 65534_ mod 65534_ <> 0_ or 15437 65535_ mod 65535_ <> 0_ or 15438 65536_ mod 65536_ <> 0_ or 15439 65537_ mod 65537_ <> 0_ or 15440 65538_ mod 65538_ <> 0_ or 15441 32765_ mod 32766_ <> 32765_ or 15442 32766_ mod 32767_ <> 32766_ or 15443 32767_ mod 32768_ <> 32767_ or 15444 32768_ mod 32769_ <> 32768_ or 15445 32769_ mod 32770_ <> 32769_ or 15446 65533_ mod 65534_ <> 65533_ or 15447 65534_ mod 65535_ <> 65534_ or 15448 65535_ mod 65536_ <> 65535_ or 15449 65536_ mod 65537_ <> 65536_ or 15450 65537_ mod 65538_ <> 65537_ or 15451 32766_ mod 18446744073709551616_ <> 32766_ or 15452 32767_ mod 18446744073709551616_ <> 32767_ or 15453 32768_ mod 18446744073709551616_ <> 32768_ or 15454 32769_ mod 18446744073709551616_ <> 32769_ or 15455 32770_ mod 18446744073709551616_ <> 32770_ or 15456 65534_ mod 18446744073709551616_ <> 65534_ or 15457 65535_ mod 18446744073709551616_ <> 65535_ or 15458 65536_ mod 18446744073709551616_ <> 65536_ or 15459 65537_ mod 18446744073709551616_ <> 65537_ or 15460 65538_ mod 18446744073709551616_ <> 65538_ or 15461 2147483647_ mod 2147483647_ <> 0_ or 15462 2147483647_ mod 2147483648_ <> 2147483647_ or 15463 2147483647_ mod 2147483649_ <> 2147483647_ or 15464 2147483648_ mod 2147483647_ <> 1_ or 15465 2147483648_ mod 2147483648_ <> 0_ or 15466 2147483648_ mod 2147483649_ <> 2147483648_ or 15467 2147483649_ mod 2147483647_ <> 2_ or 15468 2147483649_ mod 2147483648_ <> 1_ or 15469 2147483649_ mod 2147483649_ <> 0_ or 15470 4294967295_ mod 4294967295_ <> 0_ or 15471 4294967295_ mod 4294967296_ <> 4294967295_ or 15472 4294967295_ mod 4294967297_ <> 4294967295_ or 15473 4294967296_ mod 4294967295_ <> 1_ or 15474 4294967296_ mod 4294967296_ <> 0_ or 15475 4294967296_ mod 4294967297_ <> 4294967296_ or 15476 4294967297_ mod 4294967295_ <> 2_ or 15477 4294967297_ mod 4294967296_ <> 1_ or 15478 4294967297_ mod 4294967297_ <> 0_ or 15479 140737488355327_ mod 140737488355328_ <> 140737488355327_ or 15480 140737488355328_ mod 140737488355327_ <> 1_ or 15481 140737488355328_ mod 140737488355328_ <> 0_ or 15482 140737488355328_ mod 140737488355329_ <> 140737488355328_ or 15483 9223372036854775807_ mod 32768_ <> 32767_ or 15484 9223090561878065152_ mod 32767_ <> 0_ or 15485 4294967296_ mod 32768_ <> 0_ or 15486 4295229444_ mod 65538_ <> 0_ or 15487 8629125120_ mod 4833607680_ <> 3795517440_ or 15488 18446744073709551616_ mod 32767_ <> 16_ or 15489 18446744073709551616_ mod 32768_ <> 0_ or 15490 18446744073709551616_ mod 65535_ <> 1_ or 15491 18446744073709551616_ mod 131071_ <> 8192_ or 15492 18446744073709551616_ mod 2147483648_ <> 0_ or 15493 18446744073709551616_ mod 4294967296_ <> 0_ or 15494 18446744073709551616_ mod 4294967297_ <> 1_ or 15495 18446744073709551616_ mod 18446744073709551616_ <> 0_ or 15496 18446744073709551616_ mod 18446744073709551617_ <> 18446744073709551616_ or 15497 9223372036854775808_ mod 140737488355329_ <> 140737488289793_ or 15498 9223372036854775808_ mod 140737488420863_ <> 140733193519103_ or 15499 9223372036854775808_ mod 140737488420864_ <> 140733193453568_ or 15500 9223372036854775808_ mod 140741783322623_ <> 8590000126_ or 15501 1152921504606846976_ mod 17596481011711_ <> 68719542256_ or 15502 9223231303661387776_ mod 140739636002821_ <> 140737488519183_ or 15503 39614081257132168796771975168_ mod 9223372036854775809_ <> 9223372032559808513_ then 15504 writeln("Modulo of bigInteger division does not work correct. (1)"); 15505 okay := FALSE; 15506 end if; 15507 15508 if 32766_ mod -1_ <> 0_ or 15509 32767_ mod -1_ <> 0_ or 15510 32768_ mod -1_ <> 0_ or 15511 32769_ mod -1_ <> 0_ or 15512 32770_ mod -1_ <> 0_ or 15513 65534_ mod -1_ <> 0_ or 15514 65535_ mod -1_ <> 0_ or 15515 65536_ mod -1_ <> 0_ or 15516 65537_ mod -1_ <> 0_ or 15517 65538_ mod -1_ <> 0_ or 15518 65536_ mod -128_ <> 0_ or 15519 32766_ mod -32766_ <> 0_ or 15520 32767_ mod -32767_ <> 0_ or 15521 32768_ mod -32768_ <> 0_ or 15522 32769_ mod -32769_ <> 0_ or 15523 32770_ mod -32770_ <> 0_ or 15524 65534_ mod -65534_ <> 0_ or 15525 65535_ mod -65535_ <> 0_ or 15526 65536_ mod -65536_ <> 0_ or 15527 65537_ mod -65537_ <> 0_ or 15528 65538_ mod -65538_ <> 0_ or 15529 32765_ mod -32766_ <> -1_ or 15530 32766_ mod -32767_ <> -1_ or 15531 32767_ mod -32768_ <> -1_ or 15532 32768_ mod -32769_ <> -1_ or 15533 32769_ mod -32770_ <> -1_ or 15534 65533_ mod -65534_ <> -1_ or 15535 65534_ mod -65535_ <> -1_ or 15536 65535_ mod -65536_ <> -1_ or 15537 65536_ mod -65537_ <> -1_ or 15538 65537_ mod -65538_ <> -1_ or 15539 32766_ mod -18446744073709551616_ <> -18446744073709518850_ or 15540 32767_ mod -18446744073709551616_ <> -18446744073709518849_ or 15541 32768_ mod -18446744073709551616_ <> -18446744073709518848_ or 15542 32769_ mod -18446744073709551616_ <> -18446744073709518847_ or 15543 32770_ mod -18446744073709551616_ <> -18446744073709518846_ or 15544 65534_ mod -18446744073709551616_ <> -18446744073709486082_ or 15545 65535_ mod -18446744073709551616_ <> -18446744073709486081_ or 15546 65536_ mod -18446744073709551616_ <> -18446744073709486080_ or 15547 65537_ mod -18446744073709551616_ <> -18446744073709486079_ or 15548 65538_ mod -18446744073709551616_ <> -18446744073709486078_ or 15549 2147483647_ mod -2147483647_ <> 0_ or 15550 2147483647_ mod -2147483648_ <> -1_ or 15551 2147483647_ mod -2147483649_ <> -2_ or 15552 2147483648_ mod -2147483647_ <> -2147483646_ or 15553 2147483648_ mod -2147483648_ <> 0_ or 15554 2147483648_ mod -2147483649_ <> -1_ or 15555 2147483649_ mod -2147483647_ <> -2147483645_ or 15556 2147483649_ mod -2147483648_ <> -2147483647_ or 15557 2147483649_ mod -2147483649_ <> 0_ or 15558 4294967295_ mod -4294967295_ <> 0_ or 15559 4294967295_ mod -4294967296_ <> -1_ or 15560 4294967295_ mod -4294967297_ <> -2_ or 15561 4294967296_ mod -4294967295_ <> -4294967294_ or 15562 4294967296_ mod -4294967296_ <> 0_ or 15563 4294967296_ mod -4294967297_ <> -1_ or 15564 4294967297_ mod -4294967295_ <> -4294967293_ or 15565 4294967297_ mod -4294967296_ <> -4294967295_ or 15566 4294967297_ mod -4294967297_ <> 0_ or 15567 140737488355327_ mod -140737488355328_ <> -1_ or 15568 140737488355328_ mod -140737488355327_ <> -140737488355326_ or 15569 140737488355328_ mod -140737488355328_ <> 0_ or 15570 140737488355328_ mod -140737488355329_ <> -1_ or 15571 9223372036854775807_ mod -32768_ <> -1_ or 15572 9223090561878065152_ mod -32767_ <> 0_ or 15573 4294967296_ mod -32768_ <> 0_ or 15574 4295229444_ mod -65538_ <> 0_ or 15575 8629125120_ mod -4833607680_ <> -1038090240_ or 15576 18446744073709551616_ mod -32767_ <> -32751_ or 15577 18446744073709551616_ mod -32768_ <> 0_ or 15578 18446744073709551616_ mod -65535_ <> -65534_ or 15579 18446744073709551616_ mod -131071_ <> -122879_ or 15580 18446744073709551616_ mod -2147483648_ <> 0_ or 15581 18446744073709551616_ mod -4294967296_ <> 0_ or 15582 18446744073709551616_ mod -4294967297_ <> -4294967296_ or 15583 18446744073709551616_ mod -18446744073709551616_ <> 0_ or 15584 18446744073709551616_ mod -18446744073709551617_ <> -1_ or 15585 9223372036854775808_ mod -140737488355329_ <> -65536_ or 15586 9223372036854775808_ mod -140737488420863_ <> -4294901760_ or 15587 9223372036854775808_ mod -140737488420864_ <> -4294967296_ or 15588 9223372036854775808_ mod -140741783322623_ <> -140733193322497_ or 15589 1152921504606846976_ mod -17596481011711_ <> -17527761469455_ or 15590 9223231303661387776_ mod -140739636002821_ <> -2147483638_ or 15591 39614081257132168796771975168_ mod -9223372036854775809_ <> -4294967296_ then 15592 writeln("Modulo of bigInteger division does not work correct. (2)"); 15593 okay := FALSE; 15594 end if; 15595 15596 if -32766_ mod 1_ <> 0_ or 15597 -32767_ mod 1_ <> 0_ or 15598 -32768_ mod 1_ <> 0_ or 15599 -32769_ mod 1_ <> 0_ or 15600 -32770_ mod 1_ <> 0_ or 15601 -65534_ mod 1_ <> 0_ or 15602 -65535_ mod 1_ <> 0_ or 15603 -65536_ mod 1_ <> 0_ or 15604 -65537_ mod 1_ <> 0_ or 15605 -65538_ mod 1_ <> 0_ or 15606 -65536_ mod 128_ <> 0_ or 15607 -32766_ mod 32766_ <> 0_ or 15608 -32767_ mod 32767_ <> 0_ or 15609 -32768_ mod 32768_ <> 0_ or 15610 -32769_ mod 32769_ <> 0_ or 15611 -32770_ mod 32770_ <> 0_ or 15612 -65534_ mod 65534_ <> 0_ or 15613 -65535_ mod 65535_ <> 0_ or 15614 -65536_ mod 65536_ <> 0_ or 15615 -65537_ mod 65537_ <> 0_ or 15616 -65538_ mod 65538_ <> 0_ or 15617 -32765_ mod 32766_ <> 1_ or 15618 -32766_ mod 32767_ <> 1_ or 15619 -32767_ mod 32768_ <> 1_ or 15620 -32768_ mod 32769_ <> 1_ or 15621 -32769_ mod 32770_ <> 1_ or 15622 -65533_ mod 65534_ <> 1_ or 15623 -65534_ mod 65535_ <> 1_ or 15624 -65535_ mod 65536_ <> 1_ or 15625 -65536_ mod 65537_ <> 1_ or 15626 -65537_ mod 65538_ <> 1_ or 15627 -32766_ mod 18446744073709551616_ <> 18446744073709518850_ or 15628 -32767_ mod 18446744073709551616_ <> 18446744073709518849_ or 15629 -32768_ mod 18446744073709551616_ <> 18446744073709518848_ or 15630 -32769_ mod 18446744073709551616_ <> 18446744073709518847_ or 15631 -32770_ mod 18446744073709551616_ <> 18446744073709518846_ or 15632 -65534_ mod 18446744073709551616_ <> 18446744073709486082_ or 15633 -65535_ mod 18446744073709551616_ <> 18446744073709486081_ or 15634 -65536_ mod 18446744073709551616_ <> 18446744073709486080_ or 15635 -65537_ mod 18446744073709551616_ <> 18446744073709486079_ or 15636 -65538_ mod 18446744073709551616_ <> 18446744073709486078_ or 15637 -2147483647_ mod 2147483647_ <> 0_ or 15638 -2147483647_ mod 2147483648_ <> 1_ or 15639 -2147483647_ mod 2147483649_ <> 2_ or 15640 -2147483648_ mod 2147483647_ <> 2147483646_ or 15641 -2147483648_ mod 2147483648_ <> 0_ or 15642 -2147483648_ mod 2147483649_ <> 1_ or 15643 -2147483649_ mod 2147483647_ <> 2147483645_ or 15644 -2147483649_ mod 2147483648_ <> 2147483647_ or 15645 -2147483649_ mod 2147483649_ <> 0_ or 15646 -4294967295_ mod 4294967295_ <> 0_ or 15647 -4294967295_ mod 4294967296_ <> 1_ or 15648 -4294967295_ mod 4294967297_ <> 2_ or 15649 -4294967296_ mod 4294967295_ <> 4294967294_ or 15650 -4294967296_ mod 4294967296_ <> 0_ or 15651 -4294967296_ mod 4294967297_ <> 1_ or 15652 -4294967297_ mod 4294967295_ <> 4294967293_ or 15653 -4294967297_ mod 4294967296_ <> 4294967295_ or 15654 -4294967297_ mod 4294967297_ <> 0_ or 15655 -140737488355327_ mod 140737488355328_ <> 1_ or 15656 -140737488355328_ mod 140737488355327_ <> 140737488355326_ or 15657 -140737488355328_ mod 140737488355328_ <> 0_ or 15658 -140737488355328_ mod 140737488355329_ <> 1_ or 15659 -9223372036854775807_ mod 32768_ <> 1_ or 15660 -9223090561878065152_ mod 32767_ <> 0_ or 15661 -4294967296_ mod 32768_ <> 0_ or 15662 -4295229444_ mod 65538_ <> 0_ or 15663 -8629125120_ mod 4833607680_ <> 1038090240_ or 15664 -18446744073709551616_ mod 32767_ <> 32751_ or 15665 -18446744073709551616_ mod 32768_ <> 0_ or 15666 -18446744073709551616_ mod 65535_ <> 65534_ or 15667 -18446744073709551616_ mod 131071_ <> 122879_ or 15668 -18446744073709551616_ mod 2147483648_ <> 0_ or 15669 -18446744073709551616_ mod 4294967296_ <> 0_ or 15670 -18446744073709551616_ mod 4294967297_ <> 4294967296_ or 15671 -18446744073709551616_ mod 18446744073709551616_ <> 0_ or 15672 -18446744073709551616_ mod 18446744073709551617_ <> 1_ or 15673 -9223372036854775808_ mod 140737488355329_ <> 65536_ or 15674 -9223372036854775808_ mod 140737488420863_ <> 4294901760_ or 15675 -9223372036854775808_ mod 140737488420864_ <> 4294967296_ or 15676 -9223372036854775808_ mod 140741783322623_ <> 140733193322497_ or 15677 -1152921504606846976_ mod 17596481011711_ <> 17527761469455_ or 15678 -9223231303661387776_ mod 140739636002821_ <> 2147483638_ or 15679 -39614081257132168796771975168_ mod 9223372036854775809_ <> 4294967296_ then 15680 writeln("Modulo of bigInteger division does not work correct. (3)"); 15681 okay := FALSE; 15682 end if; 15683 15684 if -32766_ mod -1_ <> 0_ or 15685 -32767_ mod -1_ <> 0_ or 15686 -32768_ mod -1_ <> 0_ or 15687 -32769_ mod -1_ <> 0_ or 15688 -32770_ mod -1_ <> 0_ or 15689 -65534_ mod -1_ <> 0_ or 15690 -65535_ mod -1_ <> 0_ or 15691 -65536_ mod -1_ <> 0_ or 15692 -65537_ mod -1_ <> 0_ or 15693 -65538_ mod -1_ <> 0_ or 15694 -65536_ mod -128_ <> 0_ or 15695 -32766_ mod -32766_ <> 0_ or 15696 -32767_ mod -32767_ <> 0_ or 15697 -32768_ mod -32768_ <> 0_ or 15698 -32769_ mod -32769_ <> 0_ or 15699 -32770_ mod -32770_ <> 0_ or 15700 -65534_ mod -65534_ <> 0_ or 15701 -65535_ mod -65535_ <> 0_ or 15702 -65536_ mod -65536_ <> 0_ or 15703 -65537_ mod -65537_ <> 0_ or 15704 -65538_ mod -65538_ <> 0_ or 15705 -32765_ mod -32766_ <> -32765_ or 15706 -32766_ mod -32767_ <> -32766_ or 15707 -32767_ mod -32768_ <> -32767_ or 15708 -32768_ mod -32769_ <> -32768_ or 15709 -32769_ mod -32770_ <> -32769_ or 15710 -65533_ mod -65534_ <> -65533_ or 15711 -65534_ mod -65535_ <> -65534_ or 15712 -65535_ mod -65536_ <> -65535_ or 15713 -65536_ mod -65537_ <> -65536_ or 15714 -65537_ mod -65538_ <> -65537_ or 15715 -32766_ mod -18446744073709551616_ <> -32766_ or 15716 -32767_ mod -18446744073709551616_ <> -32767_ or 15717 -32768_ mod -18446744073709551616_ <> -32768_ or 15718 -32769_ mod -18446744073709551616_ <> -32769_ or 15719 -32770_ mod -18446744073709551616_ <> -32770_ or 15720 -65534_ mod -18446744073709551616_ <> -65534_ or 15721 -65535_ mod -18446744073709551616_ <> -65535_ or 15722 -65536_ mod -18446744073709551616_ <> -65536_ or 15723 -65537_ mod -18446744073709551616_ <> -65537_ or 15724 -65538_ mod -18446744073709551616_ <> -65538_ or 15725 -2147483647_ mod -2147483647_ <> 0_ or 15726 -2147483647_ mod -2147483648_ <> -2147483647_ or 15727 -2147483647_ mod -2147483649_ <> -2147483647_ or 15728 -2147483648_ mod -2147483647_ <> -1_ or 15729 -2147483648_ mod -2147483648_ <> 0_ or 15730 -2147483648_ mod -2147483649_ <> -2147483648_ or 15731 -2147483649_ mod -2147483647_ <> -2_ or 15732 -2147483649_ mod -2147483648_ <> -1_ or 15733 -2147483649_ mod -2147483649_ <> 0_ or 15734 -4294967295_ mod -4294967295_ <> 0_ or 15735 -4294967295_ mod -4294967296_ <> -4294967295_ or 15736 -4294967295_ mod -4294967297_ <> -4294967295_ or 15737 -4294967296_ mod -4294967295_ <> -1_ or 15738 -4294967296_ mod -4294967296_ <> 0_ or 15739 -4294967296_ mod -4294967297_ <> -4294967296_ or 15740 -4294967297_ mod -4294967295_ <> -2_ or 15741 -4294967297_ mod -4294967296_ <> -1_ or 15742 -4294967297_ mod -4294967297_ <> 0_ or 15743 -140737488355327_ mod -140737488355328_ <> -140737488355327_ or 15744 -140737488355328_ mod -140737488355327_ <> -1_ or 15745 -140737488355328_ mod -140737488355328_ <> 0_ or 15746 -140737488355328_ mod -140737488355329_ <> -140737488355328_ or 15747 -9223372036854775807_ mod -32768_ <> -32767_ or 15748 -9223090561878065152_ mod -32767_ <> 0_ or 15749 -4294967296_ mod -32768_ <> 0_ or 15750 -4295229444_ mod -65538_ <> 0_ or 15751 -8629125120_ mod -4833607680_ <> -3795517440_ or 15752 -18446744073709551616_ mod -32767_ <> -16_ or 15753 -18446744073709551616_ mod -32768_ <> 0_ or 15754 -18446744073709551616_ mod -65535_ <> -1_ or 15755 -18446744073709551616_ mod -131071_ <> -8192_ or 15756 -18446744073709551616_ mod -2147483648_ <> 0_ or 15757 -18446744073709551616_ mod -4294967296_ <> 0_ or 15758 -18446744073709551616_ mod -4294967297_ <> -1_ or 15759 -18446744073709551616_ mod -18446744073709551616_ <> 0_ or 15760 -18446744073709551616_ mod -18446744073709551617_ <> -18446744073709551616_ or 15761 -9223372036854775808_ mod -140737488355329_ <> -140737488289793_ or 15762 -9223372036854775808_ mod -140737488420863_ <> -140733193519103_ or 15763 -9223372036854775808_ mod -140737488420864_ <> -140733193453568_ or 15764 -9223372036854775808_ mod -140741783322623_ <> -8590000126_ or 15765 -1152921504606846976_ mod -17596481011711_ <> -68719542256_ or 15766 -9223231303661387776_ mod -140739636002821_ <> -140737488519183_ or 15767 -39614081257132168796771975168_ mod -9223372036854775809_ <> -9223372032559808513_ then 15768 writeln("Modulo of bigInteger division does not work correct. (4)"); 15769 okay := FALSE; 15770 end if; 15771 15772 if -9223372036854775808_ mod 9223372036854775808_ <> 0_ or 15773 -9223372036854775808_ mod 9223372036854775809_ <> 1_ or 15774 -9223372036854775807_ mod 9223372036854775808_ <> 1_ or 15775 -9223372036854775808_ mod bigintExpr(9223372036854775808_) <> 0_ or 15776 -9223372036854775808_ mod bigintExpr(9223372036854775809_) <> 1_ or 15777 -9223372036854775807_ mod bigintExpr(9223372036854775808_) <> 1_ or 15778 bigintExpr(-9223372036854775808_) mod 9223372036854775808_ <> 0_ or 15779 bigintExpr(-9223372036854775808_) mod 9223372036854775809_ <> 1_ or 15780 bigintExpr(-9223372036854775807_) mod 9223372036854775808_ <> 1_ or 15781 bigintExpr(-9223372036854775808_) mod bigintExpr(9223372036854775808_) <> 0_ or 15782 bigintExpr(-9223372036854775808_) mod bigintExpr(9223372036854775809_) <> 1_ or 15783 bigintExpr(-9223372036854775807_) mod bigintExpr(9223372036854775808_) <> 1_ or 15784 -39614081257132168796771975168_ mod 39614081257132168796771975168_ <> 0_ or 15785 -39614081257132168796771975168_ mod 39614081257132168796771975169_ <> 1_ or 15786 -39614081257132168796771975167_ mod 39614081257132168796771975168_ <> 1_ or 15787 -39614081257132168796771975168_ mod bigintExpr(39614081257132168796771975168_) <> 0_ or 15788 -39614081257132168796771975168_ mod bigintExpr(39614081257132168796771975169_) <> 1_ or 15789 -39614081257132168796771975167_ mod bigintExpr(39614081257132168796771975168_) <> 1_ or 15790 bigintExpr(-39614081257132168796771975168_) mod 39614081257132168796771975168_ <> 0_ or 15791 bigintExpr(-39614081257132168796771975168_) mod 39614081257132168796771975169_ <> 1_ or 15792 bigintExpr(-39614081257132168796771975167_) mod 39614081257132168796771975168_ <> 1_ or 15793 bigintExpr(-39614081257132168796771975168_) mod bigintExpr(39614081257132168796771975168_) <> 0_ or 15794 bigintExpr(-39614081257132168796771975168_) mod bigintExpr(39614081257132168796771975169_) <> 1_ or 15795 bigintExpr(-39614081257132168796771975167_) mod bigintExpr(39614081257132168796771975168_) <> 1_ or 15796 -170141183460469231731687303715884105728_ mod 170141183460469231731687303715884105728_ <> 0_ or 15797 -170141183460469231731687303715884105728_ mod 170141183460469231731687303715884105729_ <> 1_ or 15798 -170141183460469231731687303715884105727_ mod 170141183460469231731687303715884105728_ <> 1_ or 15799 -170141183460469231731687303715884105728_ mod bigintExpr(170141183460469231731687303715884105728_) <> 0_ or 15800 -170141183460469231731687303715884105728_ mod bigintExpr(170141183460469231731687303715884105729_) <> 1_ or 15801 -170141183460469231731687303715884105727_ mod bigintExpr(170141183460469231731687303715884105728_) <> 1_ or 15802 bigintExpr(-170141183460469231731687303715884105728_) mod 170141183460469231731687303715884105728_ <> 0_ or 15803 bigintExpr(-170141183460469231731687303715884105728_) mod 170141183460469231731687303715884105729_ <> 1_ or 15804 bigintExpr(-170141183460469231731687303715884105727_) mod 170141183460469231731687303715884105728_ <> 1_ or 15805 bigintExpr(-170141183460469231731687303715884105728_) mod bigintExpr(170141183460469231731687303715884105728_) <> 0_ or 15806 bigintExpr(-170141183460469231731687303715884105728_) mod bigintExpr(170141183460469231731687303715884105729_) <> 1_ or 15807 bigintExpr(-170141183460469231731687303715884105727_) mod bigintExpr(170141183460469231731687303715884105728_) <> 1_ then 15808 writeln("Modulo division of bigInteger does not work correct. (5)"); 15809 okay := FALSE; 15810 end if; 15811 15812 if 9223372036854775807_ mod 9223372036854775808_ <> 9223372036854775807_ or 15813 9223372036854775807_ mod 999999999999999999999999999999_ <> 9223372036854775807_ or 15814 9223372036854775807_ mod -9223372036854775809_ <> -2_ or 15815 9223372036854775807_ mod -999999999999999999999999999999_ <> -999999999990776627963145224192_ or 15816 -9223372036854775808_ mod 9223372036854775808_ <> 0_ or 15817 -9223372036854775808_ mod 999999999999999999999999999999_ <> 999999999990776627963145224191_ or 15818 -9223372036854775808_ mod -9223372036854775809_ <> -9223372036854775808_ or 15819 -9223372036854775808_ mod -999999999999999999999999999999_ <> -9223372036854775808_ or 15820 9223372036854775807_ mod bigintExpr( 9223372036854775808_) <> 9223372036854775807_ or 15821 9223372036854775807_ mod bigintExpr( 999999999999999999999999999999_) <> 9223372036854775807_ or 15822 9223372036854775807_ mod bigintExpr( -9223372036854775809_) <> -2_ or 15823 9223372036854775807_ mod bigintExpr(-999999999999999999999999999999_) <> -999999999990776627963145224192_ or 15824 -9223372036854775808_ mod bigintExpr( 9223372036854775808_) <> 0_ or 15825 -9223372036854775808_ mod bigintExpr( 999999999999999999999999999999_) <> 999999999990776627963145224191_ or 15826 -9223372036854775808_ mod bigintExpr( -9223372036854775809_) <> -9223372036854775808_ or 15827 -9223372036854775808_ mod bigintExpr(-999999999999999999999999999999_) <> -9223372036854775808_ or 15828 bigintExpr( 9223372036854775807_) mod 9223372036854775808_ <> 9223372036854775807_ or 15829 bigintExpr( 9223372036854775807_) mod 999999999999999999999999999999_ <> 9223372036854775807_ or 15830 bigintExpr( 9223372036854775807_) mod -9223372036854775809_ <> -2_ or 15831 bigintExpr( 9223372036854775807_) mod -999999999999999999999999999999_ <> -999999999990776627963145224192_ or 15832 bigintExpr(-9223372036854775808_) mod 9223372036854775808_ <> 0_ or 15833 bigintExpr(-9223372036854775808_) mod 999999999999999999999999999999_ <> 999999999990776627963145224191_ or 15834 bigintExpr(-9223372036854775808_) mod -9223372036854775809_ <> -9223372036854775808_ or 15835 bigintExpr(-9223372036854775808_) mod -999999999999999999999999999999_ <> -9223372036854775808_ or 15836 bigintExpr( 9223372036854775807_) mod bigintExpr( 9223372036854775808_) <> 9223372036854775807_ or 15837 bigintExpr( 9223372036854775807_) mod bigintExpr( 999999999999999999999999999999_) <> 9223372036854775807_ or 15838 bigintExpr( 9223372036854775807_) mod bigintExpr( -9223372036854775809_) <> -2_ or 15839 bigintExpr( 9223372036854775807_) mod bigintExpr(-999999999999999999999999999999_) <> -999999999990776627963145224192_ or 15840 bigintExpr(-9223372036854775808_) mod bigintExpr( 9223372036854775808_) <> 0_ or 15841 bigintExpr(-9223372036854775808_) mod bigintExpr( 999999999999999999999999999999_) <> 999999999990776627963145224191_ or 15842 bigintExpr(-9223372036854775808_) mod bigintExpr( -9223372036854775809_) <> -9223372036854775808_ or 15843 bigintExpr(-9223372036854775808_) mod bigintExpr(-999999999999999999999999999999_) <> -9223372036854775808_ then 15844 writeln("Modulo of bigInteger division does not work correct. (6)"); 15845 okay := FALSE; 15846 end if; 15847 15848 if 0_ mod -170141183460469231731687303715884105729_ <> 0_ or 15849 0_ mod -170141183460469231731687303715884105728_ <> 0_ or 15850 0_ mod -9223372036854775809_ <> 0_ or 15851 0_ mod -9223372036854775808_ <> 0_ or 15852 0_ mod -2147483649_ <> 0_ or 15853 0_ mod -2147483648_ <> 0_ or 15854 0_ mod -32769_ <> 0_ or 15855 0_ mod -32768_ <> 0_ or 15856 0_ mod -129_ <> 0_ or 15857 0_ mod -128_ <> 0_ or 15858 0_ mod -1_ <> 0_ or 15859 0_ mod 1_ <> 0_ or 15860 0_ mod 127_ <> 0_ or 15861 0_ mod 128_ <> 0_ or 15862 0_ mod 32767_ <> 0_ or 15863 0_ mod 32768_ <> 0_ or 15864 0_ mod 2147483647_ <> 0_ or 15865 0_ mod 2147483648_ <> 0_ or 15866 0_ mod 9223372036854775807_ <> 0_ or 15867 0_ mod 9223372036854775808_ <> 0_ or 15868 0_ mod 170141183460469231731687303715884105727_ <> 0_ or 15869 0_ mod 170141183460469231731687303715884105728_ <> 0_ or 15870 0_ mod bigintExpr(-170141183460469231731687303715884105729_) <> 0_ or 15871 0_ mod bigintExpr(-170141183460469231731687303715884105728_) <> 0_ or 15872 0_ mod bigintExpr( -9223372036854775809_) <> 0_ or 15873 0_ mod bigintExpr( -9223372036854775808_) <> 0_ or 15874 0_ mod bigintExpr( -2147483649_) <> 0_ or 15875 0_ mod bigintExpr( -2147483648_) <> 0_ or 15876 0_ mod bigintExpr( -32769_) <> 0_ or 15877 0_ mod bigintExpr( -32768_) <> 0_ or 15878 0_ mod bigintExpr( -129_) <> 0_ or 15879 0_ mod bigintExpr( -128_) <> 0_ or 15880 0_ mod bigintExpr( -1_) <> 0_ or 15881 0_ mod bigintExpr( 1_) <> 0_ or 15882 0_ mod bigintExpr( 127_) <> 0_ or 15883 0_ mod bigintExpr( 128_) <> 0_ or 15884 0_ mod bigintExpr( 32767_) <> 0_ or 15885 0_ mod bigintExpr( 32768_) <> 0_ or 15886 0_ mod bigintExpr( 2147483647_) <> 0_ or 15887 0_ mod bigintExpr( 2147483648_) <> 0_ or 15888 0_ mod bigintExpr( 9223372036854775807_) <> 0_ or 15889 0_ mod bigintExpr( 9223372036854775808_) <> 0_ or 15890 0_ mod bigintExpr( 170141183460469231731687303715884105727_) <> 0_ or 15891 0_ mod bigintExpr( 170141183460469231731687303715884105728_) <> 0_ or 15892 bigintExpr(0_) mod -170141183460469231731687303715884105729_ <> 0_ or 15893 bigintExpr(0_) mod -170141183460469231731687303715884105728_ <> 0_ or 15894 bigintExpr(0_) mod -9223372036854775809_ <> 0_ or 15895 bigintExpr(0_) mod -9223372036854775808_ <> 0_ or 15896 bigintExpr(0_) mod -2147483649_ <> 0_ or 15897 bigintExpr(0_) mod -2147483648_ <> 0_ or 15898 bigintExpr(0_) mod -32769_ <> 0_ or 15899 bigintExpr(0_) mod -32768_ <> 0_ or 15900 bigintExpr(0_) mod -129_ <> 0_ or 15901 bigintExpr(0_) mod -128_ <> 0_ or 15902 bigintExpr(0_) mod -1_ <> 0_ or 15903 bigintExpr(0_) mod 1_ <> 0_ or 15904 bigintExpr(0_) mod 127_ <> 0_ or 15905 bigintExpr(0_) mod 128_ <> 0_ or 15906 bigintExpr(0_) mod 32767_ <> 0_ or 15907 bigintExpr(0_) mod 32768_ <> 0_ or 15908 bigintExpr(0_) mod 2147483647_ <> 0_ or 15909 bigintExpr(0_) mod 2147483648_ <> 0_ or 15910 bigintExpr(0_) mod 9223372036854775807_ <> 0_ or 15911 bigintExpr(0_) mod 9223372036854775808_ <> 0_ or 15912 bigintExpr(0_) mod 170141183460469231731687303715884105727_ <> 0_ or 15913 bigintExpr(0_) mod 170141183460469231731687303715884105728_ <> 0_ or 15914 bigintExpr(0_) mod bigintExpr(-170141183460469231731687303715884105729_) <> 0_ or 15915 bigintExpr(0_) mod bigintExpr(-170141183460469231731687303715884105728_) <> 0_ or 15916 bigintExpr(0_) mod bigintExpr( -9223372036854775809_) <> 0_ or 15917 bigintExpr(0_) mod bigintExpr( -9223372036854775808_) <> 0_ or 15918 bigintExpr(0_) mod bigintExpr( -2147483649_) <> 0_ or 15919 bigintExpr(0_) mod bigintExpr( -2147483648_) <> 0_ or 15920 bigintExpr(0_) mod bigintExpr( -32769_) <> 0_ or 15921 bigintExpr(0_) mod bigintExpr( -32768_) <> 0_ or 15922 bigintExpr(0_) mod bigintExpr( -129_) <> 0_ or 15923 bigintExpr(0_) mod bigintExpr( -128_) <> 0_ or 15924 bigintExpr(0_) mod bigintExpr( -1_) <> 0_ or 15925 bigintExpr(0_) mod bigintExpr( 1_) <> 0_ or 15926 bigintExpr(0_) mod bigintExpr( 127_) <> 0_ or 15927 bigintExpr(0_) mod bigintExpr( 128_) <> 0_ or 15928 bigintExpr(0_) mod bigintExpr( 32767_) <> 0_ or 15929 bigintExpr(0_) mod bigintExpr( 32768_) <> 0_ or 15930 bigintExpr(0_) mod bigintExpr( 2147483647_) <> 0_ or 15931 bigintExpr(0_) mod bigintExpr( 2147483648_) <> 0_ or 15932 bigintExpr(0_) mod bigintExpr( 9223372036854775807_) <> 0_ or 15933 bigintExpr(0_) mod bigintExpr( 9223372036854775808_) <> 0_ or 15934 bigintExpr(0_) mod bigintExpr( 170141183460469231731687303715884105727_) <> 0_ or 15935 bigintExpr(0_) mod bigintExpr( 170141183460469231731687303715884105728_) <> 0_ then 15936 writeln("Modulo of bigInteger division does not work correct. (7)"); 15937 okay := FALSE; 15938 end if; 15939 15940 if 280223983525050_ mod 1_ <> 0_ or 15941 280223983525050_ mod 2_ <> 0_ or 15942 280223983525050_ mod 4_ <> 2_ or 15943 280223983525050_ mod 8_ <> 2_ or 15944 280223983525050_ mod 1024_ <> 186_ or 15945 280223983525050_ mod 1048576_ <> 974010_ or 15946 280223983525050_ mod 1073741824_ <> 989781178_ or 15947 280223983525050_ mod 2147483648_ <> 989781178_ or 15948 280223983525050_ mod 4294967296_ <> 3137264826_ or 15949 280223983525050_ mod 1099511627776_ <> 948030069946_ or 15950 280223983525050_ mod -1_ <> 0_ or 15951 280223983525050_ mod -2_ <> 0_ or 15952 280223983525050_ mod -4_ <> -2_ or 15953 280223983525050_ mod -8_ <> -6_ or 15954 280223983525050_ mod -1024_ <> -838_ or 15955 280223983525050_ mod -1048576_ <> -74566_ or 15956 280223983525050_ mod -1073741824_ <> -83960646_ or 15957 280223983525050_ mod -2147483648_ <> -1157702470_ or 15958 280223983525050_ mod -4294967296_ <> -1157702470_ or 15959 280223983525050_ mod -1099511627776_ <> -151481557830_ or 15960 -280223983525050_ mod 1_ <> 0_ or 15961 -280223983525050_ mod 2_ <> 0_ or 15962 -280223983525050_ mod 4_ <> 2_ or 15963 -280223983525050_ mod 8_ <> 6_ or 15964 -280223983525050_ mod 1024_ <> 838_ or 15965 -280223983525050_ mod 1048576_ <> 74566_ or 15966 -280223983525050_ mod 1073741824_ <> 83960646_ or 15967 -280223983525050_ mod 2147483648_ <> 1157702470_ or 15968 -280223983525050_ mod 4294967296_ <> 1157702470_ or 15969 -280223983525050_ mod 1099511627776_ <> 151481557830_ or 15970 -280223983525050_ mod -1_ <> -0_ or 15971 -280223983525050_ mod -2_ <> -0_ or 15972 -280223983525050_ mod -4_ <> -2_ or 15973 -280223983525050_ mod -8_ <> -2_ or 15974 -280223983525050_ mod -1024_ <> -186_ or 15975 -280223983525050_ mod -1048576_ <> -974010_ or 15976 -280223983525050_ mod -1073741824_ <> -989781178_ or 15977 -280223983525050_ mod -2147483648_ <> -989781178_ or 15978 -280223983525050_ mod -4294967296_ <> -3137264826_ or 15979 -280223983525050_ mod -1099511627776_ <> -948030069946_ or 15980 15981 280223983525050_ mod bigintExpr( 1_) <> 0_ or 15982 280223983525050_ mod bigintExpr( 2_) <> 0_ or 15983 280223983525050_ mod bigintExpr( 4_) <> 2_ or 15984 280223983525050_ mod bigintExpr( 8_) <> 2_ or 15985 280223983525050_ mod bigintExpr( 1024_) <> 186_ or 15986 280223983525050_ mod bigintExpr( 1048576_) <> 974010_ or 15987 280223983525050_ mod bigintExpr( 1073741824_) <> 989781178_ or 15988 280223983525050_ mod bigintExpr( 2147483648_) <> 989781178_ or 15989 280223983525050_ mod bigintExpr( 4294967296_) <> 3137264826_ or 15990 280223983525050_ mod bigintExpr( 1099511627776_) <> 948030069946_ or 15991 280223983525050_ mod bigintExpr( -1_) <> 0_ or 15992 280223983525050_ mod bigintExpr( -2_) <> 0_ or 15993 280223983525050_ mod bigintExpr( -4_) <> -2_ or 15994 280223983525050_ mod bigintExpr( -8_) <> -6_ or 15995 280223983525050_ mod bigintExpr( -1024_) <> -838_ or 15996 280223983525050_ mod bigintExpr( -1048576_) <> -74566_ or 15997 280223983525050_ mod bigintExpr( -1073741824_) <> -83960646_ or 15998 280223983525050_ mod bigintExpr( -2147483648_) <> -1157702470_ or 15999 280223983525050_ mod bigintExpr( -4294967296_) <> -1157702470_ or 16000 280223983525050_ mod bigintExpr(-1099511627776_) <> -151481557830_ or 16001 -280223983525050_ mod bigintExpr( 1_) <> 0_ or 16002 -280223983525050_ mod bigintExpr( 2_) <> 0_ or 16003 -280223983525050_ mod bigintExpr( 4_) <> 2_ or 16004 -280223983525050_ mod bigintExpr( 8_) <> 6_ or 16005 -280223983525050_ mod bigintExpr( 1024_) <> 838_ or 16006 -280223983525050_ mod bigintExpr( 1048576_) <> 74566_ or 16007 -280223983525050_ mod bigintExpr( 1073741824_) <> 83960646_ or 16008 -280223983525050_ mod bigintExpr( 2147483648_) <> 1157702470_ or 16009 -280223983525050_ mod bigintExpr( 4294967296_) <> 1157702470_ or 16010 -280223983525050_ mod bigintExpr( 1099511627776_) <> 151481557830_ or 16011 -280223983525050_ mod bigintExpr( -1_) <> -0_ or 16012 -280223983525050_ mod bigintExpr( -2_) <> -0_ or 16013 -280223983525050_ mod bigintExpr( -4_) <> -2_ or 16014 -280223983525050_ mod bigintExpr( -8_) <> -2_ or 16015 -280223983525050_ mod bigintExpr( -1024_) <> -186_ or 16016 -280223983525050_ mod bigintExpr( -1048576_) <> -974010_ or 16017 -280223983525050_ mod bigintExpr( -1073741824_) <> -989781178_ or 16018 -280223983525050_ mod bigintExpr( -2147483648_) <> -989781178_ or 16019 -280223983525050_ mod bigintExpr( -4294967296_) <> -3137264826_ or 16020 -280223983525050_ mod bigintExpr(-1099511627776_) <> -948030069946_ or 16021 16022 bigintExpr( 280223983525050_) mod 1_ <> 0_ or 16023 bigintExpr( 280223983525050_) mod 2_ <> 0_ or 16024 bigintExpr( 280223983525050_) mod 4_ <> 2_ or 16025 bigintExpr( 280223983525050_) mod 8_ <> 2_ or 16026 bigintExpr( 280223983525050_) mod 1024_ <> 186_ or 16027 bigintExpr( 280223983525050_) mod 1048576_ <> 974010_ or 16028 bigintExpr( 280223983525050_) mod 1073741824_ <> 989781178_ or 16029 bigintExpr( 280223983525050_) mod 2147483648_ <> 989781178_ or 16030 bigintExpr( 280223983525050_) mod 4294967296_ <> 3137264826_ or 16031 bigintExpr( 280223983525050_) mod 1099511627776_ <> 948030069946_ or 16032 bigintExpr( 280223983525050_) mod -1_ <> 0_ or 16033 bigintExpr( 280223983525050_) mod -2_ <> 0_ or 16034 bigintExpr( 280223983525050_) mod -4_ <> -2_ or 16035 bigintExpr( 280223983525050_) mod -8_ <> -6_ or 16036 bigintExpr( 280223983525050_) mod -1024_ <> -838_ or 16037 bigintExpr( 280223983525050_) mod -1048576_ <> -74566_ or 16038 bigintExpr( 280223983525050_) mod -1073741824_ <> -83960646_ or 16039 bigintExpr( 280223983525050_) mod -2147483648_ <> -1157702470_ or 16040 bigintExpr( 280223983525050_) mod -4294967296_ <> -1157702470_ or 16041 bigintExpr( 280223983525050_) mod -1099511627776_ <> -151481557830_ or 16042 bigintExpr(-280223983525050_) mod 1_ <> 0_ or 16043 bigintExpr(-280223983525050_) mod 2_ <> 0_ or 16044 bigintExpr(-280223983525050_) mod 4_ <> 2_ or 16045 bigintExpr(-280223983525050_) mod 8_ <> 6_ or 16046 bigintExpr(-280223983525050_) mod 1024_ <> 838_ or 16047 bigintExpr(-280223983525050_) mod 1048576_ <> 74566_ or 16048 bigintExpr(-280223983525050_) mod 1073741824_ <> 83960646_ or 16049 bigintExpr(-280223983525050_) mod 2147483648_ <> 1157702470_ or 16050 bigintExpr(-280223983525050_) mod 4294967296_ <> 1157702470_ or 16051 bigintExpr(-280223983525050_) mod 1099511627776_ <> 151481557830_ or 16052 bigintExpr(-280223983525050_) mod -1_ <> -0_ or 16053 bigintExpr(-280223983525050_) mod -2_ <> -0_ or 16054 bigintExpr(-280223983525050_) mod -4_ <> -2_ or 16055 bigintExpr(-280223983525050_) mod -8_ <> -2_ or 16056 bigintExpr(-280223983525050_) mod -1024_ <> -186_ or 16057 bigintExpr(-280223983525050_) mod -1048576_ <> -974010_ or 16058 bigintExpr(-280223983525050_) mod -1073741824_ <> -989781178_ or 16059 bigintExpr(-280223983525050_) mod -2147483648_ <> -989781178_ or 16060 bigintExpr(-280223983525050_) mod -4294967296_ <> -3137264826_ or 16061 bigintExpr(-280223983525050_) mod -1099511627776_ <> -948030069946_ or 16062 16063 bigintExpr( 280223983525050_) mod bigintExpr( 1_) <> 0_ or 16064 bigintExpr( 280223983525050_) mod bigintExpr( 2_) <> 0_ or 16065 bigintExpr( 280223983525050_) mod bigintExpr( 4_) <> 2_ or 16066 bigintExpr( 280223983525050_) mod bigintExpr( 8_) <> 2_ or 16067 bigintExpr( 280223983525050_) mod bigintExpr( 1024_) <> 186_ or 16068 bigintExpr( 280223983525050_) mod bigintExpr( 1048576_) <> 974010_ or 16069 bigintExpr( 280223983525050_) mod bigintExpr( 1073741824_) <> 989781178_ or 16070 bigintExpr( 280223983525050_) mod bigintExpr( 2147483648_) <> 989781178_ or 16071 bigintExpr( 280223983525050_) mod bigintExpr( 4294967296_) <> 3137264826_ or 16072 bigintExpr( 280223983525050_) mod bigintExpr( 1099511627776_) <> 948030069946_ or 16073 bigintExpr( 280223983525050_) mod bigintExpr( -1_) <> 0_ or 16074 bigintExpr( 280223983525050_) mod bigintExpr( -2_) <> 0_ or 16075 bigintExpr( 280223983525050_) mod bigintExpr( -4_) <> -2_ or 16076 bigintExpr( 280223983525050_) mod bigintExpr( -8_) <> -6_ or 16077 bigintExpr( 280223983525050_) mod bigintExpr( -1024_) <> -838_ or 16078 bigintExpr( 280223983525050_) mod bigintExpr( -1048576_) <> -74566_ or 16079 bigintExpr( 280223983525050_) mod bigintExpr( -1073741824_) <> -83960646_ or 16080 bigintExpr( 280223983525050_) mod bigintExpr( -2147483648_) <> -1157702470_ or 16081 bigintExpr( 280223983525050_) mod bigintExpr( -4294967296_) <> -1157702470_ or 16082 bigintExpr( 280223983525050_) mod bigintExpr(-1099511627776_) <> -151481557830_ or 16083 bigintExpr(-280223983525050_) mod bigintExpr( 1_) <> 0_ or 16084 bigintExpr(-280223983525050_) mod bigintExpr( 2_) <> 0_ or 16085 bigintExpr(-280223983525050_) mod bigintExpr( 4_) <> 2_ or 16086 bigintExpr(-280223983525050_) mod bigintExpr( 8_) <> 6_ or 16087 bigintExpr(-280223983525050_) mod bigintExpr( 1024_) <> 838_ or 16088 bigintExpr(-280223983525050_) mod bigintExpr( 1048576_) <> 74566_ or 16089 bigintExpr(-280223983525050_) mod bigintExpr( 1073741824_) <> 83960646_ or 16090 bigintExpr(-280223983525050_) mod bigintExpr( 2147483648_) <> 1157702470_ or 16091 bigintExpr(-280223983525050_) mod bigintExpr( 4294967296_) <> 1157702470_ or 16092 bigintExpr(-280223983525050_) mod bigintExpr( 1099511627776_) <> 151481557830_ or 16093 bigintExpr(-280223983525050_) mod bigintExpr( -1_) <> -0_ or 16094 bigintExpr(-280223983525050_) mod bigintExpr( -2_) <> -0_ or 16095 bigintExpr(-280223983525050_) mod bigintExpr( -4_) <> -2_ or 16096 bigintExpr(-280223983525050_) mod bigintExpr( -8_) <> -2_ or 16097 bigintExpr(-280223983525050_) mod bigintExpr( -1024_) <> -186_ or 16098 bigintExpr(-280223983525050_) mod bigintExpr( -1048576_) <> -974010_ or 16099 bigintExpr(-280223983525050_) mod bigintExpr( -1073741824_) <> -989781178_ or 16100 bigintExpr(-280223983525050_) mod bigintExpr( -2147483648_) <> -989781178_ or 16101 bigintExpr(-280223983525050_) mod bigintExpr( -4294967296_) <> -3137264826_ or 16102 bigintExpr(-280223983525050_) mod bigintExpr(-1099511627776_) <> -948030069946_ or 16103 16104 11259375_ mod 2147483648_ <> 11259375_ or 16105 11259375_ mod 4294967296_ <> 11259375_ or 16106 11259375_ mod 8589934592_ <> 11259375_ or 16107 11259375_ mod 1099511627776_ <> 11259375_ or 16108 11259375_ mod 1125899906842624_ <> 11259375_ or 16109 11259375_ mod 9223372036854775808_ <> 11259375_ or 16110 11259375_ mod 18446744073709551616_ <> 11259375_ or 16111 11259375_ mod 36893488147419103232_ <> 11259375_ or 16112 11259375_ mod 1180591620717411303424_ <> 11259375_ or 16113 11259375_ mod 1208925819614629174706176_ <> 11259375_ or 16114 11259375_ mod 39614081257132168796771975168_ <> 11259375_ or 16115 11259375_ mod 79228162514264337593543950336_ <> 11259375_ or 16116 11259375_ mod 158456325028528675187087900672_ <> 11259375_ or 16117 11259375_ mod 1267650600228229401496703205376_ <> 11259375_ or 16118 11259375_ mod -2147483648_ <> -2136224273_ or 16119 11259375_ mod -4294967296_ <> -4283707921_ or 16120 11259375_ mod -8589934592_ <> -8578675217_ or 16121 11259375_ mod -1099511627776_ <> -1099500368401_ or 16122 11259375_ mod -1125899906842624_ <> -1125899895583249_ or 16123 11259375_ mod -9223372036854775808_ <> -9223372036843516433_ or 16124 11259375_ mod -18446744073709551616_ <> -18446744073698292241_ or 16125 11259375_ mod -36893488147419103232_ <> -36893488147407843857_ or 16126 11259375_ mod -1180591620717411303424_ <> -1180591620717400044049_ or 16127 11259375_ mod -1208925819614629174706176_ <> -1208925819614629163446801_ or 16128 11259375_ mod -39614081257132168796771975168_ <> -39614081257132168796760715793_ or 16129 11259375_ mod -79228162514264337593543950336_ <> -79228162514264337593532690961_ or 16130 11259375_ mod -158456325028528675187087900672_ <> -158456325028528675187076641297_ or 16131 11259375_ mod -1267650600228229401496703205376_ <> -1267650600228229401496691946001_ or 16132 -11259375_ mod 2147483648_ <> 2136224273_ or 16133 -11259375_ mod 4294967296_ <> 4283707921_ or 16134 -11259375_ mod 8589934592_ <> 8578675217_ or 16135 -11259375_ mod 1099511627776_ <> 1099500368401_ or 16136 -11259375_ mod 1125899906842624_ <> 1125899895583249_ or 16137 -11259375_ mod 9223372036854775808_ <> 9223372036843516433_ or 16138 -11259375_ mod 18446744073709551616_ <> 18446744073698292241_ or 16139 -11259375_ mod 36893488147419103232_ <> 36893488147407843857_ or 16140 -11259375_ mod 1180591620717411303424_ <> 1180591620717400044049_ or 16141 -11259375_ mod 1208925819614629174706176_ <> 1208925819614629163446801_ or 16142 -11259375_ mod 39614081257132168796771975168_ <> 39614081257132168796760715793_ or 16143 -11259375_ mod 79228162514264337593543950336_ <> 79228162514264337593532690961_ or 16144 -11259375_ mod 158456325028528675187087900672_ <> 158456325028528675187076641297_ or 16145 -11259375_ mod 1267650600228229401496703205376_ <> 1267650600228229401496691946001_ or 16146 -11259375_ mod -2147483648_ <> -11259375_ or 16147 -11259375_ mod -4294967296_ <> -11259375_ or 16148 -11259375_ mod -8589934592_ <> -11259375_ or 16149 -11259375_ mod -1099511627776_ <> -11259375_ or 16150 -11259375_ mod -1125899906842624_ <> -11259375_ or 16151 -11259375_ mod -9223372036854775808_ <> -11259375_ or 16152 -11259375_ mod -18446744073709551616_ <> -11259375_ or 16153 -11259375_ mod -36893488147419103232_ <> -11259375_ or 16154 -11259375_ mod -1180591620717411303424_ <> -11259375_ or 16155 -11259375_ mod -1208925819614629174706176_ <> -11259375_ or 16156 -11259375_ mod -39614081257132168796771975168_ <> -11259375_ or 16157 -11259375_ mod -79228162514264337593543950336_ <> -11259375_ or 16158 -11259375_ mod -158456325028528675187087900672_ <> -11259375_ or 16159 -11259375_ mod -1267650600228229401496703205376_ <> -11259375_ or 16160 16161 11259375_ mod bigintExpr( 2147483648_) <> 11259375_ or 16162 11259375_ mod bigintExpr( 4294967296_) <> 11259375_ or 16163 11259375_ mod bigintExpr( 8589934592_) <> 11259375_ or 16164 11259375_ mod bigintExpr( 1099511627776_) <> 11259375_ or 16165 11259375_ mod bigintExpr( 1125899906842624_) <> 11259375_ or 16166 11259375_ mod bigintExpr( 9223372036854775808_) <> 11259375_ or 16167 11259375_ mod bigintExpr( 18446744073709551616_) <> 11259375_ or 16168 11259375_ mod bigintExpr( 36893488147419103232_) <> 11259375_ or 16169 11259375_ mod bigintExpr( 1180591620717411303424_) <> 11259375_ or 16170 11259375_ mod bigintExpr( 1208925819614629174706176_) <> 11259375_ or 16171 11259375_ mod bigintExpr( 39614081257132168796771975168_) <> 11259375_ or 16172 11259375_ mod bigintExpr( 79228162514264337593543950336_) <> 11259375_ or 16173 11259375_ mod bigintExpr( 158456325028528675187087900672_) <> 11259375_ or 16174 11259375_ mod bigintExpr( 1267650600228229401496703205376_) <> 11259375_ or 16175 11259375_ mod bigintExpr( -2147483648_) <> -2136224273_ or 16176 11259375_ mod bigintExpr( -4294967296_) <> -4283707921_ or 16177 11259375_ mod bigintExpr( -8589934592_) <> -8578675217_ or 16178 11259375_ mod bigintExpr( -1099511627776_) <> -1099500368401_ or 16179 11259375_ mod bigintExpr( -1125899906842624_) <> -1125899895583249_ or 16180 11259375_ mod bigintExpr( -9223372036854775808_) <> -9223372036843516433_ or 16181 11259375_ mod bigintExpr( -18446744073709551616_) <> -18446744073698292241_ or 16182 11259375_ mod bigintExpr( -36893488147419103232_) <> -36893488147407843857_ or 16183 11259375_ mod bigintExpr( -1180591620717411303424_) <> -1180591620717400044049_ or 16184 11259375_ mod bigintExpr( -1208925819614629174706176_) <> -1208925819614629163446801_ or 16185 11259375_ mod bigintExpr( -39614081257132168796771975168_) <> -39614081257132168796760715793_ or 16186 11259375_ mod bigintExpr( -79228162514264337593543950336_) <> -79228162514264337593532690961_ or 16187 11259375_ mod bigintExpr( -158456325028528675187087900672_) <> -158456325028528675187076641297_ or 16188 11259375_ mod bigintExpr(-1267650600228229401496703205376_) <> -1267650600228229401496691946001_ or 16189 -11259375_ mod bigintExpr( 2147483648_) <> 2136224273_ or 16190 -11259375_ mod bigintExpr( 4294967296_) <> 4283707921_ or 16191 -11259375_ mod bigintExpr( 8589934592_) <> 8578675217_ or 16192 -11259375_ mod bigintExpr( 1099511627776_) <> 1099500368401_ or 16193 -11259375_ mod bigintExpr( 1125899906842624_) <> 1125899895583249_ or 16194 -11259375_ mod bigintExpr( 9223372036854775808_) <> 9223372036843516433_ or 16195 -11259375_ mod bigintExpr( 18446744073709551616_) <> 18446744073698292241_ or 16196 -11259375_ mod bigintExpr( 36893488147419103232_) <> 36893488147407843857_ or 16197 -11259375_ mod bigintExpr( 1180591620717411303424_) <> 1180591620717400044049_ or 16198 -11259375_ mod bigintExpr( 1208925819614629174706176_) <> 1208925819614629163446801_ or 16199 -11259375_ mod bigintExpr( 39614081257132168796771975168_) <> 39614081257132168796760715793_ or 16200 -11259375_ mod bigintExpr( 79228162514264337593543950336_) <> 79228162514264337593532690961_ or 16201 -11259375_ mod bigintExpr( 158456325028528675187087900672_) <> 158456325028528675187076641297_ or 16202 -11259375_ mod bigintExpr( 1267650600228229401496703205376_) <> 1267650600228229401496691946001_ or 16203 -11259375_ mod bigintExpr( -2147483648_) <> -11259375_ or 16204 -11259375_ mod bigintExpr( -4294967296_) <> -11259375_ or 16205 -11259375_ mod bigintExpr( -8589934592_) <> -11259375_ or 16206 -11259375_ mod bigintExpr( -1099511627776_) <> -11259375_ or 16207 -11259375_ mod bigintExpr( -1125899906842624_) <> -11259375_ or 16208 -11259375_ mod bigintExpr( -9223372036854775808_) <> -11259375_ or 16209 -11259375_ mod bigintExpr( -18446744073709551616_) <> -11259375_ or 16210 -11259375_ mod bigintExpr( -36893488147419103232_) <> -11259375_ or 16211 -11259375_ mod bigintExpr( -1180591620717411303424_) <> -11259375_ or 16212 -11259375_ mod bigintExpr( -1208925819614629174706176_) <> -11259375_ or 16213 -11259375_ mod bigintExpr( -39614081257132168796771975168_) <> -11259375_ or 16214 -11259375_ mod bigintExpr( -79228162514264337593543950336_) <> -11259375_ or 16215 -11259375_ mod bigintExpr( -158456325028528675187087900672_) <> -11259375_ or 16216 -11259375_ mod bigintExpr(-1267650600228229401496703205376_) <> -11259375_ or 16217 16218 bigintExpr( 11259375_) mod 2147483648_ <> 11259375_ or 16219 bigintExpr( 11259375_) mod 4294967296_ <> 11259375_ or 16220 bigintExpr( 11259375_) mod 8589934592_ <> 11259375_ or 16221 bigintExpr( 11259375_) mod 1099511627776_ <> 11259375_ or 16222 bigintExpr( 11259375_) mod 1125899906842624_ <> 11259375_ or 16223 bigintExpr( 11259375_) mod 9223372036854775808_ <> 11259375_ or 16224 bigintExpr( 11259375_) mod 18446744073709551616_ <> 11259375_ or 16225 bigintExpr( 11259375_) mod 36893488147419103232_ <> 11259375_ or 16226 bigintExpr( 11259375_) mod 1180591620717411303424_ <> 11259375_ or 16227 bigintExpr( 11259375_) mod 1208925819614629174706176_ <> 11259375_ or 16228 bigintExpr( 11259375_) mod 39614081257132168796771975168_ <> 11259375_ or 16229 bigintExpr( 11259375_) mod 79228162514264337593543950336_ <> 11259375_ or 16230 bigintExpr( 11259375_) mod 158456325028528675187087900672_ <> 11259375_ or 16231 bigintExpr( 11259375_) mod 1267650600228229401496703205376_ <> 11259375_ or 16232 bigintExpr( 11259375_) mod -2147483648_ <> -2136224273_ or 16233 bigintExpr( 11259375_) mod -4294967296_ <> -4283707921_ or 16234 bigintExpr( 11259375_) mod -8589934592_ <> -8578675217_ or 16235 bigintExpr( 11259375_) mod -1099511627776_ <> -1099500368401_ or 16236 bigintExpr( 11259375_) mod -1125899906842624_ <> -1125899895583249_ or 16237 bigintExpr( 11259375_) mod -9223372036854775808_ <> -9223372036843516433_ or 16238 bigintExpr( 11259375_) mod -18446744073709551616_ <> -18446744073698292241_ or 16239 bigintExpr( 11259375_) mod -36893488147419103232_ <> -36893488147407843857_ or 16240 bigintExpr( 11259375_) mod -1180591620717411303424_ <> -1180591620717400044049_ or 16241 bigintExpr( 11259375_) mod -1208925819614629174706176_ <> -1208925819614629163446801_ or 16242 bigintExpr( 11259375_) mod -39614081257132168796771975168_ <> -39614081257132168796760715793_ or 16243 bigintExpr( 11259375_) mod -79228162514264337593543950336_ <> -79228162514264337593532690961_ or 16244 bigintExpr( 11259375_) mod -158456325028528675187087900672_ <> -158456325028528675187076641297_ or 16245 bigintExpr( 11259375_) mod -1267650600228229401496703205376_ <> -1267650600228229401496691946001_ or 16246 bigintExpr(-11259375_) mod 2147483648_ <> 2136224273_ or 16247 bigintExpr(-11259375_) mod 4294967296_ <> 4283707921_ or 16248 bigintExpr(-11259375_) mod 8589934592_ <> 8578675217_ or 16249 bigintExpr(-11259375_) mod 1099511627776_ <> 1099500368401_ or 16250 bigintExpr(-11259375_) mod 1125899906842624_ <> 1125899895583249_ or 16251 bigintExpr(-11259375_) mod 9223372036854775808_ <> 9223372036843516433_ or 16252 bigintExpr(-11259375_) mod 18446744073709551616_ <> 18446744073698292241_ or 16253 bigintExpr(-11259375_) mod 36893488147419103232_ <> 36893488147407843857_ or 16254 bigintExpr(-11259375_) mod 1180591620717411303424_ <> 1180591620717400044049_ or 16255 bigintExpr(-11259375_) mod 1208925819614629174706176_ <> 1208925819614629163446801_ or 16256 bigintExpr(-11259375_) mod 39614081257132168796771975168_ <> 39614081257132168796760715793_ or 16257 bigintExpr(-11259375_) mod 79228162514264337593543950336_ <> 79228162514264337593532690961_ or 16258 bigintExpr(-11259375_) mod 158456325028528675187087900672_ <> 158456325028528675187076641297_ or 16259 bigintExpr(-11259375_) mod 1267650600228229401496703205376_ <> 1267650600228229401496691946001_ or 16260 bigintExpr(-11259375_) mod -2147483648_ <> -11259375_ or 16261 bigintExpr(-11259375_) mod -4294967296_ <> -11259375_ or 16262 bigintExpr(-11259375_) mod -8589934592_ <> -11259375_ or 16263 bigintExpr(-11259375_) mod -1099511627776_ <> -11259375_ or 16264 bigintExpr(-11259375_) mod -1125899906842624_ <> -11259375_ or 16265 bigintExpr(-11259375_) mod -9223372036854775808_ <> -11259375_ or 16266 bigintExpr(-11259375_) mod -18446744073709551616_ <> -11259375_ or 16267 bigintExpr(-11259375_) mod -36893488147419103232_ <> -11259375_ or 16268 bigintExpr(-11259375_) mod -1180591620717411303424_ <> -11259375_ or 16269 bigintExpr(-11259375_) mod -1208925819614629174706176_ <> -11259375_ or 16270 bigintExpr(-11259375_) mod -39614081257132168796771975168_ <> -11259375_ or 16271 bigintExpr(-11259375_) mod -79228162514264337593543950336_ <> -11259375_ or 16272 bigintExpr(-11259375_) mod -158456325028528675187087900672_ <> -11259375_ or 16273 bigintExpr(-11259375_) mod -1267650600228229401496703205376_ <> -11259375_ or 16274 16275 bigintExpr( 11259375_) mod bigintExpr( 2147483648_) <> 11259375_ or 16276 bigintExpr( 11259375_) mod bigintExpr( 4294967296_) <> 11259375_ or 16277 bigintExpr( 11259375_) mod bigintExpr( 8589934592_) <> 11259375_ or 16278 bigintExpr( 11259375_) mod bigintExpr( 1099511627776_) <> 11259375_ or 16279 bigintExpr( 11259375_) mod bigintExpr( 1125899906842624_) <> 11259375_ or 16280 bigintExpr( 11259375_) mod bigintExpr( 9223372036854775808_) <> 11259375_ or 16281 bigintExpr( 11259375_) mod bigintExpr( 18446744073709551616_) <> 11259375_ or 16282 bigintExpr( 11259375_) mod bigintExpr( 36893488147419103232_) <> 11259375_ or 16283 bigintExpr( 11259375_) mod bigintExpr( 1180591620717411303424_) <> 11259375_ or 16284 bigintExpr( 11259375_) mod bigintExpr( 1208925819614629174706176_) <> 11259375_ or 16285 bigintExpr( 11259375_) mod bigintExpr( 39614081257132168796771975168_) <> 11259375_ or 16286 bigintExpr( 11259375_) mod bigintExpr( 79228162514264337593543950336_) <> 11259375_ or 16287 bigintExpr( 11259375_) mod bigintExpr( 158456325028528675187087900672_) <> 11259375_ or 16288 bigintExpr( 11259375_) mod bigintExpr( 1267650600228229401496703205376_) <> 11259375_ or 16289 bigintExpr( 11259375_) mod bigintExpr( -2147483648_) <> -2136224273_ or 16290 bigintExpr( 11259375_) mod bigintExpr( -4294967296_) <> -4283707921_ or 16291 bigintExpr( 11259375_) mod bigintExpr( -8589934592_) <> -8578675217_ or 16292 bigintExpr( 11259375_) mod bigintExpr( -1099511627776_) <> -1099500368401_ or 16293 bigintExpr( 11259375_) mod bigintExpr( -1125899906842624_) <> -1125899895583249_ or 16294 bigintExpr( 11259375_) mod bigintExpr( -9223372036854775808_) <> -9223372036843516433_ or 16295 bigintExpr( 11259375_) mod bigintExpr( -18446744073709551616_) <> -18446744073698292241_ or 16296 bigintExpr( 11259375_) mod bigintExpr( -36893488147419103232_) <> -36893488147407843857_ or 16297 bigintExpr( 11259375_) mod bigintExpr( -1180591620717411303424_) <> -1180591620717400044049_ or 16298 bigintExpr( 11259375_) mod bigintExpr( -1208925819614629174706176_) <> -1208925819614629163446801_ or 16299 bigintExpr( 11259375_) mod bigintExpr( -39614081257132168796771975168_) <> -39614081257132168796760715793_ or 16300 bigintExpr( 11259375_) mod bigintExpr( -79228162514264337593543950336_) <> -79228162514264337593532690961_ or 16301 bigintExpr( 11259375_) mod bigintExpr( -158456325028528675187087900672_) <> -158456325028528675187076641297_ or 16302 bigintExpr( 11259375_) mod bigintExpr(-1267650600228229401496703205376_) <> -1267650600228229401496691946001_ or 16303 bigintExpr(-11259375_) mod bigintExpr( 2147483648_) <> 2136224273_ or 16304 bigintExpr(-11259375_) mod bigintExpr( 4294967296_) <> 4283707921_ or 16305 bigintExpr(-11259375_) mod bigintExpr( 8589934592_) <> 8578675217_ or 16306 bigintExpr(-11259375_) mod bigintExpr( 1099511627776_) <> 1099500368401_ or 16307 bigintExpr(-11259375_) mod bigintExpr( 1125899906842624_) <> 1125899895583249_ or 16308 bigintExpr(-11259375_) mod bigintExpr( 9223372036854775808_) <> 9223372036843516433_ or 16309 bigintExpr(-11259375_) mod bigintExpr( 18446744073709551616_) <> 18446744073698292241_ or 16310 bigintExpr(-11259375_) mod bigintExpr( 36893488147419103232_) <> 36893488147407843857_ or 16311 bigintExpr(-11259375_) mod bigintExpr( 1180591620717411303424_) <> 1180591620717400044049_ or 16312 bigintExpr(-11259375_) mod bigintExpr( 1208925819614629174706176_) <> 1208925819614629163446801_ or 16313 bigintExpr(-11259375_) mod bigintExpr( 39614081257132168796771975168_) <> 39614081257132168796760715793_ or 16314 bigintExpr(-11259375_) mod bigintExpr( 79228162514264337593543950336_) <> 79228162514264337593532690961_ or 16315 bigintExpr(-11259375_) mod bigintExpr( 158456325028528675187087900672_) <> 158456325028528675187076641297_ or 16316 bigintExpr(-11259375_) mod bigintExpr( 1267650600228229401496703205376_) <> 1267650600228229401496691946001_ or 16317 bigintExpr(-11259375_) mod bigintExpr( -2147483648_) <> -11259375_ or 16318 bigintExpr(-11259375_) mod bigintExpr( -4294967296_) <> -11259375_ or 16319 bigintExpr(-11259375_) mod bigintExpr( -8589934592_) <> -11259375_ or 16320 bigintExpr(-11259375_) mod bigintExpr( -1099511627776_) <> -11259375_ or 16321 bigintExpr(-11259375_) mod bigintExpr( -1125899906842624_) <> -11259375_ or 16322 bigintExpr(-11259375_) mod bigintExpr( -9223372036854775808_) <> -11259375_ or 16323 bigintExpr(-11259375_) mod bigintExpr( -18446744073709551616_) <> -11259375_ or 16324 bigintExpr(-11259375_) mod bigintExpr( -36893488147419103232_) <> -11259375_ or 16325 bigintExpr(-11259375_) mod bigintExpr( -1180591620717411303424_) <> -11259375_ or 16326 bigintExpr(-11259375_) mod bigintExpr( -1208925819614629174706176_) <> -11259375_ or 16327 bigintExpr(-11259375_) mod bigintExpr( -39614081257132168796771975168_) <> -11259375_ or 16328 bigintExpr(-11259375_) mod bigintExpr( -79228162514264337593543950336_) <> -11259375_ or 16329 bigintExpr(-11259375_) mod bigintExpr( -158456325028528675187087900672_) <> -11259375_ or 16330 bigintExpr(-11259375_) mod bigintExpr(-1267650600228229401496703205376_) <> -11259375_ then 16331 writeln("Modulo of bigInteger division by power of two does not work correct."); 16332 okay := FALSE; 16333 end if; 16334 16335 if not raisesNumericError( -9223372036854775808_ mod 0_ ) or 16336 not raisesNumericError( -9223372036854775807_ mod 0_ ) or 16337 not raisesNumericError( -4294967296_ mod 0_ ) or 16338 not raisesNumericError( -4294967295_ mod 0_ ) or 16339 not raisesNumericError( -2147483648_ mod 0_ ) or 16340 not raisesNumericError( -2147483647_ mod 0_ ) or 16341 not raisesNumericError( 0_ mod 0_ ) or 16342 not raisesNumericError( 2147483647_ mod 0_ ) or 16343 not raisesNumericError( 2147483648_ mod 0_ ) or 16344 not raisesNumericError( 4294967295_ mod 0_ ) or 16345 not raisesNumericError( 4294967296_ mod 0_ ) or 16346 not raisesNumericError( 9223372036854775807_ mod 0_ ) or 16347 not raisesNumericError( 9223372036854775808_ mod 0_ ) or 16348 not raisesNumericError(bigintExpr(-9223372036854775808_) mod 0_ ) or 16349 not raisesNumericError(bigintExpr(-9223372036854775807_) mod 0_ ) or 16350 not raisesNumericError(bigintExpr( -4294967296_) mod 0_ ) or 16351 not raisesNumericError(bigintExpr( -4294967295_) mod 0_ ) or 16352 not raisesNumericError(bigintExpr( -2147483648_) mod 0_ ) or 16353 not raisesNumericError(bigintExpr( -2147483647_) mod 0_ ) or 16354 not raisesNumericError(bigintExpr( 0_) mod 0_ ) or 16355 not raisesNumericError(bigintExpr( 2147483647_) mod 0_ ) or 16356 not raisesNumericError(bigintExpr( 2147483648_) mod 0_ ) or 16357 not raisesNumericError(bigintExpr( 4294967295_) mod 0_ ) or 16358 not raisesNumericError(bigintExpr( 4294967296_) mod 0_ ) or 16359 not raisesNumericError(bigintExpr( 9223372036854775807_) mod 0_ ) or 16360 not raisesNumericError(bigintExpr( 9223372036854775808_) mod 0_ ) or 16361 not raisesNumericError( -9223372036854775808_ mod bigintExpr(0_)) or 16362 not raisesNumericError( -9223372036854775807_ mod bigintExpr(0_)) or 16363 not raisesNumericError( -4294967296_ mod bigintExpr(0_)) or 16364 not raisesNumericError( -4294967295_ mod bigintExpr(0_)) or 16365 not raisesNumericError( -2147483648_ mod bigintExpr(0_)) or 16366 not raisesNumericError( -2147483647_ mod bigintExpr(0_)) or 16367 not raisesNumericError( 0_ mod bigintExpr(0_)) or 16368 not raisesNumericError( 2147483647_ mod bigintExpr(0_)) or 16369 not raisesNumericError( 2147483648_ mod bigintExpr(0_)) or 16370 not raisesNumericError( 4294967295_ mod bigintExpr(0_)) or 16371 not raisesNumericError( 4294967296_ mod bigintExpr(0_)) or 16372 not raisesNumericError( 9223372036854775807_ mod bigintExpr(0_)) or 16373 not raisesNumericError( 9223372036854775808_ mod bigintExpr(0_)) or 16374 not raisesNumericError(bigintExpr(-9223372036854775808_) mod bigintExpr(0_)) or 16375 not raisesNumericError(bigintExpr(-9223372036854775807_) mod bigintExpr(0_)) or 16376 not raisesNumericError(bigintExpr( -4294967296_) mod bigintExpr(0_)) or 16377 not raisesNumericError(bigintExpr( -4294967295_) mod bigintExpr(0_)) or 16378 not raisesNumericError(bigintExpr( -2147483648_) mod bigintExpr(0_)) or 16379 not raisesNumericError(bigintExpr( -2147483647_) mod bigintExpr(0_)) or 16380 not raisesNumericError(bigintExpr( 0_) mod bigintExpr(0_)) or 16381 not raisesNumericError(bigintExpr( 2147483647_) mod bigintExpr(0_)) or 16382 not raisesNumericError(bigintExpr( 2147483648_) mod bigintExpr(0_)) or 16383 not raisesNumericError(bigintExpr( 4294967295_) mod bigintExpr(0_)) or 16384 not raisesNumericError(bigintExpr( 4294967296_) mod bigintExpr(0_)) or 16385 not raisesNumericError(bigintExpr( 9223372036854775807_) mod bigintExpr(0_)) or 16386 not raisesNumericError(bigintExpr( 9223372036854775808_) mod bigintExpr(0_)) then 16387 writeln(" ***** Modulo of bigInteger division by zero does not raise NUMERIC_ERROR."); 16388 okay := FALSE; 16389 end if; 16390 16391 if okay then 16392 writeln("Modulo of bigInteger division works correct."); 16393 else 16394 writeln(" ***** Modulo of bigInteger division does not work correct."); 16395 writeln; 16396 end if; 16397 end func; 16398 16399 16400const proc: chkPower is func 16401 local 16402 var boolean: okay is TRUE; 16403 begin 16404 if 0_ ** 0 <> 1_ or 16405 0_ ** 1 <> 0_ or 16406 0_ ** 2 <> 0_ or 16407 0_ ** 15 <> 0_ or 16408 0_ ** 64 <> 0_ or 16409 0_ ** 99 <> 0_ or 16410 0_ ** 999 <> 0_ or 16411 0_ ** 999999999 <> 0_ or 16412 0_ ** 2147483647 <> 0_ or 16413 0_ ** integer.last <> 0_ or 16414 16415 1_ ** 0 <> 1_ or 16416 1_ ** 1 <> 1_ or 16417 1_ ** 2 <> 1_ or 16418 1_ ** 15 <> 1_ or 16419 1_ ** 64 <> 1_ or 16420 1_ ** 99 <> 1_ or 16421 1_ ** 999 <> 1_ or 16422 1_ ** 999999999 <> 1_ or 16423 1_ ** 2147483647 <> 1_ or 16424 1_ ** integer.last <> 1_ or 16425 16426 2_ ** 0 <> 1_ or 16427 2_ ** 1 <> 2_ or 16428 2_ ** 2 <> 4_ or 16429 2_ ** 3 <> 8_ or 16430 2_ ** 4 <> 16_ or 16431 2_ ** 5 <> 32_ or 16432 2_ ** 6 <> 64_ or 16433 2_ ** 7 <> 128_ or 16434 2_ ** 8 <> 256_ or 16435 2_ ** 10 <> 1024_ or 16436 2_ ** 14 <> 16384_ or 16437 2_ ** 15 <> 32768_ or 16438 2_ ** 16 <> 65536_ or 16439 2_ ** 25 <> 33554432_ or 16440 2_ ** 30 <> 1073741824_ or 16441 2_ ** 31 <> 2147483648_ or 16442 2_ ** 32 <> 4294967296_ or 16443 2_ ** 50 <> 1125899906842624_ or 16444 2_ ** 62 <> 4611686018427387904_ or 16445 2_ ** 63 <> 9223372036854775808_ or 16446 2_ ** 64 <> 18446744073709551616_ or 16447 2_ ** 75 <> 37778931862957161709568_ or 16448 2_ ** 99 <> 633825300114114700748351602688_ or 16449 2_ ** 100 <> 1267650600228229401496703205376_ or 16450 2_ ** 126 <> 85070591730234615865843651857942052864_ or 16451 2_ ** 127 <> 170141183460469231731687303715884105728_ or 16452 2_ ** 128 <> 340282366920938463463374607431768211456_ or 16453 2_ ** 150 <> 1427247692705959881058285969449495136382746624_ or 16454 2_ ** 152 <> 5708990770823839524233143877797980545530986496_ or 16455 16456 4_ ** 0 <> 1_ or 16457 4_ ** 1 <> 4_ or 16458 4_ ** 2 <> 16_ or 16459 4_ ** 3 <> 64_ or 16460 4_ ** 4 <> 256_ or 16461 4_ ** 10 <> 1048576_ or 16462 4_ ** 14 <> 268435456_ or 16463 4_ ** 15 <> 1073741824_ or 16464 4_ ** 16 <> 4294967296_ or 16465 4_ ** 25 <> 1125899906842624_ or 16466 4_ ** 30 <> 1152921504606846976_ or 16467 4_ ** 31 <> 4611686018427387904_ or 16468 4_ ** 32 <> 18446744073709551616_ or 16469 4_ ** 50 <> 1267650600228229401496703205376_ or 16470 4_ ** 62 <> 21267647932558653966460912964485513216_ or 16471 4_ ** 63 <> 85070591730234615865843651857942052864_ or 16472 4_ ** 64 <> 340282366920938463463374607431768211456_ or 16473 4_ ** 75 <> 1427247692705959881058285969449495136382746624_ or 16474 4_ ** 76 <> 5708990770823839524233143877797980545530986496_ or 16475 16476 8_ ** 0 <> 1_ or 16477 8_ ** 1 <> 8_ or 16478 8_ ** 2 <> 64_ or 16479 8_ ** 3 <> 512_ or 16480 8_ ** 4 <> 4096_ or 16481 8_ ** 16 <> 281474976710656_ or 16482 8_ ** 31 <> 9903520314283042199192993792_ or 16483 8_ ** 32 <> 79228162514264337593543950336_ or 16484 8_ ** 50 <> 1427247692705959881058285969449495136382746624_ or 16485 16486 10_ ** 0 <> 1_ or 16487 10_ ** 1 <> 10_ or 16488 10_ ** 2 <> 100_ or 16489 10_ ** 3 <> 1000_ or 16490 10_ ** 4 <> 10000_ or 16491 10_ ** 5 <> 100000_ or 16492 10_ ** 10 <> 10000000000_ or 16493 10_ ** 20 <> 100000000000000000000_ or 16494 10_ ** 30 <> 1000000000000000000000000000000_ or 16495 10_ ** 35 <> 100000000000000000000000000000000000_ or 16496 10_ ** 40 <> 10000000000000000000000000000000000000000_ or 16497 10_ ** 45 <> 1000000000000000000000000000000000000000000000_ or 16498 16499 16_ ** 0 <> 1_ or 16500 16_ ** 1 <> 16_ or 16501 16_ ** 2 <> 256_ or 16502 16_ ** 3 <> 4096_ or 16503 16_ ** 4 <> 65536_ or 16504 16_ ** 8 <> 4294967296_ or 16505 16_ ** 16 <> 18446744073709551616_ or 16506 16_ ** 25 <> 1267650600228229401496703205376_ or 16507 16_ ** 32 <> 340282366920938463463374607431768211456_ or 16508 16_ ** 38 <> 5708990770823839524233143877797980545530986496_ or 16509 16510 97_ ** 0 <> 1_ or 16511 97_ ** 1 <> 97_ or 16512 97_ ** 2 <> 9409_ or 16513 97_ ** 3 <> 912673_ or 16514 97_ ** 4 <> 88529281_ or 16515 97_ ** 8 <> 7837433594376961_ or 16516 97_ ** 10 <> 73742412689492826049_ or 16517 97_ ** 15 <> 633251189136789386043275954593_ or 16518 97_ ** 16 <> 61425365346268570446197767595521_ or 16519 97_ ** 20 <> 5437943429267472574499737549036572950401_ or 16520 97_ ** 23 <> 4963064143419831996986398968091856144361331873_ or 16521 16522 255_ ** 0 <> 1_ or 16523 255_ ** 1 <> 255_ or 16524 255_ ** 2 <> 65025_ or 16525 255_ ** 3 <> 16581375_ or 16526 255_ ** 4 <> 4228250625_ or 16527 255_ ** 5 <> 1078203909375_ or 16528 255_ ** 6 <> 274941996890625_ or 16529 255_ ** 7 <> 70110209207109375_ or 16530 255_ ** 8 <> 17878103347812890625_ or 16531 255_ ** 9 <> 4558916353692287109375_ or 16532 255_ ** 10 <> 1162523670191533212890625_ or 16533 255_ ** 11 <> 296443535898840969287109375_ or 16534 255_ ** 12 <> 75593101654204447168212890625_ or 16535 255_ ** 13 <> 19276240921822134027894287109375_ or 16536 255_ ** 14 <> 4915441435064644177113043212890625_ or 16537 255_ ** 15 <> 1253437565941484265163826019287109375_ or 16538 255_ ** 16 <> 319626579315078487616775634918212890625_ or 16539 255_ ** 17 <> 81504777725345014342277786904144287109375_ or 16540 255_ ** 18 <> 20783718319962978657280835660556793212890625_ or 16541 16542 256_ ** 0 <> 1_ or 16543 256_ ** 1 <> 256_ or 16544 256_ ** 2 <> 65536_ or 16545 256_ ** 3 <> 16777216_ or 16546 256_ ** 4 <> 4294967296_ or 16547 256_ ** 5 <> 1099511627776_ or 16548 256_ ** 6 <> 281474976710656_ or 16549 256_ ** 7 <> 72057594037927936_ or 16550 256_ ** 8 <> 18446744073709551616_ or 16551 256_ ** 9 <> 4722366482869645213696_ or 16552 256_ ** 10 <> 1208925819614629174706176_ or 16553 256_ ** 11 <> 309485009821345068724781056_ or 16554 256_ ** 12 <> 79228162514264337593543950336_ or 16555 256_ ** 13 <> 20282409603651670423947251286016_ or 16556 256_ ** 14 <> 5192296858534827628530496329220096_ or 16557 256_ ** 15 <> 1329227995784915872903807060280344576_ or 16558 256_ ** 16 <> 340282366920938463463374607431768211456_ or 16559 256_ ** 17 <> 87112285931760246646623899502532662132736_ or 16560 256_ ** 18 <> 22300745198530623141535718272648361505980416_ or 16561 16562 32767_ ** 0 <> 1_ or 16563 32767_ ** 1 <> 32767_ or 16564 32767_ ** 2 <> 1073676289_ or 16565 32767_ ** 3 <> 35181150961663_ or 16566 32767_ ** 4 <> 1152780773560811521_ or 16567 32767_ ** 5 <> 37773167607267111108607_ or 16568 32767_ ** 6 <> 1237713382987321429695725569_ or 16569 32767_ ** 7 <> 40556154420345561286839839719423_ or 16570 32767_ ** 8 <> 1328903511891463006685881028086333441_ or 16571 32767_ ** 9 <> 43544181374147568340076263647304887861247_ or 16572 32767_ ** 10 <> 1426812191086693371799278930931239260549480449_ or 16573 16574 32768_ ** 0 <> 1_ or 16575 32768_ ** 1 <> 32768_ or 16576 32768_ ** 2 <> 1073741824_ or 16577 32768_ ** 3 <> 35184372088832_ or 16578 32768_ ** 4 <> 1152921504606846976_ or 16579 32768_ ** 5 <> 37778931862957161709568_ or 16580 32768_ ** 6 <> 1237940039285380274899124224_ or 16581 32768_ ** 7 <> 40564819207303340847894502572032_ or 16582 32768_ ** 8 <> 1329227995784915872903807060280344576_ or 16583 32768_ ** 9 <> 43556142965880123323311949751266331066368_ or 16584 32768_ ** 10 <> 1427247692705959881058285969449495136382746624_ or 16585 16586 65535_ ** 0 <> 1_ or 16587 65535_ ** 1 <> 65535_ or 16588 65535_ ** 2 <> 4294836225_ or 16589 65535_ ** 3 <> 281462092005375_ or 16590 65535_ ** 4 <> 18445618199572250625_ or 16591 65535_ ** 5 <> 1208833588708967444709375_ or 16592 65535_ ** 6 <> 79220909236042181489028890625_ or 16593 65535_ ** 7 <> 5191742286784024363883508347109375_ or 16594 65535_ ** 8 <> 340240830764391036687105719527812890625_ or 16595 65535_ ** 9 <> 22297682844144366589289473329255217787109375_ or 16596 16597 4294967295_ ** 0 <> 1_ or 16598 4294967295_ ** 1 <> 4294967295_ or 16599 4294967295_ ** 2 <> 18446744065119617025_ or 16600 4294967295_ ** 3 <> 79228162458924105385300197375_ or 16601 4294967295_ ** 4 <> 340282366604025813516997721482669850625_ or 16602 4294967295_ ** 5 <> 1461501635629491084391274140357585917716910309375_ or 16603 4294967295_ ** 6 <> 6277101726617670944954607416215071121746690847213956890625_ or 16604 4294967295_ ** 7 <> 26959946623210927677651784112208183154001000463259786712774267109375_ or 16605 4294967295_ ** 8 <> 115792089021636622262124715160334756877804245386980633020041035952359812890625_ or 16606 16607 281474976710655_ ** 0 <> 1_ or 16608 281474976710655_ ** 1 <> 281474976710655_ or 16609 281474976710655_ ** 2 <> 79228162514263774643590529025_ or 16610 281474976710655_ ** 3 <> 22300745198530385457048175480480005804261375_ or 16611 281474976710655_ ** 4 <> 6277101735386591560854995301190469248314849750679367450625_ or 16612 281474976710655_ ** 5 <> 1766847064778352944074620567562106788865673297677270486428898935623909375_ or 16613 16614 18446744073709551615_ ** 0 <> 1_ or 16615 18446744073709551615_ ** 1 <> 18446744073709551615_ or 16616 18446744073709551615_ ** 2 <> 340282366920938463426481119284349108225_ or 16617 18446744073709551615_ ** 3 <> 6277101735386680762814942322444851025767571854389858533375_ or 16618 16619 (-1_) ** 0 <> 1_ or 16620 (-1_) ** 1 <> -1_ or 16621 (-1_) ** 2 <> 1_ or 16622 (-1_) ** 3 <> -1_ or 16623 (-1_) ** 4 <> 1_ or 16624 (-1_) ** 15 <> -1_ or 16625 (-1_) ** 16 <> 1_ or 16626 (-1_) ** 63 <> -1_ or 16627 (-1_) ** 64 <> 1_ or 16628 (-1_) ** 99 <> -1_ or 16629 (-1_) ** 100 <> 1_ or 16630 16631 (-2_) ** 0 <> 1_ or 16632 (-2_) ** 1 <> -2_ or 16633 (-2_) ** 2 <> 4_ or 16634 (-2_) ** 3 <> -8_ or 16635 (-2_) ** 4 <> 16_ or 16636 (-2_) ** 5 <> -32_ or 16637 (-2_) ** 6 <> 64_ or 16638 (-2_) ** 10 <> 1024_ or 16639 (-2_) ** 25 <> -33554432_ or 16640 (-2_) ** 32 <> 4294967296_ or 16641 (-2_) ** 50 <> 1125899906842624_ or 16642 (-2_) ** 63 <> -9223372036854775808_ or 16643 (-2_) ** 64 <> 18446744073709551616_ or 16644 (-2_) ** 75 <> -37778931862957161709568_ or 16645 (-2_) ** 99 <> -633825300114114700748351602688_ or 16646 (-2_) ** 100 <> 1267650600228229401496703205376_ or 16647 (-2_) ** 127 <> -170141183460469231731687303715884105728_ or 16648 (-2_) ** 128 <> 340282366920938463463374607431768211456_ or 16649 (-2_) ** 150 <> 1427247692705959881058285969449495136382746624_ or 16650 (-2_) ** 152 <> 5708990770823839524233143877797980545530986496_ or 16651 16652 (-4_) ** 0 <> 1_ or 16653 (-4_) ** 1 <> -4_ or 16654 (-4_) ** 2 <> 16_ or 16655 (-4_) ** 3 <> -64_ or 16656 (-4_) ** 4 <> 256_ or 16657 (-4_) ** 10 <> 1048576_ or 16658 (-4_) ** 25 <> -1125899906842624_ or 16659 (-4_) ** 31 <> -4611686018427387904_ or 16660 (-4_) ** 32 <> 18446744073709551616_ or 16661 (-4_) ** 50 <> 1267650600228229401496703205376_ or 16662 (-4_) ** 63 <> -85070591730234615865843651857942052864_ or 16663 (-4_) ** 64 <> 340282366920938463463374607431768211456_ or 16664 (-4_) ** 75 <> -1427247692705959881058285969449495136382746624_ or 16665 (-4_) ** 76 <> 5708990770823839524233143877797980545530986496_ or 16666 16667 (-10_) ** 0 <> 1_ or 16668 (-10_) ** 1 <> -10_ or 16669 (-10_) ** 2 <> 100_ or 16670 (-10_) ** 3 <> -1000_ or 16671 (-10_) ** 4 <> 10000_ or 16672 (-10_) ** 5 <> -100000_ or 16673 (-10_) ** 10 <> 10000000000_ or 16674 (-10_) ** 20 <> 100000000000000000000_ or 16675 (-10_) ** 30 <> 1000000000000000000000000000000_ or 16676 (-10_) ** 35 <> -100000000000000000000000000000000000_ or 16677 (-10_) ** 40 <> 10000000000000000000000000000000000000000_ or 16678 (-10_) ** 45 <> -1000000000000000000000000000000000000000000000_ or 16679 16680 (-65535_) ** 0 <> 1_ or 16681 (-65535_) ** 1 <> -65535_ or 16682 (-65535_) ** 2 <> 4294836225_ or 16683 (-65535_) ** 3 <> -281462092005375_ or 16684 (-65535_) ** 4 <> 18445618199572250625_ or 16685 (-65535_) ** 5 <> -1208833588708967444709375_ or 16686 (-65535_) ** 6 <> 79220909236042181489028890625_ or 16687 (-65535_) ** 7 <> -5191742286784024363883508347109375_ or 16688 (-65535_) ** 8 <> 340240830764391036687105719527812890625_ or 16689 16690 (-18446744073709551615_) ** 0 <> 1_ or 16691 (-18446744073709551615_) ** 1 <> -18446744073709551615_ or 16692 (-18446744073709551615_) ** 2 <> 340282366920938463426481119284349108225_ or 16693 (-18446744073709551615_) ** 3 <> -6277101735386680762814942322444851025767571854389858533375_ then 16694 writeln("Power of bigInteger does not work correct."); 16695 okay := FALSE; 16696 end if; 16697 16698 if bigintExpr( 0_) ** 0 <> 1_ or 16699 bigintExpr( 0_) ** 1 <> 0_ or 16700 bigintExpr( 0_) ** 2 <> 0_ or 16701 bigintExpr( 0_) ** 15 <> 0_ or 16702 bigintExpr( 0_) ** 64 <> 0_ or 16703 bigintExpr( 0_) ** 99 <> 0_ or 16704 bigintExpr( 0_) ** 999 <> 0_ or 16705 bigintExpr( 0_) ** 999999999 <> 0_ or 16706 bigintExpr( 0_) ** 2147483647 <> 0_ or 16707 bigintExpr( 0_) ** integer.last <> 0_ or 16708 16709 bigintExpr( 1_) ** 0 <> 1_ or 16710 bigintExpr( 1_) ** 1 <> 1_ or 16711 bigintExpr( 1_) ** 2 <> 1_ or 16712 bigintExpr( 1_) ** 15 <> 1_ or 16713 bigintExpr( 1_) ** 64 <> 1_ or 16714 bigintExpr( 1_) ** 99 <> 1_ or 16715 bigintExpr( 1_) ** 999 <> 1_ or 16716 bigintExpr( 1_) ** 999999999 <> 1_ or 16717 bigintExpr( 1_) ** 2147483647 <> 1_ or 16718 bigintExpr( 1_) ** integer.last <> 1_ or 16719 16720 bigintExpr( 2_) ** 0 <> 1_ or 16721 bigintExpr( 2_) ** 1 <> 2_ or 16722 bigintExpr( 2_) ** 2 <> 4_ or 16723 bigintExpr( 2_) ** 3 <> 8_ or 16724 bigintExpr( 2_) ** 4 <> 16_ or 16725 bigintExpr( 2_) ** 5 <> 32_ or 16726 bigintExpr( 2_) ** 6 <> 64_ or 16727 bigintExpr( 2_) ** 10 <> 1024_ or 16728 bigintExpr( 2_) ** 25 <> 33554432_ or 16729 bigintExpr( 2_) ** 32 <> 4294967296_ or 16730 bigintExpr( 2_) ** 50 <> 1125899906842624_ or 16731 bigintExpr( 2_) ** 63 <> 9223372036854775808_ or 16732 bigintExpr( 2_) ** 64 <> 18446744073709551616_ or 16733 bigintExpr( 2_) ** 75 <> 37778931862957161709568_ or 16734 bigintExpr( 2_) ** 99 <> 633825300114114700748351602688_ or 16735 bigintExpr( 2_) ** 100 <> 1267650600228229401496703205376_ or 16736 bigintExpr( 2_) ** 127 <> 170141183460469231731687303715884105728_ or 16737 bigintExpr( 2_) ** 128 <> 340282366920938463463374607431768211456_ or 16738 bigintExpr( 2_) ** 150 <> 1427247692705959881058285969449495136382746624_ or 16739 bigintExpr( 2_) ** 152 <> 5708990770823839524233143877797980545530986496_ or 16740 16741 bigintExpr( 4_) ** 0 <> 1_ or 16742 bigintExpr( 4_) ** 1 <> 4_ or 16743 bigintExpr( 4_) ** 2 <> 16_ or 16744 bigintExpr( 4_) ** 3 <> 64_ or 16745 bigintExpr( 4_) ** 4 <> 256_ or 16746 bigintExpr( 4_) ** 10 <> 1048576_ or 16747 bigintExpr( 4_) ** 25 <> 1125899906842624_ or 16748 bigintExpr( 4_) ** 31 <> 4611686018427387904_ or 16749 bigintExpr( 4_) ** 32 <> 18446744073709551616_ or 16750 bigintExpr( 4_) ** 50 <> 1267650600228229401496703205376_ or 16751 bigintExpr( 4_) ** 63 <> 85070591730234615865843651857942052864_ or 16752 bigintExpr( 4_) ** 64 <> 340282366920938463463374607431768211456_ or 16753 bigintExpr( 4_) ** 75 <> 1427247692705959881058285969449495136382746624_ or 16754 bigintExpr( 4_) ** 76 <> 5708990770823839524233143877797980545530986496_ or 16755 16756 bigintExpr( 8_) ** 0 <> 1_ or 16757 bigintExpr( 8_) ** 1 <> 8_ or 16758 bigintExpr( 8_) ** 2 <> 64_ or 16759 bigintExpr( 8_) ** 3 <> 512_ or 16760 bigintExpr( 8_) ** 4 <> 4096_ or 16761 bigintExpr( 8_) ** 16 <> 281474976710656_ or 16762 bigintExpr( 8_) ** 31 <> 9903520314283042199192993792_ or 16763 bigintExpr( 8_) ** 32 <> 79228162514264337593543950336_ or 16764 bigintExpr( 8_) ** 50 <> 1427247692705959881058285969449495136382746624_ or 16765 16766 bigintExpr( 10_) ** 0 <> 1_ or 16767 bigintExpr( 10_) ** 1 <> 10_ or 16768 bigintExpr( 10_) ** 2 <> 100_ or 16769 bigintExpr( 10_) ** 3 <> 1000_ or 16770 bigintExpr( 10_) ** 4 <> 10000_ or 16771 bigintExpr( 10_) ** 5 <> 100000_ or 16772 bigintExpr( 10_) ** 10 <> 10000000000_ or 16773 bigintExpr( 10_) ** 20 <> 100000000000000000000_ or 16774 bigintExpr( 10_) ** 30 <> 1000000000000000000000000000000_ or 16775 bigintExpr( 10_) ** 35 <> 100000000000000000000000000000000000_ or 16776 bigintExpr( 10_) ** 40 <> 10000000000000000000000000000000000000000_ or 16777 bigintExpr( 10_) ** 45 <> 1000000000000000000000000000000000000000000000_ or 16778 16779 bigintExpr( 16_) ** 0 <> 1_ or 16780 bigintExpr( 16_) ** 1 <> 16_ or 16781 bigintExpr( 16_) ** 2 <> 256_ or 16782 bigintExpr( 16_) ** 3 <> 4096_ or 16783 bigintExpr( 16_) ** 4 <> 65536_ or 16784 bigintExpr( 16_) ** 8 <> 4294967296_ or 16785 bigintExpr( 16_) ** 16 <> 18446744073709551616_ or 16786 bigintExpr( 16_) ** 25 <> 1267650600228229401496703205376_ or 16787 bigintExpr( 16_) ** 32 <> 340282366920938463463374607431768211456_ or 16788 bigintExpr( 16_) ** 38 <> 5708990770823839524233143877797980545530986496_ or 16789 16790 bigintExpr( 97_) ** 0 <> 1_ or 16791 bigintExpr( 97_) ** 1 <> 97_ or 16792 bigintExpr( 97_) ** 2 <> 9409_ or 16793 bigintExpr( 97_) ** 3 <> 912673_ or 16794 bigintExpr( 97_) ** 4 <> 88529281_ or 16795 bigintExpr( 97_) ** 8 <> 7837433594376961_ or 16796 bigintExpr( 97_) ** 10 <> 73742412689492826049_ or 16797 bigintExpr( 97_) ** 15 <> 633251189136789386043275954593_ or 16798 bigintExpr( 97_) ** 16 <> 61425365346268570446197767595521_ or 16799 bigintExpr( 97_) ** 20 <> 5437943429267472574499737549036572950401_ or 16800 bigintExpr( 97_) ** 23 <> 4963064143419831996986398968091856144361331873_ or 16801 16802 bigintExpr( 255_) ** 0 <> 1_ or 16803 bigintExpr( 255_) ** 1 <> 255_ or 16804 bigintExpr( 255_) ** 2 <> 65025_ or 16805 bigintExpr( 255_) ** 3 <> 16581375_ or 16806 bigintExpr( 255_) ** 4 <> 4228250625_ or 16807 bigintExpr( 255_) ** 5 <> 1078203909375_ or 16808 bigintExpr( 255_) ** 6 <> 274941996890625_ or 16809 bigintExpr( 255_) ** 7 <> 70110209207109375_ or 16810 bigintExpr( 255_) ** 8 <> 17878103347812890625_ or 16811 bigintExpr( 255_) ** 9 <> 4558916353692287109375_ or 16812 bigintExpr( 255_) ** 10 <> 1162523670191533212890625_ or 16813 bigintExpr( 255_) ** 11 <> 296443535898840969287109375_ or 16814 bigintExpr( 255_) ** 12 <> 75593101654204447168212890625_ or 16815 bigintExpr( 255_) ** 13 <> 19276240921822134027894287109375_ or 16816 bigintExpr( 255_) ** 14 <> 4915441435064644177113043212890625_ or 16817 bigintExpr( 255_) ** 15 <> 1253437565941484265163826019287109375_ or 16818 bigintExpr( 255_) ** 16 <> 319626579315078487616775634918212890625_ or 16819 bigintExpr( 255_) ** 17 <> 81504777725345014342277786904144287109375_ or 16820 bigintExpr( 255_) ** 18 <> 20783718319962978657280835660556793212890625_ or 16821 16822 bigintExpr( 256_) ** 0 <> 1_ or 16823 bigintExpr( 256_) ** 1 <> 256_ or 16824 bigintExpr( 256_) ** 2 <> 65536_ or 16825 bigintExpr( 256_) ** 3 <> 16777216_ or 16826 bigintExpr( 256_) ** 4 <> 4294967296_ or 16827 bigintExpr( 256_) ** 5 <> 1099511627776_ or 16828 bigintExpr( 256_) ** 6 <> 281474976710656_ or 16829 bigintExpr( 256_) ** 7 <> 72057594037927936_ or 16830 bigintExpr( 256_) ** 8 <> 18446744073709551616_ or 16831 bigintExpr( 256_) ** 9 <> 4722366482869645213696_ or 16832 bigintExpr( 256_) ** 10 <> 1208925819614629174706176_ or 16833 bigintExpr( 256_) ** 11 <> 309485009821345068724781056_ or 16834 bigintExpr( 256_) ** 12 <> 79228162514264337593543950336_ or 16835 bigintExpr( 256_) ** 13 <> 20282409603651670423947251286016_ or 16836 bigintExpr( 256_) ** 14 <> 5192296858534827628530496329220096_ or 16837 bigintExpr( 256_) ** 15 <> 1329227995784915872903807060280344576_ or 16838 bigintExpr( 256_) ** 16 <> 340282366920938463463374607431768211456_ or 16839 bigintExpr( 256_) ** 17 <> 87112285931760246646623899502532662132736_ or 16840 bigintExpr( 256_) ** 18 <> 22300745198530623141535718272648361505980416_ or 16841 16842 bigintExpr( 32767_) ** 0 <> 1_ or 16843 bigintExpr( 32767_) ** 1 <> 32767_ or 16844 bigintExpr( 32767_) ** 2 <> 1073676289_ or 16845 bigintExpr( 32767_) ** 3 <> 35181150961663_ or 16846 bigintExpr( 32767_) ** 4 <> 1152780773560811521_ or 16847 bigintExpr( 32767_) ** 5 <> 37773167607267111108607_ or 16848 bigintExpr( 32767_) ** 6 <> 1237713382987321429695725569_ or 16849 bigintExpr( 32767_) ** 7 <> 40556154420345561286839839719423_ or 16850 bigintExpr( 32767_) ** 8 <> 1328903511891463006685881028086333441_ or 16851 bigintExpr( 32767_) ** 9 <> 43544181374147568340076263647304887861247_ or 16852 bigintExpr( 32767_) ** 10 <> 1426812191086693371799278930931239260549480449_ or 16853 16854 bigintExpr( 32768_) ** 0 <> 1_ or 16855 bigintExpr( 32768_) ** 1 <> 32768_ or 16856 bigintExpr( 32768_) ** 2 <> 1073741824_ or 16857 bigintExpr( 32768_) ** 3 <> 35184372088832_ or 16858 bigintExpr( 32768_) ** 4 <> 1152921504606846976_ or 16859 bigintExpr( 32768_) ** 5 <> 37778931862957161709568_ or 16860 bigintExpr( 32768_) ** 6 <> 1237940039285380274899124224_ or 16861 bigintExpr( 32768_) ** 7 <> 40564819207303340847894502572032_ or 16862 bigintExpr( 32768_) ** 8 <> 1329227995784915872903807060280344576_ or 16863 bigintExpr( 32768_) ** 9 <> 43556142965880123323311949751266331066368_ or 16864 bigintExpr( 32768_) ** 10 <> 1427247692705959881058285969449495136382746624_ or 16865 16866 bigintExpr( 65535_) ** 0 <> 1_ or 16867 bigintExpr( 65535_) ** 1 <> 65535_ or 16868 bigintExpr( 65535_) ** 2 <> 4294836225_ or 16869 bigintExpr( 65535_) ** 3 <> 281462092005375_ or 16870 bigintExpr( 65535_) ** 4 <> 18445618199572250625_ or 16871 bigintExpr( 65535_) ** 5 <> 1208833588708967444709375_ or 16872 bigintExpr( 65535_) ** 6 <> 79220909236042181489028890625_ or 16873 bigintExpr( 65535_) ** 7 <> 5191742286784024363883508347109375_ or 16874 bigintExpr( 65535_) ** 8 <> 340240830764391036687105719527812890625_ or 16875 bigintExpr( 65535_) ** 9 <> 22297682844144366589289473329255217787109375_ or 16876 16877 bigintExpr(4294967295_) ** 0 <> 1_ or 16878 bigintExpr(4294967295_) ** 1 <> 4294967295_ or 16879 bigintExpr(4294967295_) ** 2 <> 18446744065119617025_ or 16880 bigintExpr(4294967295_) ** 3 <> 79228162458924105385300197375_ or 16881 bigintExpr(4294967295_) ** 4 <> 340282366604025813516997721482669850625_ or 16882 bigintExpr(4294967295_) ** 5 <> 1461501635629491084391274140357585917716910309375_ or 16883 bigintExpr(4294967295_) ** 6 <> 6277101726617670944954607416215071121746690847213956890625_ or 16884 bigintExpr(4294967295_) ** 7 <> 26959946623210927677651784112208183154001000463259786712774267109375_ or 16885 bigintExpr(4294967295_) ** 8 <> 115792089021636622262124715160334756877804245386980633020041035952359812890625_ or 16886 16887 bigintExpr(281474976710655_) ** 0 <> 1_ or 16888 bigintExpr(281474976710655_) ** 1 <> 281474976710655_ or 16889 bigintExpr(281474976710655_) ** 2 <> 79228162514263774643590529025_ or 16890 bigintExpr(281474976710655_) ** 3 <> 22300745198530385457048175480480005804261375_ or 16891 bigintExpr(281474976710655_) ** 4 <> 6277101735386591560854995301190469248314849750679367450625_ or 16892 bigintExpr(281474976710655_) ** 5 <> 1766847064778352944074620567562106788865673297677270486428898935623909375_ or 16893 16894 bigintExpr(18446744073709551615_) ** 0 <> 1_ or 16895 bigintExpr(18446744073709551615_) ** 1 <> 18446744073709551615_ or 16896 bigintExpr(18446744073709551615_) ** 2 <> 340282366920938463426481119284349108225_ or 16897 bigintExpr(18446744073709551615_) ** 3 <> 6277101735386680762814942322444851025767571854389858533375_ or 16898 16899 bigintExpr(-1_) ** 0 <> 1_ or 16900 bigintExpr(-1_) ** 1 <> -1_ or 16901 bigintExpr(-1_) ** 2 <> 1_ or 16902 bigintExpr(-1_) ** 3 <> -1_ or 16903 bigintExpr(-1_) ** 4 <> 1_ or 16904 bigintExpr(-1_) ** 15 <> -1_ or 16905 bigintExpr(-1_) ** 16 <> 1_ or 16906 bigintExpr(-1_) ** 63 <> -1_ or 16907 bigintExpr(-1_) ** 64 <> 1_ or 16908 bigintExpr(-1_) ** 99 <> -1_ or 16909 bigintExpr(-1_) ** 100 <> 1_ or 16910 16911 bigintExpr(-65535_) ** 0 <> 1_ or 16912 bigintExpr(-65535_) ** 1 <> -65535_ or 16913 bigintExpr(-65535_) ** 2 <> 4294836225_ or 16914 bigintExpr(-65535_) ** 3 <> -281462092005375_ or 16915 bigintExpr(-65535_) ** 4 <> 18445618199572250625_ or 16916 bigintExpr(-65535_) ** 5 <> -1208833588708967444709375_ or 16917 bigintExpr(-65535_) ** 6 <> 79220909236042181489028890625_ or 16918 bigintExpr(-65535_) ** 7 <> -5191742286784024363883508347109375_ or 16919 bigintExpr(-65535_) ** 8 <> 340240830764391036687105719527812890625_ or 16920 16921 bigintExpr(-18446744073709551615_) ** 0 <> 1_ or 16922 bigintExpr(-18446744073709551615_) ** 1 <> -18446744073709551615_ or 16923 bigintExpr(-18446744073709551615_) ** 2 <> 340282366920938463426481119284349108225_ or 16924 bigintExpr(-18446744073709551615_) ** 3 <> -6277101735386680762814942322444851025767571854389858533375_ then 16925 writeln("Power of bigInteger does not work correct."); 16926 okay := FALSE; 16927 end if; 16928 16929 if 0_ ** intExpr( 0) <> 1_ or 16930 0_ ** intExpr( 1) <> 0_ or 16931 0_ ** intExpr( 2) <> 0_ or 16932 0_ ** intExpr( 15) <> 0_ or 16933 0_ ** intExpr( 64) <> 0_ or 16934 0_ ** intExpr( 99) <> 0_ or 16935 0_ ** intExpr( 999) <> 0_ or 16936 0_ ** intExpr( 999999999) <> 0_ or 16937 0_ ** intExpr( 2147483647) <> 0_ or 16938 0_ ** intExpr(integer.last) <> 0_ or 16939 16940 1_ ** intExpr( 0) <> 1_ or 16941 1_ ** intExpr( 1) <> 1_ or 16942 1_ ** intExpr( 2) <> 1_ or 16943 1_ ** intExpr( 15) <> 1_ or 16944 1_ ** intExpr( 64) <> 1_ or 16945 1_ ** intExpr( 99) <> 1_ or 16946 1_ ** intExpr( 999) <> 1_ or 16947 1_ ** intExpr( 999999999) <> 1_ or 16948 1_ ** intExpr( 2147483647) <> 1_ or 16949 1_ ** intExpr(integer.last) <> 1_ or 16950 16951 2_ ** intExpr( 0) <> 1_ or 16952 2_ ** intExpr( 1) <> 2_ or 16953 2_ ** intExpr( 2) <> 4_ or 16954 2_ ** intExpr( 3) <> 8_ or 16955 2_ ** intExpr( 4) <> 16_ or 16956 2_ ** intExpr( 5) <> 32_ or 16957 2_ ** intExpr( 6) <> 64_ or 16958 2_ ** intExpr( 10) <> 1024_ or 16959 2_ ** intExpr( 25) <> 33554432_ or 16960 2_ ** intExpr( 32) <> 4294967296_ or 16961 2_ ** intExpr( 50) <> 1125899906842624_ or 16962 2_ ** intExpr( 63) <> 9223372036854775808_ or 16963 2_ ** intExpr( 64) <> 18446744073709551616_ or 16964 2_ ** intExpr( 75) <> 37778931862957161709568_ or 16965 2_ ** intExpr( 99) <> 633825300114114700748351602688_ or 16966 2_ ** intExpr(100) <> 1267650600228229401496703205376_ or 16967 2_ ** intExpr(127) <> 170141183460469231731687303715884105728_ or 16968 2_ ** intExpr(128) <> 340282366920938463463374607431768211456_ or 16969 2_ ** intExpr(150) <> 1427247692705959881058285969449495136382746624_ or 16970 2_ ** intExpr(152) <> 5708990770823839524233143877797980545530986496_ or 16971 16972 4_ ** intExpr( 0) <> 1_ or 16973 4_ ** intExpr( 1) <> 4_ or 16974 4_ ** intExpr( 2) <> 16_ or 16975 4_ ** intExpr( 3) <> 64_ or 16976 4_ ** intExpr( 4) <> 256_ or 16977 4_ ** intExpr( 10) <> 1048576_ or 16978 4_ ** intExpr( 25) <> 1125899906842624_ or 16979 4_ ** intExpr( 31) <> 4611686018427387904_ or 16980 4_ ** intExpr( 32) <> 18446744073709551616_ or 16981 4_ ** intExpr( 50) <> 1267650600228229401496703205376_ or 16982 4_ ** intExpr( 63) <> 85070591730234615865843651857942052864_ or 16983 4_ ** intExpr( 64) <> 340282366920938463463374607431768211456_ or 16984 4_ ** intExpr( 75) <> 1427247692705959881058285969449495136382746624_ or 16985 4_ ** intExpr( 76) <> 5708990770823839524233143877797980545530986496_ or 16986 16987 8_ ** intExpr( 0) <> 1_ or 16988 8_ ** intExpr( 1) <> 8_ or 16989 8_ ** intExpr( 2) <> 64_ or 16990 8_ ** intExpr( 3) <> 512_ or 16991 8_ ** intExpr( 4) <> 4096_ or 16992 8_ ** intExpr( 16) <> 281474976710656_ or 16993 8_ ** intExpr( 31) <> 9903520314283042199192993792_ or 16994 8_ ** intExpr( 32) <> 79228162514264337593543950336_ or 16995 8_ ** intExpr( 50) <> 1427247692705959881058285969449495136382746624_ or 16996 16997 10_ ** intExpr( 0) <> 1_ or 16998 10_ ** intExpr( 1) <> 10_ or 16999 10_ ** intExpr( 2) <> 100_ or 17000 10_ ** intExpr( 3) <> 1000_ or 17001 10_ ** intExpr( 4) <> 10000_ or 17002 10_ ** intExpr( 5) <> 100000_ or 17003 10_ ** intExpr( 10) <> 10000000000_ or 17004 10_ ** intExpr( 20) <> 100000000000000000000_ or 17005 10_ ** intExpr( 30) <> 1000000000000000000000000000000_ or 17006 10_ ** intExpr( 35) <> 100000000000000000000000000000000000_ or 17007 10_ ** intExpr( 40) <> 10000000000000000000000000000000000000000_ or 17008 10_ ** intExpr( 45) <> 1000000000000000000000000000000000000000000000_ or 17009 17010 16_ ** intExpr( 0) <> 1_ or 17011 16_ ** intExpr( 1) <> 16_ or 17012 16_ ** intExpr( 2) <> 256_ or 17013 16_ ** intExpr( 3) <> 4096_ or 17014 16_ ** intExpr( 4) <> 65536_ or 17015 16_ ** intExpr( 8) <> 4294967296_ or 17016 16_ ** intExpr( 16) <> 18446744073709551616_ or 17017 16_ ** intExpr( 25) <> 1267650600228229401496703205376_ or 17018 16_ ** intExpr( 32) <> 340282366920938463463374607431768211456_ or 17019 16_ ** intExpr( 38) <> 5708990770823839524233143877797980545530986496_ or 17020 17021 97_ ** intExpr( 0) <> 1_ or 17022 97_ ** intExpr( 1) <> 97_ or 17023 97_ ** intExpr( 2) <> 9409_ or 17024 97_ ** intExpr( 3) <> 912673_ or 17025 97_ ** intExpr( 4) <> 88529281_ or 17026 97_ ** intExpr( 8) <> 7837433594376961_ or 17027 97_ ** intExpr( 10) <> 73742412689492826049_ or 17028 97_ ** intExpr( 15) <> 633251189136789386043275954593_ or 17029 97_ ** intExpr( 16) <> 61425365346268570446197767595521_ or 17030 97_ ** intExpr( 20) <> 5437943429267472574499737549036572950401_ or 17031 97_ ** intExpr( 23) <> 4963064143419831996986398968091856144361331873_ or 17032 17033 255_ ** intExpr( 0) <> 1_ or 17034 255_ ** intExpr( 1) <> 255_ or 17035 255_ ** intExpr( 2) <> 65025_ or 17036 255_ ** intExpr( 3) <> 16581375_ or 17037 255_ ** intExpr( 4) <> 4228250625_ or 17038 255_ ** intExpr( 5) <> 1078203909375_ or 17039 255_ ** intExpr( 6) <> 274941996890625_ or 17040 255_ ** intExpr( 7) <> 70110209207109375_ or 17041 255_ ** intExpr( 8) <> 17878103347812890625_ or 17042 255_ ** intExpr( 9) <> 4558916353692287109375_ or 17043 255_ ** intExpr( 10) <> 1162523670191533212890625_ or 17044 255_ ** intExpr( 11) <> 296443535898840969287109375_ or 17045 255_ ** intExpr( 12) <> 75593101654204447168212890625_ or 17046 255_ ** intExpr( 13) <> 19276240921822134027894287109375_ or 17047 255_ ** intExpr( 14) <> 4915441435064644177113043212890625_ or 17048 255_ ** intExpr( 15) <> 1253437565941484265163826019287109375_ or 17049 255_ ** intExpr( 16) <> 319626579315078487616775634918212890625_ or 17050 255_ ** intExpr( 17) <> 81504777725345014342277786904144287109375_ or 17051 255_ ** intExpr( 18) <> 20783718319962978657280835660556793212890625_ or 17052 17053 256_ ** intExpr( 0) <> 1_ or 17054 256_ ** intExpr( 1) <> 256_ or 17055 256_ ** intExpr( 2) <> 65536_ or 17056 256_ ** intExpr( 3) <> 16777216_ or 17057 256_ ** intExpr( 4) <> 4294967296_ or 17058 256_ ** intExpr( 5) <> 1099511627776_ or 17059 256_ ** intExpr( 6) <> 281474976710656_ or 17060 256_ ** intExpr( 7) <> 72057594037927936_ or 17061 256_ ** intExpr( 8) <> 18446744073709551616_ or 17062 256_ ** intExpr( 9) <> 4722366482869645213696_ or 17063 256_ ** intExpr( 10) <> 1208925819614629174706176_ or 17064 256_ ** intExpr( 11) <> 309485009821345068724781056_ or 17065 256_ ** intExpr( 12) <> 79228162514264337593543950336_ or 17066 256_ ** intExpr( 13) <> 20282409603651670423947251286016_ or 17067 256_ ** intExpr( 14) <> 5192296858534827628530496329220096_ or 17068 256_ ** intExpr( 15) <> 1329227995784915872903807060280344576_ or 17069 256_ ** intExpr( 16) <> 340282366920938463463374607431768211456_ or 17070 256_ ** intExpr( 17) <> 87112285931760246646623899502532662132736_ or 17071 256_ ** intExpr( 18) <> 22300745198530623141535718272648361505980416_ or 17072 17073 32767_ ** intExpr( 0) <> 1_ or 17074 32767_ ** intExpr( 1) <> 32767_ or 17075 32767_ ** intExpr( 2) <> 1073676289_ or 17076 32767_ ** intExpr( 3) <> 35181150961663_ or 17077 32767_ ** intExpr( 4) <> 1152780773560811521_ or 17078 32767_ ** intExpr( 5) <> 37773167607267111108607_ or 17079 32767_ ** intExpr( 6) <> 1237713382987321429695725569_ or 17080 32767_ ** intExpr( 7) <> 40556154420345561286839839719423_ or 17081 32767_ ** intExpr( 8) <> 1328903511891463006685881028086333441_ or 17082 32767_ ** intExpr( 9) <> 43544181374147568340076263647304887861247_ or 17083 32767_ ** intExpr( 10) <> 1426812191086693371799278930931239260549480449_ or 17084 17085 32768_ ** intExpr( 0) <> 1_ or 17086 32768_ ** intExpr( 1) <> 32768_ or 17087 32768_ ** intExpr( 2) <> 1073741824_ or 17088 32768_ ** intExpr( 3) <> 35184372088832_ or 17089 32768_ ** intExpr( 4) <> 1152921504606846976_ or 17090 32768_ ** intExpr( 5) <> 37778931862957161709568_ or 17091 32768_ ** intExpr( 6) <> 1237940039285380274899124224_ or 17092 32768_ ** intExpr( 7) <> 40564819207303340847894502572032_ or 17093 32768_ ** intExpr( 8) <> 1329227995784915872903807060280344576_ or 17094 32768_ ** intExpr( 9) <> 43556142965880123323311949751266331066368_ or 17095 32768_ ** intExpr( 10) <> 1427247692705959881058285969449495136382746624_ or 17096 17097 65535_ ** intExpr( 0) <> 1_ or 17098 65535_ ** intExpr( 1) <> 65535_ or 17099 65535_ ** intExpr( 2) <> 4294836225_ or 17100 65535_ ** intExpr( 3) <> 281462092005375_ or 17101 65535_ ** intExpr( 4) <> 18445618199572250625_ or 17102 65535_ ** intExpr( 5) <> 1208833588708967444709375_ or 17103 65535_ ** intExpr( 6) <> 79220909236042181489028890625_ or 17104 65535_ ** intExpr( 7) <> 5191742286784024363883508347109375_ or 17105 65535_ ** intExpr( 8) <> 340240830764391036687105719527812890625_ or 17106 65535_ ** intExpr( 9) <> 22297682844144366589289473329255217787109375_ or 17107 17108 4294967295_ ** intExpr(0) <> 1_ or 17109 4294967295_ ** intExpr(1) <> 4294967295_ or 17110 4294967295_ ** intExpr(2) <> 18446744065119617025_ or 17111 4294967295_ ** intExpr(3) <> 79228162458924105385300197375_ or 17112 4294967295_ ** intExpr(4) <> 340282366604025813516997721482669850625_ or 17113 4294967295_ ** intExpr(5) <> 1461501635629491084391274140357585917716910309375_ or 17114 4294967295_ ** intExpr(6) <> 6277101726617670944954607416215071121746690847213956890625_ or 17115 4294967295_ ** intExpr(7) <> 26959946623210927677651784112208183154001000463259786712774267109375_ or 17116 4294967295_ ** intExpr(8) <> 115792089021636622262124715160334756877804245386980633020041035952359812890625_ or 17117 17118 281474976710655_ ** intExpr(0) <> 1_ or 17119 281474976710655_ ** intExpr(1) <> 281474976710655_ or 17120 281474976710655_ ** intExpr(2) <> 79228162514263774643590529025_ or 17121 281474976710655_ ** intExpr(3) <> 22300745198530385457048175480480005804261375_ or 17122 281474976710655_ ** intExpr(4) <> 6277101735386591560854995301190469248314849750679367450625_ or 17123 281474976710655_ ** intExpr(5) <> 1766847064778352944074620567562106788865673297677270486428898935623909375_ or 17124 17125 18446744073709551615_ ** intExpr(0) <> 1_ or 17126 18446744073709551615_ ** intExpr(1) <> 18446744073709551615_ or 17127 18446744073709551615_ ** intExpr(2) <> 340282366920938463426481119284349108225_ or 17128 18446744073709551615_ ** intExpr(3) <> 6277101735386680762814942322444851025767571854389858533375_ or 17129 17130 (-1_) ** intExpr( 0) <> 1_ or 17131 (-1_) ** intExpr( 1) <> -1_ or 17132 (-1_) ** intExpr( 2) <> 1_ or 17133 (-1_) ** intExpr( 3) <> -1_ or 17134 (-1_) ** intExpr( 4) <> 1_ or 17135 (-1_) ** intExpr( 15) <> -1_ or 17136 (-1_) ** intExpr( 16) <> 1_ or 17137 (-1_) ** intExpr( 63) <> -1_ or 17138 (-1_) ** intExpr( 64) <> 1_ or 17139 (-1_) ** intExpr( 99) <> -1_ or 17140 (-1_) ** intExpr(100) <> 1_ or 17141 17142 (-65535_) ** intExpr(0) <> 1_ or 17143 (-65535_) ** intExpr(1) <> -65535_ or 17144 (-65535_) ** intExpr(2) <> 4294836225_ or 17145 (-65535_) ** intExpr(3) <> -281462092005375_ or 17146 (-65535_) ** intExpr(4) <> 18445618199572250625_ or 17147 (-65535_) ** intExpr(5) <> -1208833588708967444709375_ or 17148 (-65535_) ** intExpr(6) <> 79220909236042181489028890625_ or 17149 (-65535_) ** intExpr(7) <> -5191742286784024363883508347109375_ or 17150 (-65535_) ** intExpr(8) <> 340240830764391036687105719527812890625_ or 17151 17152 (-18446744073709551615_) ** intExpr(0) <> 1_ or 17153 (-18446744073709551615_) ** intExpr(1) <> -18446744073709551615_ or 17154 (-18446744073709551615_) ** intExpr(2) <> 340282366920938463426481119284349108225_ or 17155 (-18446744073709551615_) ** intExpr(3) <> -6277101735386680762814942322444851025767571854389858533375_ then 17156 writeln("Power of bigInteger does not work correct."); 17157 okay := FALSE; 17158 end if; 17159 17160 if bigintExpr( 0_) ** intExpr( 0) <> 1_ or 17161 bigintExpr( 0_) ** intExpr( 1) <> 0_ or 17162 bigintExpr( 0_) ** intExpr( 2) <> 0_ or 17163 bigintExpr( 0_) ** intExpr( 15) <> 0_ or 17164 bigintExpr( 0_) ** intExpr( 64) <> 0_ or 17165 bigintExpr( 0_) ** intExpr( 99) <> 0_ or 17166 bigintExpr( 0_) ** intExpr( 999) <> 0_ or 17167 bigintExpr( 0_) ** intExpr( 999999999) <> 0_ or 17168 bigintExpr( 0_) ** intExpr( 2147483647) <> 0_ or 17169 bigintExpr( 0_) ** intExpr(integer.last) <> 0_ or 17170 17171 bigintExpr( 1_) ** intExpr( 0) <> 1_ or 17172 bigintExpr( 1_) ** intExpr( 1) <> 1_ or 17173 bigintExpr( 1_) ** intExpr( 2) <> 1_ or 17174 bigintExpr( 1_) ** intExpr( 15) <> 1_ or 17175 bigintExpr( 1_) ** intExpr( 64) <> 1_ or 17176 bigintExpr( 1_) ** intExpr( 99) <> 1_ or 17177 bigintExpr( 1_) ** intExpr( 999) <> 1_ or 17178 bigintExpr( 1_) ** intExpr( 999999999) <> 1_ or 17179 bigintExpr( 1_) ** intExpr( 2147483647) <> 1_ or 17180 bigintExpr( 1_) ** intExpr(integer.last) <> 1_ or 17181 17182 bigintExpr( 2_) ** intExpr( 0) <> 1_ or 17183 bigintExpr( 2_) ** intExpr( 1) <> 2_ or 17184 bigintExpr( 2_) ** intExpr( 2) <> 4_ or 17185 bigintExpr( 2_) ** intExpr( 3) <> 8_ or 17186 bigintExpr( 2_) ** intExpr( 4) <> 16_ or 17187 bigintExpr( 2_) ** intExpr( 5) <> 32_ or 17188 bigintExpr( 2_) ** intExpr( 6) <> 64_ or 17189 bigintExpr( 2_) ** intExpr( 10) <> 1024_ or 17190 bigintExpr( 2_) ** intExpr( 25) <> 33554432_ or 17191 bigintExpr( 2_) ** intExpr( 32) <> 4294967296_ or 17192 bigintExpr( 2_) ** intExpr( 50) <> 1125899906842624_ or 17193 bigintExpr( 2_) ** intExpr( 63) <> 9223372036854775808_ or 17194 bigintExpr( 2_) ** intExpr( 64) <> 18446744073709551616_ or 17195 bigintExpr( 2_) ** intExpr( 75) <> 37778931862957161709568_ or 17196 bigintExpr( 2_) ** intExpr( 99) <> 633825300114114700748351602688_ or 17197 bigintExpr( 2_) ** intExpr(100) <> 1267650600228229401496703205376_ or 17198 bigintExpr( 2_) ** intExpr(127) <> 170141183460469231731687303715884105728_ or 17199 bigintExpr( 2_) ** intExpr(128) <> 340282366920938463463374607431768211456_ or 17200 bigintExpr( 2_) ** intExpr(150) <> 1427247692705959881058285969449495136382746624_ or 17201 bigintExpr( 2_) ** intExpr(152) <> 5708990770823839524233143877797980545530986496_ or 17202 17203 bigintExpr( 4_) ** intExpr( 0) <> 1_ or 17204 bigintExpr( 4_) ** intExpr( 1) <> 4_ or 17205 bigintExpr( 4_) ** intExpr( 2) <> 16_ or 17206 bigintExpr( 4_) ** intExpr( 3) <> 64_ or 17207 bigintExpr( 4_) ** intExpr( 4) <> 256_ or 17208 bigintExpr( 4_) ** intExpr( 10) <> 1048576_ or 17209 bigintExpr( 4_) ** intExpr( 25) <> 1125899906842624_ or 17210 bigintExpr( 4_) ** intExpr( 31) <> 4611686018427387904_ or 17211 bigintExpr( 4_) ** intExpr( 32) <> 18446744073709551616_ or 17212 bigintExpr( 4_) ** intExpr( 50) <> 1267650600228229401496703205376_ or 17213 bigintExpr( 4_) ** intExpr( 63) <> 85070591730234615865843651857942052864_ or 17214 bigintExpr( 4_) ** intExpr( 64) <> 340282366920938463463374607431768211456_ or 17215 bigintExpr( 4_) ** intExpr( 75) <> 1427247692705959881058285969449495136382746624_ or 17216 bigintExpr( 4_) ** intExpr( 76) <> 5708990770823839524233143877797980545530986496_ or 17217 17218 bigintExpr( 8_) ** intExpr( 0) <> 1_ or 17219 bigintExpr( 8_) ** intExpr( 1) <> 8_ or 17220 bigintExpr( 8_) ** intExpr( 2) <> 64_ or 17221 bigintExpr( 8_) ** intExpr( 3) <> 512_ or 17222 bigintExpr( 8_) ** intExpr( 4) <> 4096_ or 17223 bigintExpr( 8_) ** intExpr( 16) <> 281474976710656_ or 17224 bigintExpr( 8_) ** intExpr( 31) <> 9903520314283042199192993792_ or 17225 bigintExpr( 8_) ** intExpr( 32) <> 79228162514264337593543950336_ or 17226 bigintExpr( 8_) ** intExpr( 50) <> 1427247692705959881058285969449495136382746624_ or 17227 17228 bigintExpr( 10_) ** intExpr( 0) <> 1_ or 17229 bigintExpr( 10_) ** intExpr( 1) <> 10_ or 17230 bigintExpr( 10_) ** intExpr( 2) <> 100_ or 17231 bigintExpr( 10_) ** intExpr( 3) <> 1000_ or 17232 bigintExpr( 10_) ** intExpr( 4) <> 10000_ or 17233 bigintExpr( 10_) ** intExpr( 5) <> 100000_ or 17234 bigintExpr( 10_) ** intExpr( 10) <> 10000000000_ or 17235 bigintExpr( 10_) ** intExpr( 20) <> 100000000000000000000_ or 17236 bigintExpr( 10_) ** intExpr( 30) <> 1000000000000000000000000000000_ or 17237 bigintExpr( 10_) ** intExpr( 35) <> 100000000000000000000000000000000000_ or 17238 bigintExpr( 10_) ** intExpr( 40) <> 10000000000000000000000000000000000000000_ or 17239 bigintExpr( 10_) ** intExpr( 45) <> 1000000000000000000000000000000000000000000000_ or 17240 17241 bigintExpr( 16_) ** intExpr( 0) <> 1_ or 17242 bigintExpr( 16_) ** intExpr( 1) <> 16_ or 17243 bigintExpr( 16_) ** intExpr( 2) <> 256_ or 17244 bigintExpr( 16_) ** intExpr( 3) <> 4096_ or 17245 bigintExpr( 16_) ** intExpr( 4) <> 65536_ or 17246 bigintExpr( 16_) ** intExpr( 8) <> 4294967296_ or 17247 bigintExpr( 16_) ** intExpr( 16) <> 18446744073709551616_ or 17248 bigintExpr( 16_) ** intExpr( 25) <> 1267650600228229401496703205376_ or 17249 bigintExpr( 16_) ** intExpr( 32) <> 340282366920938463463374607431768211456_ or 17250 bigintExpr( 16_) ** intExpr( 38) <> 5708990770823839524233143877797980545530986496_ or 17251 17252 bigintExpr( 97_) ** intExpr( 0) <> 1_ or 17253 bigintExpr( 97_) ** intExpr( 1) <> 97_ or 17254 bigintExpr( 97_) ** intExpr( 2) <> 9409_ or 17255 bigintExpr( 97_) ** intExpr( 3) <> 912673_ or 17256 bigintExpr( 97_) ** intExpr( 4) <> 88529281_ or 17257 bigintExpr( 97_) ** intExpr( 8) <> 7837433594376961_ or 17258 bigintExpr( 97_) ** intExpr( 10) <> 73742412689492826049_ or 17259 bigintExpr( 97_) ** intExpr( 15) <> 633251189136789386043275954593_ or 17260 bigintExpr( 97_) ** intExpr( 16) <> 61425365346268570446197767595521_ or 17261 bigintExpr( 97_) ** intExpr( 20) <> 5437943429267472574499737549036572950401_ or 17262 bigintExpr( 97_) ** intExpr( 23) <> 4963064143419831996986398968091856144361331873_ or 17263 17264 bigintExpr( 255_) ** intExpr( 0) <> 1_ or 17265 bigintExpr( 255_) ** intExpr( 1) <> 255_ or 17266 bigintExpr( 255_) ** intExpr( 2) <> 65025_ or 17267 bigintExpr( 255_) ** intExpr( 3) <> 16581375_ or 17268 bigintExpr( 255_) ** intExpr( 4) <> 4228250625_ or 17269 bigintExpr( 255_) ** intExpr( 5) <> 1078203909375_ or 17270 bigintExpr( 255_) ** intExpr( 6) <> 274941996890625_ or 17271 bigintExpr( 255_) ** intExpr( 7) <> 70110209207109375_ or 17272 bigintExpr( 255_) ** intExpr( 8) <> 17878103347812890625_ or 17273 bigintExpr( 255_) ** intExpr( 9) <> 4558916353692287109375_ or 17274 bigintExpr( 255_) ** intExpr( 10) <> 1162523670191533212890625_ or 17275 bigintExpr( 255_) ** intExpr( 11) <> 296443535898840969287109375_ or 17276 bigintExpr( 255_) ** intExpr( 12) <> 75593101654204447168212890625_ or 17277 bigintExpr( 255_) ** intExpr( 13) <> 19276240921822134027894287109375_ or 17278 bigintExpr( 255_) ** intExpr( 14) <> 4915441435064644177113043212890625_ or 17279 bigintExpr( 255_) ** intExpr( 15) <> 1253437565941484265163826019287109375_ or 17280 bigintExpr( 255_) ** intExpr( 16) <> 319626579315078487616775634918212890625_ or 17281 bigintExpr( 255_) ** intExpr( 17) <> 81504777725345014342277786904144287109375_ or 17282 bigintExpr( 255_) ** intExpr( 18) <> 20783718319962978657280835660556793212890625_ or 17283 17284 bigintExpr( 256_) ** intExpr( 0) <> 1_ or 17285 bigintExpr( 256_) ** intExpr( 1) <> 256_ or 17286 bigintExpr( 256_) ** intExpr( 2) <> 65536_ or 17287 bigintExpr( 256_) ** intExpr( 3) <> 16777216_ or 17288 bigintExpr( 256_) ** intExpr( 4) <> 4294967296_ or 17289 bigintExpr( 256_) ** intExpr( 5) <> 1099511627776_ or 17290 bigintExpr( 256_) ** intExpr( 6) <> 281474976710656_ or 17291 bigintExpr( 256_) ** intExpr( 7) <> 72057594037927936_ or 17292 bigintExpr( 256_) ** intExpr( 8) <> 18446744073709551616_ or 17293 bigintExpr( 256_) ** intExpr( 9) <> 4722366482869645213696_ or 17294 bigintExpr( 256_) ** intExpr( 10) <> 1208925819614629174706176_ or 17295 bigintExpr( 256_) ** intExpr( 11) <> 309485009821345068724781056_ or 17296 bigintExpr( 256_) ** intExpr( 12) <> 79228162514264337593543950336_ or 17297 bigintExpr( 256_) ** intExpr( 13) <> 20282409603651670423947251286016_ or 17298 bigintExpr( 256_) ** intExpr( 14) <> 5192296858534827628530496329220096_ or 17299 bigintExpr( 256_) ** intExpr( 15) <> 1329227995784915872903807060280344576_ or 17300 bigintExpr( 256_) ** intExpr( 16) <> 340282366920938463463374607431768211456_ or 17301 bigintExpr( 256_) ** intExpr( 17) <> 87112285931760246646623899502532662132736_ or 17302 bigintExpr( 256_) ** intExpr( 18) <> 22300745198530623141535718272648361505980416_ or 17303 17304 bigintExpr( 32767_) ** intExpr( 0) <> 1_ or 17305 bigintExpr( 32767_) ** intExpr( 1) <> 32767_ or 17306 bigintExpr( 32767_) ** intExpr( 2) <> 1073676289_ or 17307 bigintExpr( 32767_) ** intExpr( 3) <> 35181150961663_ or 17308 bigintExpr( 32767_) ** intExpr( 4) <> 1152780773560811521_ or 17309 bigintExpr( 32767_) ** intExpr( 5) <> 37773167607267111108607_ or 17310 bigintExpr( 32767_) ** intExpr( 6) <> 1237713382987321429695725569_ or 17311 bigintExpr( 32767_) ** intExpr( 7) <> 40556154420345561286839839719423_ or 17312 bigintExpr( 32767_) ** intExpr( 8) <> 1328903511891463006685881028086333441_ or 17313 bigintExpr( 32767_) ** intExpr( 9) <> 43544181374147568340076263647304887861247_ or 17314 bigintExpr( 32767_) ** intExpr( 10) <> 1426812191086693371799278930931239260549480449_ or 17315 17316 bigintExpr( 32768_) ** intExpr( 0) <> 1_ or 17317 bigintExpr( 32768_) ** intExpr( 1) <> 32768_ or 17318 bigintExpr( 32768_) ** intExpr( 2) <> 1073741824_ or 17319 bigintExpr( 32768_) ** intExpr( 3) <> 35184372088832_ or 17320 bigintExpr( 32768_) ** intExpr( 4) <> 1152921504606846976_ or 17321 bigintExpr( 32768_) ** intExpr( 5) <> 37778931862957161709568_ or 17322 bigintExpr( 32768_) ** intExpr( 6) <> 1237940039285380274899124224_ or 17323 bigintExpr( 32768_) ** intExpr( 7) <> 40564819207303340847894502572032_ or 17324 bigintExpr( 32768_) ** intExpr( 8) <> 1329227995784915872903807060280344576_ or 17325 bigintExpr( 32768_) ** intExpr( 9) <> 43556142965880123323311949751266331066368_ or 17326 bigintExpr( 32768_) ** intExpr( 10) <> 1427247692705959881058285969449495136382746624_ or 17327 17328 bigintExpr( 65535_) ** intExpr( 0) <> 1_ or 17329 bigintExpr( 65535_) ** intExpr( 1) <> 65535_ or 17330 bigintExpr( 65535_) ** intExpr( 2) <> 4294836225_ or 17331 bigintExpr( 65535_) ** intExpr( 3) <> 281462092005375_ or 17332 bigintExpr( 65535_) ** intExpr( 4) <> 18445618199572250625_ or 17333 bigintExpr( 65535_) ** intExpr( 5) <> 1208833588708967444709375_ or 17334 bigintExpr( 65535_) ** intExpr( 6) <> 79220909236042181489028890625_ or 17335 bigintExpr( 65535_) ** intExpr( 7) <> 5191742286784024363883508347109375_ or 17336 bigintExpr( 65535_) ** intExpr( 8) <> 340240830764391036687105719527812890625_ or 17337 bigintExpr( 65535_) ** intExpr( 9) <> 22297682844144366589289473329255217787109375_ or 17338 17339 bigintExpr(4294967295_) ** intExpr(0) <> 1_ or 17340 bigintExpr(4294967295_) ** intExpr(1) <> 4294967295_ or 17341 bigintExpr(4294967295_) ** intExpr(2) <> 18446744065119617025_ or 17342 bigintExpr(4294967295_) ** intExpr(3) <> 79228162458924105385300197375_ or 17343 bigintExpr(4294967295_) ** intExpr(4) <> 340282366604025813516997721482669850625_ or 17344 bigintExpr(4294967295_) ** intExpr(5) <> 1461501635629491084391274140357585917716910309375_ or 17345 bigintExpr(4294967295_) ** intExpr(6) <> 6277101726617670944954607416215071121746690847213956890625_ or 17346 bigintExpr(4294967295_) ** intExpr(7) <> 26959946623210927677651784112208183154001000463259786712774267109375_ or 17347 bigintExpr(4294967295_) ** intExpr(8) <> 115792089021636622262124715160334756877804245386980633020041035952359812890625_ or 17348 17349 bigintExpr(281474976710655_) ** intExpr(0) <> 1_ or 17350 bigintExpr(281474976710655_) ** intExpr(1) <> 281474976710655_ or 17351 bigintExpr(281474976710655_) ** intExpr(2) <> 79228162514263774643590529025_ or 17352 bigintExpr(281474976710655_) ** intExpr(3) <> 22300745198530385457048175480480005804261375_ or 17353 bigintExpr(281474976710655_) ** intExpr(4) <> 6277101735386591560854995301190469248314849750679367450625_ or 17354 bigintExpr(281474976710655_) ** intExpr(5) <> 1766847064778352944074620567562106788865673297677270486428898935623909375_ or 17355 17356 bigintExpr(18446744073709551615_) ** intExpr(0) <> 1_ or 17357 bigintExpr(18446744073709551615_) ** intExpr(1) <> 18446744073709551615_ or 17358 bigintExpr(18446744073709551615_) ** intExpr(2) <> 340282366920938463426481119284349108225_ or 17359 bigintExpr(18446744073709551615_) ** intExpr(3) <> 6277101735386680762814942322444851025767571854389858533375_ or 17360 17361 bigintExpr(-1_) ** intExpr( 0) <> 1_ or 17362 bigintExpr(-1_) ** intExpr( 1) <> -1_ or 17363 bigintExpr(-1_) ** intExpr( 2) <> 1_ or 17364 bigintExpr(-1_) ** intExpr( 3) <> -1_ or 17365 bigintExpr(-1_) ** intExpr( 4) <> 1_ or 17366 bigintExpr(-1_) ** intExpr( 15) <> -1_ or 17367 bigintExpr(-1_) ** intExpr( 16) <> 1_ or 17368 bigintExpr(-1_) ** intExpr( 63) <> -1_ or 17369 bigintExpr(-1_) ** intExpr( 64) <> 1_ or 17370 bigintExpr(-1_) ** intExpr( 99) <> -1_ or 17371 bigintExpr(-1_) ** intExpr(100) <> 1_ or 17372 17373 bigintExpr(-65535_) ** intExpr(0) <> 1_ or 17374 bigintExpr(-65535_) ** intExpr(1) <> -65535_ or 17375 bigintExpr(-65535_) ** intExpr(2) <> 4294836225_ or 17376 bigintExpr(-65535_) ** intExpr(3) <> -281462092005375_ or 17377 bigintExpr(-65535_) ** intExpr(4) <> 18445618199572250625_ or 17378 bigintExpr(-65535_) ** intExpr(5) <> -1208833588708967444709375_ or 17379 bigintExpr(-65535_) ** intExpr(6) <> 79220909236042181489028890625_ or 17380 bigintExpr(-65535_) ** intExpr(7) <> -5191742286784024363883508347109375_ or 17381 bigintExpr(-65535_) ** intExpr(8) <> 340240830764391036687105719527812890625_ or 17382 17383 bigintExpr(-18446744073709551615_) ** intExpr(0) <> 1_ or 17384 bigintExpr(-18446744073709551615_) ** intExpr(1) <> -18446744073709551615_ or 17385 bigintExpr(-18446744073709551615_) ** intExpr(2) <> 340282366920938463426481119284349108225_ or 17386 bigintExpr(-18446744073709551615_) ** intExpr(3) <> -6277101735386680762814942322444851025767571854389858533375_ then 17387 writeln("Power of bigInteger does not work correct."); 17388 okay := FALSE; 17389 end if; 17390 17391 if bigintExpr(1_ << 130) ** 2 <> 1_ << 260 or 17392 bigintExpr(1161340369873035520884048730253466326445886201751996434653427479399910802323027371849057109924586786533938250296147516920378236884141048435357879035639099561834934534337128154577044653202227250618254396894666559478446007380050375364076575603570861069426238825466394537444725481657494563677908582686749_) ** 2 <> 1348711454696838949709367737938366380793371449834458063877697348222391774977144371407384587024336878467697734883495079072103632910975405446082232033634456681533151057781302140222614328986715577027592004926238814520604379703759025578659856593360050133231502185826106407050868269555537614536754415635556514317385077905369966428459006363946017239007406317918928226210391247415201675939445253650842845608903996723367734524459073868885521558748499558821917343696265089415948377085664473742290811050679918760860288180556961216408577721995769912156811281633388366260180065214826817244845771730806031460189001_ or 17393 120256867586748271047375168293728188324494460045600223705147481157539604179964325824446322498693765719156959910820231808463252500979648599536176905375364505254626629487913624517673513613473819155708806903701436591000021551553601591419092198226350722039795751813672774400815896751057461490306899970107333221607517459076348054504157442046802577756143528369925293859873375809726628219074358628939830831246233898189044339346108440400446861489787905114112568596592239218265784818224240837410605233432775241193694755125187116283819563387652711175869673133503443763180480390421707661270752_ ** intExpr(2) <> 120256867586748271047375168293728188324494460045600223705147481157539604179964325824446322498693765719156959910820231808463252500979648599536176905375364505254626629487913624517673513613473819155708806903701436591000021551553601591419092198226350722039795751813672774400815896751057461490306899970107333221607517459076348054504157442046802577756143528369925293859873375809726628219074358628939830831246233898189044339346108440400446861489787905114112568596592239218265784818224240837410605233432775241193694755125187116283819563387652711175869673133503443763180480390421707661270752_ * 120256867586748271047375168293728188324494460045600223705147481157539604179964325824446322498693765719156959910820231808463252500979648599536176905375364505254626629487913624517673513613473819155708806903701436591000021551553601591419092198226350722039795751813672774400815896751057461490306899970107333221607517459076348054504157442046802577756143528369925293859873375809726628219074358628939830831246233898189044339346108440400446861489787905114112568596592239218265784818224240837410605233432775241193694755125187116283819563387652711175869673133503443763180480390421707661270752_ or 17394 bigintExpr(120256867586748271047375168293728188324494460045600223705147481157539604179964325824446322498693765719156959910820231808463252500979648599536176905375364505254626629487913624517673513613473819155708806903701436591000021551553601591419092198226350722039795751813672774400815896751057461490306899970107333221607517459076348054504157442046802577756143528369925293859873375809726628219074358628939830831246233898189044339346108440400446861489787905114112568596592239218265784818224240837410605233432775241193694755125187116283819563387652711175869673133503443763180480390421707661270752_) ** 2 <> 120256867586748271047375168293728188324494460045600223705147481157539604179964325824446322498693765719156959910820231808463252500979648599536176905375364505254626629487913624517673513613473819155708806903701436591000021551553601591419092198226350722039795751813672774400815896751057461490306899970107333221607517459076348054504157442046802577756143528369925293859873375809726628219074358628939830831246233898189044339346108440400446861489787905114112568596592239218265784818224240837410605233432775241193694755125187116283819563387652711175869673133503443763180480390421707661270752_ * 120256867586748271047375168293728188324494460045600223705147481157539604179964325824446322498693765719156959910820231808463252500979648599536176905375364505254626629487913624517673513613473819155708806903701436591000021551553601591419092198226350722039795751813672774400815896751057461490306899970107333221607517459076348054504157442046802577756143528369925293859873375809726628219074358628939830831246233898189044339346108440400446861489787905114112568596592239218265784818224240837410605233432775241193694755125187116283819563387652711175869673133503443763180480390421707661270752_ or 17395 bigintExpr(514098279667722339163434240809284975998719911581783309272748977622873939837259049281278668404377060306863730028955625693731387726908953290576519553694744870036982879590108441151612687361910510948218614663933732069622345439645878398993692284635629537786660832496307083053744379271206603371774229507936_) ** 2 <> 514098279667722339163434240809284975998719911581783309272748977622873939837259049281278668404377060306863730028955625693731387726908953290576519553694744870036982879590108441151612687361910510948218614663933732069622345439645878398993692284635629537786660832496307083053744379271206603371774229507936_ * 514098279667722339163434240809284975998719911581783309272748977622873939837259049281278668404377060306863730028955625693731387726908953290576519553694744870036982879590108441151612687361910510948218614663933732069622345439645878398993692284635629537786660832496307083053744379271206603371774229507936_ then 17396 writeln("Karatsuba square does not work correct."); 17397 okay := FALSE; 17398 end if; 17399 17400 if not raisesNumericError((-18446744073709551617_) ** (-1)) or 17401 not raisesNumericError((-18446744073709551617_) ** (-2)) or 17402 not raisesNumericError((-18446744073709551617_) ** (-23)) or 17403 not raisesNumericError((-18446744073709551617_) ** (-2147483648)) or 17404 not raisesNumericError((-18446744073709551617_) ** integer.first) or 17405 not raisesNumericError( (-97_) ** (-1)) or 17406 not raisesNumericError( (-97_) ** (-2)) or 17407 not raisesNumericError( (-97_) ** (-23)) or 17408 not raisesNumericError( (-97_) ** (-2147483648)) or 17409 not raisesNumericError( (-97_) ** integer.first) or 17410 not raisesNumericError( (-64_) ** (-1)) or 17411 not raisesNumericError( (-64_) ** (-2)) or 17412 not raisesNumericError( (-64_) ** (-23)) or 17413 not raisesNumericError( (-64_) ** (-2147483648)) or 17414 not raisesNumericError( (-64_) ** integer.first) or 17415 not raisesNumericError( (-1_) ** (-1)) or 17416 not raisesNumericError( (-1_) ** (-2)) or 17417 not raisesNumericError( (-1_) ** (-23)) or 17418 not raisesNumericError( (-1_) ** (-2147483648)) or 17419 not raisesNumericError( (-1_) ** integer.first) or 17420 not raisesNumericError( 0_ ** (-1)) or 17421 not raisesNumericError( 0_ ** (-2)) or 17422 not raisesNumericError( 0_ ** (-23)) or 17423 not raisesNumericError( 0_ ** (-2147483648)) or 17424 not raisesNumericError( 0_ ** integer.first) or 17425 not raisesNumericError( 1_ ** (-1)) or 17426 not raisesNumericError( 1_ ** (-2)) or 17427 not raisesNumericError( 1_ ** (-23)) or 17428 not raisesNumericError( 1_ ** (-2147483648)) or 17429 not raisesNumericError( 1_ ** integer.first) or 17430 not raisesNumericError( 64_ ** (-1)) or 17431 not raisesNumericError( 64_ ** (-2)) or 17432 not raisesNumericError( 64_ ** (-23)) or 17433 not raisesNumericError( 64_ ** (-2147483648)) or 17434 not raisesNumericError( 64_ ** integer.first) or 17435 not raisesNumericError( 97_ ** (-1)) or 17436 not raisesNumericError( 97_ ** (-2)) or 17437 not raisesNumericError( 97_ ** (-23)) or 17438 not raisesNumericError( 97_ ** (-2147483648)) or 17439 not raisesNumericError( 97_ ** integer.first) or 17440 not raisesNumericError( 18446744073709551617_ ** (-1)) or 17441 not raisesNumericError( 18446744073709551617_ ** (-2)) or 17442 not raisesNumericError( 18446744073709551617_ ** (-23)) or 17443 not raisesNumericError( 18446744073709551617_ ** (-2147483648)) or 17444 not raisesNumericError( 18446744073709551617_ ** integer.first) or 17445 not raisesNumericError(bigintExpr(-18446744073709551617_) ** (-1)) or 17446 not raisesNumericError(bigintExpr(-18446744073709551617_) ** (-2)) or 17447 not raisesNumericError(bigintExpr(-18446744073709551617_) ** (-23)) or 17448 not raisesNumericError(bigintExpr(-18446744073709551617_) ** (-2147483648)) or 17449 not raisesNumericError(bigintExpr(-18446744073709551617_) ** integer.first) or 17450 not raisesNumericError(bigintExpr( -97_) ** (-1)) or 17451 not raisesNumericError(bigintExpr( -97_) ** (-2)) or 17452 not raisesNumericError(bigintExpr( -97_) ** (-23)) or 17453 not raisesNumericError(bigintExpr( -97_) ** (-2147483648)) or 17454 not raisesNumericError(bigintExpr( -97_) ** integer.first) or 17455 not raisesNumericError(bigintExpr( -64_) ** (-1)) or 17456 not raisesNumericError(bigintExpr( -64_) ** (-2)) or 17457 not raisesNumericError(bigintExpr( -64_) ** (-23)) or 17458 not raisesNumericError(bigintExpr( -64_) ** (-2147483648)) or 17459 not raisesNumericError(bigintExpr( -64_) ** integer.first) or 17460 not raisesNumericError(bigintExpr( -1_) ** (-1)) or 17461 not raisesNumericError(bigintExpr( -1_) ** (-2)) or 17462 not raisesNumericError(bigintExpr( -1_) ** (-23)) or 17463 not raisesNumericError(bigintExpr( -1_) ** (-2147483648)) or 17464 not raisesNumericError(bigintExpr( -1_) ** integer.first) or 17465 not raisesNumericError(bigintExpr( 0_) ** (-1)) or 17466 not raisesNumericError(bigintExpr( 0_) ** (-2)) or 17467 not raisesNumericError(bigintExpr( 0_) ** (-23)) or 17468 not raisesNumericError(bigintExpr( 0_) ** (-2147483648)) or 17469 not raisesNumericError(bigintExpr( 0_) ** integer.first) or 17470 not raisesNumericError(bigintExpr( 1_) ** (-1)) or 17471 not raisesNumericError(bigintExpr( 1_) ** (-2)) or 17472 not raisesNumericError(bigintExpr( 1_) ** (-23)) or 17473 not raisesNumericError(bigintExpr( 1_) ** (-2147483648)) or 17474 not raisesNumericError(bigintExpr( 1_) ** integer.first) or 17475 not raisesNumericError(bigintExpr( 64_) ** (-1)) or 17476 not raisesNumericError(bigintExpr( 64_) ** (-2)) or 17477 not raisesNumericError(bigintExpr( 64_) ** (-23)) or 17478 not raisesNumericError(bigintExpr( 64_) ** (-2147483648)) or 17479 not raisesNumericError(bigintExpr( 64_) ** integer.first) or 17480 not raisesNumericError(bigintExpr( 97_) ** (-1)) or 17481 not raisesNumericError(bigintExpr( 97_) ** (-2)) or 17482 not raisesNumericError(bigintExpr( 97_) ** (-23)) or 17483 not raisesNumericError(bigintExpr( 97_) ** (-2147483648)) or 17484 not raisesNumericError(bigintExpr( 97_) ** integer.first) or 17485 not raisesNumericError(bigintExpr( 18446744073709551617_) ** (-1)) or 17486 not raisesNumericError(bigintExpr( 18446744073709551617_) ** (-2)) or 17487 not raisesNumericError(bigintExpr( 18446744073709551617_) ** (-23)) or 17488 not raisesNumericError(bigintExpr( 18446744073709551617_) ** (-2147483648)) or 17489 not raisesNumericError(bigintExpr( 18446744073709551617_) ** integer.first) or 17490 not raisesNumericError((-18446744073709551617_) ** intExpr( -1)) or 17491 not raisesNumericError((-18446744073709551617_) ** intExpr( -2)) or 17492 not raisesNumericError((-18446744073709551617_) ** intExpr( -23)) or 17493 not raisesNumericError((-18446744073709551617_) ** intExpr( -2147483648)) or 17494 not raisesNumericError((-18446744073709551617_) ** intExpr(integer.first)) or 17495 not raisesNumericError( (-97_) ** intExpr( -1)) or 17496 not raisesNumericError( (-97_) ** intExpr( -2)) or 17497 not raisesNumericError( (-97_) ** intExpr( -23)) or 17498 not raisesNumericError( (-97_) ** intExpr( -2147483648)) or 17499 not raisesNumericError( (-97_) ** intExpr(integer.first)) or 17500 not raisesNumericError( (-64_) ** intExpr( -1)) or 17501 not raisesNumericError( (-64_) ** intExpr( -2)) or 17502 not raisesNumericError( (-64_) ** intExpr( -23)) or 17503 not raisesNumericError( (-64_) ** intExpr( -2147483648)) or 17504 not raisesNumericError( (-64_) ** intExpr(integer.first)) or 17505 not raisesNumericError( (-1_) ** intExpr( -1)) or 17506 not raisesNumericError( (-1_) ** intExpr( -2)) or 17507 not raisesNumericError( (-1_) ** intExpr( -23)) or 17508 not raisesNumericError( (-1_) ** intExpr( -2147483648)) or 17509 not raisesNumericError( (-1_) ** intExpr(integer.first)) or 17510 not raisesNumericError( 0_ ** intExpr( -1)) or 17511 not raisesNumericError( 0_ ** intExpr( -2)) or 17512 not raisesNumericError( 0_ ** intExpr( -23)) or 17513 not raisesNumericError( 0_ ** intExpr( -2147483648)) or 17514 not raisesNumericError( 0_ ** intExpr(integer.first)) or 17515 not raisesNumericError( 1_ ** intExpr( -1)) or 17516 not raisesNumericError( 1_ ** intExpr( -2)) or 17517 not raisesNumericError( 1_ ** intExpr( -23)) or 17518 not raisesNumericError( 1_ ** intExpr( -2147483648)) or 17519 not raisesNumericError( 1_ ** intExpr(integer.first)) or 17520 not raisesNumericError( 64_ ** intExpr( -1)) or 17521 not raisesNumericError( 64_ ** intExpr( -2)) or 17522 not raisesNumericError( 64_ ** intExpr( -23)) or 17523 not raisesNumericError( 64_ ** intExpr( -2147483648)) or 17524 not raisesNumericError( 64_ ** intExpr(integer.first)) or 17525 not raisesNumericError( 97_ ** intExpr( -1)) or 17526 not raisesNumericError( 97_ ** intExpr( -2)) or 17527 not raisesNumericError( 97_ ** intExpr( -23)) or 17528 not raisesNumericError( 97_ ** intExpr( -2147483648)) or 17529 not raisesNumericError( 97_ ** intExpr(integer.first)) or 17530 not raisesNumericError( 18446744073709551617_ ** intExpr( -1)) or 17531 not raisesNumericError( 18446744073709551617_ ** intExpr( -2)) or 17532 not raisesNumericError( 18446744073709551617_ ** intExpr( -23)) or 17533 not raisesNumericError( 18446744073709551617_ ** intExpr( -2147483648)) or 17534 not raisesNumericError( 18446744073709551617_ ** intExpr(integer.first)) or 17535 not raisesNumericError(bigintExpr(-18446744073709551617_) ** intExpr( -1)) or 17536 not raisesNumericError(bigintExpr(-18446744073709551617_) ** intExpr( -2)) or 17537 not raisesNumericError(bigintExpr(-18446744073709551617_) ** intExpr( -23)) or 17538 not raisesNumericError(bigintExpr(-18446744073709551617_) ** intExpr( -2147483648)) or 17539 not raisesNumericError(bigintExpr(-18446744073709551617_) ** intExpr(integer.first)) or 17540 not raisesNumericError(bigintExpr( -97_) ** intExpr( -1)) or 17541 not raisesNumericError(bigintExpr( -97_) ** intExpr( -2)) or 17542 not raisesNumericError(bigintExpr( -97_) ** intExpr( -23)) or 17543 not raisesNumericError(bigintExpr( -97_) ** intExpr( -2147483648)) or 17544 not raisesNumericError(bigintExpr( -97_) ** intExpr(integer.first)) or 17545 not raisesNumericError(bigintExpr( -64_) ** intExpr( -1)) or 17546 not raisesNumericError(bigintExpr( -64_) ** intExpr( -2)) or 17547 not raisesNumericError(bigintExpr( -64_) ** intExpr( -23)) or 17548 not raisesNumericError(bigintExpr( -64_) ** intExpr( -2147483648)) or 17549 not raisesNumericError(bigintExpr( -64_) ** intExpr(integer.first)) or 17550 not raisesNumericError(bigintExpr( -1_) ** intExpr( -1)) or 17551 not raisesNumericError(bigintExpr( -1_) ** intExpr( -2)) or 17552 not raisesNumericError(bigintExpr( -1_) ** intExpr( -23)) or 17553 not raisesNumericError(bigintExpr( -1_) ** intExpr( -2147483648)) or 17554 not raisesNumericError(bigintExpr( -1_) ** intExpr(integer.first)) or 17555 not raisesNumericError(bigintExpr( 0_) ** intExpr( -1)) or 17556 not raisesNumericError(bigintExpr( 0_) ** intExpr( -2)) or 17557 not raisesNumericError(bigintExpr( 0_) ** intExpr( -23)) or 17558 not raisesNumericError(bigintExpr( 0_) ** intExpr( -2147483648)) or 17559 not raisesNumericError(bigintExpr( 0_) ** intExpr(integer.first)) or 17560 not raisesNumericError(bigintExpr( 1_) ** intExpr( -1)) or 17561 not raisesNumericError(bigintExpr( 1_) ** intExpr( -2)) or 17562 not raisesNumericError(bigintExpr( 1_) ** intExpr( -23)) or 17563 not raisesNumericError(bigintExpr( 1_) ** intExpr( -2147483648)) or 17564 not raisesNumericError(bigintExpr( 1_) ** intExpr(integer.first)) or 17565 not raisesNumericError(bigintExpr( 64_) ** intExpr( -1)) or 17566 not raisesNumericError(bigintExpr( 64_) ** intExpr( -2)) or 17567 not raisesNumericError(bigintExpr( 64_) ** intExpr( -23)) or 17568 not raisesNumericError(bigintExpr( 64_) ** intExpr( -2147483648)) or 17569 not raisesNumericError(bigintExpr( 64_) ** intExpr(integer.first)) or 17570 not raisesNumericError(bigintExpr( 97_) ** intExpr( -1)) or 17571 not raisesNumericError(bigintExpr( 97_) ** intExpr( -2)) or 17572 not raisesNumericError(bigintExpr( 97_) ** intExpr( -23)) or 17573 not raisesNumericError(bigintExpr( 97_) ** intExpr( -2147483648)) or 17574 not raisesNumericError(bigintExpr( 97_) ** intExpr(integer.first)) or 17575 not raisesNumericError(bigintExpr( 18446744073709551617_) ** intExpr( -1)) or 17576 not raisesNumericError(bigintExpr( 18446744073709551617_) ** intExpr( -2)) or 17577 not raisesNumericError(bigintExpr( 18446744073709551617_) ** intExpr( -23)) or 17578 not raisesNumericError(bigintExpr( 18446744073709551617_) ** intExpr( -2147483648)) or 17579 not raisesNumericError(bigintExpr( 18446744073709551617_) ** intExpr(integer.first)) then 17580 writeln(" ***** Power of bigInteger with negative exponent does not raise NUMERIC_ERROR."); 17581 okay := FALSE; 17582 end if; 17583 17584 if okay then 17585 writeln("Power of bigInteger works correct."); 17586 else 17587 writeln(" ***** Power of bigInteger does not work correct."); 17588 writeln; 17589 end if; 17590 end func; 17591 17592 17593const proc: chkFactorial is func 17594 local 17595 var boolean: okay is TRUE; 17596 var bigInteger: number is 0_; 17597 var bigInteger: fact is 0_; 17598 begin 17599 okay := TRUE; 17600 if !0 <> 1 then 17601 okay := FALSE; 17602 else 17603 fact := 1_; 17604 for number range 1_ to 100_ do 17605 fact *:= number; 17606 if !number <> fact then 17607 write(" ***** !"); 17608 write(number); 17609 writeln(" is not correct computed."); 17610 okay := FALSE; 17611 end if; 17612 end for; 17613 end if; 17614 17615 if not raisesNumericError(! ( -1_)) or 17616 not raisesNumericError(! ( -2147483647_)) or 17617 not raisesNumericError(! ( -2147483648_)) or 17618 not raisesNumericError(! ( -4294967295_)) or 17619 not raisesNumericError(! ( -4294967296_)) or 17620 not raisesNumericError(! (-9223372036854775808_)) or 17621 not raisesNumericError(! bigintExpr( -1_)) or 17622 not raisesNumericError(! bigintExpr( -2147483647_)) or 17623 not raisesNumericError(! bigintExpr( -2147483648_)) or 17624 not raisesNumericError(! bigintExpr( -4294967295_)) or 17625 not raisesNumericError(! bigintExpr( -4294967296_)) or 17626 not raisesNumericError(! bigintExpr(-9223372036854775808_)) then 17627 writeln(" ***** Factorial of negative number does not raise NUMERIC_ERROR."); 17628 okay := FALSE; 17629 end if; 17630 17631 if okay then 17632 writeln("Factorial of bigInteger works correct."); 17633 end if; 17634 end func; 17635 17636 17637const proc: chkBinom is func 17638 local 17639 var boolean: okay is TRUE; 17640 var bigInteger: n is 0_; 17641 var bigInteger: k is 0_; 17642 begin 17643 okay := TRUE; 17644 for n range 0_ to 100_ do 17645 for k range 0_ to n do 17646 if n ! k <> !n div (!(n - k) * !k) then 17647 write(" ***** "); 17648 write(n); 17649 write(" ! "); 17650 write(k); 17651 writeln(" is not correct computed."); 17652 okay := FALSE; 17653 end if; 17654 end for; 17655 for k range succ(n) to 100_ do 17656 if n ! k <> 0_ then 17657 write(" ***** "); 17658 write(n); 17659 write(" ! "); 17660 write(k); 17661 writeln(" is not correct computed."); 17662 okay := FALSE; 17663 end if; 17664 end for; 17665 end for; 17666 17667 if okay then 17668 writeln("Binomial coefficient of bigInteger works correct."); 17669 else 17670 writeln(" ***** Binomial coefficient of bigInteger does not work correct."); 17671 writeln; 17672 end if; 17673 end func; 17674 17675 17676const proc: chkCompare is func 17677 local 17678 var boolean: okay is TRUE; 17679 begin 17680 if compare(-4294967298_, -4294967298_) <> 0 or 17681 compare(-4294967298_, -4294967297_) <> -1 or 17682 compare(-4294967298_, -4294967296_) <> -1 or 17683 compare(-4294967298_, -4294967295_) <> -1 or 17684 compare(-4294967298_, -4294967294_) <> -1 or 17685 compare(-4294967298_, -2_) <> -1 or 17686 compare(-4294967298_, -1_) <> -1 or 17687 compare(-4294967298_, 0_) <> -1 or 17688 compare(-4294967298_, 1_) <> -1 or 17689 compare(-4294967298_, 2_) <> -1 or 17690 compare(-4294967298_, 4294967294_) <> -1 or 17691 compare(-4294967298_, 4294967295_) <> -1 or 17692 compare(-4294967298_, 4294967296_) <> -1 or 17693 compare(-4294967298_, 4294967297_) <> -1 or 17694 compare(-4294967298_, 4294967298_) <> -1 or 17695 compare(-4294967297_, -4294967298_) <> 1 or 17696 compare(-4294967297_, -4294967297_) <> 0 or 17697 compare(-4294967297_, -4294967296_) <> -1 or 17698 compare(-4294967297_, -4294967295_) <> -1 or 17699 compare(-4294967297_, -4294967294_) <> -1 or 17700 compare(-4294967297_, -2_) <> -1 or 17701 compare(-4294967297_, -1_) <> -1 or 17702 compare(-4294967297_, 0_) <> -1 or 17703 compare(-4294967297_, 1_) <> -1 or 17704 compare(-4294967297_, 2_) <> -1 or 17705 compare(-4294967297_, 4294967294_) <> -1 or 17706 compare(-4294967297_, 4294967295_) <> -1 or 17707 compare(-4294967297_, 4294967296_) <> -1 or 17708 compare(-4294967297_, 4294967297_) <> -1 or 17709 compare(-4294967297_, 4294967298_) <> -1 or 17710 compare(-4294967296_, -4294967298_) <> 1 or 17711 compare(-4294967296_, -4294967297_) <> 1 or 17712 compare(-4294967296_, -4294967296_) <> 0 or 17713 compare(-4294967296_, -4294967295_) <> -1 or 17714 compare(-4294967296_, -4294967294_) <> -1 or 17715 compare(-4294967296_, -2_) <> -1 or 17716 compare(-4294967296_, -1_) <> -1 or 17717 compare(-4294967296_, 0_) <> -1 or 17718 compare(-4294967296_, 1_) <> -1 or 17719 compare(-4294967296_, 2_) <> -1 or 17720 compare(-4294967296_, 4294967294_) <> -1 or 17721 compare(-4294967296_, 4294967295_) <> -1 or 17722 compare(-4294967296_, 4294967296_) <> -1 or 17723 compare(-4294967296_, 4294967297_) <> -1 or 17724 compare(-4294967296_, 4294967298_) <> -1 or 17725 compare(-4294967295_, -4294967298_) <> 1 or 17726 compare(-4294967295_, -4294967297_) <> 1 or 17727 compare(-4294967295_, -4294967296_) <> 1 or 17728 compare(-4294967295_, -4294967295_) <> 0 or 17729 compare(-4294967295_, -4294967294_) <> -1 or 17730 compare(-4294967295_, -2_) <> -1 or 17731 compare(-4294967295_, -1_) <> -1 or 17732 compare(-4294967295_, 0_) <> -1 or 17733 compare(-4294967295_, 1_) <> -1 or 17734 compare(-4294967295_, 2_) <> -1 or 17735 compare(-4294967295_, 4294967294_) <> -1 or 17736 compare(-4294967295_, 4294967295_) <> -1 or 17737 compare(-4294967295_, 4294967296_) <> -1 or 17738 compare(-4294967295_, 4294967297_) <> -1 or 17739 compare(-4294967295_, 4294967298_) <> -1 or 17740 compare(-4294967294_, -4294967298_) <> 1 or 17741 compare(-4294967294_, -4294967297_) <> 1 or 17742 compare(-4294967294_, -4294967296_) <> 1 or 17743 compare(-4294967294_, -4294967295_) <> 1 or 17744 compare(-4294967294_, -4294967294_) <> 0 or 17745 compare(-4294967294_, -2_) <> -1 or 17746 compare(-4294967294_, -1_) <> -1 or 17747 compare(-4294967294_, 0_) <> -1 or 17748 compare(-4294967294_, 1_) <> -1 or 17749 compare(-4294967294_, 2_) <> -1 or 17750 compare(-4294967294_, 4294967294_) <> -1 or 17751 compare(-4294967294_, 4294967295_) <> -1 or 17752 compare(-4294967294_, 4294967296_) <> -1 or 17753 compare(-4294967294_, 4294967297_) <> -1 or 17754 compare(-4294967294_, 4294967298_) <> -1 or 17755 compare( -2_, -4294967298_) <> 1 or 17756 compare( -2_, -4294967297_) <> 1 or 17757 compare( -2_, -4294967296_) <> 1 or 17758 compare( -2_, -4294967295_) <> 1 or 17759 compare( -2_, -4294967294_) <> 1 or 17760 compare( -2_, -2_) <> 0 or 17761 compare( -2_, -1_) <> -1 or 17762 compare( -2_, 0_) <> -1 or 17763 compare( -2_, 1_) <> -1 or 17764 compare( -2_, 2_) <> -1 or 17765 compare( -2_, 4294967294_) <> -1 or 17766 compare( -2_, 4294967295_) <> -1 or 17767 compare( -2_, 4294967296_) <> -1 or 17768 compare( -2_, 4294967297_) <> -1 or 17769 compare( -2_, 4294967298_) <> -1 or 17770 compare( -1_, -4294967298_) <> 1 or 17771 compare( -1_, -4294967297_) <> 1 or 17772 compare( -1_, -4294967296_) <> 1 or 17773 compare( -1_, -4294967295_) <> 1 or 17774 compare( -1_, -4294967294_) <> 1 or 17775 compare( -1_, -2_) <> 1 or 17776 compare( -1_, -1_) <> 0 or 17777 compare( -1_, 0_) <> -1 or 17778 compare( -1_, 1_) <> -1 or 17779 compare( -1_, 2_) <> -1 or 17780 compare( -1_, 4294967294_) <> -1 or 17781 compare( -1_, 4294967295_) <> -1 or 17782 compare( -1_, 4294967296_) <> -1 or 17783 compare( -1_, 4294967297_) <> -1 or 17784 compare( -1_, 4294967298_) <> -1 or 17785 compare( 0_, -4294967298_) <> 1 or 17786 compare( 0_, -4294967297_) <> 1 or 17787 compare( 0_, -4294967296_) <> 1 or 17788 compare( 0_, -4294967295_) <> 1 or 17789 compare( 0_, -4294967294_) <> 1 or 17790 compare( 0_, -2_) <> 1 or 17791 compare( 0_, -1_) <> 1 or 17792 compare( 0_, 0_) <> 0 or 17793 compare( 0_, 1_) <> -1 or 17794 compare( 0_, 2_) <> -1 or 17795 compare( 0_, 4294967294_) <> -1 or 17796 compare( 0_, 4294967295_) <> -1 or 17797 compare( 0_, 4294967296_) <> -1 or 17798 compare( 0_, 4294967297_) <> -1 or 17799 compare( 0_, 4294967298_) <> -1 or 17800 compare( 1_, -4294967298_) <> 1 or 17801 compare( 1_, -4294967297_) <> 1 or 17802 compare( 1_, -4294967296_) <> 1 or 17803 compare( 1_, -4294967295_) <> 1 or 17804 compare( 1_, -4294967294_) <> 1 or 17805 compare( 1_, -2_) <> 1 or 17806 compare( 1_, -1_) <> 1 or 17807 compare( 1_, 0_) <> 1 or 17808 compare( 1_, 1_) <> 0 or 17809 compare( 1_, 2_) <> -1 or 17810 compare( 1_, 4294967294_) <> -1 or 17811 compare( 1_, 4294967295_) <> -1 or 17812 compare( 1_, 4294967296_) <> -1 or 17813 compare( 1_, 4294967297_) <> -1 or 17814 compare( 1_, 4294967298_) <> -1 or 17815 compare( 2_, -4294967298_) <> 1 or 17816 compare( 2_, -4294967297_) <> 1 or 17817 compare( 2_, -4294967296_) <> 1 or 17818 compare( 2_, -4294967295_) <> 1 or 17819 compare( 2_, -4294967294_) <> 1 or 17820 compare( 2_, -2_) <> 1 or 17821 compare( 2_, -1_) <> 1 or 17822 compare( 2_, 0_) <> 1 or 17823 compare( 2_, 1_) <> 1 or 17824 compare( 2_, 2_) <> 0 or 17825 compare( 2_, 4294967294_) <> -1 or 17826 compare( 2_, 4294967295_) <> -1 or 17827 compare( 2_, 4294967296_) <> -1 or 17828 compare( 2_, 4294967297_) <> -1 or 17829 compare( 2_, 4294967298_) <> -1 or 17830 compare( 4294967294_, -4294967298_) <> 1 or 17831 compare( 4294967294_, -4294967297_) <> 1 or 17832 compare( 4294967294_, -4294967296_) <> 1 or 17833 compare( 4294967294_, -4294967295_) <> 1 or 17834 compare( 4294967294_, -4294967294_) <> 1 or 17835 compare( 4294967294_, -2_) <> 1 or 17836 compare( 4294967294_, -1_) <> 1 or 17837 compare( 4294967294_, 0_) <> 1 or 17838 compare( 4294967294_, 1_) <> 1 or 17839 compare( 4294967294_, 2_) <> 1 or 17840 compare( 4294967294_, 4294967294_) <> 0 or 17841 compare( 4294967294_, 4294967295_) <> -1 or 17842 compare( 4294967294_, 4294967296_) <> -1 or 17843 compare( 4294967294_, 4294967297_) <> -1 or 17844 compare( 4294967294_, 4294967298_) <> -1 or 17845 compare( 4294967295_, -4294967298_) <> 1 or 17846 compare( 4294967295_, -4294967297_) <> 1 or 17847 compare( 4294967295_, -4294967296_) <> 1 or 17848 compare( 4294967295_, -4294967295_) <> 1 or 17849 compare( 4294967295_, -4294967294_) <> 1 or 17850 compare( 4294967295_, -2_) <> 1 or 17851 compare( 4294967295_, -1_) <> 1 or 17852 compare( 4294967295_, 0_) <> 1 or 17853 compare( 4294967295_, 1_) <> 1 or 17854 compare( 4294967295_, 2_) <> 1 or 17855 compare( 4294967295_, 4294967294_) <> 1 or 17856 compare( 4294967295_, 4294967295_) <> 0 or 17857 compare( 4294967295_, 4294967296_) <> -1 or 17858 compare( 4294967295_, 4294967297_) <> -1 or 17859 compare( 4294967295_, 4294967298_) <> -1 or 17860 compare( 4294967296_, -4294967298_) <> 1 or 17861 compare( 4294967296_, -4294967297_) <> 1 or 17862 compare( 4294967296_, -4294967296_) <> 1 or 17863 compare( 4294967296_, -4294967295_) <> 1 or 17864 compare( 4294967296_, -4294967294_) <> 1 or 17865 compare( 4294967296_, -2_) <> 1 or 17866 compare( 4294967296_, -1_) <> 1 or 17867 compare( 4294967296_, 0_) <> 1 or 17868 compare( 4294967296_, 1_) <> 1 or 17869 compare( 4294967296_, 2_) <> 1 or 17870 compare( 4294967296_, 4294967294_) <> 1 or 17871 compare( 4294967296_, 4294967295_) <> 1 or 17872 compare( 4294967296_, 4294967296_) <> 0 or 17873 compare( 4294967296_, 4294967297_) <> -1 or 17874 compare( 4294967296_, 4294967298_) <> -1 or 17875 compare( 4294967297_, -4294967298_) <> 1 or 17876 compare( 4294967297_, -4294967297_) <> 1 or 17877 compare( 4294967297_, -4294967296_) <> 1 or 17878 compare( 4294967297_, -4294967295_) <> 1 or 17879 compare( 4294967297_, -4294967294_) <> 1 or 17880 compare( 4294967297_, -2_) <> 1 or 17881 compare( 4294967297_, -1_) <> 1 or 17882 compare( 4294967297_, 0_) <> 1 or 17883 compare( 4294967297_, 1_) <> 1 or 17884 compare( 4294967297_, 2_) <> 1 or 17885 compare( 4294967297_, 4294967294_) <> 1 or 17886 compare( 4294967296_, 4294967295_) <> 1 or 17887 compare( 4294967297_, 4294967296_) <> 1 or 17888 compare( 4294967297_, 4294967297_) <> 0 or 17889 compare( 4294967297_, 4294967298_) <> -1 or 17890 compare( 4294967298_, -4294967298_) <> 1 or 17891 compare( 4294967298_, -4294967297_) <> 1 or 17892 compare( 4294967298_, -4294967296_) <> 1 or 17893 compare( 4294967298_, -4294967295_) <> 1 or 17894 compare( 4294967298_, -4294967294_) <> 1 or 17895 compare( 4294967298_, -2_) <> 1 or 17896 compare( 4294967298_, -1_) <> 1 or 17897 compare( 4294967298_, 0_) <> 1 or 17898 compare( 4294967298_, 1_) <> 1 or 17899 compare( 4294967298_, 2_) <> 1 or 17900 compare( 4294967298_, 4294967294_) <> 1 or 17901 compare( 4294967298_, 4294967295_) <> 1 or 17902 compare( 4294967298_, 4294967296_) <> 1 or 17903 compare( 4294967298_, 4294967297_) <> 1 or 17904 compare( 4294967298_, 4294967298_) <> 0 then 17905 writeln("The bigInteger compare does not work correct."); 17906 okay := FALSE; 17907 end if; 17908 17909 if compare(bigintExpr(-4294967298_), -4294967298_) <> 0 or 17910 compare(bigintExpr(-4294967298_), -4294967297_) <> -1 or 17911 compare(bigintExpr(-4294967298_), -4294967296_) <> -1 or 17912 compare(bigintExpr(-4294967298_), -4294967295_) <> -1 or 17913 compare(bigintExpr(-4294967298_), -4294967294_) <> -1 or 17914 compare(bigintExpr(-4294967298_), -2_) <> -1 or 17915 compare(bigintExpr(-4294967298_), -1_) <> -1 or 17916 compare(bigintExpr(-4294967298_), 0_) <> -1 or 17917 compare(bigintExpr(-4294967298_), 1_) <> -1 or 17918 compare(bigintExpr(-4294967298_), 2_) <> -1 or 17919 compare(bigintExpr(-4294967298_), 4294967294_) <> -1 or 17920 compare(bigintExpr(-4294967298_), 4294967295_) <> -1 or 17921 compare(bigintExpr(-4294967298_), 4294967296_) <> -1 or 17922 compare(bigintExpr(-4294967298_), 4294967297_) <> -1 or 17923 compare(bigintExpr(-4294967298_), 4294967298_) <> -1 or 17924 compare(bigintExpr(-4294967297_), -4294967298_) <> 1 or 17925 compare(bigintExpr(-4294967297_), -4294967297_) <> 0 or 17926 compare(bigintExpr(-4294967297_), -4294967296_) <> -1 or 17927 compare(bigintExpr(-4294967297_), -4294967295_) <> -1 or 17928 compare(bigintExpr(-4294967297_), -4294967294_) <> -1 or 17929 compare(bigintExpr(-4294967297_), -2_) <> -1 or 17930 compare(bigintExpr(-4294967297_), -1_) <> -1 or 17931 compare(bigintExpr(-4294967297_), 0_) <> -1 or 17932 compare(bigintExpr(-4294967297_), 1_) <> -1 or 17933 compare(bigintExpr(-4294967297_), 2_) <> -1 or 17934 compare(bigintExpr(-4294967297_), 4294967294_) <> -1 or 17935 compare(bigintExpr(-4294967297_), 4294967295_) <> -1 or 17936 compare(bigintExpr(-4294967297_), 4294967296_) <> -1 or 17937 compare(bigintExpr(-4294967297_), 4294967297_) <> -1 or 17938 compare(bigintExpr(-4294967297_), 4294967298_) <> -1 or 17939 compare(bigintExpr(-4294967296_), -4294967298_) <> 1 or 17940 compare(bigintExpr(-4294967296_), -4294967297_) <> 1 or 17941 compare(bigintExpr(-4294967296_), -4294967296_) <> 0 or 17942 compare(bigintExpr(-4294967296_), -4294967295_) <> -1 or 17943 compare(bigintExpr(-4294967296_), -4294967294_) <> -1 or 17944 compare(bigintExpr(-4294967296_), -2_) <> -1 or 17945 compare(bigintExpr(-4294967296_), -1_) <> -1 or 17946 compare(bigintExpr(-4294967296_), 0_) <> -1 or 17947 compare(bigintExpr(-4294967296_), 1_) <> -1 or 17948 compare(bigintExpr(-4294967296_), 2_) <> -1 or 17949 compare(bigintExpr(-4294967296_), 4294967294_) <> -1 or 17950 compare(bigintExpr(-4294967296_), 4294967295_) <> -1 or 17951 compare(bigintExpr(-4294967296_), 4294967296_) <> -1 or 17952 compare(bigintExpr(-4294967296_), 4294967297_) <> -1 or 17953 compare(bigintExpr(-4294967296_), 4294967298_) <> -1 or 17954 compare(bigintExpr(-4294967295_), -4294967298_) <> 1 or 17955 compare(bigintExpr(-4294967295_), -4294967297_) <> 1 or 17956 compare(bigintExpr(-4294967295_), -4294967296_) <> 1 or 17957 compare(bigintExpr(-4294967295_), -4294967295_) <> 0 or 17958 compare(bigintExpr(-4294967295_), -4294967294_) <> -1 or 17959 compare(bigintExpr(-4294967295_), -2_) <> -1 or 17960 compare(bigintExpr(-4294967295_), -1_) <> -1 or 17961 compare(bigintExpr(-4294967295_), 0_) <> -1 or 17962 compare(bigintExpr(-4294967295_), 1_) <> -1 or 17963 compare(bigintExpr(-4294967295_), 2_) <> -1 or 17964 compare(bigintExpr(-4294967295_), 4294967294_) <> -1 or 17965 compare(bigintExpr(-4294967295_), 4294967295_) <> -1 or 17966 compare(bigintExpr(-4294967295_), 4294967296_) <> -1 or 17967 compare(bigintExpr(-4294967295_), 4294967297_) <> -1 or 17968 compare(bigintExpr(-4294967295_), 4294967298_) <> -1 or 17969 compare(bigintExpr(-4294967294_), -4294967298_) <> 1 or 17970 compare(bigintExpr(-4294967294_), -4294967297_) <> 1 or 17971 compare(bigintExpr(-4294967294_), -4294967296_) <> 1 or 17972 compare(bigintExpr(-4294967294_), -4294967295_) <> 1 or 17973 compare(bigintExpr(-4294967294_), -4294967294_) <> 0 or 17974 compare(bigintExpr(-4294967294_), -2_) <> -1 or 17975 compare(bigintExpr(-4294967294_), -1_) <> -1 or 17976 compare(bigintExpr(-4294967294_), 0_) <> -1 or 17977 compare(bigintExpr(-4294967294_), 1_) <> -1 or 17978 compare(bigintExpr(-4294967294_), 2_) <> -1 or 17979 compare(bigintExpr(-4294967294_), 4294967294_) <> -1 or 17980 compare(bigintExpr(-4294967294_), 4294967295_) <> -1 or 17981 compare(bigintExpr(-4294967294_), 4294967296_) <> -1 or 17982 compare(bigintExpr(-4294967294_), 4294967297_) <> -1 or 17983 compare(bigintExpr(-4294967294_), 4294967298_) <> -1 or 17984 compare(bigintExpr( -2_), -4294967298_) <> 1 or 17985 compare(bigintExpr( -2_), -4294967297_) <> 1 or 17986 compare(bigintExpr( -2_), -4294967296_) <> 1 or 17987 compare(bigintExpr( -2_), -4294967295_) <> 1 or 17988 compare(bigintExpr( -2_), -4294967294_) <> 1 or 17989 compare(bigintExpr( -2_), -2_) <> 0 or 17990 compare(bigintExpr( -2_), -1_) <> -1 or 17991 compare(bigintExpr( -2_), 0_) <> -1 or 17992 compare(bigintExpr( -2_), 1_) <> -1 or 17993 compare(bigintExpr( -2_), 2_) <> -1 or 17994 compare(bigintExpr( -2_), 4294967294_) <> -1 or 17995 compare(bigintExpr( -2_), 4294967295_) <> -1 or 17996 compare(bigintExpr( -2_), 4294967296_) <> -1 or 17997 compare(bigintExpr( -2_), 4294967297_) <> -1 or 17998 compare(bigintExpr( -2_), 4294967298_) <> -1 or 17999 compare(bigintExpr( -1_), -4294967298_) <> 1 or 18000 compare(bigintExpr( -1_), -4294967297_) <> 1 or 18001 compare(bigintExpr( -1_), -4294967296_) <> 1 or 18002 compare(bigintExpr( -1_), -4294967295_) <> 1 or 18003 compare(bigintExpr( -1_), -4294967294_) <> 1 or 18004 compare(bigintExpr( -1_), -2_) <> 1 or 18005 compare(bigintExpr( -1_), -1_) <> 0 or 18006 compare(bigintExpr( -1_), 0_) <> -1 or 18007 compare(bigintExpr( -1_), 1_) <> -1 or 18008 compare(bigintExpr( -1_), 2_) <> -1 or 18009 compare(bigintExpr( -1_), 4294967294_) <> -1 or 18010 compare(bigintExpr( -1_), 4294967295_) <> -1 or 18011 compare(bigintExpr( -1_), 4294967296_) <> -1 or 18012 compare(bigintExpr( -1_), 4294967297_) <> -1 or 18013 compare(bigintExpr( -1_), 4294967298_) <> -1 or 18014 compare(bigintExpr( 0_), -4294967298_) <> 1 or 18015 compare(bigintExpr( 0_), -4294967297_) <> 1 or 18016 compare(bigintExpr( 0_), -4294967296_) <> 1 or 18017 compare(bigintExpr( 0_), -4294967295_) <> 1 or 18018 compare(bigintExpr( 0_), -4294967294_) <> 1 or 18019 compare(bigintExpr( 0_), -2_) <> 1 or 18020 compare(bigintExpr( 0_), -1_) <> 1 or 18021 compare(bigintExpr( 0_), 0_) <> 0 or 18022 compare(bigintExpr( 0_), 1_) <> -1 or 18023 compare(bigintExpr( 0_), 2_) <> -1 or 18024 compare(bigintExpr( 0_), 4294967294_) <> -1 or 18025 compare(bigintExpr( 0_), 4294967295_) <> -1 or 18026 compare(bigintExpr( 0_), 4294967296_) <> -1 or 18027 compare(bigintExpr( 0_), 4294967297_) <> -1 or 18028 compare(bigintExpr( 0_), 4294967298_) <> -1 or 18029 compare(bigintExpr( 1_), -4294967298_) <> 1 or 18030 compare(bigintExpr( 1_), -4294967297_) <> 1 or 18031 compare(bigintExpr( 1_), -4294967296_) <> 1 or 18032 compare(bigintExpr( 1_), -4294967295_) <> 1 or 18033 compare(bigintExpr( 1_), -4294967294_) <> 1 or 18034 compare(bigintExpr( 1_), -2_) <> 1 or 18035 compare(bigintExpr( 1_), -1_) <> 1 or 18036 compare(bigintExpr( 1_), 0_) <> 1 or 18037 compare(bigintExpr( 1_), 1_) <> 0 or 18038 compare(bigintExpr( 1_), 2_) <> -1 or 18039 compare(bigintExpr( 1_), 4294967294_) <> -1 or 18040 compare(bigintExpr( 1_), 4294967295_) <> -1 or 18041 compare(bigintExpr( 1_), 4294967296_) <> -1 or 18042 compare(bigintExpr( 1_), 4294967297_) <> -1 or 18043 compare(bigintExpr( 1_), 4294967298_) <> -1 or 18044 compare(bigintExpr( 2_), -4294967298_) <> 1 or 18045 compare(bigintExpr( 2_), -4294967297_) <> 1 or 18046 compare(bigintExpr( 2_), -4294967296_) <> 1 or 18047 compare(bigintExpr( 2_), -4294967295_) <> 1 or 18048 compare(bigintExpr( 2_), -4294967294_) <> 1 or 18049 compare(bigintExpr( 2_), -2_) <> 1 or 18050 compare(bigintExpr( 2_), -1_) <> 1 or 18051 compare(bigintExpr( 2_), 0_) <> 1 or 18052 compare(bigintExpr( 2_), 1_) <> 1 or 18053 compare(bigintExpr( 2_), 2_) <> 0 or 18054 compare(bigintExpr( 2_), 4294967294_) <> -1 or 18055 compare(bigintExpr( 2_), 4294967295_) <> -1 or 18056 compare(bigintExpr( 2_), 4294967296_) <> -1 or 18057 compare(bigintExpr( 2_), 4294967297_) <> -1 or 18058 compare(bigintExpr( 2_), 4294967298_) <> -1 or 18059 compare(bigintExpr( 4294967294_), -4294967298_) <> 1 or 18060 compare(bigintExpr( 4294967294_), -4294967297_) <> 1 or 18061 compare(bigintExpr( 4294967294_), -4294967296_) <> 1 or 18062 compare(bigintExpr( 4294967294_), -4294967295_) <> 1 or 18063 compare(bigintExpr( 4294967294_), -4294967294_) <> 1 or 18064 compare(bigintExpr( 4294967294_), -2_) <> 1 or 18065 compare(bigintExpr( 4294967294_), -1_) <> 1 or 18066 compare(bigintExpr( 4294967294_), 0_) <> 1 or 18067 compare(bigintExpr( 4294967294_), 1_) <> 1 or 18068 compare(bigintExpr( 4294967294_), 2_) <> 1 or 18069 compare(bigintExpr( 4294967294_), 4294967294_) <> 0 or 18070 compare(bigintExpr( 4294967294_), 4294967295_) <> -1 or 18071 compare(bigintExpr( 4294967294_), 4294967296_) <> -1 or 18072 compare(bigintExpr( 4294967294_), 4294967297_) <> -1 or 18073 compare(bigintExpr( 4294967294_), 4294967298_) <> -1 or 18074 compare(bigintExpr( 4294967295_), -4294967298_) <> 1 or 18075 compare(bigintExpr( 4294967295_), -4294967297_) <> 1 or 18076 compare(bigintExpr( 4294967295_), -4294967296_) <> 1 or 18077 compare(bigintExpr( 4294967295_), -4294967295_) <> 1 or 18078 compare(bigintExpr( 4294967295_), -4294967294_) <> 1 or 18079 compare(bigintExpr( 4294967295_), -2_) <> 1 or 18080 compare(bigintExpr( 4294967295_), -1_) <> 1 or 18081 compare(bigintExpr( 4294967295_), 0_) <> 1 or 18082 compare(bigintExpr( 4294967295_), 1_) <> 1 or 18083 compare(bigintExpr( 4294967295_), 2_) <> 1 or 18084 compare(bigintExpr( 4294967295_), 4294967294_) <> 1 or 18085 compare(bigintExpr( 4294967295_), 4294967295_) <> 0 or 18086 compare(bigintExpr( 4294967295_), 4294967296_) <> -1 or 18087 compare(bigintExpr( 4294967295_), 4294967297_) <> -1 or 18088 compare(bigintExpr( 4294967295_), 4294967298_) <> -1 or 18089 compare(bigintExpr( 4294967296_), -4294967298_) <> 1 or 18090 compare(bigintExpr( 4294967296_), -4294967297_) <> 1 or 18091 compare(bigintExpr( 4294967296_), -4294967296_) <> 1 or 18092 compare(bigintExpr( 4294967296_), -4294967295_) <> 1 or 18093 compare(bigintExpr( 4294967296_), -4294967294_) <> 1 or 18094 compare(bigintExpr( 4294967296_), -2_) <> 1 or 18095 compare(bigintExpr( 4294967296_), -1_) <> 1 or 18096 compare(bigintExpr( 4294967296_), 0_) <> 1 or 18097 compare(bigintExpr( 4294967296_), 1_) <> 1 or 18098 compare(bigintExpr( 4294967296_), 2_) <> 1 or 18099 compare(bigintExpr( 4294967296_), 4294967294_) <> 1 or 18100 compare(bigintExpr( 4294967296_), 4294967295_) <> 1 or 18101 compare(bigintExpr( 4294967296_), 4294967296_) <> 0 or 18102 compare(bigintExpr( 4294967296_), 4294967297_) <> -1 or 18103 compare(bigintExpr( 4294967296_), 4294967298_) <> -1 or 18104 compare(bigintExpr( 4294967297_), -4294967298_) <> 1 or 18105 compare(bigintExpr( 4294967297_), -4294967297_) <> 1 or 18106 compare(bigintExpr( 4294967297_), -4294967296_) <> 1 or 18107 compare(bigintExpr( 4294967297_), -4294967295_) <> 1 or 18108 compare(bigintExpr( 4294967297_), -4294967294_) <> 1 or 18109 compare(bigintExpr( 4294967297_), -2_) <> 1 or 18110 compare(bigintExpr( 4294967297_), -1_) <> 1 or 18111 compare(bigintExpr( 4294967297_), 0_) <> 1 or 18112 compare(bigintExpr( 4294967297_), 1_) <> 1 or 18113 compare(bigintExpr( 4294967297_), 2_) <> 1 or 18114 compare(bigintExpr( 4294967297_), 4294967294_) <> 1 or 18115 compare(bigintExpr( 4294967296_), 4294967295_) <> 1 or 18116 compare(bigintExpr( 4294967297_), 4294967296_) <> 1 or 18117 compare(bigintExpr( 4294967297_), 4294967297_) <> 0 or 18118 compare(bigintExpr( 4294967297_), 4294967298_) <> -1 or 18119 compare(bigintExpr( 4294967298_), -4294967298_) <> 1 or 18120 compare(bigintExpr( 4294967298_), -4294967297_) <> 1 or 18121 compare(bigintExpr( 4294967298_), -4294967296_) <> 1 or 18122 compare(bigintExpr( 4294967298_), -4294967295_) <> 1 or 18123 compare(bigintExpr( 4294967298_), -4294967294_) <> 1 or 18124 compare(bigintExpr( 4294967298_), -2_) <> 1 or 18125 compare(bigintExpr( 4294967298_), -1_) <> 1 or 18126 compare(bigintExpr( 4294967298_), 0_) <> 1 or 18127 compare(bigintExpr( 4294967298_), 1_) <> 1 or 18128 compare(bigintExpr( 4294967298_), 2_) <> 1 or 18129 compare(bigintExpr( 4294967298_), 4294967294_) <> 1 or 18130 compare(bigintExpr( 4294967298_), 4294967295_) <> 1 or 18131 compare(bigintExpr( 4294967298_), 4294967296_) <> 1 or 18132 compare(bigintExpr( 4294967298_), 4294967297_) <> 1 or 18133 compare(bigintExpr( 4294967298_), 4294967298_) <> 0 then 18134 writeln("The bigInteger compare does not work correct."); 18135 okay := FALSE; 18136 end if; 18137 18138 if compare(-4294967298_, bigintExpr(-4294967298_)) <> 0 or 18139 compare(-4294967298_, bigintExpr(-4294967297_)) <> -1 or 18140 compare(-4294967298_, bigintExpr(-4294967296_)) <> -1 or 18141 compare(-4294967298_, bigintExpr(-4294967295_)) <> -1 or 18142 compare(-4294967298_, bigintExpr(-4294967294_)) <> -1 or 18143 compare(-4294967298_, bigintExpr( -2_)) <> -1 or 18144 compare(-4294967298_, bigintExpr( -1_)) <> -1 or 18145 compare(-4294967298_, bigintExpr( 0_)) <> -1 or 18146 compare(-4294967298_, bigintExpr( 1_)) <> -1 or 18147 compare(-4294967298_, bigintExpr( 2_)) <> -1 or 18148 compare(-4294967298_, bigintExpr( 4294967294_)) <> -1 or 18149 compare(-4294967298_, bigintExpr( 4294967295_)) <> -1 or 18150 compare(-4294967298_, bigintExpr( 4294967296_)) <> -1 or 18151 compare(-4294967298_, bigintExpr( 4294967297_)) <> -1 or 18152 compare(-4294967298_, bigintExpr( 4294967298_)) <> -1 or 18153 compare(-4294967297_, bigintExpr(-4294967298_)) <> 1 or 18154 compare(-4294967297_, bigintExpr(-4294967297_)) <> 0 or 18155 compare(-4294967297_, bigintExpr(-4294967296_)) <> -1 or 18156 compare(-4294967297_, bigintExpr(-4294967295_)) <> -1 or 18157 compare(-4294967297_, bigintExpr(-4294967294_)) <> -1 or 18158 compare(-4294967297_, bigintExpr( -2_)) <> -1 or 18159 compare(-4294967297_, bigintExpr( -1_)) <> -1 or 18160 compare(-4294967297_, bigintExpr( 0_)) <> -1 or 18161 compare(-4294967297_, bigintExpr( 1_)) <> -1 or 18162 compare(-4294967297_, bigintExpr( 2_)) <> -1 or 18163 compare(-4294967297_, bigintExpr( 4294967294_)) <> -1 or 18164 compare(-4294967297_, bigintExpr( 4294967295_)) <> -1 or 18165 compare(-4294967297_, bigintExpr( 4294967296_)) <> -1 or 18166 compare(-4294967297_, bigintExpr( 4294967297_)) <> -1 or 18167 compare(-4294967297_, bigintExpr( 4294967298_)) <> -1 or 18168 compare(-4294967296_, bigintExpr(-4294967298_)) <> 1 or 18169 compare(-4294967296_, bigintExpr(-4294967297_)) <> 1 or 18170 compare(-4294967296_, bigintExpr(-4294967296_)) <> 0 or 18171 compare(-4294967296_, bigintExpr(-4294967295_)) <> -1 or 18172 compare(-4294967296_, bigintExpr(-4294967294_)) <> -1 or 18173 compare(-4294967296_, bigintExpr( -2_)) <> -1 or 18174 compare(-4294967296_, bigintExpr( -1_)) <> -1 or 18175 compare(-4294967296_, bigintExpr( 0_)) <> -1 or 18176 compare(-4294967296_, bigintExpr( 1_)) <> -1 or 18177 compare(-4294967296_, bigintExpr( 2_)) <> -1 or 18178 compare(-4294967296_, bigintExpr( 4294967294_)) <> -1 or 18179 compare(-4294967296_, bigintExpr( 4294967295_)) <> -1 or 18180 compare(-4294967296_, bigintExpr( 4294967296_)) <> -1 or 18181 compare(-4294967296_, bigintExpr( 4294967297_)) <> -1 or 18182 compare(-4294967296_, bigintExpr( 4294967298_)) <> -1 or 18183 compare(-4294967295_, bigintExpr(-4294967298_)) <> 1 or 18184 compare(-4294967295_, bigintExpr(-4294967297_)) <> 1 or 18185 compare(-4294967295_, bigintExpr(-4294967296_)) <> 1 or 18186 compare(-4294967295_, bigintExpr(-4294967295_)) <> 0 or 18187 compare(-4294967295_, bigintExpr(-4294967294_)) <> -1 or 18188 compare(-4294967295_, bigintExpr( -2_)) <> -1 or 18189 compare(-4294967295_, bigintExpr( -1_)) <> -1 or 18190 compare(-4294967295_, bigintExpr( 0_)) <> -1 or 18191 compare(-4294967295_, bigintExpr( 1_)) <> -1 or 18192 compare(-4294967295_, bigintExpr( 2_)) <> -1 or 18193 compare(-4294967295_, bigintExpr( 4294967294_)) <> -1 or 18194 compare(-4294967295_, bigintExpr( 4294967295_)) <> -1 or 18195 compare(-4294967295_, bigintExpr( 4294967296_)) <> -1 or 18196 compare(-4294967295_, bigintExpr( 4294967297_)) <> -1 or 18197 compare(-4294967295_, bigintExpr( 4294967298_)) <> -1 or 18198 compare(-4294967294_, bigintExpr(-4294967298_)) <> 1 or 18199 compare(-4294967294_, bigintExpr(-4294967297_)) <> 1 or 18200 compare(-4294967294_, bigintExpr(-4294967296_)) <> 1 or 18201 compare(-4294967294_, bigintExpr(-4294967295_)) <> 1 or 18202 compare(-4294967294_, bigintExpr(-4294967294_)) <> 0 or 18203 compare(-4294967294_, bigintExpr( -2_)) <> -1 or 18204 compare(-4294967294_, bigintExpr( -1_)) <> -1 or 18205 compare(-4294967294_, bigintExpr( 0_)) <> -1 or 18206 compare(-4294967294_, bigintExpr( 1_)) <> -1 or 18207 compare(-4294967294_, bigintExpr( 2_)) <> -1 or 18208 compare(-4294967294_, bigintExpr( 4294967294_)) <> -1 or 18209 compare(-4294967294_, bigintExpr( 4294967295_)) <> -1 or 18210 compare(-4294967294_, bigintExpr( 4294967296_)) <> -1 or 18211 compare(-4294967294_, bigintExpr( 4294967297_)) <> -1 or 18212 compare(-4294967294_, bigintExpr( 4294967298_)) <> -1 or 18213 compare( -2_, bigintExpr(-4294967298_)) <> 1 or 18214 compare( -2_, bigintExpr(-4294967297_)) <> 1 or 18215 compare( -2_, bigintExpr(-4294967296_)) <> 1 or 18216 compare( -2_, bigintExpr(-4294967295_)) <> 1 or 18217 compare( -2_, bigintExpr(-4294967294_)) <> 1 or 18218 compare( -2_, bigintExpr( -2_)) <> 0 or 18219 compare( -2_, bigintExpr( -1_)) <> -1 or 18220 compare( -2_, bigintExpr( 0_)) <> -1 or 18221 compare( -2_, bigintExpr( 1_)) <> -1 or 18222 compare( -2_, bigintExpr( 2_)) <> -1 or 18223 compare( -2_, bigintExpr( 4294967294_)) <> -1 or 18224 compare( -2_, bigintExpr( 4294967295_)) <> -1 or 18225 compare( -2_, bigintExpr( 4294967296_)) <> -1 or 18226 compare( -2_, bigintExpr( 4294967297_)) <> -1 or 18227 compare( -2_, bigintExpr( 4294967298_)) <> -1 or 18228 compare( -1_, bigintExpr(-4294967298_)) <> 1 or 18229 compare( -1_, bigintExpr(-4294967297_)) <> 1 or 18230 compare( -1_, bigintExpr(-4294967296_)) <> 1 or 18231 compare( -1_, bigintExpr(-4294967295_)) <> 1 or 18232 compare( -1_, bigintExpr(-4294967294_)) <> 1 or 18233 compare( -1_, bigintExpr( -2_)) <> 1 or 18234 compare( -1_, bigintExpr( -1_)) <> 0 or 18235 compare( -1_, bigintExpr( 0_)) <> -1 or 18236 compare( -1_, bigintExpr( 1_)) <> -1 or 18237 compare( -1_, bigintExpr( 2_)) <> -1 or 18238 compare( -1_, bigintExpr( 4294967294_)) <> -1 or 18239 compare( -1_, bigintExpr( 4294967295_)) <> -1 or 18240 compare( -1_, bigintExpr( 4294967296_)) <> -1 or 18241 compare( -1_, bigintExpr( 4294967297_)) <> -1 or 18242 compare( -1_, bigintExpr( 4294967298_)) <> -1 or 18243 compare( 0_, bigintExpr(-4294967298_)) <> 1 or 18244 compare( 0_, bigintExpr(-4294967297_)) <> 1 or 18245 compare( 0_, bigintExpr(-4294967296_)) <> 1 or 18246 compare( 0_, bigintExpr(-4294967295_)) <> 1 or 18247 compare( 0_, bigintExpr(-4294967294_)) <> 1 or 18248 compare( 0_, bigintExpr( -2_)) <> 1 or 18249 compare( 0_, bigintExpr( -1_)) <> 1 or 18250 compare( 0_, bigintExpr( 0_)) <> 0 or 18251 compare( 0_, bigintExpr( 1_)) <> -1 or 18252 compare( 0_, bigintExpr( 2_)) <> -1 or 18253 compare( 0_, bigintExpr( 4294967294_)) <> -1 or 18254 compare( 0_, bigintExpr( 4294967295_)) <> -1 or 18255 compare( 0_, bigintExpr( 4294967296_)) <> -1 or 18256 compare( 0_, bigintExpr( 4294967297_)) <> -1 or 18257 compare( 0_, bigintExpr( 4294967298_)) <> -1 or 18258 compare( 1_, bigintExpr(-4294967298_)) <> 1 or 18259 compare( 1_, bigintExpr(-4294967297_)) <> 1 or 18260 compare( 1_, bigintExpr(-4294967296_)) <> 1 or 18261 compare( 1_, bigintExpr(-4294967295_)) <> 1 or 18262 compare( 1_, bigintExpr(-4294967294_)) <> 1 or 18263 compare( 1_, bigintExpr( -2_)) <> 1 or 18264 compare( 1_, bigintExpr( -1_)) <> 1 or 18265 compare( 1_, bigintExpr( 0_)) <> 1 or 18266 compare( 1_, bigintExpr( 1_)) <> 0 or 18267 compare( 1_, bigintExpr( 2_)) <> -1 or 18268 compare( 1_, bigintExpr( 4294967294_)) <> -1 or 18269 compare( 1_, bigintExpr( 4294967295_)) <> -1 or 18270 compare( 1_, bigintExpr( 4294967296_)) <> -1 or 18271 compare( 1_, bigintExpr( 4294967297_)) <> -1 or 18272 compare( 1_, bigintExpr( 4294967298_)) <> -1 or 18273 compare( 2_, bigintExpr(-4294967298_)) <> 1 or 18274 compare( 2_, bigintExpr(-4294967297_)) <> 1 or 18275 compare( 2_, bigintExpr(-4294967296_)) <> 1 or 18276 compare( 2_, bigintExpr(-4294967295_)) <> 1 or 18277 compare( 2_, bigintExpr(-4294967294_)) <> 1 or 18278 compare( 2_, bigintExpr( -2_)) <> 1 or 18279 compare( 2_, bigintExpr( -1_)) <> 1 or 18280 compare( 2_, bigintExpr( 0_)) <> 1 or 18281 compare( 2_, bigintExpr( 1_)) <> 1 or 18282 compare( 2_, bigintExpr( 2_)) <> 0 or 18283 compare( 2_, bigintExpr( 4294967294_)) <> -1 or 18284 compare( 2_, bigintExpr( 4294967295_)) <> -1 or 18285 compare( 2_, bigintExpr( 4294967296_)) <> -1 or 18286 compare( 2_, bigintExpr( 4294967297_)) <> -1 or 18287 compare( 2_, bigintExpr( 4294967298_)) <> -1 or 18288 compare( 4294967294_, bigintExpr(-4294967298_)) <> 1 or 18289 compare( 4294967294_, bigintExpr(-4294967297_)) <> 1 or 18290 compare( 4294967294_, bigintExpr(-4294967296_)) <> 1 or 18291 compare( 4294967294_, bigintExpr(-4294967295_)) <> 1 or 18292 compare( 4294967294_, bigintExpr(-4294967294_)) <> 1 or 18293 compare( 4294967294_, bigintExpr( -2_)) <> 1 or 18294 compare( 4294967294_, bigintExpr( -1_)) <> 1 or 18295 compare( 4294967294_, bigintExpr( 0_)) <> 1 or 18296 compare( 4294967294_, bigintExpr( 1_)) <> 1 or 18297 compare( 4294967294_, bigintExpr( 2_)) <> 1 or 18298 compare( 4294967294_, bigintExpr( 4294967294_)) <> 0 or 18299 compare( 4294967294_, bigintExpr( 4294967295_)) <> -1 or 18300 compare( 4294967294_, bigintExpr( 4294967296_)) <> -1 or 18301 compare( 4294967294_, bigintExpr( 4294967297_)) <> -1 or 18302 compare( 4294967294_, bigintExpr( 4294967298_)) <> -1 or 18303 compare( 4294967295_, bigintExpr(-4294967298_)) <> 1 or 18304 compare( 4294967295_, bigintExpr(-4294967297_)) <> 1 or 18305 compare( 4294967295_, bigintExpr(-4294967296_)) <> 1 or 18306 compare( 4294967295_, bigintExpr(-4294967295_)) <> 1 or 18307 compare( 4294967295_, bigintExpr(-4294967294_)) <> 1 or 18308 compare( 4294967295_, bigintExpr( -2_)) <> 1 or 18309 compare( 4294967295_, bigintExpr( -1_)) <> 1 or 18310 compare( 4294967295_, bigintExpr( 0_)) <> 1 or 18311 compare( 4294967295_, bigintExpr( 1_)) <> 1 or 18312 compare( 4294967295_, bigintExpr( 2_)) <> 1 or 18313 compare( 4294967295_, bigintExpr( 4294967294_)) <> 1 or 18314 compare( 4294967295_, bigintExpr( 4294967295_)) <> 0 or 18315 compare( 4294967295_, bigintExpr( 4294967296_)) <> -1 or 18316 compare( 4294967295_, bigintExpr( 4294967297_)) <> -1 or 18317 compare( 4294967295_, bigintExpr( 4294967298_)) <> -1 or 18318 compare( 4294967296_, bigintExpr(-4294967298_)) <> 1 or 18319 compare( 4294967296_, bigintExpr(-4294967297_)) <> 1 or 18320 compare( 4294967296_, bigintExpr(-4294967296_)) <> 1 or 18321 compare( 4294967296_, bigintExpr(-4294967295_)) <> 1 or 18322 compare( 4294967296_, bigintExpr(-4294967294_)) <> 1 or 18323 compare( 4294967296_, bigintExpr( -2_)) <> 1 or 18324 compare( 4294967296_, bigintExpr( -1_)) <> 1 or 18325 compare( 4294967296_, bigintExpr( 0_)) <> 1 or 18326 compare( 4294967296_, bigintExpr( 1_)) <> 1 or 18327 compare( 4294967296_, bigintExpr( 2_)) <> 1 or 18328 compare( 4294967296_, bigintExpr( 4294967294_)) <> 1 or 18329 compare( 4294967296_, bigintExpr( 4294967295_)) <> 1 or 18330 compare( 4294967296_, bigintExpr( 4294967296_)) <> 0 or 18331 compare( 4294967296_, bigintExpr( 4294967297_)) <> -1 or 18332 compare( 4294967296_, bigintExpr( 4294967298_)) <> -1 or 18333 compare( 4294967297_, bigintExpr(-4294967298_)) <> 1 or 18334 compare( 4294967297_, bigintExpr(-4294967297_)) <> 1 or 18335 compare( 4294967297_, bigintExpr(-4294967296_)) <> 1 or 18336 compare( 4294967297_, bigintExpr(-4294967295_)) <> 1 or 18337 compare( 4294967297_, bigintExpr(-4294967294_)) <> 1 or 18338 compare( 4294967297_, bigintExpr( -2_)) <> 1 or 18339 compare( 4294967297_, bigintExpr( -1_)) <> 1 or 18340 compare( 4294967297_, bigintExpr( 0_)) <> 1 or 18341 compare( 4294967297_, bigintExpr( 1_)) <> 1 or 18342 compare( 4294967297_, bigintExpr( 2_)) <> 1 or 18343 compare( 4294967297_, bigintExpr( 4294967294_)) <> 1 or 18344 compare( 4294967296_, bigintExpr( 4294967295_)) <> 1 or 18345 compare( 4294967297_, bigintExpr( 4294967296_)) <> 1 or 18346 compare( 4294967297_, bigintExpr( 4294967297_)) <> 0 or 18347 compare( 4294967297_, bigintExpr( 4294967298_)) <> -1 or 18348 compare( 4294967298_, bigintExpr(-4294967298_)) <> 1 or 18349 compare( 4294967298_, bigintExpr(-4294967297_)) <> 1 or 18350 compare( 4294967298_, bigintExpr(-4294967296_)) <> 1 or 18351 compare( 4294967298_, bigintExpr(-4294967295_)) <> 1 or 18352 compare( 4294967298_, bigintExpr(-4294967294_)) <> 1 or 18353 compare( 4294967298_, bigintExpr( -2_)) <> 1 or 18354 compare( 4294967298_, bigintExpr( -1_)) <> 1 or 18355 compare( 4294967298_, bigintExpr( 0_)) <> 1 or 18356 compare( 4294967298_, bigintExpr( 1_)) <> 1 or 18357 compare( 4294967298_, bigintExpr( 2_)) <> 1 or 18358 compare( 4294967298_, bigintExpr( 4294967294_)) <> 1 or 18359 compare( 4294967298_, bigintExpr( 4294967295_)) <> 1 or 18360 compare( 4294967298_, bigintExpr( 4294967296_)) <> 1 or 18361 compare( 4294967298_, bigintExpr( 4294967297_)) <> 1 or 18362 compare( 4294967298_, bigintExpr( 4294967298_)) <> 0 then 18363 writeln("The bigInteger compare does not work correct."); 18364 okay := FALSE; 18365 end if; 18366 18367 if compare(bigintExpr(-4294967298_), bigintExpr(-4294967298_)) <> 0 or 18368 compare(bigintExpr(-4294967298_), bigintExpr(-4294967297_)) <> -1 or 18369 compare(bigintExpr(-4294967298_), bigintExpr(-4294967296_)) <> -1 or 18370 compare(bigintExpr(-4294967298_), bigintExpr(-4294967295_)) <> -1 or 18371 compare(bigintExpr(-4294967298_), bigintExpr(-4294967294_)) <> -1 or 18372 compare(bigintExpr(-4294967298_), bigintExpr( -2_)) <> -1 or 18373 compare(bigintExpr(-4294967298_), bigintExpr( -1_)) <> -1 or 18374 compare(bigintExpr(-4294967298_), bigintExpr( 0_)) <> -1 or 18375 compare(bigintExpr(-4294967298_), bigintExpr( 1_)) <> -1 or 18376 compare(bigintExpr(-4294967298_), bigintExpr( 2_)) <> -1 or 18377 compare(bigintExpr(-4294967298_), bigintExpr( 4294967294_)) <> -1 or 18378 compare(bigintExpr(-4294967298_), bigintExpr( 4294967295_)) <> -1 or 18379 compare(bigintExpr(-4294967298_), bigintExpr( 4294967296_)) <> -1 or 18380 compare(bigintExpr(-4294967298_), bigintExpr( 4294967297_)) <> -1 or 18381 compare(bigintExpr(-4294967298_), bigintExpr( 4294967298_)) <> -1 or 18382 compare(bigintExpr(-4294967297_), bigintExpr(-4294967298_)) <> 1 or 18383 compare(bigintExpr(-4294967297_), bigintExpr(-4294967297_)) <> 0 or 18384 compare(bigintExpr(-4294967297_), bigintExpr(-4294967296_)) <> -1 or 18385 compare(bigintExpr(-4294967297_), bigintExpr(-4294967295_)) <> -1 or 18386 compare(bigintExpr(-4294967297_), bigintExpr(-4294967294_)) <> -1 or 18387 compare(bigintExpr(-4294967297_), bigintExpr( -2_)) <> -1 or 18388 compare(bigintExpr(-4294967297_), bigintExpr( -1_)) <> -1 or 18389 compare(bigintExpr(-4294967297_), bigintExpr( 0_)) <> -1 or 18390 compare(bigintExpr(-4294967297_), bigintExpr( 1_)) <> -1 or 18391 compare(bigintExpr(-4294967297_), bigintExpr( 2_)) <> -1 or 18392 compare(bigintExpr(-4294967297_), bigintExpr( 4294967294_)) <> -1 or 18393 compare(bigintExpr(-4294967297_), bigintExpr( 4294967295_)) <> -1 or 18394 compare(bigintExpr(-4294967297_), bigintExpr( 4294967296_)) <> -1 or 18395 compare(bigintExpr(-4294967297_), bigintExpr( 4294967297_)) <> -1 or 18396 compare(bigintExpr(-4294967297_), bigintExpr( 4294967298_)) <> -1 or 18397 compare(bigintExpr(-4294967296_), bigintExpr(-4294967298_)) <> 1 or 18398 compare(bigintExpr(-4294967296_), bigintExpr(-4294967297_)) <> 1 or 18399 compare(bigintExpr(-4294967296_), bigintExpr(-4294967296_)) <> 0 or 18400 compare(bigintExpr(-4294967296_), bigintExpr(-4294967295_)) <> -1 or 18401 compare(bigintExpr(-4294967296_), bigintExpr(-4294967294_)) <> -1 or 18402 compare(bigintExpr(-4294967296_), bigintExpr( -2_)) <> -1 or 18403 compare(bigintExpr(-4294967296_), bigintExpr( -1_)) <> -1 or 18404 compare(bigintExpr(-4294967296_), bigintExpr( 0_)) <> -1 or 18405 compare(bigintExpr(-4294967296_), bigintExpr( 1_)) <> -1 or 18406 compare(bigintExpr(-4294967296_), bigintExpr( 2_)) <> -1 or 18407 compare(bigintExpr(-4294967296_), bigintExpr( 4294967294_)) <> -1 or 18408 compare(bigintExpr(-4294967296_), bigintExpr( 4294967295_)) <> -1 or 18409 compare(bigintExpr(-4294967296_), bigintExpr( 4294967296_)) <> -1 or 18410 compare(bigintExpr(-4294967296_), bigintExpr( 4294967297_)) <> -1 or 18411 compare(bigintExpr(-4294967296_), bigintExpr( 4294967298_)) <> -1 or 18412 compare(bigintExpr(-4294967295_), bigintExpr(-4294967298_)) <> 1 or 18413 compare(bigintExpr(-4294967295_), bigintExpr(-4294967297_)) <> 1 or 18414 compare(bigintExpr(-4294967295_), bigintExpr(-4294967296_)) <> 1 or 18415 compare(bigintExpr(-4294967295_), bigintExpr(-4294967295_)) <> 0 or 18416 compare(bigintExpr(-4294967295_), bigintExpr(-4294967294_)) <> -1 or 18417 compare(bigintExpr(-4294967295_), bigintExpr( -2_)) <> -1 or 18418 compare(bigintExpr(-4294967295_), bigintExpr( -1_)) <> -1 or 18419 compare(bigintExpr(-4294967295_), bigintExpr( 0_)) <> -1 or 18420 compare(bigintExpr(-4294967295_), bigintExpr( 1_)) <> -1 or 18421 compare(bigintExpr(-4294967295_), bigintExpr( 2_)) <> -1 or 18422 compare(bigintExpr(-4294967295_), bigintExpr( 4294967294_)) <> -1 or 18423 compare(bigintExpr(-4294967295_), bigintExpr( 4294967295_)) <> -1 or 18424 compare(bigintExpr(-4294967295_), bigintExpr( 4294967296_)) <> -1 or 18425 compare(bigintExpr(-4294967295_), bigintExpr( 4294967297_)) <> -1 or 18426 compare(bigintExpr(-4294967295_), bigintExpr( 4294967298_)) <> -1 or 18427 compare(bigintExpr(-4294967294_), bigintExpr(-4294967298_)) <> 1 or 18428 compare(bigintExpr(-4294967294_), bigintExpr(-4294967297_)) <> 1 or 18429 compare(bigintExpr(-4294967294_), bigintExpr(-4294967296_)) <> 1 or 18430 compare(bigintExpr(-4294967294_), bigintExpr(-4294967295_)) <> 1 or 18431 compare(bigintExpr(-4294967294_), bigintExpr(-4294967294_)) <> 0 or 18432 compare(bigintExpr(-4294967294_), bigintExpr( -2_)) <> -1 or 18433 compare(bigintExpr(-4294967294_), bigintExpr( -1_)) <> -1 or 18434 compare(bigintExpr(-4294967294_), bigintExpr( 0_)) <> -1 or 18435 compare(bigintExpr(-4294967294_), bigintExpr( 1_)) <> -1 or 18436 compare(bigintExpr(-4294967294_), bigintExpr( 2_)) <> -1 or 18437 compare(bigintExpr(-4294967294_), bigintExpr( 4294967294_)) <> -1 or 18438 compare(bigintExpr(-4294967294_), bigintExpr( 4294967295_)) <> -1 or 18439 compare(bigintExpr(-4294967294_), bigintExpr( 4294967296_)) <> -1 or 18440 compare(bigintExpr(-4294967294_), bigintExpr( 4294967297_)) <> -1 or 18441 compare(bigintExpr(-4294967294_), bigintExpr( 4294967298_)) <> -1 or 18442 compare(bigintExpr( -2_), bigintExpr(-4294967298_)) <> 1 or 18443 compare(bigintExpr( -2_), bigintExpr(-4294967297_)) <> 1 or 18444 compare(bigintExpr( -2_), bigintExpr(-4294967296_)) <> 1 or 18445 compare(bigintExpr( -2_), bigintExpr(-4294967295_)) <> 1 or 18446 compare(bigintExpr( -2_), bigintExpr(-4294967294_)) <> 1 or 18447 compare(bigintExpr( -2_), bigintExpr( -2_)) <> 0 or 18448 compare(bigintExpr( -2_), bigintExpr( -1_)) <> -1 or 18449 compare(bigintExpr( -2_), bigintExpr( 0_)) <> -1 or 18450 compare(bigintExpr( -2_), bigintExpr( 1_)) <> -1 or 18451 compare(bigintExpr( -2_), bigintExpr( 2_)) <> -1 or 18452 compare(bigintExpr( -2_), bigintExpr( 4294967294_)) <> -1 or 18453 compare(bigintExpr( -2_), bigintExpr( 4294967295_)) <> -1 or 18454 compare(bigintExpr( -2_), bigintExpr( 4294967296_)) <> -1 or 18455 compare(bigintExpr( -2_), bigintExpr( 4294967297_)) <> -1 or 18456 compare(bigintExpr( -2_), bigintExpr( 4294967298_)) <> -1 or 18457 compare(bigintExpr( -1_), bigintExpr(-4294967298_)) <> 1 or 18458 compare(bigintExpr( -1_), bigintExpr(-4294967297_)) <> 1 or 18459 compare(bigintExpr( -1_), bigintExpr(-4294967296_)) <> 1 or 18460 compare(bigintExpr( -1_), bigintExpr(-4294967295_)) <> 1 or 18461 compare(bigintExpr( -1_), bigintExpr(-4294967294_)) <> 1 or 18462 compare(bigintExpr( -1_), bigintExpr( -2_)) <> 1 or 18463 compare(bigintExpr( -1_), bigintExpr( -1_)) <> 0 or 18464 compare(bigintExpr( -1_), bigintExpr( 0_)) <> -1 or 18465 compare(bigintExpr( -1_), bigintExpr( 1_)) <> -1 or 18466 compare(bigintExpr( -1_), bigintExpr( 2_)) <> -1 or 18467 compare(bigintExpr( -1_), bigintExpr( 4294967294_)) <> -1 or 18468 compare(bigintExpr( -1_), bigintExpr( 4294967295_)) <> -1 or 18469 compare(bigintExpr( -1_), bigintExpr( 4294967296_)) <> -1 or 18470 compare(bigintExpr( -1_), bigintExpr( 4294967297_)) <> -1 or 18471 compare(bigintExpr( -1_), bigintExpr( 4294967298_)) <> -1 or 18472 compare(bigintExpr( 0_), bigintExpr(-4294967298_)) <> 1 or 18473 compare(bigintExpr( 0_), bigintExpr(-4294967297_)) <> 1 or 18474 compare(bigintExpr( 0_), bigintExpr(-4294967296_)) <> 1 or 18475 compare(bigintExpr( 0_), bigintExpr(-4294967295_)) <> 1 or 18476 compare(bigintExpr( 0_), bigintExpr(-4294967294_)) <> 1 or 18477 compare(bigintExpr( 0_), bigintExpr( -2_)) <> 1 or 18478 compare(bigintExpr( 0_), bigintExpr( -1_)) <> 1 or 18479 compare(bigintExpr( 0_), bigintExpr( 0_)) <> 0 or 18480 compare(bigintExpr( 0_), bigintExpr( 1_)) <> -1 or 18481 compare(bigintExpr( 0_), bigintExpr( 2_)) <> -1 or 18482 compare(bigintExpr( 0_), bigintExpr( 4294967294_)) <> -1 or 18483 compare(bigintExpr( 0_), bigintExpr( 4294967295_)) <> -1 or 18484 compare(bigintExpr( 0_), bigintExpr( 4294967296_)) <> -1 or 18485 compare(bigintExpr( 0_), bigintExpr( 4294967297_)) <> -1 or 18486 compare(bigintExpr( 0_), bigintExpr( 4294967298_)) <> -1 or 18487 compare(bigintExpr( 1_), bigintExpr(-4294967298_)) <> 1 or 18488 compare(bigintExpr( 1_), bigintExpr(-4294967297_)) <> 1 or 18489 compare(bigintExpr( 1_), bigintExpr(-4294967296_)) <> 1 or 18490 compare(bigintExpr( 1_), bigintExpr(-4294967295_)) <> 1 or 18491 compare(bigintExpr( 1_), bigintExpr(-4294967294_)) <> 1 or 18492 compare(bigintExpr( 1_), bigintExpr( -2_)) <> 1 or 18493 compare(bigintExpr( 1_), bigintExpr( -1_)) <> 1 or 18494 compare(bigintExpr( 1_), bigintExpr( 0_)) <> 1 or 18495 compare(bigintExpr( 1_), bigintExpr( 1_)) <> 0 or 18496 compare(bigintExpr( 1_), bigintExpr( 2_)) <> -1 or 18497 compare(bigintExpr( 1_), bigintExpr( 4294967294_)) <> -1 or 18498 compare(bigintExpr( 1_), bigintExpr( 4294967295_)) <> -1 or 18499 compare(bigintExpr( 1_), bigintExpr( 4294967296_)) <> -1 or 18500 compare(bigintExpr( 1_), bigintExpr( 4294967297_)) <> -1 or 18501 compare(bigintExpr( 1_), bigintExpr( 4294967298_)) <> -1 or 18502 compare(bigintExpr( 2_), bigintExpr(-4294967298_)) <> 1 or 18503 compare(bigintExpr( 2_), bigintExpr(-4294967297_)) <> 1 or 18504 compare(bigintExpr( 2_), bigintExpr(-4294967296_)) <> 1 or 18505 compare(bigintExpr( 2_), bigintExpr(-4294967295_)) <> 1 or 18506 compare(bigintExpr( 2_), bigintExpr(-4294967294_)) <> 1 or 18507 compare(bigintExpr( 2_), bigintExpr( -2_)) <> 1 or 18508 compare(bigintExpr( 2_), bigintExpr( -1_)) <> 1 or 18509 compare(bigintExpr( 2_), bigintExpr( 0_)) <> 1 or 18510 compare(bigintExpr( 2_), bigintExpr( 1_)) <> 1 or 18511 compare(bigintExpr( 2_), bigintExpr( 2_)) <> 0 or 18512 compare(bigintExpr( 2_), bigintExpr( 4294967294_)) <> -1 or 18513 compare(bigintExpr( 2_), bigintExpr( 4294967295_)) <> -1 or 18514 compare(bigintExpr( 2_), bigintExpr( 4294967296_)) <> -1 or 18515 compare(bigintExpr( 2_), bigintExpr( 4294967297_)) <> -1 or 18516 compare(bigintExpr( 2_), bigintExpr( 4294967298_)) <> -1 or 18517 compare(bigintExpr( 4294967294_), bigintExpr(-4294967298_)) <> 1 or 18518 compare(bigintExpr( 4294967294_), bigintExpr(-4294967297_)) <> 1 or 18519 compare(bigintExpr( 4294967294_), bigintExpr(-4294967296_)) <> 1 or 18520 compare(bigintExpr( 4294967294_), bigintExpr(-4294967295_)) <> 1 or 18521 compare(bigintExpr( 4294967294_), bigintExpr(-4294967294_)) <> 1 or 18522 compare(bigintExpr( 4294967294_), bigintExpr( -2_)) <> 1 or 18523 compare(bigintExpr( 4294967294_), bigintExpr( -1_)) <> 1 or 18524 compare(bigintExpr( 4294967294_), bigintExpr( 0_)) <> 1 or 18525 compare(bigintExpr( 4294967294_), bigintExpr( 1_)) <> 1 or 18526 compare(bigintExpr( 4294967294_), bigintExpr( 2_)) <> 1 or 18527 compare(bigintExpr( 4294967294_), bigintExpr( 4294967294_)) <> 0 or 18528 compare(bigintExpr( 4294967294_), bigintExpr( 4294967295_)) <> -1 or 18529 compare(bigintExpr( 4294967294_), bigintExpr( 4294967296_)) <> -1 or 18530 compare(bigintExpr( 4294967294_), bigintExpr( 4294967297_)) <> -1 or 18531 compare(bigintExpr( 4294967294_), bigintExpr( 4294967298_)) <> -1 or 18532 compare(bigintExpr( 4294967295_), bigintExpr(-4294967298_)) <> 1 or 18533 compare(bigintExpr( 4294967295_), bigintExpr(-4294967297_)) <> 1 or 18534 compare(bigintExpr( 4294967295_), bigintExpr(-4294967296_)) <> 1 or 18535 compare(bigintExpr( 4294967295_), bigintExpr(-4294967295_)) <> 1 or 18536 compare(bigintExpr( 4294967295_), bigintExpr(-4294967294_)) <> 1 or 18537 compare(bigintExpr( 4294967295_), bigintExpr( -2_)) <> 1 or 18538 compare(bigintExpr( 4294967295_), bigintExpr( -1_)) <> 1 or 18539 compare(bigintExpr( 4294967295_), bigintExpr( 0_)) <> 1 or 18540 compare(bigintExpr( 4294967295_), bigintExpr( 1_)) <> 1 or 18541 compare(bigintExpr( 4294967295_), bigintExpr( 2_)) <> 1 or 18542 compare(bigintExpr( 4294967295_), bigintExpr( 4294967294_)) <> 1 or 18543 compare(bigintExpr( 4294967295_), bigintExpr( 4294967295_)) <> 0 or 18544 compare(bigintExpr( 4294967295_), bigintExpr( 4294967296_)) <> -1 or 18545 compare(bigintExpr( 4294967295_), bigintExpr( 4294967297_)) <> -1 or 18546 compare(bigintExpr( 4294967295_), bigintExpr( 4294967298_)) <> -1 or 18547 compare(bigintExpr( 4294967296_), bigintExpr(-4294967298_)) <> 1 or 18548 compare(bigintExpr( 4294967296_), bigintExpr(-4294967297_)) <> 1 or 18549 compare(bigintExpr( 4294967296_), bigintExpr(-4294967296_)) <> 1 or 18550 compare(bigintExpr( 4294967296_), bigintExpr(-4294967295_)) <> 1 or 18551 compare(bigintExpr( 4294967296_), bigintExpr(-4294967294_)) <> 1 or 18552 compare(bigintExpr( 4294967296_), bigintExpr( -2_)) <> 1 or 18553 compare(bigintExpr( 4294967296_), bigintExpr( -1_)) <> 1 or 18554 compare(bigintExpr( 4294967296_), bigintExpr( 0_)) <> 1 or 18555 compare(bigintExpr( 4294967296_), bigintExpr( 1_)) <> 1 or 18556 compare(bigintExpr( 4294967296_), bigintExpr( 2_)) <> 1 or 18557 compare(bigintExpr( 4294967296_), bigintExpr( 4294967294_)) <> 1 or 18558 compare(bigintExpr( 4294967296_), bigintExpr( 4294967295_)) <> 1 or 18559 compare(bigintExpr( 4294967296_), bigintExpr( 4294967296_)) <> 0 or 18560 compare(bigintExpr( 4294967296_), bigintExpr( 4294967297_)) <> -1 or 18561 compare(bigintExpr( 4294967296_), bigintExpr( 4294967298_)) <> -1 or 18562 compare(bigintExpr( 4294967297_), bigintExpr(-4294967298_)) <> 1 or 18563 compare(bigintExpr( 4294967297_), bigintExpr(-4294967297_)) <> 1 or 18564 compare(bigintExpr( 4294967297_), bigintExpr(-4294967296_)) <> 1 or 18565 compare(bigintExpr( 4294967297_), bigintExpr(-4294967295_)) <> 1 or 18566 compare(bigintExpr( 4294967297_), bigintExpr(-4294967294_)) <> 1 or 18567 compare(bigintExpr( 4294967297_), bigintExpr( -2_)) <> 1 or 18568 compare(bigintExpr( 4294967297_), bigintExpr( -1_)) <> 1 or 18569 compare(bigintExpr( 4294967297_), bigintExpr( 0_)) <> 1 or 18570 compare(bigintExpr( 4294967297_), bigintExpr( 1_)) <> 1 or 18571 compare(bigintExpr( 4294967297_), bigintExpr( 2_)) <> 1 or 18572 compare(bigintExpr( 4294967297_), bigintExpr( 4294967294_)) <> 1 or 18573 compare(bigintExpr( 4294967296_), bigintExpr( 4294967295_)) <> 1 or 18574 compare(bigintExpr( 4294967297_), bigintExpr( 4294967296_)) <> 1 or 18575 compare(bigintExpr( 4294967297_), bigintExpr( 4294967297_)) <> 0 or 18576 compare(bigintExpr( 4294967297_), bigintExpr( 4294967298_)) <> -1 or 18577 compare(bigintExpr( 4294967298_), bigintExpr(-4294967298_)) <> 1 or 18578 compare(bigintExpr( 4294967298_), bigintExpr(-4294967297_)) <> 1 or 18579 compare(bigintExpr( 4294967298_), bigintExpr(-4294967296_)) <> 1 or 18580 compare(bigintExpr( 4294967298_), bigintExpr(-4294967295_)) <> 1 or 18581 compare(bigintExpr( 4294967298_), bigintExpr(-4294967294_)) <> 1 or 18582 compare(bigintExpr( 4294967298_), bigintExpr( -2_)) <> 1 or 18583 compare(bigintExpr( 4294967298_), bigintExpr( -1_)) <> 1 or 18584 compare(bigintExpr( 4294967298_), bigintExpr( 0_)) <> 1 or 18585 compare(bigintExpr( 4294967298_), bigintExpr( 1_)) <> 1 or 18586 compare(bigintExpr( 4294967298_), bigintExpr( 2_)) <> 1 or 18587 compare(bigintExpr( 4294967298_), bigintExpr( 4294967294_)) <> 1 or 18588 compare(bigintExpr( 4294967298_), bigintExpr( 4294967295_)) <> 1 or 18589 compare(bigintExpr( 4294967298_), bigintExpr( 4294967296_)) <> 1 or 18590 compare(bigintExpr( 4294967298_), bigintExpr( 4294967297_)) <> 1 or 18591 compare(bigintExpr( 4294967298_), bigintExpr( 4294967298_)) <> 0 then 18592 writeln("The bigInteger compare does not work correct."); 18593 okay := FALSE; 18594 end if; 18595 18596 if okay then 18597 writeln("The bigInteger compare works correct."); 18598 else 18599 writeln(" ***** The bigInteger compare does not work correct."); 18600 writeln; 18601 end if; 18602 end func; 18603 18604 18605const proc: chkAbs is func 18606 local 18607 var boolean: okay is TRUE; 18608 begin 18609 if abs( -0_) <> 0_ or 18610 abs( -1_) <> 1_ or 18611 abs( -2_) <> 2_ or 18612 abs( -8_) <> 8_ or 18613 abs( -9_) <> 9_ or 18614 abs( -10_) <> 10_ or 18615 abs( -11_) <> 11_ or 18616 abs( -12_) <> 12_ or 18617 abs( -98_) <> 98_ or 18618 abs( -99_) <> 99_ or 18619 abs( -100_) <> 100_ or 18620 abs( -101_) <> 101_ or 18621 abs( -102_) <> 102_ or 18622 abs( -126_) <> 126_ or 18623 abs( -127_) <> 127_ or 18624 abs( -128_) <> 128_ or 18625 abs( -129_) <> 129_ or 18626 abs( -130_) <> 130_ or 18627 abs( -254_) <> 254_ or 18628 abs( -255_) <> 255_ or 18629 abs( -256_) <> 256_ or 18630 abs( -257_) <> 257_ or 18631 abs( -258_) <> 258_ or 18632 abs( -998_) <> 998_ or 18633 abs( -999_) <> 999_ or 18634 abs( -1000_) <> 1000_ or 18635 abs( -1001_) <> 1001_ or 18636 abs( -1002_) <> 1002_ or 18637 abs( -9998_) <> 9998_ or 18638 abs( -9999_) <> 9999_ or 18639 abs( -10000_) <> 10000_ or 18640 abs( -10001_) <> 10001_ or 18641 abs( -10002_) <> 10002_ or 18642 abs( -32766_) <> 32766_ or 18643 abs( -32767_) <> 32767_ or 18644 abs( -32768_) <> 32768_ or 18645 abs( -32769_) <> 32769_ or 18646 abs( -32770_) <> 32770_ or 18647 abs( -65534_) <> 65534_ or 18648 abs( -65535_) <> 65535_ or 18649 abs( -65536_) <> 65536_ or 18650 abs( -65537_) <> 65537_ or 18651 abs( -65538_) <> 65538_ or 18652 abs( -99998_) <> 99998_ or 18653 abs( -99999_) <> 99999_ or 18654 abs( -100000_) <> 100000_ or 18655 abs( -100001_) <> 100001_ or 18656 abs( -100002_) <> 100002_ or 18657 abs( -999998_) <> 999998_ or 18658 abs( -999999_) <> 999999_ or 18659 abs( -1000000_) <> 1000000_ or 18660 abs( -1000001_) <> 1000001_ or 18661 abs( -1000002_) <> 1000002_ or 18662 abs( -8388606_) <> 8388606_ or 18663 abs( -8388607_) <> 8388607_ or 18664 abs( -8388608_) <> 8388608_ or 18665 abs( -8388609_) <> 8388609_ or 18666 abs( -8388610_) <> 8388610_ or 18667 abs( -9999998_) <> 9999998_ or 18668 abs( -9999999_) <> 9999999_ or 18669 abs( -10000000_) <> 10000000_ or 18670 abs( -10000001_) <> 10000001_ or 18671 abs( -10000002_) <> 10000002_ or 18672 abs( -16777214_) <> 16777214_ or 18673 abs( -16777215_) <> 16777215_ or 18674 abs( -16777216_) <> 16777216_ or 18675 abs( -16777217_) <> 16777217_ or 18676 abs( -16777218_) <> 16777218_ or 18677 abs( -99999998_) <> 99999998_ or 18678 abs( -99999999_) <> 99999999_ or 18679 abs( -100000000_) <> 100000000_ or 18680 abs( -100000001_) <> 100000001_ or 18681 abs( -100000002_) <> 100000002_ or 18682 abs( -999999998_) <> 999999998_ or 18683 abs( -999999999_) <> 999999999_ or 18684 abs( -1000000000_) <> 1000000000_ or 18685 abs( -1000000001_) <> 1000000001_ or 18686 abs( -1000000002_) <> 1000000002_ or 18687 abs( -2147483646_) <> 2147483646_ or 18688 abs( -2147483647_) <> 2147483647_ or 18689 abs( -2147483648_) <> 2147483648_ or 18690 abs( -2147483649_) <> 2147483649_ or 18691 abs( -2147483650_) <> 2147483650_ or 18692 abs( -4294967294_) <> 4294967294_ or 18693 abs( -4294967295_) <> 4294967295_ or 18694 abs( -4294967296_) <> 4294967296_ or 18695 abs( -4294967297_) <> 4294967297_ or 18696 abs( -4294967298_) <> 4294967298_ or 18697 abs( -9999999998_) <> 9999999998_ or 18698 abs( -9999999999_) <> 9999999999_ or 18699 abs( -10000000000_) <> 10000000000_ or 18700 abs( -10000000001_) <> 10000000001_ or 18701 abs( -10000000002_) <> 10000000002_ or 18702 abs( -99999999998_) <> 99999999998_ or 18703 abs( -99999999999_) <> 99999999999_ or 18704 abs( -100000000000_) <> 100000000000_ or 18705 abs( -100000000001_) <> 100000000001_ or 18706 abs( -100000000002_) <> 100000000002_ or 18707 abs( -549755813886_) <> 549755813886_ or 18708 abs( -549755813887_) <> 549755813887_ or 18709 abs( -549755813888_) <> 549755813888_ or 18710 abs( -549755813889_) <> 549755813889_ or 18711 abs( -549755813890_) <> 549755813890_ or 18712 abs( -999999999998_) <> 999999999998_ or 18713 abs( -999999999999_) <> 999999999999_ or 18714 abs( -1000000000000_) <> 1000000000000_ or 18715 abs( -1000000000001_) <> 1000000000001_ or 18716 abs( -1000000000002_) <> 1000000000002_ or 18717 abs( -1099511627774_) <> 1099511627774_ or 18718 abs( -1099511627775_) <> 1099511627775_ or 18719 abs( -1099511627776_) <> 1099511627776_ or 18720 abs( -1099511627777_) <> 1099511627777_ or 18721 abs( -1099511627778_) <> 1099511627778_ or 18722 abs( -140737488355326_) <> 140737488355326_ or 18723 abs( -140737488355327_) <> 140737488355327_ or 18724 abs( -140737488355328_) <> 140737488355328_ or 18725 abs( -140737488355329_) <> 140737488355329_ or 18726 abs( -140737488355330_) <> 140737488355330_ or 18727 abs( -281474976710654_) <> 281474976710654_ or 18728 abs( -281474976710655_) <> 281474976710655_ or 18729 abs( -281474976710656_) <> 281474976710656_ or 18730 abs( -281474976710657_) <> 281474976710657_ or 18731 abs( -281474976710658_) <> 281474976710658_ or 18732 abs( -36028797018963966_) <> 36028797018963966_ or 18733 abs( -36028797018963967_) <> 36028797018963967_ or 18734 abs( -36028797018963968_) <> 36028797018963968_ or 18735 abs( -36028797018963969_) <> 36028797018963969_ or 18736 abs( -36028797018963970_) <> 36028797018963970_ or 18737 abs( -72057594037927934_) <> 72057594037927934_ or 18738 abs( -72057594037927935_) <> 72057594037927935_ or 18739 abs( -72057594037927936_) <> 72057594037927936_ or 18740 abs( -72057594037927937_) <> 72057594037927937_ or 18741 abs( -72057594037927938_) <> 72057594037927938_ or 18742 abs( -9223372036854775806_) <> 9223372036854775806_ or 18743 abs( -9223372036854775807_) <> 9223372036854775807_ or 18744 abs( -9223372036854775808_) <> 9223372036854775808_ or 18745 abs( -9223372036854775809_) <> 9223372036854775809_ or 18746 abs( -9223372036854775810_) <> 9223372036854775810_ or 18747 abs( -18446744073709551614_) <> 18446744073709551614_ or 18748 abs( -18446744073709551615_) <> 18446744073709551615_ or 18749 abs( -18446744073709551616_) <> 18446744073709551616_ or 18750 abs( -18446744073709551617_) <> 18446744073709551617_ or 18751 abs( -18446744073709551618_) <> 18446744073709551618_ or 18752 abs( -2361183241434822606846_) <> 2361183241434822606846_ or 18753 abs( -2361183241434822606847_) <> 2361183241434822606847_ or 18754 abs( -2361183241434822606848_) <> 2361183241434822606848_ or 18755 abs( -2361183241434822606849_) <> 2361183241434822606849_ or 18756 abs( -2361183241434822606850_) <> 2361183241434822606850_ or 18757 abs( -4722366482869645213694_) <> 4722366482869645213694_ or 18758 abs( -4722366482869645213695_) <> 4722366482869645213695_ or 18759 abs( -4722366482869645213696_) <> 4722366482869645213696_ or 18760 abs( -4722366482869645213697_) <> 4722366482869645213697_ or 18761 abs( -4722366482869645213698_) <> 4722366482869645213698_ or 18762 abs( -604462909807314587353086_) <> 604462909807314587353086_ or 18763 abs( -604462909807314587353087_) <> 604462909807314587353087_ or 18764 abs( -604462909807314587353088_) <> 604462909807314587353088_ or 18765 abs( -604462909807314587353089_) <> 604462909807314587353089_ or 18766 abs( -604462909807314587353090_) <> 604462909807314587353090_ or 18767 abs(-1208925819614629174706174_) <> 1208925819614629174706174_ or 18768 abs(-1208925819614629174706175_) <> 1208925819614629174706175_ or 18769 abs(-1208925819614629174706176_) <> 1208925819614629174706176_ or 18770 abs(-1208925819614629174706177_) <> 1208925819614629174706177_ or 18771 abs(-1208925819614629174706178_) <> 1208925819614629174706178_ then 18772 writeln("The bigInteger abs function does not work correct. (1)"); 18773 okay := FALSE; 18774 end if; 18775 18776 if abs( 0_) <> 0_ or 18777 abs( 1_) <> 1_ or 18778 abs( 2_) <> 2_ or 18779 abs( 8_) <> 8_ or 18780 abs( 9_) <> 9_ or 18781 abs( 10_) <> 10_ or 18782 abs( 11_) <> 11_ or 18783 abs( 12_) <> 12_ or 18784 abs( 98_) <> 98_ or 18785 abs( 99_) <> 99_ or 18786 abs( 100_) <> 100_ or 18787 abs( 101_) <> 101_ or 18788 abs( 102_) <> 102_ or 18789 abs( 126_) <> 126_ or 18790 abs( 127_) <> 127_ or 18791 abs( 128_) <> 128_ or 18792 abs( 129_) <> 129_ or 18793 abs( 130_) <> 130_ or 18794 abs( 254_) <> 254_ or 18795 abs( 255_) <> 255_ or 18796 abs( 256_) <> 256_ or 18797 abs( 257_) <> 257_ or 18798 abs( 258_) <> 258_ or 18799 abs( 998_) <> 998_ or 18800 abs( 999_) <> 999_ or 18801 abs( 1000_) <> 1000_ or 18802 abs( 1001_) <> 1001_ or 18803 abs( 1002_) <> 1002_ or 18804 abs( 9998_) <> 9998_ or 18805 abs( 9999_) <> 9999_ or 18806 abs( 10000_) <> 10000_ or 18807 abs( 10001_) <> 10001_ or 18808 abs( 10002_) <> 10002_ or 18809 abs( 32766_) <> 32766_ or 18810 abs( 32767_) <> 32767_ or 18811 abs( 32768_) <> 32768_ or 18812 abs( 32769_) <> 32769_ or 18813 abs( 32770_) <> 32770_ or 18814 abs( 65534_) <> 65534_ or 18815 abs( 65535_) <> 65535_ or 18816 abs( 65536_) <> 65536_ or 18817 abs( 65537_) <> 65537_ or 18818 abs( 65538_) <> 65538_ or 18819 abs( 99998_) <> 99998_ or 18820 abs( 99999_) <> 99999_ or 18821 abs( 100000_) <> 100000_ or 18822 abs( 100001_) <> 100001_ or 18823 abs( 100002_) <> 100002_ or 18824 abs( 999998_) <> 999998_ or 18825 abs( 999999_) <> 999999_ or 18826 abs( 1000000_) <> 1000000_ or 18827 abs( 1000001_) <> 1000001_ or 18828 abs( 1000002_) <> 1000002_ or 18829 abs( 8388606_) <> 8388606_ or 18830 abs( 8388607_) <> 8388607_ or 18831 abs( 8388608_) <> 8388608_ or 18832 abs( 8388609_) <> 8388609_ or 18833 abs( 8388610_) <> 8388610_ or 18834 abs( 9999998_) <> 9999998_ or 18835 abs( 9999999_) <> 9999999_ or 18836 abs( 10000000_) <> 10000000_ or 18837 abs( 10000001_) <> 10000001_ or 18838 abs( 10000002_) <> 10000002_ or 18839 abs( 16777214_) <> 16777214_ or 18840 abs( 16777215_) <> 16777215_ or 18841 abs( 16777216_) <> 16777216_ or 18842 abs( 16777217_) <> 16777217_ or 18843 abs( 16777218_) <> 16777218_ or 18844 abs( 99999998_) <> 99999998_ or 18845 abs( 99999999_) <> 99999999_ or 18846 abs( 100000000_) <> 100000000_ or 18847 abs( 100000001_) <> 100000001_ or 18848 abs( 100000002_) <> 100000002_ or 18849 abs( 999999998_) <> 999999998_ or 18850 abs( 999999999_) <> 999999999_ or 18851 abs( 1000000000_) <> 1000000000_ or 18852 abs( 1000000001_) <> 1000000001_ or 18853 abs( 1000000002_) <> 1000000002_ or 18854 abs( 2147483646_) <> 2147483646_ or 18855 abs( 2147483647_) <> 2147483647_ or 18856 abs( 2147483648_) <> 2147483648_ or 18857 abs( 2147483649_) <> 2147483649_ or 18858 abs( 2147483650_) <> 2147483650_ or 18859 abs( 4294967294_) <> 4294967294_ or 18860 abs( 4294967295_) <> 4294967295_ or 18861 abs( 4294967296_) <> 4294967296_ or 18862 abs( 4294967297_) <> 4294967297_ or 18863 abs( 4294967298_) <> 4294967298_ or 18864 abs( 9999999998_) <> 9999999998_ or 18865 abs( 9999999999_) <> 9999999999_ or 18866 abs( 10000000000_) <> 10000000000_ or 18867 abs( 10000000001_) <> 10000000001_ or 18868 abs( 10000000002_) <> 10000000002_ or 18869 abs( 99999999998_) <> 99999999998_ or 18870 abs( 99999999999_) <> 99999999999_ or 18871 abs( 100000000000_) <> 100000000000_ or 18872 abs( 100000000001_) <> 100000000001_ or 18873 abs( 100000000002_) <> 100000000002_ or 18874 abs( 549755813886_) <> 549755813886_ or 18875 abs( 549755813887_) <> 549755813887_ or 18876 abs( 549755813888_) <> 549755813888_ or 18877 abs( 549755813889_) <> 549755813889_ or 18878 abs( 549755813890_) <> 549755813890_ or 18879 abs( 999999999998_) <> 999999999998_ or 18880 abs( 999999999999_) <> 999999999999_ or 18881 abs( 1000000000000_) <> 1000000000000_ or 18882 abs( 1000000000001_) <> 1000000000001_ or 18883 abs( 1000000000002_) <> 1000000000002_ or 18884 abs( 1099511627774_) <> 1099511627774_ or 18885 abs( 1099511627775_) <> 1099511627775_ or 18886 abs( 1099511627776_) <> 1099511627776_ or 18887 abs( 1099511627777_) <> 1099511627777_ or 18888 abs( 1099511627778_) <> 1099511627778_ or 18889 abs( 140737488355326_) <> 140737488355326_ or 18890 abs( 140737488355327_) <> 140737488355327_ or 18891 abs( 140737488355328_) <> 140737488355328_ or 18892 abs( 140737488355329_) <> 140737488355329_ or 18893 abs( 140737488355330_) <> 140737488355330_ or 18894 abs( 281474976710654_) <> 281474976710654_ or 18895 abs( 281474976710655_) <> 281474976710655_ or 18896 abs( 281474976710656_) <> 281474976710656_ or 18897 abs( 281474976710657_) <> 281474976710657_ or 18898 abs( 281474976710658_) <> 281474976710658_ or 18899 abs( 36028797018963966_) <> 36028797018963966_ or 18900 abs( 36028797018963967_) <> 36028797018963967_ or 18901 abs( 36028797018963968_) <> 36028797018963968_ or 18902 abs( 36028797018963969_) <> 36028797018963969_ or 18903 abs( 36028797018963970_) <> 36028797018963970_ or 18904 abs( 72057594037927934_) <> 72057594037927934_ or 18905 abs( 72057594037927935_) <> 72057594037927935_ or 18906 abs( 72057594037927936_) <> 72057594037927936_ or 18907 abs( 72057594037927937_) <> 72057594037927937_ or 18908 abs( 72057594037927938_) <> 72057594037927938_ or 18909 abs( 9223372036854775806_) <> 9223372036854775806_ or 18910 abs( 9223372036854775807_) <> 9223372036854775807_ or 18911 abs( 9223372036854775808_) <> 9223372036854775808_ or 18912 abs( 9223372036854775809_) <> 9223372036854775809_ or 18913 abs( 9223372036854775810_) <> 9223372036854775810_ or 18914 abs( 18446744073709551614_) <> 18446744073709551614_ or 18915 abs( 18446744073709551615_) <> 18446744073709551615_ or 18916 abs( 18446744073709551616_) <> 18446744073709551616_ or 18917 abs( 18446744073709551617_) <> 18446744073709551617_ or 18918 abs( 18446744073709551618_) <> 18446744073709551618_ or 18919 abs( 2361183241434822606846_) <> 2361183241434822606846_ or 18920 abs( 2361183241434822606847_) <> 2361183241434822606847_ or 18921 abs( 2361183241434822606848_) <> 2361183241434822606848_ or 18922 abs( 2361183241434822606849_) <> 2361183241434822606849_ or 18923 abs( 2361183241434822606850_) <> 2361183241434822606850_ or 18924 abs( 4722366482869645213694_) <> 4722366482869645213694_ or 18925 abs( 4722366482869645213695_) <> 4722366482869645213695_ or 18926 abs( 4722366482869645213696_) <> 4722366482869645213696_ or 18927 abs( 4722366482869645213697_) <> 4722366482869645213697_ or 18928 abs( 4722366482869645213698_) <> 4722366482869645213698_ or 18929 abs( 604462909807314587353086_) <> 604462909807314587353086_ or 18930 abs( 604462909807314587353087_) <> 604462909807314587353087_ or 18931 abs( 604462909807314587353088_) <> 604462909807314587353088_ or 18932 abs( 604462909807314587353089_) <> 604462909807314587353089_ or 18933 abs( 604462909807314587353090_) <> 604462909807314587353090_ or 18934 abs(1208925819614629174706174_) <> 1208925819614629174706174_ or 18935 abs(1208925819614629174706175_) <> 1208925819614629174706175_ or 18936 abs(1208925819614629174706176_) <> 1208925819614629174706176_ or 18937 abs(1208925819614629174706177_) <> 1208925819614629174706177_ or 18938 abs(1208925819614629174706178_) <> 1208925819614629174706178_ then 18939 writeln("The bigInteger abs function does not work correct. (2)"); 18940 okay := FALSE; 18941 end if; 18942 18943 if abs(bigintExpr( -0_)) <> 0_ or 18944 abs(bigintExpr( -1_)) <> 1_ or 18945 abs(bigintExpr( -2_)) <> 2_ or 18946 abs(bigintExpr( -8_)) <> 8_ or 18947 abs(bigintExpr( -9_)) <> 9_ or 18948 abs(bigintExpr( -10_)) <> 10_ or 18949 abs(bigintExpr( -11_)) <> 11_ or 18950 abs(bigintExpr( -12_)) <> 12_ or 18951 abs(bigintExpr( -98_)) <> 98_ or 18952 abs(bigintExpr( -99_)) <> 99_ or 18953 abs(bigintExpr( -100_)) <> 100_ or 18954 abs(bigintExpr( -101_)) <> 101_ or 18955 abs(bigintExpr( -102_)) <> 102_ or 18956 abs(bigintExpr( -126_)) <> 126_ or 18957 abs(bigintExpr( -127_)) <> 127_ or 18958 abs(bigintExpr( -128_)) <> 128_ or 18959 abs(bigintExpr( -129_)) <> 129_ or 18960 abs(bigintExpr( -130_)) <> 130_ or 18961 abs(bigintExpr( -254_)) <> 254_ or 18962 abs(bigintExpr( -255_)) <> 255_ or 18963 abs(bigintExpr( -256_)) <> 256_ or 18964 abs(bigintExpr( -257_)) <> 257_ or 18965 abs(bigintExpr( -258_)) <> 258_ or 18966 abs(bigintExpr( -998_)) <> 998_ or 18967 abs(bigintExpr( -999_)) <> 999_ or 18968 abs(bigintExpr( -1000_)) <> 1000_ or 18969 abs(bigintExpr( -1001_)) <> 1001_ or 18970 abs(bigintExpr( -1002_)) <> 1002_ or 18971 abs(bigintExpr( -9998_)) <> 9998_ or 18972 abs(bigintExpr( -9999_)) <> 9999_ or 18973 abs(bigintExpr( -10000_)) <> 10000_ or 18974 abs(bigintExpr( -10001_)) <> 10001_ or 18975 abs(bigintExpr( -10002_)) <> 10002_ or 18976 abs(bigintExpr( -32766_)) <> 32766_ or 18977 abs(bigintExpr( -32767_)) <> 32767_ or 18978 abs(bigintExpr( -32768_)) <> 32768_ or 18979 abs(bigintExpr( -32769_)) <> 32769_ or 18980 abs(bigintExpr( -32770_)) <> 32770_ or 18981 abs(bigintExpr( -65534_)) <> 65534_ or 18982 abs(bigintExpr( -65535_)) <> 65535_ or 18983 abs(bigintExpr( -65536_)) <> 65536_ or 18984 abs(bigintExpr( -65537_)) <> 65537_ or 18985 abs(bigintExpr( -65538_)) <> 65538_ or 18986 abs(bigintExpr( -99998_)) <> 99998_ or 18987 abs(bigintExpr( -99999_)) <> 99999_ or 18988 abs(bigintExpr( -100000_)) <> 100000_ or 18989 abs(bigintExpr( -100001_)) <> 100001_ or 18990 abs(bigintExpr( -100002_)) <> 100002_ or 18991 abs(bigintExpr( -999998_)) <> 999998_ or 18992 abs(bigintExpr( -999999_)) <> 999999_ or 18993 abs(bigintExpr( -1000000_)) <> 1000000_ or 18994 abs(bigintExpr( -1000001_)) <> 1000001_ or 18995 abs(bigintExpr( -1000002_)) <> 1000002_ or 18996 abs(bigintExpr( -8388606_)) <> 8388606_ or 18997 abs(bigintExpr( -8388607_)) <> 8388607_ or 18998 abs(bigintExpr( -8388608_)) <> 8388608_ or 18999 abs(bigintExpr( -8388609_)) <> 8388609_ or 19000 abs(bigintExpr( -8388610_)) <> 8388610_ or 19001 abs(bigintExpr( -9999998_)) <> 9999998_ or 19002 abs(bigintExpr( -9999999_)) <> 9999999_ or 19003 abs(bigintExpr( -10000000_)) <> 10000000_ or 19004 abs(bigintExpr( -10000001_)) <> 10000001_ or 19005 abs(bigintExpr( -10000002_)) <> 10000002_ or 19006 abs(bigintExpr( -16777214_)) <> 16777214_ or 19007 abs(bigintExpr( -16777215_)) <> 16777215_ or 19008 abs(bigintExpr( -16777216_)) <> 16777216_ or 19009 abs(bigintExpr( -16777217_)) <> 16777217_ or 19010 abs(bigintExpr( -16777218_)) <> 16777218_ or 19011 abs(bigintExpr( -99999998_)) <> 99999998_ or 19012 abs(bigintExpr( -99999999_)) <> 99999999_ or 19013 abs(bigintExpr( -100000000_)) <> 100000000_ or 19014 abs(bigintExpr( -100000001_)) <> 100000001_ or 19015 abs(bigintExpr( -100000002_)) <> 100000002_ or 19016 abs(bigintExpr( -999999998_)) <> 999999998_ or 19017 abs(bigintExpr( -999999999_)) <> 999999999_ or 19018 abs(bigintExpr( -1000000000_)) <> 1000000000_ or 19019 abs(bigintExpr( -1000000001_)) <> 1000000001_ or 19020 abs(bigintExpr( -1000000002_)) <> 1000000002_ or 19021 abs(bigintExpr( -2147483646_)) <> 2147483646_ or 19022 abs(bigintExpr( -2147483647_)) <> 2147483647_ or 19023 abs(bigintExpr( -2147483648_)) <> 2147483648_ or 19024 abs(bigintExpr( -2147483649_)) <> 2147483649_ or 19025 abs(bigintExpr( -2147483650_)) <> 2147483650_ or 19026 abs(bigintExpr( -4294967294_)) <> 4294967294_ or 19027 abs(bigintExpr( -4294967295_)) <> 4294967295_ or 19028 abs(bigintExpr( -4294967296_)) <> 4294967296_ or 19029 abs(bigintExpr( -4294967297_)) <> 4294967297_ or 19030 abs(bigintExpr( -4294967298_)) <> 4294967298_ or 19031 abs(bigintExpr( -9999999998_)) <> 9999999998_ or 19032 abs(bigintExpr( -9999999999_)) <> 9999999999_ or 19033 abs(bigintExpr( -10000000000_)) <> 10000000000_ or 19034 abs(bigintExpr( -10000000001_)) <> 10000000001_ or 19035 abs(bigintExpr( -10000000002_)) <> 10000000002_ or 19036 abs(bigintExpr( -99999999998_)) <> 99999999998_ or 19037 abs(bigintExpr( -99999999999_)) <> 99999999999_ or 19038 abs(bigintExpr( -100000000000_)) <> 100000000000_ or 19039 abs(bigintExpr( -100000000001_)) <> 100000000001_ or 19040 abs(bigintExpr( -100000000002_)) <> 100000000002_ or 19041 abs(bigintExpr( -549755813886_)) <> 549755813886_ or 19042 abs(bigintExpr( -549755813887_)) <> 549755813887_ or 19043 abs(bigintExpr( -549755813888_)) <> 549755813888_ or 19044 abs(bigintExpr( -549755813889_)) <> 549755813889_ or 19045 abs(bigintExpr( -549755813890_)) <> 549755813890_ or 19046 abs(bigintExpr( -999999999998_)) <> 999999999998_ or 19047 abs(bigintExpr( -999999999999_)) <> 999999999999_ or 19048 abs(bigintExpr( -1000000000000_)) <> 1000000000000_ or 19049 abs(bigintExpr( -1000000000001_)) <> 1000000000001_ or 19050 abs(bigintExpr( -1000000000002_)) <> 1000000000002_ or 19051 abs(bigintExpr( -1099511627774_)) <> 1099511627774_ or 19052 abs(bigintExpr( -1099511627775_)) <> 1099511627775_ or 19053 abs(bigintExpr( -1099511627776_)) <> 1099511627776_ or 19054 abs(bigintExpr( -1099511627777_)) <> 1099511627777_ or 19055 abs(bigintExpr( -1099511627778_)) <> 1099511627778_ or 19056 abs(bigintExpr( -140737488355326_)) <> 140737488355326_ or 19057 abs(bigintExpr( -140737488355327_)) <> 140737488355327_ or 19058 abs(bigintExpr( -140737488355328_)) <> 140737488355328_ or 19059 abs(bigintExpr( -140737488355329_)) <> 140737488355329_ or 19060 abs(bigintExpr( -140737488355330_)) <> 140737488355330_ or 19061 abs(bigintExpr( -281474976710654_)) <> 281474976710654_ or 19062 abs(bigintExpr( -281474976710655_)) <> 281474976710655_ or 19063 abs(bigintExpr( -281474976710656_)) <> 281474976710656_ or 19064 abs(bigintExpr( -281474976710657_)) <> 281474976710657_ or 19065 abs(bigintExpr( -281474976710658_)) <> 281474976710658_ or 19066 abs(bigintExpr( -36028797018963966_)) <> 36028797018963966_ or 19067 abs(bigintExpr( -36028797018963967_)) <> 36028797018963967_ or 19068 abs(bigintExpr( -36028797018963968_)) <> 36028797018963968_ or 19069 abs(bigintExpr( -36028797018963969_)) <> 36028797018963969_ or 19070 abs(bigintExpr( -36028797018963970_)) <> 36028797018963970_ or 19071 abs(bigintExpr( -72057594037927934_)) <> 72057594037927934_ or 19072 abs(bigintExpr( -72057594037927935_)) <> 72057594037927935_ or 19073 abs(bigintExpr( -72057594037927936_)) <> 72057594037927936_ or 19074 abs(bigintExpr( -72057594037927937_)) <> 72057594037927937_ or 19075 abs(bigintExpr( -72057594037927938_)) <> 72057594037927938_ or 19076 abs(bigintExpr( -9223372036854775806_)) <> 9223372036854775806_ or 19077 abs(bigintExpr( -9223372036854775807_)) <> 9223372036854775807_ or 19078 abs(bigintExpr( -9223372036854775808_)) <> 9223372036854775808_ or 19079 abs(bigintExpr( -9223372036854775809_)) <> 9223372036854775809_ or 19080 abs(bigintExpr( -9223372036854775810_)) <> 9223372036854775810_ or 19081 abs(bigintExpr( -18446744073709551614_)) <> 18446744073709551614_ or 19082 abs(bigintExpr( -18446744073709551615_)) <> 18446744073709551615_ or 19083 abs(bigintExpr( -18446744073709551616_)) <> 18446744073709551616_ or 19084 abs(bigintExpr( -18446744073709551617_)) <> 18446744073709551617_ or 19085 abs(bigintExpr( -18446744073709551618_)) <> 18446744073709551618_ or 19086 abs(bigintExpr( -2361183241434822606846_)) <> 2361183241434822606846_ or 19087 abs(bigintExpr( -2361183241434822606847_)) <> 2361183241434822606847_ or 19088 abs(bigintExpr( -2361183241434822606848_)) <> 2361183241434822606848_ or 19089 abs(bigintExpr( -2361183241434822606849_)) <> 2361183241434822606849_ or 19090 abs(bigintExpr( -2361183241434822606850_)) <> 2361183241434822606850_ or 19091 abs(bigintExpr( -4722366482869645213694_)) <> 4722366482869645213694_ or 19092 abs(bigintExpr( -4722366482869645213695_)) <> 4722366482869645213695_ or 19093 abs(bigintExpr( -4722366482869645213696_)) <> 4722366482869645213696_ or 19094 abs(bigintExpr( -4722366482869645213697_)) <> 4722366482869645213697_ or 19095 abs(bigintExpr( -4722366482869645213698_)) <> 4722366482869645213698_ or 19096 abs(bigintExpr( -604462909807314587353086_)) <> 604462909807314587353086_ or 19097 abs(bigintExpr( -604462909807314587353087_)) <> 604462909807314587353087_ or 19098 abs(bigintExpr( -604462909807314587353088_)) <> 604462909807314587353088_ or 19099 abs(bigintExpr( -604462909807314587353089_)) <> 604462909807314587353089_ or 19100 abs(bigintExpr( -604462909807314587353090_)) <> 604462909807314587353090_ or 19101 abs(bigintExpr(-1208925819614629174706174_)) <> 1208925819614629174706174_ or 19102 abs(bigintExpr(-1208925819614629174706175_)) <> 1208925819614629174706175_ or 19103 abs(bigintExpr(-1208925819614629174706176_)) <> 1208925819614629174706176_ or 19104 abs(bigintExpr(-1208925819614629174706177_)) <> 1208925819614629174706177_ or 19105 abs(bigintExpr(-1208925819614629174706178_)) <> 1208925819614629174706178_ then 19106 writeln("The bigInteger abs function does not work correct. (3)"); 19107 okay := FALSE; 19108 end if; 19109 19110 if abs(bigintExpr( 0_)) <> 0_ or 19111 abs(bigintExpr( 1_)) <> 1_ or 19112 abs(bigintExpr( 2_)) <> 2_ or 19113 abs(bigintExpr( 8_)) <> 8_ or 19114 abs(bigintExpr( 9_)) <> 9_ or 19115 abs(bigintExpr( 10_)) <> 10_ or 19116 abs(bigintExpr( 11_)) <> 11_ or 19117 abs(bigintExpr( 12_)) <> 12_ or 19118 abs(bigintExpr( 98_)) <> 98_ or 19119 abs(bigintExpr( 99_)) <> 99_ or 19120 abs(bigintExpr( 100_)) <> 100_ or 19121 abs(bigintExpr( 101_)) <> 101_ or 19122 abs(bigintExpr( 102_)) <> 102_ or 19123 abs(bigintExpr( 126_)) <> 126_ or 19124 abs(bigintExpr( 127_)) <> 127_ or 19125 abs(bigintExpr( 128_)) <> 128_ or 19126 abs(bigintExpr( 129_)) <> 129_ or 19127 abs(bigintExpr( 130_)) <> 130_ or 19128 abs(bigintExpr( 254_)) <> 254_ or 19129 abs(bigintExpr( 255_)) <> 255_ or 19130 abs(bigintExpr( 256_)) <> 256_ or 19131 abs(bigintExpr( 257_)) <> 257_ or 19132 abs(bigintExpr( 258_)) <> 258_ or 19133 abs(bigintExpr( 998_)) <> 998_ or 19134 abs(bigintExpr( 999_)) <> 999_ or 19135 abs(bigintExpr( 1000_)) <> 1000_ or 19136 abs(bigintExpr( 1001_)) <> 1001_ or 19137 abs(bigintExpr( 1002_)) <> 1002_ or 19138 abs(bigintExpr( 9998_)) <> 9998_ or 19139 abs(bigintExpr( 9999_)) <> 9999_ or 19140 abs(bigintExpr( 10000_)) <> 10000_ or 19141 abs(bigintExpr( 10001_)) <> 10001_ or 19142 abs(bigintExpr( 10002_)) <> 10002_ or 19143 abs(bigintExpr( 32766_)) <> 32766_ or 19144 abs(bigintExpr( 32767_)) <> 32767_ or 19145 abs(bigintExpr( 32768_)) <> 32768_ or 19146 abs(bigintExpr( 32769_)) <> 32769_ or 19147 abs(bigintExpr( 32770_)) <> 32770_ or 19148 abs(bigintExpr( 65534_)) <> 65534_ or 19149 abs(bigintExpr( 65535_)) <> 65535_ or 19150 abs(bigintExpr( 65536_)) <> 65536_ or 19151 abs(bigintExpr( 65537_)) <> 65537_ or 19152 abs(bigintExpr( 65538_)) <> 65538_ or 19153 abs(bigintExpr( 99998_)) <> 99998_ or 19154 abs(bigintExpr( 99999_)) <> 99999_ or 19155 abs(bigintExpr( 100000_)) <> 100000_ or 19156 abs(bigintExpr( 100001_)) <> 100001_ or 19157 abs(bigintExpr( 100002_)) <> 100002_ or 19158 abs(bigintExpr( 999998_)) <> 999998_ or 19159 abs(bigintExpr( 999999_)) <> 999999_ or 19160 abs(bigintExpr( 1000000_)) <> 1000000_ or 19161 abs(bigintExpr( 1000001_)) <> 1000001_ or 19162 abs(bigintExpr( 1000002_)) <> 1000002_ or 19163 abs(bigintExpr( 8388606_)) <> 8388606_ or 19164 abs(bigintExpr( 8388607_)) <> 8388607_ or 19165 abs(bigintExpr( 8388608_)) <> 8388608_ or 19166 abs(bigintExpr( 8388609_)) <> 8388609_ or 19167 abs(bigintExpr( 8388610_)) <> 8388610_ or 19168 abs(bigintExpr( 9999998_)) <> 9999998_ or 19169 abs(bigintExpr( 9999999_)) <> 9999999_ or 19170 abs(bigintExpr( 10000000_)) <> 10000000_ or 19171 abs(bigintExpr( 10000001_)) <> 10000001_ or 19172 abs(bigintExpr( 10000002_)) <> 10000002_ or 19173 abs(bigintExpr( 16777214_)) <> 16777214_ or 19174 abs(bigintExpr( 16777215_)) <> 16777215_ or 19175 abs(bigintExpr( 16777216_)) <> 16777216_ or 19176 abs(bigintExpr( 16777217_)) <> 16777217_ or 19177 abs(bigintExpr( 16777218_)) <> 16777218_ or 19178 abs(bigintExpr( 99999998_)) <> 99999998_ or 19179 abs(bigintExpr( 99999999_)) <> 99999999_ or 19180 abs(bigintExpr( 100000000_)) <> 100000000_ or 19181 abs(bigintExpr( 100000001_)) <> 100000001_ or 19182 abs(bigintExpr( 100000002_)) <> 100000002_ or 19183 abs(bigintExpr( 999999998_)) <> 999999998_ or 19184 abs(bigintExpr( 999999999_)) <> 999999999_ or 19185 abs(bigintExpr( 1000000000_)) <> 1000000000_ or 19186 abs(bigintExpr( 1000000001_)) <> 1000000001_ or 19187 abs(bigintExpr( 1000000002_)) <> 1000000002_ or 19188 abs(bigintExpr( 2147483646_)) <> 2147483646_ or 19189 abs(bigintExpr( 2147483647_)) <> 2147483647_ or 19190 abs(bigintExpr( 2147483648_)) <> 2147483648_ or 19191 abs(bigintExpr( 2147483649_)) <> 2147483649_ or 19192 abs(bigintExpr( 2147483650_)) <> 2147483650_ or 19193 abs(bigintExpr( 4294967294_)) <> 4294967294_ or 19194 abs(bigintExpr( 4294967295_)) <> 4294967295_ or 19195 abs(bigintExpr( 4294967296_)) <> 4294967296_ or 19196 abs(bigintExpr( 4294967297_)) <> 4294967297_ or 19197 abs(bigintExpr( 4294967298_)) <> 4294967298_ or 19198 abs(bigintExpr( 9999999998_)) <> 9999999998_ or 19199 abs(bigintExpr( 9999999999_)) <> 9999999999_ or 19200 abs(bigintExpr( 10000000000_)) <> 10000000000_ or 19201 abs(bigintExpr( 10000000001_)) <> 10000000001_ or 19202 abs(bigintExpr( 10000000002_)) <> 10000000002_ or 19203 abs(bigintExpr( 99999999998_)) <> 99999999998_ or 19204 abs(bigintExpr( 99999999999_)) <> 99999999999_ or 19205 abs(bigintExpr( 100000000000_)) <> 100000000000_ or 19206 abs(bigintExpr( 100000000001_)) <> 100000000001_ or 19207 abs(bigintExpr( 100000000002_)) <> 100000000002_ or 19208 abs(bigintExpr( 549755813886_)) <> 549755813886_ or 19209 abs(bigintExpr( 549755813887_)) <> 549755813887_ or 19210 abs(bigintExpr( 549755813888_)) <> 549755813888_ or 19211 abs(bigintExpr( 549755813889_)) <> 549755813889_ or 19212 abs(bigintExpr( 549755813890_)) <> 549755813890_ or 19213 abs(bigintExpr( 999999999998_)) <> 999999999998_ or 19214 abs(bigintExpr( 999999999999_)) <> 999999999999_ or 19215 abs(bigintExpr( 1000000000000_)) <> 1000000000000_ or 19216 abs(bigintExpr( 1000000000001_)) <> 1000000000001_ or 19217 abs(bigintExpr( 1000000000002_)) <> 1000000000002_ or 19218 abs(bigintExpr( 1099511627774_)) <> 1099511627774_ or 19219 abs(bigintExpr( 1099511627775_)) <> 1099511627775_ or 19220 abs(bigintExpr( 1099511627776_)) <> 1099511627776_ or 19221 abs(bigintExpr( 1099511627777_)) <> 1099511627777_ or 19222 abs(bigintExpr( 1099511627778_)) <> 1099511627778_ or 19223 abs(bigintExpr( 140737488355326_)) <> 140737488355326_ or 19224 abs(bigintExpr( 140737488355327_)) <> 140737488355327_ or 19225 abs(bigintExpr( 140737488355328_)) <> 140737488355328_ or 19226 abs(bigintExpr( 140737488355329_)) <> 140737488355329_ or 19227 abs(bigintExpr( 140737488355330_)) <> 140737488355330_ or 19228 abs(bigintExpr( 281474976710654_)) <> 281474976710654_ or 19229 abs(bigintExpr( 281474976710655_)) <> 281474976710655_ or 19230 abs(bigintExpr( 281474976710656_)) <> 281474976710656_ or 19231 abs(bigintExpr( 281474976710657_)) <> 281474976710657_ or 19232 abs(bigintExpr( 281474976710658_)) <> 281474976710658_ or 19233 abs(bigintExpr( 36028797018963966_)) <> 36028797018963966_ or 19234 abs(bigintExpr( 36028797018963967_)) <> 36028797018963967_ or 19235 abs(bigintExpr( 36028797018963968_)) <> 36028797018963968_ or 19236 abs(bigintExpr( 36028797018963969_)) <> 36028797018963969_ or 19237 abs(bigintExpr( 36028797018963970_)) <> 36028797018963970_ or 19238 abs(bigintExpr( 72057594037927934_)) <> 72057594037927934_ or 19239 abs(bigintExpr( 72057594037927935_)) <> 72057594037927935_ or 19240 abs(bigintExpr( 72057594037927936_)) <> 72057594037927936_ or 19241 abs(bigintExpr( 72057594037927937_)) <> 72057594037927937_ or 19242 abs(bigintExpr( 72057594037927938_)) <> 72057594037927938_ or 19243 abs(bigintExpr( 9223372036854775806_)) <> 9223372036854775806_ or 19244 abs(bigintExpr( 9223372036854775807_)) <> 9223372036854775807_ or 19245 abs(bigintExpr( 9223372036854775808_)) <> 9223372036854775808_ or 19246 abs(bigintExpr( 9223372036854775809_)) <> 9223372036854775809_ or 19247 abs(bigintExpr( 9223372036854775810_)) <> 9223372036854775810_ or 19248 abs(bigintExpr( 18446744073709551614_)) <> 18446744073709551614_ or 19249 abs(bigintExpr( 18446744073709551615_)) <> 18446744073709551615_ or 19250 abs(bigintExpr( 18446744073709551616_)) <> 18446744073709551616_ or 19251 abs(bigintExpr( 18446744073709551617_)) <> 18446744073709551617_ or 19252 abs(bigintExpr( 18446744073709551618_)) <> 18446744073709551618_ or 19253 abs(bigintExpr( 2361183241434822606846_)) <> 2361183241434822606846_ or 19254 abs(bigintExpr( 2361183241434822606847_)) <> 2361183241434822606847_ or 19255 abs(bigintExpr( 2361183241434822606848_)) <> 2361183241434822606848_ or 19256 abs(bigintExpr( 2361183241434822606849_)) <> 2361183241434822606849_ or 19257 abs(bigintExpr( 2361183241434822606850_)) <> 2361183241434822606850_ or 19258 abs(bigintExpr( 4722366482869645213694_)) <> 4722366482869645213694_ or 19259 abs(bigintExpr( 4722366482869645213695_)) <> 4722366482869645213695_ or 19260 abs(bigintExpr( 4722366482869645213696_)) <> 4722366482869645213696_ or 19261 abs(bigintExpr( 4722366482869645213697_)) <> 4722366482869645213697_ or 19262 abs(bigintExpr( 4722366482869645213698_)) <> 4722366482869645213698_ or 19263 abs(bigintExpr( 604462909807314587353086_)) <> 604462909807314587353086_ or 19264 abs(bigintExpr( 604462909807314587353087_)) <> 604462909807314587353087_ or 19265 abs(bigintExpr( 604462909807314587353088_)) <> 604462909807314587353088_ or 19266 abs(bigintExpr( 604462909807314587353089_)) <> 604462909807314587353089_ or 19267 abs(bigintExpr( 604462909807314587353090_)) <> 604462909807314587353090_ or 19268 abs(bigintExpr(1208925819614629174706174_)) <> 1208925819614629174706174_ or 19269 abs(bigintExpr(1208925819614629174706175_)) <> 1208925819614629174706175_ or 19270 abs(bigintExpr(1208925819614629174706176_)) <> 1208925819614629174706176_ or 19271 abs(bigintExpr(1208925819614629174706177_)) <> 1208925819614629174706177_ or 19272 abs(bigintExpr(1208925819614629174706178_)) <> 1208925819614629174706178_ then 19273 writeln("The bigInteger abs function does not work correct. (4)"); 19274 okay := FALSE; 19275 end if; 19276 19277 if okay then 19278 writeln("The bigInteger abs function works correct."); 19279 else 19280 writeln(" ***** The bigInteger abs function does not work correct."); 19281 writeln; 19282 end if; 19283 end func; 19284 19285 19286const proc: chkOdd is func 19287 local 19288 var boolean: okay is TRUE; 19289 var bigInteger: number is 0_ 19290 begin 19291 for 100 do 19292 number := rand(-10_ ** 10000, 10_ ** 10000); 19293 if odd(number) <> (number mod 2_ = 1_) then 19294 okay := FALSE; 19295 end if; 19296 end for; 19297 if okay then 19298 writeln("The bigInteger odd function works correct."); 19299 else 19300 writeln(" ***** The bigInteger odd function does not work correct."); 19301 writeln; 19302 end if; 19303 end func; 19304 19305 19306const proc: chkLog2 is func 19307 local 19308 var boolean: okay is TRUE; 19309 begin 19310 if log2( 0_) <> -1_ or 19311 log2( 1_) <> 0_ or 19312 log2( 2_) <> 1_ or 19313 log2( 3_) <> 1_ or 19314 log2( 4_) <> 2_ or 19315 log2( 5_) <> 2_ or 19316 log2( 6_) <> 2_ or 19317 log2( 7_) <> 2_ or 19318 log2( 8_) <> 3_ or 19319 log2( 9_) <> 3_ or 19320 log2( 10_) <> 3_ or 19321 log2( 15_) <> 3_ or 19322 log2( 16_) <> 4_ or 19323 log2( 25_) <> 4_ or 19324 log2( 31_) <> 4_ or 19325 log2( 32_) <> 5_ or 19326 log2( 50_) <> 5_ or 19327 log2( 63_) <> 5_ or 19328 log2( 64_) <> 6_ or 19329 log2( 71_) <> 6_ or 19330 log2( 127_) <> 6_ or 19331 log2( 128_) <> 7_ or 19332 log2( 243_) <> 7_ or 19333 log2( 255_) <> 7_ or 19334 log2( 256_) <> 8_ or 19335 log2( 467_) <> 8_ or 19336 log2( 511_) <> 8_ or 19337 log2( 512_) <> 9_ or 19338 log2( 873_) <> 9_ or 19339 log2( 1023_) <> 9_ or 19340 log2( 1024_) <> 10_ or 19341 log2( 1715_) <> 10_ or 19342 log2( 2047_) <> 10_ or 19343 log2( 2048_) <> 11_ or 19344 log2( 3761_) <> 11_ or 19345 log2( 4095_) <> 11_ or 19346 log2( 4096_) <> 12_ or 19347 log2( 5965_) <> 12_ or 19348 log2( 8191_) <> 12_ or 19349 log2( 8192_) <> 13_ or 19350 log2( 10445_) <> 13_ or 19351 log2( 16383_) <> 13_ or 19352 log2( 16384_) <> 14_ or 19353 log2( 22490_) <> 14_ or 19354 log2( 32767_) <> 14_ or 19355 log2( 32768_) <> 15_ or 19356 log2( 46524_) <> 15_ or 19357 log2( 65535_) <> 15_ or 19358 log2( 65536_) <> 16_ or 19359 log2( 106275_) <> 16_ or 19360 log2( 131071_) <> 16_ or 19361 log2( 131072_) <> 17_ or 19362 log2( 206206_) <> 17_ or 19363 log2( 262143_) <> 17_ or 19364 log2( 262144_) <> 18_ or 19365 log2( 415694_) <> 18_ or 19366 log2( 524287_) <> 18_ or 19367 log2( 524288_) <> 19_ or 19368 log2( 923667_) <> 19_ or 19369 log2( 1048575_) <> 19_ or 19370 log2( 1048576_) <> 20_ or 19371 log2( 1430124_) <> 20_ or 19372 log2( 2097151_) <> 20_ or 19373 log2( 2097152_) <> 21_ or 19374 log2( 3297211_) <> 21_ or 19375 log2( 4194303_) <> 21_ or 19376 log2( 4194304_) <> 22_ or 19377 log2( 5622078_) <> 22_ or 19378 log2( 8388607_) <> 22_ or 19379 log2( 8388608_) <> 23_ or 19380 log2( 11404725_) <> 23_ or 19381 log2( 16777215_) <> 23_ or 19382 log2( 16777216_) <> 24_ or 19383 log2( 23839458_) <> 24_ or 19384 log2( 33554431_) <> 24_ or 19385 log2( 33554432_) <> 25_ or 19386 log2( 51314883_) <> 25_ or 19387 log2( 67108863_) <> 25_ or 19388 log2( 67108864_) <> 26_ or 19389 log2( 118996825_) <> 26_ or 19390 log2( 134217727_) <> 26_ or 19391 log2( 134217728_) <> 27_ or 19392 log2( 226885284_) <> 27_ or 19393 log2( 268435455_) <> 27_ or 19394 log2( 268435456_) <> 28_ or 19395 log2( 374980260_) <> 28_ or 19396 log2( 536870911_) <> 28_ or 19397 log2( 536870912_) <> 29_ or 19398 log2( 697499480_) <> 29_ or 19399 log2( 1073741823_) <> 29_ or 19400 log2( 1073741824_) <> 30_ or 19401 log2( 1597096129_) <> 30_ or 19402 log2( 2147483647_) <> 30_ or 19403 log2( 2147483648_) <> 31_ or 19404 log2( 3073770207_) <> 31_ or 19405 log2( 4294967295_) <> 31_ or 19406 log2( 4294967296_) <> 32_ or 19407 log2( 6469698993_) <> 32_ or 19408 log2( 8589934591_) <> 32_ or 19409 log2( 8589934592_) <> 33_ or 19410 log2( 13650611573_) <> 33_ or 19411 log2( 17179869183_) <> 33_ or 19412 log2( 17179869184_) <> 34_ or 19413 log2( 25287317515_) <> 34_ or 19414 log2( 34359738367_) <> 34_ or 19415 log2( 34359738368_) <> 35_ or 19416 log2( 34937365876_) <> 35_ or 19417 log2( 68719476735_) <> 35_ or 19418 log2( 68719476736_) <> 36_ or 19419 log2( 130647586224_) <> 36_ or 19420 log2( 137438953471_) <> 36_ or 19421 log2( 137438953472_) <> 37_ or 19422 log2( 237256050880_) <> 37_ or 19423 log2( 274877906943_) <> 37_ or 19424 log2( 274877906944_) <> 38_ or 19425 log2( 421334752930_) <> 38_ or 19426 log2( 549755813887_) <> 38_ or 19427 log2( 549755813888_) <> 39_ or 19428 log2( 831060064087_) <> 39_ or 19429 log2( 1099511627775_) <> 39_ or 19430 log2( 1099511627776_) <> 40_ or 19431 log2( 1872306393824_) <> 40_ or 19432 log2( 2199023255551_) <> 40_ or 19433 log2( 2199023255552_) <> 41_ or 19434 log2( 3817804165435_) <> 41_ or 19435 log2( 4398046511103_) <> 41_ or 19436 log2( 4398046511104_) <> 42_ or 19437 log2( 4470677607017_) <> 42_ or 19438 log2( 8796093022207_) <> 42_ or 19439 log2( 8796093022208_) <> 43_ or 19440 log2( 10425849001579_) <> 43_ or 19441 log2( 17592186044415_) <> 43_ or 19442 log2( 17592186044416_) <> 44_ or 19443 log2( 19482147609919_) <> 44_ or 19444 log2( 35184372088831_) <> 44_ or 19445 log2( 35184372088832_) <> 45_ or 19446 log2( 66834682939110_) <> 45_ or 19447 log2( 70368744177663_) <> 45_ or 19448 log2( 70368744177664_) <> 46_ or 19449 log2( 82108268360545_) <> 46_ or 19450 log2( 140737488355327_) <> 46_ or 19451 log2( 140737488355328_) <> 47_ or 19452 log2( 206038244745902_) <> 47_ or 19453 log2( 281474976710655_) <> 47_ or 19454 log2( 281474976710656_) <> 48_ or 19455 log2( 544184170812622_) <> 48_ or 19456 log2( 562949953421311_) <> 48_ or 19457 log2( 562949953421312_) <> 49_ or 19458 log2( 603954099898818_) <> 49_ or 19459 log2( 1125899906842623_) <> 49_ or 19460 log2( 1125899906842624_) <> 50_ or 19461 log2( 1511254381298056_) <> 50_ or 19462 log2( 2251799813685247_) <> 50_ or 19463 log2( 2251799813685248_) <> 51_ or 19464 log2( 2421662232362017_) <> 51_ or 19465 log2( 4503599627370495_) <> 51_ or 19466 log2( 4503599627370496_) <> 52_ or 19467 log2( 5024025365870990_) <> 52_ or 19468 log2( 9007199254740991_) <> 52_ or 19469 log2( 9007199254740992_) <> 53_ or 19470 log2( 16073745370364365_) <> 53_ or 19471 log2( 18014398509481983_) <> 53_ or 19472 log2( 18014398509481984_) <> 54_ or 19473 log2( 24311821029932255_) <> 54_ or 19474 log2( 36028797018963967_) <> 54_ or 19475 log2( 36028797018963968_) <> 55_ or 19476 log2( 56759843666346693_) <> 55_ or 19477 log2( 72057594037927935_) <> 55_ or 19478 log2( 72057594037927936_) <> 56_ or 19479 log2( 113417824017025917_) <> 56_ or 19480 log2( 144115188075855871_) <> 56_ or 19481 log2( 144115188075855872_) <> 57_ or 19482 log2( 176271357130037000_) <> 57_ or 19483 log2( 288230376151711743_) <> 57_ or 19484 log2( 288230376151711744_) <> 58_ or 19485 log2( 497522024285611367_) <> 58_ or 19486 log2( 576460752303423487_) <> 58_ or 19487 log2( 576460752303423488_) <> 59_ or 19488 log2( 644824263403665048_) <> 59_ or 19489 log2( 1152921504606846975_) <> 59_ or 19490 log2( 1152921504606846976_) <> 60_ or 19491 log2( 2059329953095273116_) <> 60_ or 19492 log2( 2305843009213693951_) <> 60_ or 19493 log2( 2305843009213693952_) <> 61_ or 19494 log2( 4164578334614561140_) <> 61_ or 19495 log2( 4611686018427387903_) <> 61_ or 19496 log2( 4611686018427387904_) <> 62_ or 19497 log2( 5807647918387067678_) <> 62_ or 19498 log2( 9223372036854775807_) <> 62_ or 19499 log2( 9223372036854775808_) <> 63_ or 19500 log2( 12753146212414642075_) <> 63_ or 19501 log2( 18446744073709551615_) <> 63_ or 19502 log2( 18446744073709551616_) <> 64_ or 19503 log2( 29612759245862090476_) <> 64_ or 19504 log2( 36893488147419103231_) <> 64_ or 19505 log2( 36893488147419103232_) <> 65_ or 19506 log2( 43515184798306208560_) <> 65_ or 19507 log2( 73786976294838206463_) <> 65_ or 19508 log2( 73786976294838206464_) <> 66_ or 19509 log2( 139676286748363941327_) <> 66_ or 19510 log2( 147573952589676412927_) <> 66_ or 19511 log2( 147573952589676412928_) <> 67_ or 19512 log2( 171675034002644223688_) <> 67_ or 19513 log2( 295147905179352825855_) <> 67_ or 19514 log2( 295147905179352825856_) <> 68_ or 19515 log2( 343578532885417340445_) <> 68_ or 19516 log2( 590295810358705651711_) <> 68_ or 19517 log2( 590295810358705651712_) <> 69_ or 19518 log2( 1136155050809416981452_) <> 69_ or 19519 log2( 1180591620717411303423_) <> 69_ or 19520 log2( 1180591620717411303424_) <> 70_ or 19521 log2( 1849581234482850435030_) <> 70_ or 19522 log2( 2361183241434822606847_) <> 70_ or 19523 log2( 2361183241434822606848_) <> 71_ or 19524 log2( 2466563261332588464698_) <> 71_ or 19525 log2( 4722366482869645213695_) <> 71_ or 19526 log2( 4722366482869645213696_) <> 72_ or 19527 log2( 4759141483948213242617_) <> 72_ or 19528 log2( 9444732965739290427391_) <> 72_ or 19529 log2( 9444732965739290427392_) <> 73_ or 19530 log2( 11052758577109118652948_) <> 73_ or 19531 log2( 18889465931478580854783_) <> 73_ or 19532 log2( 18889465931478580854784_) <> 74_ or 19533 log2( 19061171197188785512328_) <> 74_ or 19534 log2( 37778931862957161709567_) <> 74_ or 19535 log2( 37778931862957161709568_) <> 75_ or 19536 log2( 57064390930688831730520_) <> 75_ or 19537 log2( 75557863725914323419135_) <> 75_ or 19538 log2( 75557863725914323419136_) <> 76_ or 19539 log2( 87303085580230680432002_) <> 76_ or 19540 log2( 151115727451828646838271_) <> 76_ or 19541 log2( 151115727451828646838272_) <> 77_ or 19542 log2( 185299378305073226313224_) <> 77_ or 19543 log2( 302231454903657293676543_) <> 77_ or 19544 log2( 302231454903657293676544_) <> 78_ or 19545 log2( 540022868317819171280103_) <> 78_ or 19546 log2( 604462909807314587353087_) <> 78_ or 19547 log2( 604462909807314587353088_) <> 79_ or 19548 log2( 1075843057837755639054882_) <> 79_ or 19549 log2( 1208925819614629174706175_) <> 79_ or 19550 log2( 1208925819614629174706176_) <> 80_ or 19551 log2( 1339450810919048983508407_) <> 80_ or 19552 log2( 2417851639229258349412351_) <> 80_ or 19553 log2( 2417851639229258349412352_) <> 81_ or 19554 log2( 4050893481127968008941480_) <> 81_ or 19555 log2( 4835703278458516698824703_) <> 81_ or 19556 log2( 4835703278458516698824704_) <> 82_ or 19557 log2( 6187913012581674372460530_) <> 82_ or 19558 log2( 9671406556917033397649407_) <> 82_ or 19559 log2( 9671406556917033397649408_) <> 83_ or 19560 log2( 15004010135657222573962904_) <> 83_ or 19561 log2( 19342813113834066795298815_) <> 83_ or 19562 log2( 19342813113834066795298816_) <> 84_ or 19563 log2( 30499222896764264907834264_) <> 84_ or 19564 log2( 38685626227668133590597631_) <> 84_ or 19565 log2( 38685626227668133590597632_) <> 85_ or 19566 log2( 47837830723621707251046131_) <> 85_ or 19567 log2( 77371252455336267181195263_) <> 85_ or 19568 log2( 77371252455336267181195264_) <> 86_ or 19569 log2( 105705460996819200954380457_) <> 86_ or 19570 log2( 154742504910672534362390527_) <> 86_ or 19571 log2( 154742504910672534362390528_) <> 87_ or 19572 log2( 223444927983112313393451194_) <> 87_ or 19573 log2( 309485009821345068724781055_) <> 87_ or 19574 log2( 309485009821345068724781056_) <> 88_ or 19575 log2( 439741859063090683034138405_) <> 88_ or 19576 log2( 618970019642690137449562111_) <> 88_ or 19577 log2( 618970019642690137449562112_) <> 89_ or 19578 log2( 986709994308940538290791403_) <> 89_ or 19579 log2( 1237940039285380274899124223_) <> 89_ or 19580 log2( 1237940039285380274899124224_) <> 90_ or 19581 log2( 1400121857035053928370624268_) <> 90_ or 19582 log2( 2475880078570760549798248447_) <> 90_ or 19583 log2( 2475880078570760549798248448_) <> 91_ or 19584 log2( 2917917450786244489923907720_) <> 91_ or 19585 log2( 4951760157141521099596496895_) <> 91_ or 19586 log2( 4951760157141521099596496896_) <> 92_ or 19587 log2( 9872886914214264685677891678_) <> 92_ or 19588 log2( 9903520314283042199192993791_) <> 92_ or 19589 log2( 9903520314283042199192993792_) <> 93_ or 19590 log2( 11123569913350357620125292175_) <> 93_ or 19591 log2( 19807040628566084398385987583_) <> 93_ or 19592 log2( 19807040628566084398385987584_) <> 94_ or 19593 log2( 28952887174931033824330146587_) <> 94_ or 19594 log2( 39614081257132168796771975167_) <> 94_ or 19595 log2( 39614081257132168796771975168_) <> 95_ or 19596 log2( 63360838644768982577744115202_) <> 95_ or 19597 log2( 79228162514264337593543950335_) <> 95_ or 19598 log2( 79228162514264337593543950336_) <> 96_ or 19599 log2( 99492143889486050229577125699_) <> 96_ or 19600 log2( 158456325028528675187087900671_) <> 96_ or 19601 log2( 158456325028528675187087900672_) <> 97_ or 19602 log2( 174556595263095641960418174333_) <> 97_ or 19603 log2( 316912650057057350374175801343_) <> 97_ or 19604 log2( 316912650057057350374175801344_) <> 98_ or 19605 log2( 419944240879764684887781328642_) <> 98_ or 19606 log2( 633825300114114700748351602687_) <> 98_ or 19607 log2( 633825300114114700748351602688_) <> 99_ or 19608 log2( 914883243216864028457791435732_) <> 99_ or 19609 log2( 1267650600228229401496703205375_) <> 99_ or 19610 log2( 1267650600228229401496703205376_) <> 100_ or 19611 log2( 1500917277282758485643664600050_) <> 100_ or 19612 log2( 2535301200456458802993406410751_) <> 100_ or 19613 log2( 2535301200456458802993406410752_) <> 101_ or 19614 log2( 4237978568429874089790949076827_) <> 101_ or 19615 log2( 5070602400912917605986812821503_) <> 101_ or 19616 log2( 5070602400912917605986812821504_) <> 102_ or 19617 log2( 5323115315936629148257821179409_) <> 102_ or 19618 log2( 10141204801825835211973625643007_) <> 102_ or 19619 log2( 10141204801825835211973625643008_) <> 103_ or 19620 log2( 20126591047625645386430115797011_) <> 103_ or 19621 log2( 20282409603651670423947251286015_) <> 103_ or 19622 log2( 20282409603651670423947251286016_) <> 104_ or 19623 log2( 35892671598700364451738666990944_) <> 104_ or 19624 log2( 40564819207303340847894502572031_) <> 104_ or 19625 log2( 40564819207303340847894502572032_) <> 105_ or 19626 log2( 77895140811155769804294276328954_) <> 105_ or 19627 log2( 81129638414606681695789005144063_) <> 105_ or 19628 log2( 81129638414606681695789005144064_) <> 106_ or 19629 log2( 126010045406405613183497084430816_) <> 106_ or 19630 log2( 162259276829213363391578010288127_) <> 106_ or 19631 log2( 162259276829213363391578010288128_) <> 107_ or 19632 log2( 281490977077698164777969969377553_) <> 107_ or 19633 log2( 324518553658426726783156020576255_) <> 107_ or 19634 log2( 324518553658426726783156020576256_) <> 108_ or 19635 log2( 503852344780207454589251668542351_) <> 108_ or 19636 log2( 649037107316853453566312041152511_) <> 108_ or 19637 log2( 649037107316853453566312041152512_) <> 109_ or 19638 log2( 955353425343165292753002491699545_) <> 109_ or 19639 log2( 1298074214633706907132624082305023_) <> 109_ or 19640 log2( 1298074214633706907132624082305024_) <> 110_ or 19641 log2( 1960433544262484141714789210442350_) <> 110_ or 19642 log2( 2596148429267413814265248164610047_) <> 110_ or 19643 log2( 2596148429267413814265248164610048_) <> 111_ or 19644 log2( 4492806818838454263755184674914000_) <> 111_ or 19645 log2( 5192296858534827628530496329220095_) <> 111_ or 19646 log2( 5192296858534827628530496329220096_) <> 112_ or 19647 log2( 9850468235542305195157371137539710_) <> 112_ or 19648 log2( 10384593717069655257060992658440191_) <> 112_ or 19649 log2( 10384593717069655257060992658440192_) <> 113_ or 19650 log2( 12841041707676676596309185015597431_) <> 113_ or 19651 log2( 20769187434139310514121985316880383_) <> 113_ or 19652 log2( 20769187434139310514121985316880384_) <> 114_ or 19653 log2( 26445348609741133356130382671568829_) <> 114_ or 19654 log2( 41538374868278621028243970633760767_) <> 114_ or 19655 log2( 41538374868278621028243970633760768_) <> 115_ or 19656 log2( 81817249321107173956885617924211023_) <> 115_ or 19657 log2( 83076749736557242056487941267521535_) <> 115_ or 19658 log2( 83076749736557242056487941267521536_) <> 116_ or 19659 log2( 95879756420730031995818233993768492_) <> 116_ or 19660 log2( 166153499473114484112975882535043071_) <> 116_ or 19661 log2( 166153499473114484112975882535043072_) <> 117_ or 19662 log2( 193248232197933058010440710874654294_) <> 117_ or 19663 log2( 332306998946228968225951765070086143_) <> 117_ or 19664 log2( 332306998946228968225951765070086144_) <> 118_ or 19665 log2( 498537722029389656161379579462920651_) <> 118_ or 19666 log2( 664613997892457936451903530140172287_) <> 118_ or 19667 log2( 664613997892457936451903530140172288_) <> 119_ or 19668 log2( 762517897477265549121345274992949389_) <> 119_ or 19669 log2( 1329227995784915872903807060280344575_) <> 119_ or 19670 log2( 1329227995784915872903807060280344576_) <> 120_ or 19671 log2( 2148263334081524676838994729057997467_) <> 120_ or 19672 log2( 2658455991569831745807614120560689151_) <> 120_ or 19673 log2( 2658455991569831745807614120560689152_) <> 121_ or 19674 log2( 3991160113177871580233273844757837812_) <> 121_ or 19675 log2( 5316911983139663491615228241121378303_) <> 121_ or 19676 log2( 5316911983139663491615228241121378304_) <> 122_ or 19677 log2( 10278891984436566353669335096011204762_) <> 122_ or 19678 log2( 10633823966279326983230456482242756607_) <> 122_ or 19679 log2( 10633823966279326983230456482242756608_) <> 123_ or 19680 log2( 17023775198187348921228770086903882892_) <> 123_ or 19681 log2( 21267647932558653966460912964485513215_) <> 123_ or 19682 log2( 21267647932558653966460912964485513216_) <> 124_ or 19683 log2( 26884265587543726000190517755203627977_) <> 124_ or 19684 log2( 42535295865117307932921825928971026431_) <> 124_ or 19685 log2( 42535295865117307932921825928971026432_) <> 125_ or 19686 log2( 45177275294101686092251737442525265491_) <> 125_ or 19687 log2( 85070591730234615865843651857942052863_) <> 125_ or 19688 log2( 85070591730234615865843651857942052864_) <> 126_ or 19689 log2( 156973395968867682585885231577865870377_) <> 126_ or 19690 log2( 170141183460469231731687303715884105727_) <> 126_ or 19691 log2( 170141183460469231731687303715884105728_) <> 127_ or 19692 log2( 277202035723150774568271929029601035594_) <> 127_ or 19693 log2( 340282366920938463463374607431768211455_) <> 127_ or 19694 log2( 340282366920938463463374607431768211456_) <> 128_ or 19695 log2( 618539674199450151742631565743052143032_) <> 128_ or 19696 log2( 680564733841876926926749214863536422911_) <> 128_ or 19697 log2( 680564733841876926926749214863536422912_) <> 129_ or 19698 log2( 1116885212127565265149486763887338261284_) <> 129_ or 19699 log2( 1361129467683753853853498429727072845823_) <> 129_ or 19700 log2( 1361129467683753853853498429727072845824_) <> 130_ or 19701 log2( 2077685623994784774866191671593682202167_) <> 130_ or 19702 log2( 2722258935367507707706996859454145691647_) <> 130_ or 19703 log2( 2722258935367507707706996859454145691648_) <> 131_ or 19704 log2( 5351226279809917572072824883894542689008_) <> 131_ or 19705 log2( 5444517870735015415413993718908291383295_) <> 131_ or 19706 log2( 5444517870735015415413993718908291383296_) <> 132_ or 19707 log2( 7683557045926151920990481071372639168848_) <> 132_ or 19708 log2( 10889035741470030830827987437816582766591_) <> 132_ or 19709 log2( 10889035741470030830827987437816582766592_) <> 133_ or 19710 log2( 15008351695720470924379897980464110633303_) <> 133_ or 19711 log2( 21778071482940061661655974875633165533183_) <> 133_ or 19712 log2( 21778071482940061661655974875633165533184_) <> 134_ or 19713 log2( 41426060808038555508027135979292891097861_) <> 134_ or 19714 log2( 43556142965880123323311949751266331066367_) <> 134_ or 19715 log2( 43556142965880123323311949751266331066368_) <> 135_ or 19716 log2( 80620192947341288577572686703601510377049_) <> 135_ or 19717 log2( 87112285931760246646623899502532662132735_) <> 135_ or 19718 log2( 87112285931760246646623899502532662132736_) <> 136_ or 19719 log2( 89183478683073435221016648134251997049684_) <> 136_ or 19720 log2( 174224571863520493293247799005065324265471_) <> 136_ or 19721 log2( 174224571863520493293247799005065324265472_) <> 137_ or 19722 log2( 242169928148159938557388409236077908333046_) <> 137_ or 19723 log2( 348449143727040986586495598010130648530943_) <> 137_ or 19724 log2( 348449143727040986586495598010130648530944_) <> 138_ or 19725 log2( 625819853709160802741813479922377307292223_) <> 138_ or 19726 log2( 696898287454081973172991196020261297061887_) <> 138_ or 19727 log2( 696898287454081973172991196020261297061888_) <> 139_ or 19728 log2( 1327734697200161329458205446372827937932335_) <> 139_ or 19729 log2( 1393796574908163946345982392040522594123775_) <> 139_ or 19730 log2( 1393796574908163946345982392040522594123776_) <> 140_ or 19731 log2( 1476259908105438204537281933767331426932677_) <> 140_ or 19732 log2( 2787593149816327892691964784081045188247551_) <> 140_ or 19733 log2( 2787593149816327892691964784081045188247552_) <> 141_ or 19734 log2( 4556716361964568059182256165898268455156994_) <> 141_ or 19735 log2( 5575186299632655785383929568162090376495103_) <> 141_ or 19736 log2( 5575186299632655785383929568162090376495104_) <> 142_ or 19737 log2( 10568232085212509107226639835107504916984805_) <> 142_ or 19738 log2( 11150372599265311570767859136324180752990207_) <> 142_ or 19739 log2( 11150372599265311570767859136324180752990208_) <> 143_ or 19740 log2( 18117499658843422457361740236031667595132016_) <> 143_ or 19741 log2( 22300745198530623141535718272648361505980415_) <> 143_ or 19742 log2( 22300745198530623141535718272648361505980416_) <> 144_ or 19743 log2( 27204667956392791454323897945078076232111777_) <> 144_ or 19744 log2( 44601490397061246283071436545296723011960831_) <> 144_ or 19745 log2( 44601490397061246283071436545296723011960832_) <> 145_ or 19746 log2( 82430695683723741533481543021236829506994809_) <> 145_ or 19747 log2( 89202980794122492566142873090593446023921663_) <> 145_ or 19748 log2( 89202980794122492566142873090593446023921664_) <> 146_ or 19749 log2( 172645359115106286012478109929171797021917176_) <> 146_ or 19750 log2( 178405961588244985132285746181186892047843327_) <> 146_ or 19751 log2( 178405961588244985132285746181186892047843328_) <> 147_ or 19752 log2( 208646506894687416003159039879330976829345565_) <> 147_ or 19753 log2( 356811923176489970264571492362373784095686655_) <> 147_ or 19754 log2( 356811923176489970264571492362373784095686656_) <> 148_ or 19755 log2( 636447490454780472988657758921539894484545513_) <> 148_ or 19756 log2( 713623846352979940529142984724747568191373311_) <> 148_ or 19757 log2( 713623846352979940529142984724747568191373312_) <> 149_ or 19758 log2( 1099237896621898812259317978850192917495603804_) <> 149_ or 19759 log2( 1427247692705959881058285969449495136382746623_) <> 149_ or 19760 log2( 1427247692705959881058285969449495136382746624_) <> 150_ or 19761 log2( 2845858584540191812585998330593170538298418806_) <> 150_ or 19762 log2( 2854495385411919762116571938898990272765493247_) <> 150_ or 19763 log2( 2854495385411919762116571938898990272765493248_) <> 151_ or 19764 log2( 5519497439624338462251212825651819036735110198_) <> 151_ or 19765 log2( 5708990770823839524233143877797980545530986495_) <> 151_ or 19766 log2( 5708990770823839524233143877797980545530986496_) <> 152_ or 19767 log2( 10547402984018567809078585653825836467374941085_) <> 152_ or 19768 log2( 11417981541647679048466287755595961091061972991_) <> 152_ or 19769 log2( 11417981541647679048466287755595961091061972992_) <> 153_ or 19770 log2( 20784070071443601335880660682105743139848543403_) <> 153_ or 19771 log2( 22835963083295358096932575511191922182123945983_) <> 153_ or 19772 log2( 22835963083295358096932575511191922182123945984_) <> 154_ or 19773 log2( 36229498850772974526002174269514690456197916512_) <> 154_ or 19774 log2( 45671926166590716193865151022383844364247891967_) <> 154_ or 19775 log2( 45671926166590716193865151022383844364247891968_) <> 155_ or 19776 log2( 62592679901421695545310705722210284569416565692_) <> 155_ or 19777 log2( 91343852333181432387730302044767688728495783935_) <> 155_ or 19778 log2( 91343852333181432387730302044767688728495783936_) <> 156_ or 19779 log2( 179799484504079420295809794143397198986122342846_) <> 156_ or 19780 log2( 182687704666362864775460604089535377456991567871_) <> 156_ or 19781 log2( 182687704666362864775460604089535377456991567872_) <> 157_ or 19782 log2( 273670096710578159775848046380861084125638357351_) <> 157_ or 19783 log2( 365375409332725729550921208179070754913983135743_) <> 157_ or 19784 log2( 365375409332725729550921208179070754913983135744_) <> 158_ or 19785 log2( 435548369002972882014956825866921455292705391286_) <> 158_ or 19786 log2( 730750818665451459101842416358141509827966271487_) <> 158_ or 19787 log2( 730750818665451459101842416358141509827966271488_) <> 159_ or 19788 log2( 1122153563196044284514360541661810756969379276205_) <> 159_ or 19789 log2( 1461501637330902918203684832716283019655932542975_) <> 159_ or 19790 log2( 1461501637330902918203684832716283019655932542976_) <> 160_ or 19791 log2( 2059454122439121605514984861494431480826610457162_) <> 160_ or 19792 log2( 2923003274661805836407369665432566039311865085951_) <> 160_ or 19793 log2( 2923003274661805836407369665432566039311865085952_) <> 161_ or 19794 log2( 5736615163268671779717520829911479048844830811117_) <> 161_ or 19795 log2( 5846006549323611672814739330865132078623730171903_) <> 161_ or 19796 log2( 5846006549323611672814739330865132078623730171904_) <> 162_ or 19797 log2( 6983309402308273190356573273947036642715609286395_) <> 162_ or 19798 log2( 11692013098647223345629478661730264157247460343807_) <> 162_ or 19799 log2( 11692013098647223345629478661730264157247460343808_) <> 163_ or 19800 log2( 16760799119369556540618151451022159484576169001844_) <> 163_ or 19801 log2( 23384026197294446691258957323460528314494920687615_) <> 163_ or 19802 log2( 23384026197294446691258957323460528314494920687616_) <> 164_ or 19803 log2( 32876831858626308636617583262527754807818426046808_) <> 164_ or 19804 log2( 46768052394588893382517914646921056628989841375231_) <> 164_ or 19805 log2( 46768052394588893382517914646921056628989841375232_) <> 165_ or 19806 log2( 75061679723195012956762653710208851318390864922791_) <> 165_ or 19807 log2( 93536104789177786765035829293842113257979682750463_) <> 165_ or 19808 log2( 93536104789177786765035829293842113257979682750464_) <> 166_ or 19809 log2( 182045136103535585117793137726949380041603320041825_) <> 166_ or 19810 log2( 187072209578355573530071658587684226515959365500927_) <> 166_ or 19811 log2( 187072209578355573530071658587684226515959365500928_) <> 167_ or 19812 log2( 209869289721703381759224890887774853888428586627974_) <> 167_ or 19813 log2( 374144419156711147060143317175368453031918731001855_) <> 167_ or 19814 log2( 374144419156711147060143317175368453031918731001856_) <> 168_ or 19815 log2( 676636471012013910934843664492060655965900666646294_) <> 168_ or 19816 log2( 748288838313422294120286634350736906063837462003711_) <> 168_ or 19817 log2( 748288838313422294120286634350736906063837462003712_) <> 169_ or 19818 log2( 1109550900297749937421940419193071022708564147274769_) <> 169_ or 19819 log2( 1496577676626844588240573268701473812127674924007423_) <> 169_ or 19820 log2( 1496577676626844588240573268701473812127674924007424_) <> 170_ or 19821 log2( 1702261544525085956699399452825268286320159557415543_) <> 170_ or 19822 log2( 2993155353253689176481146537402947624255349848014847_) <> 170_ or 19823 log2( 2993155353253689176481146537402947624255349848014848_) <> 171_ or 19824 log2( 3570624903796676770365917472456471603491276487817800_) <> 171_ or 19825 log2( 5986310706507378352962293074805895248510699696029695_) <> 171_ or 19826 log2( 5986310706507378352962293074805895248510699696029696_) <> 172_ or 19827 log2( 11959239603673616794478233996374166326873000762088324_) <> 172_ or 19828 log2( 11972621413014756705924586149611790497021399392059391_) <> 172_ or 19829 log2( 11972621413014756705924586149611790497021399392059392_) <> 173_ or 19830 log2( 17882062827027700142378176334537182573495050656667179_) <> 173_ or 19831 log2( 23945242826029513411849172299223580994042798784118783_) <> 173_ or 19832 log2( 23945242826029513411849172299223580994042798784118784_) <> 174_ or 19833 log2( 33316831242603831256653701739857852231089170620262973_) <> 174_ or 19834 log2( 47890485652059026823698344598447161988085597568237567_) <> 174_ or 19835 log2( 47890485652059026823698344598447161988085597568237568_) <> 175_ or 19836 log2( 82205133922338366433041973382790982075737627793659834_) <> 175_ or 19837 log2( 95780971304118053647396689196894323976171195136475135_) <> 175_ or 19838 log2( 95780971304118053647396689196894323976171195136475136_) <> 176_ or 19839 log2( 140605381794294949375805828092881783778102233040592546_) <> 176_ or 19840 log2( 191561942608236107294793378393788647952342390272950271_) <> 176_ or 19841 log2( 191561942608236107294793378393788647952342390272950272_) <> 177_ or 19842 log2( 352185378060557503439928211308540417926653506459385589_) <> 177_ or 19843 log2( 383123885216472214589586756787577295904684780545900543_) <> 177_ or 19844 log2( 383123885216472214589586756787577295904684780545900544_) <> 178_ or 19845 log2( 764837800625641221944668431695101147505526272558299315_) <> 178_ or 19846 log2( 766247770432944429179173513575154591809369561091801087_) <> 178_ or 19847 log2( 766247770432944429179173513575154591809369561091801088_) <> 179_ or 19848 log2( 803877552415655938033554797207350382588738424426351579_) <> 179_ or 19849 log2( 1532495540865888858358347027150309183618739122183602175_) <> 179_ or 19850 log2( 1532495540865888858358347027150309183618739122183602176_) <> 180_ or 19851 log2( 2959607695085215560608074500915392962078338722227533935_) <> 180_ or 19852 log2( 3064991081731777716716694054300618367237478244367204351_) <> 180_ or 19853 log2( 3064991081731777716716694054300618367237478244367204352_) <> 181_ or 19854 log2( 4933285648086305297440982524624705974827290239159975534_) <> 181_ or 19855 log2( 6129982163463555433433388108601236734474956488734408703_) <> 181_ or 19856 log2( 6129982163463555433433388108601236734474956488734408704_) <> 182_ or 19857 log2( 7491159912602688073021728142125872401272303004006276568_) <> 182_ or 19858 log2( 12259964326927110866866776217202473468949912977468817407_) <> 182_ or 19859 log2( 12259964326927110866866776217202473468949912977468817408_) <> 183_ or 19860 log2( 13698220839615323449039096568442545664951378147206534829_) <> 183_ or 19861 log2( 24519928653854221733733552434404946937899825954937634815_) <> 183_ or 19862 log2( 24519928653854221733733552434404946937899825954937634816_) <> 184_ or 19863 log2( 45009406731997473257255487943561230788323057878697142509_) <> 184_ or 19864 log2( 49039857307708443467467104868809893875799651909875269631_) <> 184_ or 19865 log2( 49039857307708443467467104868809893875799651909875269632_) <> 185_ or 19866 log2( 70774806041680542515758420202278055190009378036071945368_) <> 185_ or 19867 log2( 98079714615416886934934209737619787751599303819750539263_) <> 185_ or 19868 log2( 98079714615416886934934209737619787751599303819750539264_) <> 186_ or 19869 log2( 103254382364840822915539659801246811995055021091369540014_) <> 186_ or 19870 log2( 196159429230833773869868419475239575503198607639501078527_) <> 186_ or 19871 log2( 196159429230833773869868419475239575503198607639501078528_) <> 187_ or 19872 log2( 338607567124564544152680820179607337830015698868538996783_) <> 187_ or 19873 log2( 392318858461667547739736838950479151006397215279002157055_) <> 187_ or 19874 log2( 392318858461667547739736838950479151006397215279002157056_) <> 188_ or 19875 log2( 629714786205473920679132126608906616870884566317042937883_) <> 188_ or 19876 log2( 784637716923335095479473677900958302012794430558004314111_) <> 188_ or 19877 log2( 784637716923335095479473677900958302012794430558004314112_) <> 189_ or 19878 log2( 1074655756415238294575476249107244096075950747686626853234_) <> 189_ or 19879 log2( 1569275433846670190958947355801916604025588861116008628223_) <> 189_ or 19880 log2( 1569275433846670190958947355801916604025588861116008628224_) <> 190_ or 19881 log2( 2065749334023272757755236832423514177803908085373512543284_) <> 190_ or 19882 log2( 3138550867693340381917894711603833208051177722232017256447_) <> 190_ or 19883 log2( 3138550867693340381917894711603833208051177722232017256448_) <> 191_ or 19884 log2( 5956908671991835053163612838224825281153328121208780746849_) <> 191_ or 19885 log2( 6277101735386680763835789423207666416102355444464034512895_) <> 191_ or 19886 log2( 6277101735386680763835789423207666416102355444464034512896_) <> 192_ or 19887 log2( 11963496049743835991483449742521528920830762748328376307193_) <> 192_ or 19888 log2( 12554203470773361527671578846415332832204710888928069025791_) <> 192_ or 19889 log2( 12554203470773361527671578846415332832204710888928069025792_) <> 193_ or 19890 log2( 13929243107424649215418221690000462895945785554376849838240_) <> 193_ or 19891 log2( 25108406941546723055343157692830665664409421777856138051583_) <> 193_ or 19892 log2( 25108406941546723055343157692830665664409421777856138051584_) <> 194_ or 19893 log2( 36820990267934593948555560699091724299946925689076356986335_) <> 194_ or 19894 log2( 50216813883093446110686315385661331328818843555712276103167_) <> 194_ or 19895 log2( 50216813883093446110686315385661331328818843555712276103168_) <> 195_ or 19896 log2( 57491924879569000861701715204094500089896410997422985428408_) <> 195_ or 19897 log2( 100433627766186892221372630771322662657637687111424552206335_) <> 195_ or 19898 log2( 100433627766186892221372630771322662657637687111424552206336_) <> 196_ or 19899 log2( 165783065533429460923690472562622860930006673957435811129385_) <> 196_ or 19900 log2( 200867255532373784442745261542645325315275374222849104412671_) <> 196_ or 19901 log2( 200867255532373784442745261542645325315275374222849104412672_) <> 197_ or 19902 log2( 376210209990131389387321970646983807908459918488973440890162_) <> 197_ or 19903 log2( 401734511064747568885490523085290650630550748445698208825343_) <> 197_ or 19904 log2( 401734511064747568885490523085290650630550748445698208825344_) <> 198_ or 19905 log2( 433373781391585931936480337436200406877941425976199862658261_) <> 198_ or 19906 log2( 803469022129495137770981046170581301261101496891396417650687_) <> 198_ or 19907 log2( 803469022129495137770981046170581301261101496891396417650688_) <> 199_ or 19908 log2(1054824971866101254285226552589449185402231526744732025108240_) <> 199_ or 19909 log2(1606938044258990275541962092341162602522202993782792835301375_) <> 199_ or 19910 log2(1606938044258990275541962092341162602522202993782792835301376_) <> 200_ or 19911 log2(1828236661167998479746547920301995556315017882407621673118692_) <> 200_ then 19912 writeln("The bigInteger log2 function does not work correct."); 19913 okay := FALSE; 19914 end if; 19915 19916 if log2(pred(1_ << 255)) <> 254_ or 19917 log2( 1_ << 255) <> 255_ or 19918 log2(succ(1_ << 255)) <> 255_ or 19919 log2(pred(1_ << 256)) <> 255_ or 19920 log2( 1_ << 256) <> 256_ or 19921 log2(succ(1_ << 256)) <> 256_ or 19922 log2(pred(1_ << 257)) <> 256_ or 19923 log2( 1_ << 257) <> 257_ or 19924 log2(succ(1_ << 257)) <> 257_ or 19925 log2(pred(1_ << 511)) <> 510_ or 19926 log2( 1_ << 511) <> 511_ or 19927 log2(succ(1_ << 511)) <> 511_ or 19928 log2(pred(1_ << 512)) <> 511_ or 19929 log2( 1_ << 512) <> 512_ or 19930 log2(succ(1_ << 512)) <> 512_ or 19931 log2(pred(1_ << 513)) <> 512_ or 19932 log2( 1_ << 513) <> 513_ or 19933 log2(succ(1_ << 513)) <> 513_ or 19934 log2(pred(1_ << 1023)) <> 1022_ or 19935 log2( 1_ << 1023) <> 1023_ or 19936 log2(succ(1_ << 1023)) <> 1023_ or 19937 log2(pred(1_ << 1024)) <> 1023_ or 19938 log2( 1_ << 1024) <> 1024_ or 19939 log2(succ(1_ << 1024)) <> 1024_ or 19940 log2(pred(1_ << 1025)) <> 1024_ or 19941 log2( 1_ << 1025) <> 1025_ or 19942 log2(succ(1_ << 1025)) <> 1025_ or 19943 log2(pred(1_ << 2047)) <> 2046_ or 19944 log2( 1_ << 2047) <> 2047_ or 19945 log2(succ(1_ << 2047)) <> 2047_ or 19946 log2(pred(1_ << 2048)) <> 2047_ or 19947 log2( 1_ << 2048) <> 2048_ or 19948 log2(succ(1_ << 2048)) <> 2048_ or 19949 log2(pred(1_ << 2049)) <> 2048_ or 19950 log2( 1_ << 2049) <> 2049_ or 19951 log2(succ(1_ << 2049)) <> 2049_ or 19952 log2(pred(1_ << 4095)) <> 4094_ or 19953 log2( 1_ << 4095) <> 4095_ or 19954 log2(succ(1_ << 4095)) <> 4095_ or 19955 log2(pred(1_ << 4096)) <> 4095_ or 19956 log2( 1_ << 4096) <> 4096_ or 19957 log2(succ(1_ << 4096)) <> 4096_ or 19958 log2(pred(1_ << 4097)) <> 4096_ or 19959 log2( 1_ << 4097) <> 4097_ or 19960 log2(succ(1_ << 4097)) <> 4097_ or 19961 log2(pred(1_ << 8191)) <> 8190_ or 19962 log2( 1_ << 8191) <> 8191_ or 19963 log2(succ(1_ << 8191)) <> 8191_ or 19964 log2(pred(1_ << 8192)) <> 8191_ or 19965 log2( 1_ << 8192) <> 8192_ or 19966 log2(succ(1_ << 8192)) <> 8192_ or 19967 log2(pred(1_ << 8193)) <> 8192_ or 19968 log2( 1_ << 8193) <> 8193_ or 19969 log2(succ(1_ << 8193)) <> 8193_ or 19970 log2(pred(1_ << 16383)) <> 16382_ or 19971 log2( 1_ << 16383) <> 16383_ or 19972 log2(succ(1_ << 16383)) <> 16383_ or 19973 log2(pred(1_ << 16384)) <> 16383_ or 19974 log2( 1_ << 16384) <> 16384_ or 19975 log2(succ(1_ << 16384)) <> 16384_ or 19976 log2(pred(1_ << 16385)) <> 16384_ or 19977 log2( 1_ << 16385) <> 16385_ or 19978 log2(succ(1_ << 16385)) <> 16385_ or 19979 log2(pred(1_ << 32767)) <> 32766_ or 19980 log2( 1_ << 32767) <> 32767_ or 19981 log2(succ(1_ << 32767)) <> 32767_ or 19982 log2(pred(1_ << 32768)) <> 32767_ or 19983 log2( 1_ << 32768) <> 32768_ or 19984 log2(succ(1_ << 32768)) <> 32768_ or 19985 log2(pred(1_ << 32769)) <> 32768_ or 19986 log2( 1_ << 32769) <> 32769_ or 19987 log2(succ(1_ << 32769)) <> 32769_ or 19988 log2(pred(1_ << 65535)) <> 65534_ or 19989 log2( 1_ << 65535) <> 65535_ or 19990 log2(succ(1_ << 65535)) <> 65535_ or 19991 log2(pred(1_ << 65536)) <> 65535_ or 19992 log2( 1_ << 65536) <> 65536_ or 19993 log2(succ(1_ << 65536)) <> 65536_ or 19994 log2(pred(1_ << 65537)) <> 65536_ or 19995 log2( 1_ << 65537) <> 65537_ or 19996 log2(succ(1_ << 65537)) <> 65537_ or 19997 log2(pred(1_ << 131071)) <> 131070_ or 19998 log2( 1_ << 131071) <> 131071_ or 19999 log2(succ(1_ << 131071)) <> 131071_ or 20000 log2(pred(1_ << 131072)) <> 131071_ or 20001 log2( 1_ << 131072) <> 131072_ or 20002 log2(succ(1_ << 131072)) <> 131072_ or 20003 log2(pred(1_ << 131073)) <> 131072_ or 20004 log2( 1_ << 131073) <> 131073_ or 20005 log2(succ(1_ << 131073)) <> 131073_ or 20006 log2(pred(1_ << 262143)) <> 262142_ or 20007 log2( 1_ << 262143) <> 262143_ or 20008 log2(succ(1_ << 262143)) <> 262143_ or 20009 log2(pred(1_ << 262144)) <> 262143_ or 20010 log2( 1_ << 262144) <> 262144_ or 20011 log2(succ(1_ << 262144)) <> 262144_ or 20012 log2(pred(1_ << 262145)) <> 262144_ or 20013 log2( 1_ << 262145) <> 262145_ or 20014 log2(succ(1_ << 262145)) <> 262145_ or 20015 log2(pred(1_ << 524287)) <> 524286_ or 20016 log2( 1_ << 524287) <> 524287_ or 20017 log2(succ(1_ << 524287)) <> 524287_ or 20018 log2(pred(1_ << 524288)) <> 524287_ or 20019 log2( 1_ << 524288) <> 524288_ or 20020 log2(succ(1_ << 524288)) <> 524288_ or 20021 log2(pred(1_ << 524289)) <> 524288_ or 20022 log2( 1_ << 524289) <> 524289_ or 20023 log2(succ(1_ << 524289)) <> 524289_ or 20024 log2(pred(1_ << 1048575)) <> 1048574_ or 20025 log2( 1_ << 1048575) <> 1048575_ or 20026 log2(succ(1_ << 1048575)) <> 1048575_ or 20027 log2(pred(1_ << 1048576)) <> 1048575_ or 20028 log2( 1_ << 1048576) <> 1048576_ or 20029 log2(succ(1_ << 1048576)) <> 1048576_ or 20030 log2(pred(1_ << 1048577)) <> 1048576_ or 20031 log2( 1_ << 1048577) <> 1048577_ or 20032 log2(succ(1_ << 1048577)) <> 1048577_ or 20033 log2(pred(1_ << 2097151)) <> 2097150_ or 20034 log2( 1_ << 2097151) <> 2097151_ or 20035 log2(succ(1_ << 2097151)) <> 2097151_ or 20036 log2(pred(1_ << 2097152)) <> 2097151_ or 20037 log2( 1_ << 2097152) <> 2097152_ or 20038 log2(succ(1_ << 2097152)) <> 2097152_ or 20039 log2(pred(1_ << 2097153)) <> 2097152_ or 20040 log2( 1_ << 2097153) <> 2097153_ or 20041 log2(succ(1_ << 2097153)) <> 2097153_ or 20042 log2(pred(1_ << 4194303)) <> 4194302_ or 20043 log2( 1_ << 4194303) <> 4194303_ or 20044 log2(succ(1_ << 4194303)) <> 4194303_ or 20045 log2(pred(1_ << 4194304)) <> 4194303_ or 20046 log2( 1_ << 4194304) <> 4194304_ or 20047 log2(succ(1_ << 4194304)) <> 4194304_ or 20048 log2(pred(1_ << 4194305)) <> 4194304_ or 20049 log2( 1_ << 4194305) <> 4194305_ or 20050 log2(succ(1_ << 4194305)) <> 4194305_ or 20051 log2(pred(1_ << 8388607)) <> 8388606_ or 20052 log2( 1_ << 8388607) <> 8388607_ or 20053 log2(succ(1_ << 8388607)) <> 8388607_ or 20054 log2(pred(1_ << 8388608)) <> 8388607_ or 20055 log2( 1_ << 8388608) <> 8388608_ or 20056 log2(succ(1_ << 8388608)) <> 8388608_ or 20057 log2(pred(1_ << 8388609)) <> 8388608_ or 20058 log2( 1_ << 8388609) <> 8388609_ or 20059 log2(succ(1_ << 8388609)) <> 8388609_ or 20060 log2(pred(1_ << 16777215)) <> 16777214_ or 20061 log2( 1_ << 16777215) <> 16777215_ or 20062 log2(succ(1_ << 16777215)) <> 16777215_ or 20063 log2(pred(1_ << 16777216)) <> 16777215_ or 20064 log2( 1_ << 16777216) <> 16777216_ or 20065 log2(succ(1_ << 16777216)) <> 16777216_ or 20066 log2(pred(1_ << 16777217)) <> 16777216_ or 20067 log2( 1_ << 16777217) <> 16777217_ or 20068 log2(succ(1_ << 16777217)) <> 16777217_ then 20069 writeln("The bigInteger log2 function does not work correct for big numbers."); 20070 okay := FALSE; 20071 end if; 20072 20073 if not raisesNumericError(log2( -18446744073709551616_ )) or 20074 not raisesNumericError(log2( -18446744073709551615_ )) or 20075 not raisesNumericError(log2( -9223372036854775808_ )) or 20076 not raisesNumericError(log2( -9223372036854775807_ )) or 20077 not raisesNumericError(log2( -4294967296_ )) or 20078 not raisesNumericError(log2( -4294967295_ )) or 20079 not raisesNumericError(log2( -2147483648_ )) or 20080 not raisesNumericError(log2( -2147483647_ )) or 20081 not raisesNumericError(log2( -65536_ )) or 20082 not raisesNumericError(log2( -65535_ )) or 20083 not raisesNumericError(log2( -32768_ )) or 20084 not raisesNumericError(log2( -32767_ )) or 20085 not raisesNumericError(log2( -256_ )) or 20086 not raisesNumericError(log2( -255_ )) or 20087 not raisesNumericError(log2( -128_ )) or 20088 not raisesNumericError(log2( -127_ )) or 20089 not raisesNumericError(log2( -1_ )) or 20090 not raisesNumericError(log2(bigintExpr(-18446744073709551616_))) or 20091 not raisesNumericError(log2(bigintExpr(-18446744073709551615_))) or 20092 not raisesNumericError(log2(bigintExpr( -9223372036854775808_))) or 20093 not raisesNumericError(log2(bigintExpr( -9223372036854775807_))) or 20094 not raisesNumericError(log2(bigintExpr( -4294967296_))) or 20095 not raisesNumericError(log2(bigintExpr( -4294967295_))) or 20096 not raisesNumericError(log2(bigintExpr( -2147483648_))) or 20097 not raisesNumericError(log2(bigintExpr( -2147483647_))) or 20098 not raisesNumericError(log2(bigintExpr( -65536_))) or 20099 not raisesNumericError(log2(bigintExpr( -65535_))) or 20100 not raisesNumericError(log2(bigintExpr( -32768_))) or 20101 not raisesNumericError(log2(bigintExpr( -32767_))) or 20102 not raisesNumericError(log2(bigintExpr( -256_))) or 20103 not raisesNumericError(log2(bigintExpr( -255_))) or 20104 not raisesNumericError(log2(bigintExpr( -128_))) or 20105 not raisesNumericError(log2(bigintExpr( -127_))) or 20106 not raisesNumericError(log2(bigintExpr( -1_))) then 20107 writeln(" ***** The bigInteger log2 of negative number does not raise NUMERIC_ERROR."); 20108 okay := FALSE; 20109 end if; 20110 20111 if okay then 20112 writeln("The bigInteger log2 function works correct."); 20113 else 20114 writeln(" ***** The bigInteger log2 function does not work correct."); 20115 writeln; 20116 end if; 20117 end func; 20118 20119 20120const proc: chkLog10 is func 20121 local 20122 var boolean: okay is TRUE; 20123 begin 20124 if log10( 0_) <> -1_ or 20125 log10( 1_) <> 0_ or 20126 log10( 9_) <> 0_ or 20127 log10( 10_) <> 1_ or 20128 log10( 99_) <> 1_ or 20129 log10( 100_) <> 2_ or 20130 log10( 999_) <> 2_ or 20131 log10( 1000_) <> 3_ or 20132 log10( 9999_) <> 3_ or 20133 log10( 10000_) <> 4_ or 20134 log10( 99999_) <> 4_ or 20135 log10( 100000_) <> 5_ or 20136 log10( 999999_) <> 5_ or 20137 log10( 1000000_) <> 6_ or 20138 log10( 9999999_) <> 6_ or 20139 log10( 10000000_) <> 7_ or 20140 log10( 99999999_) <> 7_ or 20141 log10( 100000000_) <> 8_ or 20142 log10( 999999999_) <> 8_ or 20143 log10( 1000000000_) <> 9_ or 20144 log10( 9999999999_) <> 9_ or 20145 log10( 10000000000_) <> 10_ or 20146 log10( 99999999999_) <> 10_ or 20147 log10( 100000000000_) <> 11_ or 20148 log10( 999999999999_) <> 11_ or 20149 log10( 1000000000000_) <> 12_ or 20150 log10( 9999999999999_) <> 12_ or 20151 log10( 10000000000000_) <> 13_ or 20152 log10( 99999999999999_) <> 13_ or 20153 log10( 100000000000000_) <> 14_ or 20154 log10( 999999999999999_) <> 14_ or 20155 log10( 1000000000000000_) <> 15_ or 20156 log10( 9999999999999999_) <> 15_ or 20157 log10( 10000000000000000_) <> 16_ or 20158 log10( 99999999999999999_) <> 16_ or 20159 log10( 100000000000000000_) <> 17_ or 20160 log10( 999999999999999999_) <> 17_ or 20161 log10( 1000000000000000000_) <> 18_ or 20162 log10( 9999999999999999999_) <> 18_ or 20163 log10( 10000000000000000000_) <> 19_ or 20164 log10( 99999999999999999999_) <> 19_ or 20165 log10( 100000000000000000000_) <> 20_ or 20166 log10( 999999999999999999999_) <> 20_ or 20167 log10( 1000000000000000000000_) <> 21_ or 20168 log10( 9999999999999999999999_) <> 21_ or 20169 log10( 10000000000000000000000_) <> 22_ or 20170 log10( 99999999999999999999999_) <> 22_ or 20171 log10( 100000000000000000000000_) <> 23_ or 20172 log10( 999999999999999999999999_) <> 23_ or 20173 log10( 1000000000000000000000000_) <> 24_ or 20174 log10( 9999999999999999999999999_) <> 24_ or 20175 log10( 10000000000000000000000000_) <> 25_ or 20176 log10( 99999999999999999999999999_) <> 25_ or 20177 log10( 100000000000000000000000000_) <> 26_ or 20178 log10( 999999999999999999999999999_) <> 26_ or 20179 log10( 1000000000000000000000000000_) <> 27_ or 20180 log10( 9999999999999999999999999999_) <> 27_ or 20181 log10( 10000000000000000000000000000_) <> 28_ or 20182 log10( 99999999999999999999999999999_) <> 28_ or 20183 log10( 100000000000000000000000000000_) <> 29_ or 20184 log10( 999999999999999999999999999999_) <> 29_ or 20185 log10( 1000000000000000000000000000000_) <> 30_ or 20186 log10( 9999999999999999999999999999999_) <> 30_ or 20187 log10( 10000000000000000000000000000000_) <> 31_ or 20188 log10( 99999999999999999999999999999999_) <> 31_ or 20189 log10( 100000000000000000000000000000000_) <> 32_ or 20190 log10( 999999999999999999999999999999999_) <> 32_ or 20191 log10( 1000000000000000000000000000000000_) <> 33_ or 20192 log10( 9999999999999999999999999999999999_) <> 33_ or 20193 log10( 10000000000000000000000000000000000_) <> 34_ or 20194 log10( 99999999999999999999999999999999999_) <> 34_ or 20195 log10( 100000000000000000000000000000000000_) <> 35_ or 20196 log10( 999999999999999999999999999999999999_) <> 35_ or 20197 log10( 1000000000000000000000000000000000000_) <> 36_ or 20198 log10( 9999999999999999999999999999999999999_) <> 36_ or 20199 log10( 10000000000000000000000000000000000000_) <> 37_ or 20200 log10( 99999999999999999999999999999999999999_) <> 37_ or 20201 log10( 100000000000000000000000000000000000000_) <> 38_ or 20202 log10( 999999999999999999999999999999999999999_) <> 38_ or 20203 log10( 1000000000000000000000000000000000000000_) <> 39_ or 20204 log10( 9999999999999999999999999999999999999999_) <> 39_ or 20205 log10( 10000000000000000000000000000000000000000_) <> 40_ or 20206 log10( 99999999999999999999999999999999999999999_) <> 40_ or 20207 log10( 100000000000000000000000000000000000000000_) <> 41_ or 20208 log10( 999999999999999999999999999999999999999999_) <> 41_ or 20209 log10( 1000000000000000000000000000000000000000000_) <> 42_ or 20210 log10( 9999999999999999999999999999999999999999999_) <> 42_ or 20211 log10( 10000000000000000000000000000000000000000000_) <> 43_ or 20212 log10( 99999999999999999999999999999999999999999999_) <> 43_ or 20213 log10( 100000000000000000000000000000000000000000000_) <> 44_ or 20214 log10( 999999999999999999999999999999999999999999999_) <> 44_ or 20215 log10( 1000000000000000000000000000000000000000000000_) <> 45_ or 20216 log10( 9999999999999999999999999999999999999999999999_) <> 45_ or 20217 log10( 10000000000000000000000000000000000000000000000_) <> 46_ or 20218 log10( 99999999999999999999999999999999999999999999999_) <> 46_ or 20219 log10( 100000000000000000000000000000000000000000000000_) <> 47_ or 20220 log10( 999999999999999999999999999999999999999999999999_) <> 47_ or 20221 log10( 1000000000000000000000000000000000000000000000000_) <> 48_ or 20222 log10( 9999999999999999999999999999999999999999999999999_) <> 48_ or 20223 log10( 10000000000000000000000000000000000000000000000000_) <> 49_ or 20224 log10( 99999999999999999999999999999999999999999999999999_) <> 49_ or 20225 log10( 100000000000000000000000000000000000000000000000000_) <> 50_ or 20226 log10( 999999999999999999999999999999999999999999999999999_) <> 50_ or 20227 log10( 1000000000000000000000000000000000000000000000000000_) <> 51_ or 20228 log10( 9999999999999999999999999999999999999999999999999999_) <> 51_ or 20229 log10( 10000000000000000000000000000000000000000000000000000_) <> 52_ or 20230 log10( 99999999999999999999999999999999999999999999999999999_) <> 52_ or 20231 log10( 100000000000000000000000000000000000000000000000000000_) <> 53_ or 20232 log10( 999999999999999999999999999999999999999999999999999999_) <> 53_ or 20233 log10( 1000000000000000000000000000000000000000000000000000000_) <> 54_ or 20234 log10( 9999999999999999999999999999999999999999999999999999999_) <> 54_ or 20235 log10( 10000000000000000000000000000000000000000000000000000000_) <> 55_ or 20236 log10( 99999999999999999999999999999999999999999999999999999999_) <> 55_ or 20237 log10( 100000000000000000000000000000000000000000000000000000000_) <> 56_ or 20238 log10( 999999999999999999999999999999999999999999999999999999999_) <> 56_ or 20239 log10( 1000000000000000000000000000000000000000000000000000000000_) <> 57_ or 20240 log10( 9999999999999999999999999999999999999999999999999999999999_) <> 57_ or 20241 log10( 10000000000000000000000000000000000000000000000000000000000_) <> 58_ or 20242 log10( 99999999999999999999999999999999999999999999999999999999999_) <> 58_ or 20243 log10( 100000000000000000000000000000000000000000000000000000000000_) <> 59_ or 20244 log10( 999999999999999999999999999999999999999999999999999999999999_) <> 59_ or 20245 log10(1000000000000000000000000000000000000000000000000000000000000_) <> 60_ or 20246 log10(9999999999999999999999999999999999999999999999999999999999999_) <> 60_ then 20247 writeln("The bigInteger log10 function does not work correct."); 20248 okay := FALSE; 20249 end if; 20250 20251 if log10(pred(10_ ** 100)) <> 99_ or 20252 log10( 10_ ** 100) <> 100_ or 20253 log10(succ(10_ ** 100)) <> 100_ or 20254 log10(pred(10_ ** 200)) <> 199_ or 20255 log10( 10_ ** 200) <> 200_ or 20256 log10(succ(10_ ** 200)) <> 200_ or 20257 log10(pred(10_ ** 300)) <> 299_ or 20258 log10( 10_ ** 300) <> 300_ or 20259 log10(succ(10_ ** 300)) <> 300_ or 20260 log10(pred(10_ ** 400)) <> 399_ or 20261 log10( 10_ ** 400) <> 400_ or 20262 log10(succ(10_ ** 400)) <> 400_ or 20263 log10(pred(10_ ** 600)) <> 599_ or 20264 log10( 10_ ** 600) <> 600_ or 20265 log10(succ(10_ ** 600)) <> 600_ or 20266 log10(pred(10_ ** 800)) <> 799_ or 20267 log10( 10_ ** 800) <> 800_ or 20268 log10(succ(10_ ** 800)) <> 800_ or 20269 log10(pred(10_ ** 1000)) <> 999_ or 20270 log10( 10_ ** 1000) <> 1000_ or 20271 log10(succ(10_ ** 1000)) <> 1000_ or 20272 log10(pred(10_ ** 2000)) <> 1999_ or 20273 log10( 10_ ** 2000) <> 2000_ or 20274 log10(succ(10_ ** 2000)) <> 2000_ or 20275 log10(pred(10_ ** 3000)) <> 2999_ or 20276 log10( 10_ ** 3000) <> 3000_ or 20277 log10(succ(10_ ** 3000)) <> 3000_ or 20278 log10(pred(10_ ** 4000)) <> 3999_ or 20279 log10( 10_ ** 4000) <> 4000_ or 20280 log10(succ(10_ ** 4000)) <> 4000_ or 20281 log10(pred(10_ ** 6000)) <> 5999_ or 20282 log10( 10_ ** 6000) <> 6000_ or 20283 log10(succ(10_ ** 6000)) <> 6000_ or 20284 log10(pred(10_ ** 8000)) <> 7999_ or 20285 log10( 10_ ** 8000) <> 8000_ or 20286 log10(succ(10_ ** 8000)) <> 8000_ or 20287 log10(pred(10_ ** 10000)) <> 9999_ or 20288 log10( 10_ ** 10000) <> 10000_ or 20289 log10(succ(10_ ** 10000)) <> 10000_ or 20290 log10(pred(10_ ** 20000)) <> 19999_ or 20291 log10( 10_ ** 20000) <> 20000_ or 20292 log10(succ(10_ ** 20000)) <> 20000_ or 20293 log10(pred(10_ ** 30000)) <> 29999_ or 20294 log10( 10_ ** 30000) <> 30000_ or 20295 log10(succ(10_ ** 30000)) <> 30000_ or 20296 log10(pred(10_ ** 40000)) <> 39999_ or 20297 log10( 10_ ** 40000) <> 40000_ or 20298 log10(succ(10_ ** 40000)) <> 40000_ or 20299 log10(pred(10_ ** 60000)) <> 59999_ or 20300 log10( 10_ ** 60000) <> 60000_ or 20301 log10(succ(10_ ** 60000)) <> 60000_ or 20302 log10(pred(10_ ** 80000)) <> 79999_ or 20303 log10( 10_ ** 80000) <> 80000_ or 20304 log10(succ(10_ ** 80000)) <> 80000_ then 20305 writeln("The bigInteger log10 function does not work correct for big numbers."); 20306 okay := FALSE; 20307 end if; 20308 20309 if not raisesNumericError(log10( -18446744073709551616_ )) or 20310 not raisesNumericError(log10( -18446744073709551615_ )) or 20311 not raisesNumericError(log10( -9223372036854775808_ )) or 20312 not raisesNumericError(log10( -9223372036854775807_ )) or 20313 not raisesNumericError(log10( -4294967296_ )) or 20314 not raisesNumericError(log10( -4294967295_ )) or 20315 not raisesNumericError(log10( -2147483648_ )) or 20316 not raisesNumericError(log10( -2147483647_ )) or 20317 not raisesNumericError(log10( -65536_ )) or 20318 not raisesNumericError(log10( -65535_ )) or 20319 not raisesNumericError(log10( -32768_ )) or 20320 not raisesNumericError(log10( -32767_ )) or 20321 not raisesNumericError(log10( -256_ )) or 20322 not raisesNumericError(log10( -255_ )) or 20323 not raisesNumericError(log10( -128_ )) or 20324 not raisesNumericError(log10( -127_ )) or 20325 not raisesNumericError(log10( -1_ )) or 20326 not raisesNumericError(log10(bigintExpr(-18446744073709551616_))) or 20327 not raisesNumericError(log10(bigintExpr(-18446744073709551615_))) or 20328 not raisesNumericError(log10(bigintExpr( -9223372036854775808_))) or 20329 not raisesNumericError(log10(bigintExpr( -9223372036854775807_))) or 20330 not raisesNumericError(log10(bigintExpr( -4294967296_))) or 20331 not raisesNumericError(log10(bigintExpr( -4294967295_))) or 20332 not raisesNumericError(log10(bigintExpr( -2147483648_))) or 20333 not raisesNumericError(log10(bigintExpr( -2147483647_))) or 20334 not raisesNumericError(log10(bigintExpr( -65536_))) or 20335 not raisesNumericError(log10(bigintExpr( -65535_))) or 20336 not raisesNumericError(log10(bigintExpr( -32768_))) or 20337 not raisesNumericError(log10(bigintExpr( -32767_))) or 20338 not raisesNumericError(log10(bigintExpr( -256_))) or 20339 not raisesNumericError(log10(bigintExpr( -255_))) or 20340 not raisesNumericError(log10(bigintExpr( -128_))) or 20341 not raisesNumericError(log10(bigintExpr( -127_))) or 20342 not raisesNumericError(log10(bigintExpr( -1_))) then 20343 writeln(" ***** The bigInteger log10 of a negative number does not raise NUMERIC_ERROR."); 20344 okay := FALSE; 20345 end if; 20346 20347 if okay then 20348 writeln("The bigInteger log10 function works correct."); 20349 else 20350 writeln(" ***** The bigInteger log10 function does not work correct."); 20351 writeln; 20352 end if; 20353 end func; 20354 20355 20356const proc: chkBitLength is func 20357 local 20358 var boolean: okay is TRUE; 20359 begin 20360 if bitLength(-340282366920938463463374607431768211457_) <> 129 or 20361 bitLength(-340282366920938463463374607431768211456_) <> 128 or 20362 bitLength( -79228162514264337593543950337_) <> 97 or 20363 bitLength( -79228162514264337593543950336_) <> 96 or 20364 bitLength( -18446744073709551617_) <> 65 or 20365 bitLength( -18446744073709551616_) <> 64 or 20366 bitLength( -281474976710657_) <> 49 or 20367 bitLength( -281474976710656_) <> 48 or 20368 bitLength( -8589934593_) <> 34 or 20369 bitLength( -8589934592_) <> 33 or 20370 bitLength( -4294967297_) <> 33 or 20371 bitLength( -4294967296_) <> 32 or 20372 bitLength( -2147483649_) <> 32 or 20373 bitLength( -2147483648_) <> 31 or 20374 bitLength( -1073741825_) <> 31 or 20375 bitLength( -1073741824_) <> 30 or 20376 bitLength( -131073_) <> 18 or 20377 bitLength( -131072_) <> 17 or 20378 bitLength( -65537_) <> 17 or 20379 bitLength( -65536_) <> 16 or 20380 bitLength( -32769_) <> 16 or 20381 bitLength( -32768_) <> 15 or 20382 bitLength( -16385_) <> 15 or 20383 bitLength( -16384_) <> 14 or 20384 bitLength( -513_) <> 10 or 20385 bitLength( -512_) <> 9 or 20386 bitLength( -257_) <> 9 or 20387 bitLength( -256_) <> 8 or 20388 bitLength( -129_) <> 8 or 20389 bitLength( -128_) <> 7 or 20390 bitLength( -65_) <> 7 or 20391 bitLength( -64_) <> 6 or 20392 bitLength( -33_) <> 6 or 20393 bitLength( -32_) <> 5 or 20394 bitLength( -17_) <> 5 or 20395 bitLength( -16_) <> 4 or 20396 bitLength( -9_) <> 4 or 20397 bitLength( -8_) <> 3 or 20398 bitLength( -5_) <> 3 or 20399 bitLength( -4_) <> 2 or 20400 bitLength( -3_) <> 2 or 20401 bitLength( -2_) <> 1 or 20402 bitLength( -1_) <> 0 or 20403 bitLength( 0_) <> 0 or 20404 bitLength( 1_) <> 1 or 20405 bitLength( 2_) <> 2 or 20406 bitLength( 3_) <> 2 or 20407 bitLength( 4_) <> 3 or 20408 bitLength( 7_) <> 3 or 20409 bitLength( 8_) <> 4 or 20410 bitLength( 15_) <> 4 or 20411 bitLength( 16_) <> 5 or 20412 bitLength( 31_) <> 5 or 20413 bitLength( 32_) <> 6 or 20414 bitLength( 63_) <> 6 or 20415 bitLength( 64_) <> 7 or 20416 bitLength( 127_) <> 7 or 20417 bitLength( 128_) <> 8 or 20418 bitLength( 255_) <> 8 or 20419 bitLength( 256_) <> 9 or 20420 bitLength( 511_) <> 9 or 20421 bitLength( 512_) <> 10 or 20422 bitLength( 16383_) <> 14 or 20423 bitLength( 16384_) <> 15 or 20424 bitLength( 32767_) <> 15 or 20425 bitLength( 32768_) <> 16 or 20426 bitLength( 65535_) <> 16 or 20427 bitLength( 65536_) <> 17 or 20428 bitLength( 131071_) <> 17 or 20429 bitLength( 131072_) <> 18 or 20430 bitLength( 1073741823_) <> 30 or 20431 bitLength( 1073741824_) <> 31 or 20432 bitLength( 2147483647_) <> 31 or 20433 bitLength( 2147483648_) <> 32 or 20434 bitLength( 4294967295_) <> 32 or 20435 bitLength( 4294967296_) <> 33 or 20436 bitLength( 8589934591_) <> 33 or 20437 bitLength( 8589934592_) <> 34 or 20438 bitLength( 281474976710655_) <> 48 or 20439 bitLength( 281474976710656_) <> 49 or 20440 bitLength( 18446744073709551615_) <> 64 or 20441 bitLength( 18446744073709551616_) <> 65 or 20442 bitLength( 79228162514264337593543950335_) <> 96 or 20443 bitLength( 79228162514264337593543950336_) <> 97 or 20444 bitLength( 340282366920938463463374607431768211455_) <> 128 or 20445 bitLength( 340282366920938463463374607431768211456_) <> 129 then 20446 writeln("The bigInteger bitLength function does not work correct."); 20447 okay := FALSE; 20448 end if; 20449 20450 if okay then 20451 writeln("The bigInteger bitLength function works correct."); 20452 else 20453 writeln(" ***** The bigInteger bitLength function does not work correct."); 20454 writeln; 20455 end if; 20456 end func; 20457 20458 20459const proc: chkLowestSetBit is func 20460 local 20461 var boolean: okay is TRUE; 20462 begin 20463 if lowestSetBit(-2_) <> 1 or 20464 lowestSetBit(-1_) <> 0 or 20465 lowestSetBit( 0_) <> -1 or 20466 lowestSetBit( 1_) <> 0 or 20467 lowestSetBit( 2_) <> 1 or 20468 lowestSetBit(bigintExpr(-2_)) <> 1 or 20469 lowestSetBit(bigintExpr(-1_)) <> 0 or 20470 lowestSetBit(bigintExpr( 0_)) <> -1 or 20471 lowestSetBit(bigintExpr( 1_)) <> 0 or 20472 lowestSetBit(bigintExpr( 2_)) <> 1 then 20473 writeln("The bigInteger lowestSetBit function does not work correct."); 20474 okay := FALSE; 20475 end if; 20476 20477 if lowestSetBit(1606938044258990275541962092341162602522202993782792835301376_) <> 200 or 20478 lowestSetBit(1606938044258990275541962092341162602522202993782792835301377_) <> 0 or 20479 lowestSetBit(1606938044258990275541962092341162602522202993782792835301378_) <> 1 or 20480 lowestSetBit(1606938044258990275541962092341162602522202993782792835301380_) <> 2 or 20481 lowestSetBit(1606938044258990275541962092341162602522202993782792835301384_) <> 3 or 20482 lowestSetBit(1606938044258990275541962092341162602522202993782792835301392_) <> 4 or 20483 lowestSetBit(1606938044258990275541962092341162602522202993782792835301408_) <> 5 or 20484 lowestSetBit(1606938044258990275541962092341162602522202993782792835301440_) <> 6 or 20485 lowestSetBit(1606938044258990275541962092341162602522202993782792835301504_) <> 7 or 20486 lowestSetBit(1606938044258990275541962092341162602522202993782792835301632_) <> 8 or 20487 lowestSetBit(1606938044258990275541962092341162602522202993782792835301888_) <> 9 or 20488 lowestSetBit(1606938044258990275541962092341162602522202993782792835302400_) <> 10 or 20489 lowestSetBit(1606938044258990275541962092341162602522202993782792835303424_) <> 11 or 20490 lowestSetBit(1606938044258990275541962092341162602522202993782792835305472_) <> 12 or 20491 lowestSetBit(1606938044258990275541962092341162602522202993782792835309568_) <> 13 or 20492 lowestSetBit(1606938044258990275541962092341162602522202993782792835317760_) <> 14 or 20493 lowestSetBit(1606938044258990275541962092341162602522202993782792835334144_) <> 15 or 20494 lowestSetBit(1606938044258990275541962092341162602522202993782792835366912_) <> 16 or 20495 lowestSetBit(1606938044258990275541962092341162602522202993782792835432448_) <> 17 or 20496 lowestSetBit(1606938044258990275541962092341162602522202993782792835563520_) <> 18 or 20497 lowestSetBit(1606938044258990275541962092341162602522202993782792835825664_) <> 19 or 20498 lowestSetBit(1606938044258990275541962092341162602522202993782792836349952_) <> 20 or 20499 lowestSetBit(1606938044258990275541962092341162602522202993782792837398528_) <> 21 or 20500 lowestSetBit(1606938044258990275541962092341162602522202993782792839495680_) <> 22 or 20501 lowestSetBit(1606938044258990275541962092341162602522202993782792843689984_) <> 23 or 20502 lowestSetBit(1606938044258990275541962092341162602522202993782792852078592_) <> 24 or 20503 lowestSetBit(1606938044258990275541962092341162602522202993782792868855808_) <> 25 or 20504 lowestSetBit(1606938044258990275541962092341162602522202993782792902410240_) <> 26 or 20505 lowestSetBit(1606938044258990275541962092341162602522202993782792969519104_) <> 27 or 20506 lowestSetBit(1606938044258990275541962092341162602522202993782793103736832_) <> 28 or 20507 lowestSetBit(1606938044258990275541962092341162602522202993782793372172288_) <> 29 or 20508 lowestSetBit(1606938044258990275541962092341162602522202993782793909043200_) <> 30 or 20509 lowestSetBit(1606938044258990275541962092341162602522202993782794982785024_) <> 31 or 20510 lowestSetBit(1606938044258990275541962092341162602522202993782797130268672_) <> 32 or 20511 lowestSetBit(1606938044258990275541962092341162602522202993782801425235968_) <> 33 or 20512 lowestSetBit(1606938044258990275541962092341162602522202993782810015170560_) <> 34 or 20513 lowestSetBit(1606938044258990275541962092341162602522202993782827195039744_) <> 35 or 20514 lowestSetBit(1606938044258990275541962092341162602522202993782861554778112_) <> 36 or 20515 lowestSetBit(1606938044258990275541962092341162602522202993782930274254848_) <> 37 or 20516 lowestSetBit(1606938044258990275541962092341162602522202993783067713208320_) <> 38 or 20517 lowestSetBit(1606938044258990275541962092341162602522202993783342591115264_) <> 39 or 20518 lowestSetBit(1606938044258990275541962092341162602522202993783892346929152_) <> 40 or 20519 lowestSetBit(1606938044258990275541962092341162602522202993784991858556928_) <> 41 or 20520 lowestSetBit(1606938044258990275541962092341162602522202993787190881812480_) <> 42 or 20521 lowestSetBit(1606938044258990275541962092341162602522202993791588928323584_) <> 43 or 20522 lowestSetBit(1606938044258990275541962092341162602522202993800385021345792_) <> 44 or 20523 lowestSetBit(1606938044258990275541962092341162602522202993817977207390208_) <> 45 or 20524 lowestSetBit(1606938044258990275541962092341162602522202993853161579479040_) <> 46 or 20525 lowestSetBit(1606938044258990275541962092341162602522202993923530323656704_) <> 47 or 20526 lowestSetBit(1606938044258990275541962092341162602522202994064267812012032_) <> 48 or 20527 lowestSetBit(1606938044258990275541962092341162602522202994345742788722688_) <> 49 or 20528 lowestSetBit(1606938044258990275541962092341162602522202994908692742144000_) <> 50 or 20529 lowestSetBit(1606938044258990275541962092341162602522202996034592648986624_) <> 51 or 20530 lowestSetBit(1606938044258990275541962092341162602522202998286392462671872_) <> 52 or 20531 lowestSetBit(1606938044258990275541962092341162602522203002789992090042368_) <> 53 or 20532 lowestSetBit(1606938044258990275541962092341162602522203011797191344783360_) <> 54 or 20533 lowestSetBit(1606938044258990275541962092341162602522203029811589854265344_) <> 55 or 20534 lowestSetBit(1606938044258990275541962092341162602522203065840386873229312_) <> 56 or 20535 lowestSetBit(1606938044258990275541962092341162602522203137897980911157248_) <> 57 or 20536 lowestSetBit(1606938044258990275541962092341162602522203282013168987013120_) <> 58 or 20537 lowestSetBit(1606938044258990275541962092341162602522203570243545138724864_) <> 59 or 20538 lowestSetBit(1606938044258990275541962092341162602522204146704297442148352_) <> 60 or 20539 lowestSetBit(1606938044258990275541962092341162602522205299625802048995328_) <> 61 or 20540 lowestSetBit(1606938044258990275541962092341162602522207605468811262689280_) <> 62 or 20541 lowestSetBit(1606938044258990275541962092341162602522212217154829690077184_) <> 63 or 20542 lowestSetBit(1606938044258990275541962092341162602522221440526866544852992_) <> 64 or 20543 lowestSetBit(1606938044258990275541962092341162602522239887270940254404608_) <> 65 or 20544 lowestSetBit(1606938044258990275541962092341162602522276780759087673507840_) <> 66 or 20545 lowestSetBit(1606938044258990275541962092341162602522350567735382511714304_) <> 67 or 20546 lowestSetBit(1606938044258990275541962092341162602522498141687972188127232_) <> 68 or 20547 lowestSetBit(1606938044258990275541962092341162602522793289593151540953088_) <> 69 or 20548 lowestSetBit(1606938044258990275541962092341162602523383585403510246604800_) <> 70 or 20549 lowestSetBit(1606938044258990275541962092341162602524564177024227657908224_) <> 71 or 20550 lowestSetBit(1606938044258990275541962092341162602526925360265662480515072_) <> 72 or 20551 lowestSetBit(1606938044258990275541962092341162602531647726748532125728768_) <> 73 or 20552 lowestSetBit(1606938044258990275541962092341162602541092459714271416156160_) <> 74 or 20553 lowestSetBit(1606938044258990275541962092341162602559981925645749997010944_) <> 75 or 20554 lowestSetBit(1606938044258990275541962092341162602597760857508707158720512_) <> 76 or 20555 lowestSetBit(1606938044258990275541962092341162602673318721234621482139648_) <> 77 or 20556 lowestSetBit(1606938044258990275541962092341162602824434448686450128977920_) <> 78 or 20557 lowestSetBit(1606938044258990275541962092341162603126665903590107422654464_) <> 79 or 20558 lowestSetBit(1606938044258990275541962092341162603731128813397422010007552_) <> 80 or 20559 lowestSetBit(1606938044258990275541962092341162604940054633012051184713728_) <> 81 or 20560 lowestSetBit(1606938044258990275541962092341162607357906272241309534126080_) <> 82 or 20561 lowestSetBit(1606938044258990275541962092341162612193609550699826232950784_) <> 83 or 20562 lowestSetBit(1606938044258990275541962092341162621865016107616859630600192_) <> 84 or 20563 lowestSetBit(1606938044258990275541962092341162641207829221450926425899008_) <> 85 or 20564 lowestSetBit(1606938044258990275541962092341162679893455449119060016496640_) <> 86 or 20565 lowestSetBit(1606938044258990275541962092341162757264707904455327197691904_) <> 87 or 20566 lowestSetBit(1606938044258990275541962092341162912007212815127861560082432_) <> 88 or 20567 lowestSetBit(1606938044258990275541962092341163221492222636472930284863488_) <> 89 or 20568 lowestSetBit(1606938044258990275541962092341163840462242279163067734425600_) <> 90 or 20569 lowestSetBit(1606938044258990275541962092341165078402281564543342633549824_) <> 91 or 20570 lowestSetBit(1606938044258990275541962092341167554282360135303892431798272_) <> 92 or 20571 lowestSetBit(1606938044258990275541962092341172506042517276824992028295168_) <> 93 or 20572 lowestSetBit(1606938044258990275541962092341182409562831559867191221288960_) <> 94 or 20573 lowestSetBit(1606938044258990275541962092341202216603460125951589607276544_) <> 95 or 20574 lowestSetBit(1606938044258990275541962092341241830684717258120386379251712_) <> 96 or 20575 lowestSetBit(1606938044258990275541962092341321058847231522457979923202048_) <> 97 or 20576 lowestSetBit(1606938044258990275541962092341479515172260051133167011102720_) <> 98 or 20577 lowestSetBit(1606938044258990275541962092341796427822317108483541186904064_) <> 99 or 20578 lowestSetBit(1606938044258990275541962092342430253122431223184289538506752_) <> 100 or 20579 lowestSetBit(1606938044258990275541962092343697903722659452585786241712128_) <> 101 or 20580 lowestSetBit(1606938044258990275541962092346233204923115911388779648122880_) <> 102 or 20581 lowestSetBit(1606938044258990275541962092351303807324028828994766460944384_) <> 103 or 20582 lowestSetBit(1606938044258990275541962092361445012125854664206740086587392_) <> 104 or 20583 lowestSetBit(1606938044258990275541962092381727421729506334630687337873408_) <> 105 or 20584 lowestSetBit(1606938044258990275541962092422292240936809675478581840445440_) <> 106 or 20585 lowestSetBit(1606938044258990275541962092503421879351416357174370845589504_) <> 107 or 20586 lowestSetBit(1606938044258990275541962092665681156180629720565948855877632_) <> 108 or 20587 lowestSetBit(1606938044258990275541962092990199709839056447349104876453888_) <> 109 or 20588 lowestSetBit(1606938044258990275541962093639236817155909900915416917606400_) <> 110 or 20589 lowestSetBit(1606938044258990275541962094937311031789616808048040999911424_) <> 111 or 20590 lowestSetBit(1606938044258990275541962097533459461057030622313289164521472_) <> 112 or 20591 lowestSetBit(1606938044258990275541962102725756319591858250843785493741568_) <> 113 or 20592 lowestSetBit(1606938044258990275541962113110350036661513507904778152181760_) <> 114 or 20593 lowestSetBit(1606938044258990275541962133879537470800824022026763469062144_) <> 115 or 20594 lowestSetBit(1606938044258990275541962175417912339079445050270734102822912_) <> 116 or 20595 lowestSetBit(1606938044258990275541962258494662075636687106758675370344448_) <> 117 or 20596 lowestSetBit(1606938044258990275541962424648161548751171219734557905387520_) <> 118 or 20597 lowestSetBit(1606938044258990275541962756955160494980139445686322975473664_) <> 119 or 20598 lowestSetBit(1606938044258990275541963421569158387438075897589853115645952_) <> 120 or 20599 lowestSetBit(1606938044258990275541964750797154172353948801396913395990528_) <> 121 or 20600 lowestSetBit(1606938044258990275541967409253145742185694609011033956679680_) <> 122 or 20601 lowestSetBit(1606938044258990275541972726165128881849186224239275078057984_) <> 123 or 20602 lowestSetBit(1606938044258990275541983359989095161176169454695757320814592_) <> 124 or 20603 lowestSetBit(1606938044258990275542004627637027719830135915608721806327808_) <> 125 or 20604 lowestSetBit(1606938044258990275542047162932892837138068837434650777354240_) <> 126 or 20605 lowestSetBit(1606938044258990275542132233524623071753934681086508719407104_) <> 127 or 20606 lowestSetBit(1606938044258990275542302374708083540985666368390224603512832_) <> 128 or 20607 lowestSetBit(1606938044258990275542642657075004479449129742997656371724288_) <> 129 or 20608 lowestSetBit(1606938044258990275543323221808846356376056492212519908147200_) <> 130 or 20609 lowestSetBit(1606938044258990275544684351276530110229909990642246980993024_) <> 131 or 20610 lowestSetBit(1606938044258990275547406610211897617937616987501701126684672_) <> 132 or 20611 lowestSetBit(1606938044258990275552851128082632633353030981220609418067968_) <> 133 or 20612 lowestSetBit(1606938044258990275563740163824102664183858968658426000834560_) <> 134 or 20613 lowestSetBit(1606938044258990275585518235307042725845514943534059166367744_) <> 135 or 20614 lowestSetBit(1606938044258990275629074378272922849168826893285325497434112_) <> 136 or 20615 lowestSetBit(1606938044258990275716186664204683095815450792787858159566848_) <> 137 or 20616 lowestSetBit(1606938044258990275890411236068203589108698591792923483832320_) <> 138 or 20617 lowestSetBit(1606938044258990276238860379795244575695194189803054132363264_) <> 139 or 20618 lowestSetBit(1606938044258990276935758667249326548868185385823315429425152_) <> 140 or 20619 lowestSetBit(1606938044258990278329555242157490495214167777863838023548928_) <> 141 or 20620 lowestSetBit(1606938044258990281117148391973818387906132561944883211796480_) <> 142 or 20621 lowestSetBit(1606938044258990286692334691606474173290062130106973588291584_) <> 143 or 20622 lowestSetBit(1606938044258990297842707290871785744057921266431154341281792_) <> 144 or 20623 lowestSetBit(1606938044258990320143452489402408885593639539079515847262208_) <> 145 or 20624 lowestSetBit(1606938044258990364744942886463655168665076084376238859223040_) <> 146 or 20625 lowestSetBit(1606938044258990453947923680586147734807949174969684883144704_) <> 147 or 20626 lowestSetBit(1606938044258990632353885268831132867093695356156576930988032_) <> 148 or 20627 lowestSetBit(1606938044258990989165808445321103131665187718530361026674688_) <> 149 or 20628 lowestSetBit(1606938044258991702789654798301043660808172443277929218048000_) <> 150 or 20629 lowestSetBit(1606938044258993130037347504260924719094141892773065600794624_) <> 151 or 20630 lowestSetBit(1606938044258995984532732916180686835666080791763338366287872_) <> 152 or 20631 lowestSetBit(1606938044259001693523503740020211068809958589743883897274368_) <> 153 or 20632 lowestSetBit(1606938044259013111505045387699259535097714185704974959247360_) <> 154 or 20633 lowestSetBit(1606938044259035947468128683057356467673225377627157083193344_) <> 155 or 20634 lowestSetBit(1606938044259081619394295273773550332824247761471521331085312_) <> 156 or 20635 lowestSetBit(1606938044259172963246628455205938063126292529160249826869248_) <> 157 or 20636 lowestSetBit(1606938044259355650951294818070713523730382064537706818437120_) <> 158 or 20637 lowestSetBit(1606938044259721026360627543800264444938561135292620801572864_) <> 159 or 20638 lowestSetBit(1606938044260451777179292995259366287354919276802448767844352_) <> 160 or 20639 lowestSetBit(1606938044261913278816623898177569972187635559822104700387328_) <> 161 or 20640 lowestSetBit(1606938044264836282091285704013977341853068125861416565473280_) <> 162 or 20641 lowestSetBit(1606938044270682288640609315686792081183933257940040295645184_) <> 163 or 20642 lowestSetBit(1606938044282374301739256539032421559845663522097287755988992_) <> 164 or 20643 lowestSetBit(1606938044305758327936550985723680517169124050411782676676608_) <> 165 or 20644 lowestSetBit(1606938044352526380331139879106198431816045107040772518051840_) <> 166 or 20645 lowestSetBit(1606938044446062485120317665871234261109887220298752200802304_) <> 167 or 20646 lowestSetBit(1606938044633134694698673239401305919697571446814711566303232_) <> 168 or 20647 lowestSetBit(1606938045007279113855384386461449236872939899846630297305088_) <> 169 or 20648 lowestSetBit(1606938045755567952168806680581735871223676805910467759308800_) <> 170 or 20649 lowestSetBit(1606938047252145628795651268822309139925150618038142683316224_) <> 171 or 20650 lowestSetBit(1606938050245300982049340445303455677328098242293492531331072_) <> 172 or 20651 lowestSetBit(1606938056231611688556718798265748752133993490804192227360768_) <> 173 or 20652 lowestSetBit(1606938068204233101571475504190334901745783987825591619420160_) <> 174 or 20653 lowestSetBit(1606938092149475927600988916039507200969364981868390403538944_) <> 175 or 20654 lowestSetBit(1606938140039961579660015739737851799416526969953987971776512_) <> 176 or 20655 lowestSetBit(1606938235820932883778069387134540996310850946125183108251648_) <> 177 or 20656 lowestSetBit(1606938427382875492014176681927919390099498898467573381201920_) <> 178 or 20657 lowestSetBit(1606938810506760708486391271514676177676794803152353927102464_) <> 179 or 20658 lowestSetBit(1606939576754531141430820450688189752831386612521915018903552_) <> 180 or 20659 lowestSetBit(1606941109250072007319678809035216903140570231261037202505728_) <> 181 or 20660 lowestSetBit(1606944174241153739097395525729271203758937468739281569710080_) <> 182 or 20661 lowestSetBit(1606950304223317202652828959117379804995671943695770304118784_) <> 183 or 20662 lowestSetBit(1606962564187644129763695825893597007469140893608747772936192_) <> 184 or 20663 lowestSetBit(1606987084116297983985429559446031412416078793434702710571008_) <> 185 or 20664 lowestSetBit(1607036123973605692428897026550900222309954593086612585840640_) <> 186 or 20665 lowestSetBit(1607134203688221109315831960760637842097706192390432336379904_) <> 187 or 20666 lowestSetBit(1607330363117451943089701829180113081673209390998071837458432_) <> 188 or 20667 lowestSetBit(1607722681975913610637441566019063560824215788213350839615488_) <> 189 or 20668 lowestSetBit(1608507319692836945732921039696964519126228582643908843929600_) <> 190 or 20669 lowestSetBit(1610076595126683615923879987052766435730254171505024852557824_) <> 191 or 20670 lowestSetBit(1613215145994376956305797881764370268938305349227256869814272_) <> 192 or 20671 lowestSetBit(1619492247729763637069633671187577935354407704671720904327168_) <> 193 or 20672 lowestSetBit(1632046451200536998597305250033993268186612415560648973352960_) <> 194 or 20673 lowestSetBit(1657154858142083721652648407726823933851021837338505111404544_) <> 195 or 20674 lowestSetBit(1707371672025177167763334723112485265179840680894217387507712_) <> 196 or 20675 lowestSetBit(1807805299791364059984707353883807927837478368005641939714048_) <> 197 or 20676 lowestSetBit(2008672555323737844427452615426453253152753742228491044126720_) <> 198 or 20677 lowestSetBit(2410407066388485413312943138511743903783304490674189252952064_) <> 199 then 20678 writeln("The bigInteger lowestSetBit function does not work correct."); 20679 okay := FALSE; 20680 end if; 20681 20682 if okay then 20683 writeln("The bigInteger lowestSetBit function works correct."); 20684 else 20685 writeln(" ***** The bigInteger lowestSetBit function does not work correct."); 20686 writeln; 20687 end if; 20688 end func; 20689 20690 20691const func boolean: chkLShift (in bigInteger: big1, in integer: lshift, 20692 in bigInteger: checkValue) is func 20693 result 20694 var boolean: wrong is FALSE; 20695 local 20696 var bigInteger: bigVar is 0_; 20697 begin 20698 wrong := big1 << lshift <> checkValue or 20699 big1 >> -lshift <> checkValue or 20700 bigintExpr(big1) << lshift <> checkValue or 20701 bigintExpr(big1) >> -lshift <> checkValue; 20702 if not wrong then 20703 bigVar := big1; 20704 bigVar <<:= lshift; 20705 wrong := bigVar <> checkValue; 20706 end if; 20707 if not wrong then 20708 bigVar := big1; 20709 bigVar >>:= -lshift; 20710 wrong := bigVar <> checkValue; 20711 end if; 20712 end func; 20713 20714 20715const func boolean: chkLShift (in bigInteger: big1, in integer: lshift) is func 20716 result 20717 var boolean: wrong is FALSE; 20718 begin 20719 wrong := chkLShift(big1, lshift, big1 * 2_ ** lshift); 20720 end func; 20721 20722 20723const proc: chkLShift (in integer: lshift, inout boolean: okay) is func 20724 begin 20725 if chkLShift( 18446744073709551616_, lshift) or 20726 chkLShift( 18446744073709551615_, lshift) or 20727 chkLShift( 10000000000000000000_, lshift) or 20728 chkLShift( 9223372036854775808_, lshift) or 20729 chkLShift( 9223372036854775807_, lshift) or 20730 chkLShift( 1000000000000000000_, lshift) or 20731 chkLShift( 100000000000000000_, lshift) or 20732 chkLShift( 10000000000000000_, lshift) or 20733 chkLShift( 1000000000000000_, lshift) or 20734 chkLShift( 100000000000000_, lshift) or 20735 chkLShift( 10000000000000_, lshift) or 20736 chkLShift( 1000000000000_, lshift) or 20737 chkLShift( 100000000000_, lshift) or 20738 chkLShift( 10000000000_, lshift) or 20739 chkLShift( 1234567890_, lshift) or 20740 chkLShift( 4294967296_, lshift) or 20741 chkLShift( 4294967295_, lshift) or 20742 chkLShift( 2147483648_, lshift) or 20743 chkLShift( 2147483647_, lshift) or 20744 chkLShift( 1000000000_, lshift) or 20745 chkLShift( 100000000_, lshift) or 20746 chkLShift( 10000000_, lshift) or 20747 chkLShift( 1000000_, lshift) or 20748 chkLShift( 100000_, lshift) or 20749 chkLShift( 65536_, lshift) or 20750 chkLShift( 65535_, lshift) or 20751 chkLShift( 32768_, lshift) or 20752 chkLShift( 32767_, lshift) or 20753 chkLShift( 10000_, lshift) or 20754 chkLShift( 1000_, lshift) or 20755 chkLShift( 256_, lshift) or 20756 chkLShift( 255_, lshift) or 20757 chkLShift( 128_, lshift) or 20758 chkLShift( 127_, lshift) or 20759 chkLShift( 100_, lshift) or 20760 chkLShift( 10_, lshift) or 20761 chkLShift( 1_, lshift) or 20762 chkLShift( 0_, lshift) or 20763 chkLShift( -1_, lshift) or 20764 chkLShift( -10_, lshift) or 20765 chkLShift( -100_, lshift) or 20766 chkLShift( -128_, lshift) or 20767 chkLShift( -129_, lshift) or 20768 chkLShift( -256_, lshift) or 20769 chkLShift( -257_, lshift) or 20770 chkLShift( -1000_, lshift) or 20771 chkLShift( -10000_, lshift) or 20772 chkLShift( -32768_, lshift) or 20773 chkLShift( -32769_, lshift) or 20774 chkLShift( -65536_, lshift) or 20775 chkLShift( -65537_, lshift) or 20776 chkLShift( -100000_, lshift) or 20777 chkLShift( -1000000_, lshift) or 20778 chkLShift( -10000000_, lshift) or 20779 chkLShift( -100000000_, lshift) or 20780 chkLShift( -1000000000_, lshift) or 20781 chkLShift( -2147483648_, lshift) or 20782 chkLShift( -2147483649_, lshift) or 20783 chkLShift( -4294967296_, lshift) or 20784 chkLShift( -4294967297_, lshift) or 20785 chkLShift( -10000000000_, lshift) or 20786 chkLShift( -100000000000_, lshift) or 20787 chkLShift( -1000000000000_, lshift) or 20788 chkLShift( -10000000000000_, lshift) or 20789 chkLShift( -100000000000000_, lshift) or 20790 chkLShift( -1000000000000000_, lshift) or 20791 chkLShift( -10000000000000000_, lshift) or 20792 chkLShift( -100000000000000000_, lshift) or 20793 chkLShift( -1000000000000000000_, lshift) or 20794 chkLShift( -9223372036854775808_, lshift) or 20795 chkLShift( -9223372036854775809_, lshift) or 20796 chkLShift(-10000000000000000000_, lshift) or 20797 chkLShift(-18446744073709551616_, lshift) or 20798 chkLShift(-18446744073709551617_, lshift) then 20799 writeln("The bigInteger << or <<:= with " <& lshift <& " does not work correct."); 20800 okay := FALSE; 20801 end if; 20802 end func; 20803 20804 20805const proc: chkLShift is func 20806 local 20807 var boolean: okay is TRUE; 20808 var integer: lshift is 0; 20809 var boolean: ok is TRUE; 20810 var bigInteger: num is 0_; 20811 begin 20812 for lshift range 0 to 70 do 20813 chkLShift(lshift, okay); 20814 end for; 20815 20816 if chkLShift( 1690200800304305868662270940501_, 0, 1690200800304305868662270940501_) or 20817 chkLShift( 845100400152152934331135470250_, 1, 1690200800304305868662270940500_) or 20818 chkLShift( 422550200076076467165567735125_, 2, 1690200800304305868662270940500_) or 20819 chkLShift( 211275100038038233582783867562_, 3, 1690200800304305868662270940496_) or 20820 chkLShift( 105637550019019116791391933781_, 4, 1690200800304305868662270940496_) or 20821 chkLShift( 52818775009509558395695966890_, 5, 1690200800304305868662270940480_) or 20822 chkLShift( 26409387504754779197847983445_, 6, 1690200800304305868662270940480_) or 20823 chkLShift( 13204693752377389598923991722_, 7, 1690200800304305868662270940416_) or 20824 chkLShift( 6602346876188694799461995861_, 8, 1690200800304305868662270940416_) or 20825 chkLShift( 3301173438094347399730997930_, 9, 1690200800304305868662270940160_) or 20826 chkLShift( 1650586719047173699865498965_, 10, 1690200800304305868662270940160_) or 20827 chkLShift( 825293359523586849932749482_, 11, 1690200800304305868662270939136_) or 20828 chkLShift( 412646679761793424966374741_, 12, 1690200800304305868662270939136_) or 20829 chkLShift( 206323339880896712483187370_, 13, 1690200800304305868662270935040_) or 20830 chkLShift( 103161669940448356241593685_, 14, 1690200800304305868662270935040_) or 20831 chkLShift( 51580834970224178120796842_, 15, 1690200800304305868662270918656_) or 20832 chkLShift( 25790417485112089060398421_, 16, 1690200800304305868662270918656_) or 20833 chkLShift( 12895208742556044530199210_, 17, 1690200800304305868662270853120_) or 20834 chkLShift( 6447604371278022265099605_, 18, 1690200800304305868662270853120_) or 20835 chkLShift( 3223802185639011132549802_, 19, 1690200800304305868662270590976_) or 20836 chkLShift( 1611901092819505566274901_, 20, 1690200800304305868662270590976_) or 20837 chkLShift( 805950546409752783137450_, 21, 1690200800304305868662269542400_) or 20838 chkLShift( 402975273204876391568725_, 22, 1690200800304305868662269542400_) or 20839 chkLShift( 201487636602438195784362_, 23, 1690200800304305868662265348096_) or 20840 chkLShift( 100743818301219097892181_, 24, 1690200800304305868662265348096_) or 20841 chkLShift( 50371909150609548946090_, 25, 1690200800304305868662248570880_) or 20842 chkLShift( 25185954575304774473045_, 26, 1690200800304305868662248570880_) or 20843 chkLShift( 12592977287652387236522_, 27, 1690200800304305868662181462016_) or 20844 chkLShift( 6296488643826193618261_, 28, 1690200800304305868662181462016_) or 20845 chkLShift( 3148244321913096809130_, 29, 1690200800304305868661913026560_) or 20846 chkLShift( 1574122160956548404565_, 30, 1690200800304305868661913026560_) or 20847 chkLShift( 787061080478274202282_, 31, 1690200800304305868660839284736_) or 20848 chkLShift( 393530540239137101141_, 32, 1690200800304305868660839284736_) or 20849 chkLShift( 196765270119568550570_, 33, 1690200800304305868656544317440_) or 20850 chkLShift( 98382635059784275285_, 34, 1690200800304305868656544317440_) or 20851 chkLShift( 49191317529892137642_, 35, 1690200800304305868639364448256_) or 20852 chkLShift( 24595658764946068821_, 36, 1690200800304305868639364448256_) or 20853 chkLShift( 12297829382473034410_, 37, 1690200800304305868570644971520_) or 20854 chkLShift( 6148914691236517205_, 38, 1690200800304305868570644971520_) or 20855 chkLShift( 3074457345618258602_, 39, 1690200800304305868295767064576_) or 20856 chkLShift( 1537228672809129301_, 40, 1690200800304305868295767064576_) or 20857 chkLShift( 768614336404564650_, 41, 1690200800304305867196255436800_) or 20858 chkLShift( 384307168202282325_, 42, 1690200800304305867196255436800_) or 20859 chkLShift( 192153584101141162_, 43, 1690200800304305862798208925696_) or 20860 chkLShift( 96076792050570581_, 44, 1690200800304305862798208925696_) or 20861 chkLShift( 48038396025285290_, 45, 1690200800304305845206022881280_) or 20862 chkLShift( 24019198012642645_, 46, 1690200800304305845206022881280_) or 20863 chkLShift( 12009599006321322_, 47, 1690200800304305774837278703616_) or 20864 chkLShift( 6004799503160661_, 48, 1690200800304305774837278703616_) or 20865 chkLShift( 3002399751580330_, 49, 1690200800304305493362301992960_) or 20866 chkLShift( 1501199875790165_, 50, 1690200800304305493362301992960_) or 20867 chkLShift( 750599937895082_, 51, 1690200800304304367462395150336_) or 20868 chkLShift( 375299968947541_, 52, 1690200800304304367462395150336_) or 20869 chkLShift( 187649984473770_, 53, 1690200800304299863862767779840_) or 20870 chkLShift( 93824992236885_, 54, 1690200800304299863862767779840_) or 20871 chkLShift( 46912496118442_, 55, 1690200800304281849464258297856_) or 20872 chkLShift( 23456248059221_, 56, 1690200800304281849464258297856_) or 20873 chkLShift( 11728124029610_, 57, 1690200800304209791870220369920_) or 20874 chkLShift( 5864062014805_, 58, 1690200800304209791870220369920_) or 20875 chkLShift( 2932031007402_, 59, 1690200800303921561494068658176_) or 20876 chkLShift( 1466015503701_, 60, 1690200800303921561494068658176_) or 20877 chkLShift( 733007751850_, 61, 1690200800302768639989461811200_) or 20878 chkLShift( 366503875925_, 62, 1690200800302768639989461811200_) or 20879 chkLShift( 183251937962_, 63, 1690200800298156953971034423296_) or 20880 chkLShift( 91625968981_, 64, 1690200800298156953971034423296_) or 20881 chkLShift( 45812984490_, 65, 1690200800279710209897324871680_) or 20882 chkLShift( 22906492245_, 66, 1690200800279710209897324871680_) or 20883 chkLShift( 11453246122_, 67, 1690200800205923233602486665216_) or 20884 chkLShift( 5726623061_, 68, 1690200800205923233602486665216_) or 20885 chkLShift( 2863311530_, 69, 1690200799910775328423133839360_) or 20886 chkLShift( 1431655765_, 70, 1690200799910775328423133839360_) or 20887 chkLShift( 715827882_, 71, 1690200798730183707705722535936_) or 20888 chkLShift( 357913941_, 72, 1690200798730183707705722535936_) or 20889 chkLShift( 178956970_, 73, 1690200794007817224836077322240_) or 20890 chkLShift( 89478485_, 74, 1690200794007817224836077322240_) or 20891 chkLShift( 44739242_, 75, 1690200775118351293357496467456_) or 20892 chkLShift( 22369621_, 76, 1690200775118351293357496467456_) or 20893 chkLShift( 11184810_, 77, 1690200699560487567443173048320_) or 20894 chkLShift( 5592405_, 78, 1690200699560487567443173048320_) or 20895 chkLShift( 2796202_, 79, 1690200397329032663785879371776_) or 20896 chkLShift( 1398101_, 80, 1690200397329032663785879371776_) or 20897 chkLShift( 699050_, 81, 1690199188403213049156704665600_) or 20898 chkLShift( 349525_, 82, 1690199188403213049156704665600_) or 20899 chkLShift( 174762_, 83, 1690194352699934590640005840896_) or 20900 chkLShift( 87381_, 84, 1690194352699934590640005840896_) or 20901 chkLShift( 43690_, 85, 1690175009886820756573210542080_) or 20902 chkLShift( 21845_, 86, 1690175009886820756573210542080_) or 20903 chkLShift( 10922_, 87, 1690097638634365420306029346816_) or 20904 chkLShift( 5461_, 88, 1690097638634365420306029346816_) or 20905 chkLShift( 2730_, 89, 1689788153624544075237304565760_) or 20906 chkLShift( 1365_, 90, 1689788153624544075237304565760_) or 20907 chkLShift( 682_, 91, 1688550213585258694962405441536_) or 20908 chkLShift( 341_, 92, 1688550213585258694962405441536_) or 20909 chkLShift( 170_, 93, 1683598453428117173862808944640_) or 20910 chkLShift( 85_, 94, 1683598453428117173862808944640_) or 20911 chkLShift( 42_, 95, 1663791412799551089464422957056_) or 20912 chkLShift( 21_, 96, 1663791412799551089464422957056_) or 20913 chkLShift( 10_, 97, 1584563250285286751870879006720_) or 20914 chkLShift( 5_, 98, 1584563250285286751870879006720_) or 20915 chkLShift( 2_, 99, 1267650600228229401496703205376_) or 20916 chkLShift( 1_, 100, 1267650600228229401496703205376_) or 20917 chkLShift( 0_, 101, 0_) or 20918 chkLShift( 0_, 102, 0_) then 20919 writeln("The bigInteger << or <<:= does not work correct."); 20920 okay := FALSE; 20921 end if; 20922 20923 if chkLShift(-1690200800304305868662270940501_, 0, -1690200800304305868662270940501_) or 20924 chkLShift( -845100400152152934331135470250_, 1, -1690200800304305868662270940500_) or 20925 chkLShift( -422550200076076467165567735125_, 2, -1690200800304305868662270940500_) or 20926 chkLShift( -211275100038038233582783867562_, 3, -1690200800304305868662270940496_) or 20927 chkLShift( -105637550019019116791391933781_, 4, -1690200800304305868662270940496_) or 20928 chkLShift( -52818775009509558395695966890_, 5, -1690200800304305868662270940480_) or 20929 chkLShift( -26409387504754779197847983445_, 6, -1690200800304305868662270940480_) or 20930 chkLShift( -13204693752377389598923991722_, 7, -1690200800304305868662270940416_) or 20931 chkLShift( -6602346876188694799461995861_, 8, -1690200800304305868662270940416_) or 20932 chkLShift( -3301173438094347399730997930_, 9, -1690200800304305868662270940160_) or 20933 chkLShift( -1650586719047173699865498965_, 10, -1690200800304305868662270940160_) or 20934 chkLShift( -825293359523586849932749482_, 11, -1690200800304305868662270939136_) or 20935 chkLShift( -412646679761793424966374741_, 12, -1690200800304305868662270939136_) or 20936 chkLShift( -206323339880896712483187370_, 13, -1690200800304305868662270935040_) or 20937 chkLShift( -103161669940448356241593685_, 14, -1690200800304305868662270935040_) or 20938 chkLShift( -51580834970224178120796842_, 15, -1690200800304305868662270918656_) or 20939 chkLShift( -25790417485112089060398421_, 16, -1690200800304305868662270918656_) or 20940 chkLShift( -12895208742556044530199210_, 17, -1690200800304305868662270853120_) or 20941 chkLShift( -6447604371278022265099605_, 18, -1690200800304305868662270853120_) or 20942 chkLShift( -3223802185639011132549802_, 19, -1690200800304305868662270590976_) or 20943 chkLShift( -1611901092819505566274901_, 20, -1690200800304305868662270590976_) or 20944 chkLShift( -805950546409752783137450_, 21, -1690200800304305868662269542400_) or 20945 chkLShift( -402975273204876391568725_, 22, -1690200800304305868662269542400_) or 20946 chkLShift( -201487636602438195784362_, 23, -1690200800304305868662265348096_) or 20947 chkLShift( -100743818301219097892181_, 24, -1690200800304305868662265348096_) or 20948 chkLShift( -50371909150609548946090_, 25, -1690200800304305868662248570880_) or 20949 chkLShift( -25185954575304774473045_, 26, -1690200800304305868662248570880_) or 20950 chkLShift( -12592977287652387236522_, 27, -1690200800304305868662181462016_) or 20951 chkLShift( -6296488643826193618261_, 28, -1690200800304305868662181462016_) or 20952 chkLShift( -3148244321913096809130_, 29, -1690200800304305868661913026560_) or 20953 chkLShift( -1574122160956548404565_, 30, -1690200800304305868661913026560_) or 20954 chkLShift( -787061080478274202282_, 31, -1690200800304305868660839284736_) or 20955 chkLShift( -393530540239137101141_, 32, -1690200800304305868660839284736_) or 20956 chkLShift( -196765270119568550570_, 33, -1690200800304305868656544317440_) or 20957 chkLShift( -98382635059784275285_, 34, -1690200800304305868656544317440_) or 20958 chkLShift( -49191317529892137642_, 35, -1690200800304305868639364448256_) or 20959 chkLShift( -24595658764946068821_, 36, -1690200800304305868639364448256_) or 20960 chkLShift( -12297829382473034410_, 37, -1690200800304305868570644971520_) or 20961 chkLShift( -6148914691236517205_, 38, -1690200800304305868570644971520_) or 20962 chkLShift( -3074457345618258602_, 39, -1690200800304305868295767064576_) or 20963 chkLShift( -1537228672809129301_, 40, -1690200800304305868295767064576_) or 20964 chkLShift( -768614336404564650_, 41, -1690200800304305867196255436800_) or 20965 chkLShift( -384307168202282325_, 42, -1690200800304305867196255436800_) or 20966 chkLShift( -192153584101141162_, 43, -1690200800304305862798208925696_) or 20967 chkLShift( -96076792050570581_, 44, -1690200800304305862798208925696_) or 20968 chkLShift( -48038396025285290_, 45, -1690200800304305845206022881280_) or 20969 chkLShift( -24019198012642645_, 46, -1690200800304305845206022881280_) or 20970 chkLShift( -12009599006321322_, 47, -1690200800304305774837278703616_) or 20971 chkLShift( -6004799503160661_, 48, -1690200800304305774837278703616_) or 20972 chkLShift( -3002399751580330_, 49, -1690200800304305493362301992960_) or 20973 chkLShift( -1501199875790165_, 50, -1690200800304305493362301992960_) or 20974 chkLShift( -750599937895082_, 51, -1690200800304304367462395150336_) or 20975 chkLShift( -375299968947541_, 52, -1690200800304304367462395150336_) or 20976 chkLShift( -187649984473770_, 53, -1690200800304299863862767779840_) or 20977 chkLShift( -93824992236885_, 54, -1690200800304299863862767779840_) or 20978 chkLShift( -46912496118442_, 55, -1690200800304281849464258297856_) or 20979 chkLShift( -23456248059221_, 56, -1690200800304281849464258297856_) or 20980 chkLShift( -11728124029610_, 57, -1690200800304209791870220369920_) or 20981 chkLShift( -5864062014805_, 58, -1690200800304209791870220369920_) or 20982 chkLShift( -2932031007402_, 59, -1690200800303921561494068658176_) or 20983 chkLShift( -1466015503701_, 60, -1690200800303921561494068658176_) or 20984 chkLShift( -733007751850_, 61, -1690200800302768639989461811200_) or 20985 chkLShift( -366503875925_, 62, -1690200800302768639989461811200_) or 20986 chkLShift( -183251937962_, 63, -1690200800298156953971034423296_) or 20987 chkLShift( -91625968981_, 64, -1690200800298156953971034423296_) or 20988 chkLShift( -45812984490_, 65, -1690200800279710209897324871680_) or 20989 chkLShift( -22906492245_, 66, -1690200800279710209897324871680_) or 20990 chkLShift( -11453246122_, 67, -1690200800205923233602486665216_) or 20991 chkLShift( -5726623061_, 68, -1690200800205923233602486665216_) or 20992 chkLShift( -2863311530_, 69, -1690200799910775328423133839360_) or 20993 chkLShift( -1431655765_, 70, -1690200799910775328423133839360_) or 20994 chkLShift( -715827882_, 71, -1690200798730183707705722535936_) or 20995 chkLShift( -357913941_, 72, -1690200798730183707705722535936_) or 20996 chkLShift( -178956970_, 73, -1690200794007817224836077322240_) or 20997 chkLShift( -89478485_, 74, -1690200794007817224836077322240_) or 20998 chkLShift( -44739242_, 75, -1690200775118351293357496467456_) or 20999 chkLShift( -22369621_, 76, -1690200775118351293357496467456_) or 21000 chkLShift( -11184810_, 77, -1690200699560487567443173048320_) or 21001 chkLShift( -5592405_, 78, -1690200699560487567443173048320_) or 21002 chkLShift( -2796202_, 79, -1690200397329032663785879371776_) or 21003 chkLShift( -1398101_, 80, -1690200397329032663785879371776_) or 21004 chkLShift( -699050_, 81, -1690199188403213049156704665600_) or 21005 chkLShift( -349525_, 82, -1690199188403213049156704665600_) or 21006 chkLShift( -174762_, 83, -1690194352699934590640005840896_) or 21007 chkLShift( -87381_, 84, -1690194352699934590640005840896_) or 21008 chkLShift( -43690_, 85, -1690175009886820756573210542080_) or 21009 chkLShift( -21845_, 86, -1690175009886820756573210542080_) or 21010 chkLShift( -10922_, 87, -1690097638634365420306029346816_) or 21011 chkLShift( -5461_, 88, -1690097638634365420306029346816_) or 21012 chkLShift( -2730_, 89, -1689788153624544075237304565760_) or 21013 chkLShift( -1365_, 90, -1689788153624544075237304565760_) or 21014 chkLShift( -682_, 91, -1688550213585258694962405441536_) or 21015 chkLShift( -341_, 92, -1688550213585258694962405441536_) or 21016 chkLShift( -170_, 93, -1683598453428117173862808944640_) or 21017 chkLShift( -85_, 94, -1683598453428117173862808944640_) or 21018 chkLShift( -42_, 95, -1663791412799551089464422957056_) or 21019 chkLShift( -21_, 96, -1663791412799551089464422957056_) or 21020 chkLShift( -10_, 97, -1584563250285286751870879006720_) or 21021 chkLShift( -5_, 98, -1584563250285286751870879006720_) or 21022 chkLShift( -2_, 99, -1267650600228229401496703205376_) or 21023 chkLShift( -1_, 100, -1267650600228229401496703205376_) or 21024 chkLShift( 0_, 101, 0_) or 21025 chkLShift( 0_, 102, 0_) then 21026 writeln("The bigInteger << or <<:= does not work correct."); 21027 okay := FALSE; 21028 end if; 21029 21030 if -1_ << integer.first <> -1_ or 21031 -1_ << intExpr(integer.first) <> -1_ or 21032 bigintExpr( -1_) << integer.first <> -1_ or 21033 bigintExpr( -1_) << intExpr(integer.first) <> -1_ or 21034 -1_ << -9876 <> -1_ or 21035 -1_ << intExpr( -9876) <> -1_ or 21036 bigintExpr( -1_) << -9876 <> -1_ or 21037 bigintExpr( -1_) << intExpr( -9876) <> -1_ or 21038 -1_ << 0 <> -1_ or 21039 -1_ << intExpr( 0) <> -1_ or 21040 bigintExpr( -1_) << 0 <> -1_ or 21041 bigintExpr( -1_) << intExpr( 0) <> -1_ or 21042 -1_ << 25 <> -33554432_ or 21043 -1_ << intExpr( 25) <> -33554432_ or 21044 bigintExpr( -1_) << 25 <> -33554432_ or 21045 bigintExpr( -1_) << intExpr( 25) <> -33554432_ or 21046 0_ << integer.first <> 0_ or 21047 0_ << intExpr(integer.first) <> 0_ or 21048 bigintExpr( 0_) << integer.first <> 0_ or 21049 bigintExpr( 0_) << intExpr(integer.first) <> 0_ or 21050 0_ << -9876 <> 0_ or 21051 0_ << intExpr( -9876) <> 0_ or 21052 bigintExpr( 0_) << -9876 <> 0_ or 21053 bigintExpr( 0_) << intExpr( -9876) <> 0_ or 21054 0_ << 0 <> 0_ or 21055 0_ << intExpr( 0) <> 0_ or 21056 bigintExpr( 0_) << 0 <> 0_ or 21057 bigintExpr( 0_) << intExpr( 0) <> 0_ or 21058 0_ << 12345 <> 0_ or 21059 0_ << intExpr( 12345) <> 0_ or 21060 bigintExpr( 0_) << 12345 <> 0_ or 21061 bigintExpr( 0_) << intExpr( 12345) <> 0_ or 21062 0_ << integer.last <> 0_ or 21063 0_ << intExpr( integer.last) <> 0_ or 21064 bigintExpr( 0_) << integer.last <> 0_ or 21065 bigintExpr( 0_) << intExpr( integer.last) <> 0_ or 21066 1_ << integer.first <> 0_ or 21067 1_ << intExpr(integer.first) <> 0_ or 21068 bigintExpr( 1_) << integer.first <> 0_ or 21069 bigintExpr( 1_) << intExpr(integer.first) <> 0_ or 21070 1_ << -9876 <> 0_ or 21071 1_ << intExpr( -9876) <> 0_ or 21072 bigintExpr( 1_) << -9876 <> 0_ or 21073 bigintExpr( 1_) << intExpr( -9876) <> 0_ or 21074 1_ << 0 <> 1_ or 21075 1_ << intExpr( 0) <> 1_ or 21076 bigintExpr( 1_) << 0 <> 1_ or 21077 bigintExpr( 1_) << intExpr( 0) <> 1_ or 21078 1_ << 25 <> 33554432_ or 21079 1_ << intExpr( 25) <> 33554432_ or 21080 bigintExpr( 1_) << 25 <> 33554432_ or 21081 bigintExpr( 1_) << intExpr( 25) <> 33554432_ or 21082 123456789_ << integer.first <> 0_ or 21083 123456789_ << intExpr(integer.first) <> 0_ or 21084 bigintExpr(123456789_) << integer.first <> 0_ or 21085 bigintExpr(123456789_) << intExpr(integer.first) <> 0_ or 21086 123456789_ << 0 <> 123456789_ or 21087 123456789_ << intExpr( 0) <> 123456789_ or 21088 bigintExpr(123456789_) << 0 <> 123456789_ or 21089 bigintExpr(123456789_) << intExpr( 0) <> 123456789_ then 21090 writeln("The bigInteger << does not work correct."); 21091 okay := FALSE; 21092 end if; 21093 21094 num := 123456789_; num <<:= 0; ok := ok and num = 123456789_; 21095 if not ok then 21096 writeln("The bigInteger <<:= does not work correct."); 21097 okay := FALSE; 21098 end if; 21099 21100 if okay then 21101 writeln("The bigInteger << and <<:= works correct."); 21102 else 21103 writeln(" ***** The bigInteger << or <<:= does not work correct."); 21104 writeln; 21105 end if; 21106 end func; 21107 21108 21109const func boolean: chkRShift (in bigInteger: big1, in integer: rshift, 21110 in bigInteger: checkValue) is func 21111 result 21112 var boolean: wrong is FALSE; 21113 local 21114 var bigInteger: bigVar is 0_; 21115 begin 21116 wrong := big1 >> rshift <> checkValue or 21117 big1 << -rshift <> checkValue or 21118 bigintExpr(big1) >> rshift <> checkValue or 21119 bigintExpr(big1) << -rshift <> checkValue; 21120 if not wrong then 21121 bigVar := big1; 21122 bigVar >>:= rshift; 21123 wrong := bigVar <> checkValue; 21124 end if; 21125 if not wrong then 21126 bigVar := big1; 21127 bigVar <<:= -rshift; 21128 wrong := bigVar <> checkValue; 21129 end if; 21130 end func; 21131 21132 21133const func boolean: chkRShift (in bigInteger: big1, in integer: rshift) is func 21134 result 21135 var boolean: wrong is FALSE; 21136 begin 21137 wrong := chkRShift(big1, rshift, big1 mdiv 2_ ** rshift); 21138 end func; 21139 21140 21141const proc: chkRShift (in integer: rshift, inout boolean: okay) is func 21142 begin 21143 if chkRShift( 18446744073709551616_, rshift) or 21144 chkRShift( 18446744073709551615_, rshift) or 21145 chkRShift( 10000000000000000000_, rshift) or 21146 chkRShift( 9223372036854775808_, rshift) or 21147 chkRShift( 9223372036854775807_, rshift) or 21148 chkRShift( 1000000000000000000_, rshift) or 21149 chkRShift( 100000000000000000_, rshift) or 21150 chkRShift( 10000000000000000_, rshift) or 21151 chkRShift( 1000000000000000_, rshift) or 21152 chkRShift( 100000000000000_, rshift) or 21153 chkRShift( 10000000000000_, rshift) or 21154 chkRShift( 1000000000000_, rshift) or 21155 chkRShift( 100000000000_, rshift) or 21156 chkRShift( 10000000000_, rshift) or 21157 chkRShift( 1234567890_, rshift) or 21158 chkRShift( 4294967296_, rshift) or 21159 chkRShift( 4294967295_, rshift) or 21160 chkRShift( 2147483648_, rshift) or 21161 chkRShift( 2147483647_, rshift) or 21162 chkRShift( 1000000000_, rshift) or 21163 chkRShift( 100000000_, rshift) or 21164 chkRShift( 10000000_, rshift) or 21165 chkRShift( 1000000_, rshift) or 21166 chkRShift( 100000_, rshift) or 21167 chkRShift( 65536_, rshift) or 21168 chkRShift( 65535_, rshift) or 21169 chkRShift( 32768_, rshift) or 21170 chkRShift( 32767_, rshift) or 21171 chkRShift( 10000_, rshift) or 21172 chkRShift( 1000_, rshift) or 21173 chkRShift( 256_, rshift) or 21174 chkRShift( 255_, rshift) or 21175 chkRShift( 128_, rshift) or 21176 chkRShift( 127_, rshift) or 21177 chkRShift( 100_, rshift) or 21178 chkRShift( 10_, rshift) or 21179 chkRShift( 1_, rshift) or 21180 chkRShift( 0_, rshift) or 21181 chkRShift( -1_, rshift) or 21182 chkRShift( -10_, rshift) or 21183 chkRShift( -100_, rshift) or 21184 chkRShift( -128_, rshift) or 21185 chkRShift( -129_, rshift) or 21186 chkRShift( -256_, rshift) or 21187 chkRShift( -257_, rshift) or 21188 chkRShift( -1000_, rshift) or 21189 chkRShift( -10000_, rshift) or 21190 chkRShift( -32768_, rshift) or 21191 chkRShift( -32769_, rshift) or 21192 chkRShift( -65536_, rshift) or 21193 chkRShift( -65537_, rshift) or 21194 chkRShift( -100000_, rshift) or 21195 chkRShift( -1000000_, rshift) or 21196 chkRShift( -10000000_, rshift) or 21197 chkRShift( -100000000_, rshift) or 21198 chkRShift( -1000000000_, rshift) or 21199 chkRShift( -2147483648_, rshift) or 21200 chkRShift( -2147483649_, rshift) or 21201 chkRShift( -4294967296_, rshift) or 21202 chkRShift( -4294967297_, rshift) or 21203 chkRShift( -10000000000_, rshift) or 21204 chkRShift( -100000000000_, rshift) or 21205 chkRShift( -1000000000000_, rshift) or 21206 chkRShift( -10000000000000_, rshift) or 21207 chkRShift( -100000000000000_, rshift) or 21208 chkRShift( -1000000000000000_, rshift) or 21209 chkRShift( -10000000000000000_, rshift) or 21210 chkRShift( -100000000000000000_, rshift) or 21211 chkRShift( -1000000000000000000_, rshift) or 21212 chkRShift( -9223372036854775808_, rshift) or 21213 chkRShift( -9223372036854775809_, rshift) or 21214 chkRShift(-10000000000000000000_, rshift) or 21215 chkRShift(-18446744073709551616_, rshift) or 21216 chkRShift(-18446744073709551617_, rshift) then 21217 writeln("The bigInteger >> or >>:= with " <& rshift <& " does not work correct."); 21218 okay := FALSE; 21219 end if; 21220 end func; 21221 21222 21223const proc: chkRShift is func 21224 local 21225 var boolean: okay is TRUE; 21226 var integer: rshift is 0; 21227 var boolean: ok is TRUE; 21228 var bigInteger: num is 0_; 21229 begin 21230 for rshift range 0 to 70 do 21231 chkRShift(rshift, okay); 21232 end for; 21233 21234 if chkRShift( 1690200800304305868662270940501_, 0, 1690200800304305868662270940501_) or 21235 chkRShift( 1690200800304305868662270940501_, 1, 845100400152152934331135470250_) or 21236 chkRShift( 1690200800304305868662270940501_, 2, 422550200076076467165567735125_) or 21237 chkRShift( 1690200800304305868662270940501_, 3, 211275100038038233582783867562_) or 21238 chkRShift( 1690200800304305868662270940501_, 4, 105637550019019116791391933781_) or 21239 chkRShift( 1690200800304305868662270940501_, 5, 52818775009509558395695966890_) or 21240 chkRShift( 1690200800304305868662270940501_, 6, 26409387504754779197847983445_) or 21241 chkRShift( 1690200800304305868662270940501_, 7, 13204693752377389598923991722_) or 21242 chkRShift( 1690200800304305868662270940501_, 8, 6602346876188694799461995861_) or 21243 chkRShift( 1690200800304305868662270940501_, 9, 3301173438094347399730997930_) or 21244 chkRShift( 1690200800304305868662270940501_, 10, 1650586719047173699865498965_) or 21245 chkRShift( 1690200800304305868662270940501_, 11, 825293359523586849932749482_) or 21246 chkRShift( 1690200800304305868662270940501_, 12, 412646679761793424966374741_) or 21247 chkRShift( 1690200800304305868662270940501_, 13, 206323339880896712483187370_) or 21248 chkRShift( 1690200800304305868662270940501_, 14, 103161669940448356241593685_) or 21249 chkRShift( 1690200800304305868662270940501_, 15, 51580834970224178120796842_) or 21250 chkRShift( 1690200800304305868662270940501_, 16, 25790417485112089060398421_) or 21251 chkRShift( 1690200800304305868662270940501_, 17, 12895208742556044530199210_) or 21252 chkRShift( 1690200800304305868662270940501_, 18, 6447604371278022265099605_) or 21253 chkRShift( 1690200800304305868662270940501_, 19, 3223802185639011132549802_) or 21254 chkRShift( 1690200800304305868662270940501_, 20, 1611901092819505566274901_) or 21255 chkRShift( 1690200800304305868662270940501_, 21, 805950546409752783137450_) or 21256 chkRShift( 1690200800304305868662270940501_, 22, 402975273204876391568725_) or 21257 chkRShift( 1690200800304305868662270940501_, 23, 201487636602438195784362_) or 21258 chkRShift( 1690200800304305868662270940501_, 24, 100743818301219097892181_) or 21259 chkRShift( 1690200800304305868662270940501_, 25, 50371909150609548946090_) or 21260 chkRShift( 1690200800304305868662270940501_, 26, 25185954575304774473045_) or 21261 chkRShift( 1690200800304305868662270940501_, 27, 12592977287652387236522_) or 21262 chkRShift( 1690200800304305868662270940501_, 28, 6296488643826193618261_) or 21263 chkRShift( 1690200800304305868662270940501_, 29, 3148244321913096809130_) or 21264 chkRShift( 1690200800304305868662270940501_, 30, 1574122160956548404565_) or 21265 chkRShift( 1690200800304305868662270940501_, 31, 787061080478274202282_) or 21266 chkRShift( 1690200800304305868662270940501_, 32, 393530540239137101141_) or 21267 chkRShift( 1690200800304305868662270940501_, 33, 196765270119568550570_) or 21268 chkRShift( 1690200800304305868662270940501_, 34, 98382635059784275285_) or 21269 chkRShift( 1690200800304305868662270940501_, 35, 49191317529892137642_) or 21270 chkRShift( 1690200800304305868662270940501_, 36, 24595658764946068821_) or 21271 chkRShift( 1690200800304305868662270940501_, 37, 12297829382473034410_) or 21272 chkRShift( 1690200800304305868662270940501_, 38, 6148914691236517205_) or 21273 chkRShift( 1690200800304305868662270940501_, 39, 3074457345618258602_) or 21274 chkRShift( 1690200800304305868662270940501_, 40, 1537228672809129301_) or 21275 chkRShift( 1690200800304305868662270940501_, 41, 768614336404564650_) or 21276 chkRShift( 1690200800304305868662270940501_, 42, 384307168202282325_) or 21277 chkRShift( 1690200800304305868662270940501_, 43, 192153584101141162_) or 21278 chkRShift( 1690200800304305868662270940501_, 44, 96076792050570581_) or 21279 chkRShift( 1690200800304305868662270940501_, 45, 48038396025285290_) or 21280 chkRShift( 1690200800304305868662270940501_, 46, 24019198012642645_) or 21281 chkRShift( 1690200800304305868662270940501_, 47, 12009599006321322_) or 21282 chkRShift( 1690200800304305868662270940501_, 48, 6004799503160661_) or 21283 chkRShift( 1690200800304305868662270940501_, 49, 3002399751580330_) or 21284 chkRShift( 1690200800304305868662270940501_, 50, 1501199875790165_) or 21285 chkRShift( 1690200800304305868662270940501_, 51, 750599937895082_) or 21286 chkRShift( 1690200800304305868662270940501_, 52, 375299968947541_) or 21287 chkRShift( 1690200800304305868662270940501_, 53, 187649984473770_) or 21288 chkRShift( 1690200800304305868662270940501_, 54, 93824992236885_) or 21289 chkRShift( 1690200800304305868662270940501_, 55, 46912496118442_) or 21290 chkRShift( 1690200800304305868662270940501_, 56, 23456248059221_) or 21291 chkRShift( 1690200800304305868662270940501_, 57, 11728124029610_) or 21292 chkRShift( 1690200800304305868662270940501_, 58, 5864062014805_) or 21293 chkRShift( 1690200800304305868662270940501_, 59, 2932031007402_) or 21294 chkRShift( 1690200800304305868662270940501_, 60, 1466015503701_) or 21295 chkRShift( 1690200800304305868662270940501_, 61, 733007751850_) or 21296 chkRShift( 1690200800304305868662270940501_, 62, 366503875925_) or 21297 chkRShift( 1690200800304305868662270940501_, 63, 183251937962_) or 21298 chkRShift( 1690200800304305868662270940501_, 64, 91625968981_) or 21299 chkRShift( 1690200800304305868662270940501_, 65, 45812984490_) or 21300 chkRShift( 1690200800304305868662270940501_, 66, 22906492245_) or 21301 chkRShift( 1690200800304305868662270940501_, 67, 11453246122_) or 21302 chkRShift( 1690200800304305868662270940501_, 68, 5726623061_) or 21303 chkRShift( 1690200800304305868662270940501_, 69, 2863311530_) or 21304 chkRShift( 1690200800304305868662270940501_, 70, 1431655765_) or 21305 chkRShift( 1690200800304305868662270940501_, 71, 715827882_) or 21306 chkRShift( 1690200800304305868662270940501_, 72, 357913941_) or 21307 chkRShift( 1690200800304305868662270940501_, 73, 178956970_) or 21308 chkRShift( 1690200800304305868662270940501_, 74, 89478485_) or 21309 chkRShift( 1690200800304305868662270940501_, 75, 44739242_) or 21310 chkRShift( 1690200800304305868662270940501_, 76, 22369621_) or 21311 chkRShift( 1690200800304305868662270940501_, 77, 11184810_) or 21312 chkRShift( 1690200800304305868662270940501_, 78, 5592405_) or 21313 chkRShift( 1690200800304305868662270940501_, 79, 2796202_) or 21314 chkRShift( 1690200800304305868662270940501_, 80, 1398101_) or 21315 chkRShift( 1690200800304305868662270940501_, 81, 699050_) or 21316 chkRShift( 1690200800304305868662270940501_, 82, 349525_) or 21317 chkRShift( 1690200800304305868662270940501_, 83, 174762_) or 21318 chkRShift( 1690200800304305868662270940501_, 84, 87381_) or 21319 chkRShift( 1690200800304305868662270940501_, 85, 43690_) or 21320 chkRShift( 1690200800304305868662270940501_, 86, 21845_) or 21321 chkRShift( 1690200800304305868662270940501_, 87, 10922_) or 21322 chkRShift( 1690200800304305868662270940501_, 88, 5461_) or 21323 chkRShift( 1690200800304305868662270940501_, 89, 2730_) or 21324 chkRShift( 1690200800304305868662270940501_, 90, 1365_) or 21325 chkRShift( 1690200800304305868662270940501_, 91, 682_) or 21326 chkRShift( 1690200800304305868662270940501_, 92, 341_) or 21327 chkRShift( 1690200800304305868662270940501_, 93, 170_) or 21328 chkRShift( 1690200800304305868662270940501_, 94, 85_) or 21329 chkRShift( 1690200800304305868662270940501_, 95, 42_) or 21330 chkRShift( 1690200800304305868662270940501_, 96, 21_) or 21331 chkRShift( 1690200800304305868662270940501_, 97, 10_) or 21332 chkRShift( 1690200800304305868662270940501_, 98, 5_) or 21333 chkRShift( 1690200800304305868662270940501_, 99, 2_) or 21334 chkRShift( 1690200800304305868662270940501_, 100, 1_) or 21335 chkRShift( 1690200800304305868662270940501_, 101, 0_) or 21336 chkRShift( 1690200800304305868662270940501_, 102, 0_) then 21337 writeln("The bigInteger >> or >>:= does not work correct."); 21338 okay := FALSE; 21339 end if; 21340 21341 if chkRShift(-1690200800304305868662270940502_, 0, -1690200800304305868662270940502_) or 21342 chkRShift(-1690200800304305868662270940502_, 1, -845100400152152934331135470251_) or 21343 chkRShift(-1690200800304305868662270940502_, 2, -422550200076076467165567735126_) or 21344 chkRShift(-1690200800304305868662270940502_, 3, -211275100038038233582783867563_) or 21345 chkRShift(-1690200800304305868662270940502_, 4, -105637550019019116791391933782_) or 21346 chkRShift(-1690200800304305868662270940502_, 5, -52818775009509558395695966891_) or 21347 chkRShift(-1690200800304305868662270940502_, 6, -26409387504754779197847983446_) or 21348 chkRShift(-1690200800304305868662270940502_, 7, -13204693752377389598923991723_) or 21349 chkRShift(-1690200800304305868662270940502_, 8, -6602346876188694799461995862_) or 21350 chkRShift(-1690200800304305868662270940502_, 9, -3301173438094347399730997931_) or 21351 chkRShift(-1690200800304305868662270940502_, 10, -1650586719047173699865498966_) or 21352 chkRShift(-1690200800304305868662270940502_, 11, -825293359523586849932749483_) or 21353 chkRShift(-1690200800304305868662270940502_, 12, -412646679761793424966374742_) or 21354 chkRShift(-1690200800304305868662270940502_, 13, -206323339880896712483187371_) or 21355 chkRShift(-1690200800304305868662270940502_, 14, -103161669940448356241593686_) or 21356 chkRShift(-1690200800304305868662270940502_, 15, -51580834970224178120796843_) or 21357 chkRShift(-1690200800304305868662270940502_, 16, -25790417485112089060398422_) or 21358 chkRShift(-1690200800304305868662270940502_, 17, -12895208742556044530199211_) or 21359 chkRShift(-1690200800304305868662270940502_, 18, -6447604371278022265099606_) or 21360 chkRShift(-1690200800304305868662270940502_, 19, -3223802185639011132549803_) or 21361 chkRShift(-1690200800304305868662270940502_, 20, -1611901092819505566274902_) or 21362 chkRShift(-1690200800304305868662270940502_, 21, -805950546409752783137451_) or 21363 chkRShift(-1690200800304305868662270940502_, 22, -402975273204876391568726_) or 21364 chkRShift(-1690200800304305868662270940502_, 23, -201487636602438195784363_) or 21365 chkRShift(-1690200800304305868662270940502_, 24, -100743818301219097892182_) or 21366 chkRShift(-1690200800304305868662270940502_, 25, -50371909150609548946091_) or 21367 chkRShift(-1690200800304305868662270940502_, 26, -25185954575304774473046_) or 21368 chkRShift(-1690200800304305868662270940502_, 27, -12592977287652387236523_) or 21369 chkRShift(-1690200800304305868662270940502_, 28, -6296488643826193618262_) or 21370 chkRShift(-1690200800304305868662270940502_, 29, -3148244321913096809131_) or 21371 chkRShift(-1690200800304305868662270940502_, 30, -1574122160956548404566_) or 21372 chkRShift(-1690200800304305868662270940502_, 31, -787061080478274202283_) or 21373 chkRShift(-1690200800304305868662270940502_, 32, -393530540239137101142_) or 21374 chkRShift(-1690200800304305868662270940502_, 33, -196765270119568550571_) or 21375 chkRShift(-1690200800304305868662270940502_, 34, -98382635059784275286_) or 21376 chkRShift(-1690200800304305868662270940502_, 35, -49191317529892137643_) or 21377 chkRShift(-1690200800304305868662270940502_, 36, -24595658764946068822_) or 21378 chkRShift(-1690200800304305868662270940502_, 37, -12297829382473034411_) or 21379 chkRShift(-1690200800304305868662270940502_, 38, -6148914691236517206_) or 21380 chkRShift(-1690200800304305868662270940502_, 39, -3074457345618258603_) or 21381 chkRShift(-1690200800304305868662270940502_, 40, -1537228672809129302_) or 21382 chkRShift(-1690200800304305868662270940502_, 41, -768614336404564651_) or 21383 chkRShift(-1690200800304305868662270940502_, 42, -384307168202282326_) or 21384 chkRShift(-1690200800304305868662270940502_, 43, -192153584101141163_) or 21385 chkRShift(-1690200800304305868662270940502_, 44, -96076792050570582_) or 21386 chkRShift(-1690200800304305868662270940502_, 45, -48038396025285291_) or 21387 chkRShift(-1690200800304305868662270940502_, 46, -24019198012642646_) or 21388 chkRShift(-1690200800304305868662270940502_, 47, -12009599006321323_) or 21389 chkRShift(-1690200800304305868662270940502_, 48, -6004799503160662_) or 21390 chkRShift(-1690200800304305868662270940502_, 49, -3002399751580331_) or 21391 chkRShift(-1690200800304305868662270940502_, 50, -1501199875790166_) or 21392 chkRShift(-1690200800304305868662270940502_, 51, -750599937895083_) or 21393 chkRShift(-1690200800304305868662270940502_, 52, -375299968947542_) or 21394 chkRShift(-1690200800304305868662270940502_, 53, -187649984473771_) or 21395 chkRShift(-1690200800304305868662270940502_, 54, -93824992236886_) or 21396 chkRShift(-1690200800304305868662270940502_, 55, -46912496118443_) or 21397 chkRShift(-1690200800304305868662270940502_, 56, -23456248059222_) or 21398 chkRShift(-1690200800304305868662270940502_, 57, -11728124029611_) or 21399 chkRShift(-1690200800304305868662270940502_, 58, -5864062014806_) or 21400 chkRShift(-1690200800304305868662270940502_, 59, -2932031007403_) or 21401 chkRShift(-1690200800304305868662270940502_, 60, -1466015503702_) or 21402 chkRShift(-1690200800304305868662270940502_, 61, -733007751851_) or 21403 chkRShift(-1690200800304305868662270940502_, 62, -366503875926_) or 21404 chkRShift(-1690200800304305868662270940502_, 63, -183251937963_) or 21405 chkRShift(-1690200800304305868662270940502_, 64, -91625968982_) or 21406 chkRShift(-1690200800304305868662270940502_, 65, -45812984491_) or 21407 chkRShift(-1690200800304305868662270940502_, 66, -22906492246_) or 21408 chkRShift(-1690200800304305868662270940502_, 67, -11453246123_) or 21409 chkRShift(-1690200800304305868662270940502_, 68, -5726623062_) or 21410 chkRShift(-1690200800304305868662270940502_, 69, -2863311531_) or 21411 chkRShift(-1690200800304305868662270940502_, 70, -1431655766_) or 21412 chkRShift(-1690200800304305868662270940502_, 71, -715827883_) or 21413 chkRShift(-1690200800304305868662270940502_, 72, -357913942_) or 21414 chkRShift(-1690200800304305868662270940502_, 73, -178956971_) or 21415 chkRShift(-1690200800304305868662270940502_, 74, -89478486_) or 21416 chkRShift(-1690200800304305868662270940502_, 75, -44739243_) or 21417 chkRShift(-1690200800304305868662270940502_, 76, -22369622_) or 21418 chkRShift(-1690200800304305868662270940502_, 77, -11184811_) or 21419 chkRShift(-1690200800304305868662270940502_, 78, -5592406_) or 21420 chkRShift(-1690200800304305868662270940502_, 79, -2796203_) or 21421 chkRShift(-1690200800304305868662270940502_, 80, -1398102_) or 21422 chkRShift(-1690200800304305868662270940502_, 81, -699051_) or 21423 chkRShift(-1690200800304305868662270940502_, 82, -349526_) or 21424 chkRShift(-1690200800304305868662270940502_, 83, -174763_) or 21425 chkRShift(-1690200800304305868662270940502_, 84, -87382_) or 21426 chkRShift(-1690200800304305868662270940502_, 85, -43691_) or 21427 chkRShift(-1690200800304305868662270940502_, 86, -21846_) or 21428 chkRShift(-1690200800304305868662270940502_, 87, -10923_) or 21429 chkRShift(-1690200800304305868662270940502_, 88, -5462_) or 21430 chkRShift(-1690200800304305868662270940502_, 89, -2731_) or 21431 chkRShift(-1690200800304305868662270940502_, 90, -1366_) or 21432 chkRShift(-1690200800304305868662270940502_, 91, -683_) or 21433 chkRShift(-1690200800304305868662270940502_, 92, -342_) or 21434 chkRShift(-1690200800304305868662270940502_, 93, -171_) or 21435 chkRShift(-1690200800304305868662270940502_, 94, -86_) or 21436 chkRShift(-1690200800304305868662270940502_, 95, -43_) or 21437 chkRShift(-1690200800304305868662270940502_, 96, -22_) or 21438 chkRShift(-1690200800304305868662270940502_, 97, -11_) or 21439 chkRShift(-1690200800304305868662270940502_, 98, -6_) or 21440 chkRShift(-1690200800304305868662270940502_, 99, -3_) or 21441 chkRShift(-1690200800304305868662270940502_, 100, -2_) or 21442 chkRShift(-1690200800304305868662270940502_, 101, -1_) or 21443 chkRShift(-1690200800304305868662270940502_, 102, -1_) then 21444 writeln("The bigInteger >> or >>:= does not work correct."); 21445 okay := FALSE; 21446 end if; 21447 21448 if -1_ >> -25 <> -33554432_ or 21449 -1_ >> intExpr( -25) <> -33554432_ or 21450 bigintExpr( -1_) >> -25 <> -33554432_ or 21451 bigintExpr( -1_) >> intExpr( -25) <> -33554432_ or 21452 -1_ >> 0 <> -1_ or 21453 -1_ >> intExpr( 0) <> -1_ or 21454 bigintExpr( -1_) >> 0 <> -1_ or 21455 bigintExpr( -1_) >> intExpr( 0) <> -1_ or 21456 -1_ >> 12345 <> -1_ or 21457 -1_ >> intExpr( 12345) <> -1_ or 21458 bigintExpr( -1_) >> 12345 <> -1_ or 21459 bigintExpr( -1_) >> intExpr( 12345) <> -1_ or 21460 -1_ >> integer.last <> -1_ or 21461 -1_ >> intExpr( integer.last) <> -1_ or 21462 bigintExpr( -1_) >> integer.last <> -1_ or 21463 bigintExpr( -1_) >> intExpr( integer.last) <> -1_ or 21464 0_ >> integer.first <> 0_ or 21465 0_ >> intExpr(integer.first) <> 0_ or 21466 bigintExpr( 0_) >> integer.first <> 0_ or 21467 bigintExpr( 0_) >> intExpr(integer.first) <> 0_ or 21468 0_ >> -9876 <> 0_ or 21469 0_ >> intExpr( -9876) <> 0_ or 21470 bigintExpr( 0_) >> -9876 <> 0_ or 21471 bigintExpr( 0_) >> intExpr( -9876) <> 0_ or 21472 0_ >> 0 <> 0_ or 21473 0_ >> intExpr( 0) <> 0_ or 21474 bigintExpr( 0_) >> 0 <> 0_ or 21475 bigintExpr( 0_) >> intExpr( 0) <> 0_ or 21476 0_ >> 12345 <> 0_ or 21477 0_ >> intExpr( 12345) <> 0_ or 21478 bigintExpr( 0_) >> 12345 <> 0_ or 21479 bigintExpr( 0_) >> intExpr( 12345) <> 0_ or 21480 0_ >> integer.last <> 0_ or 21481 0_ >> intExpr( integer.last) <> 0_ or 21482 bigintExpr( 0_) >> integer.last <> 0_ or 21483 bigintExpr( 0_) >> intExpr( integer.last) <> 0_ or 21484 1_ >> -25 <> 33554432_ or 21485 1_ >> intExpr( -25) <> 33554432_ or 21486 bigintExpr( 1_) >> -25 <> 33554432_ or 21487 bigintExpr( 1_) >> intExpr( -25) <> 33554432_ or 21488 1_ >> 0 <> 1_ or 21489 1_ >> intExpr( 0) <> 1_ or 21490 bigintExpr( 1_) >> 0 <> 1_ or 21491 bigintExpr( 1_) >> intExpr( 0) <> 1_ or 21492 1_ >> 12345 <> 0_ or 21493 1_ >> intExpr( 12345) <> 0_ or 21494 bigintExpr( 1_) >> 12345 <> 0_ or 21495 bigintExpr( 1_) >> intExpr( 12345) <> 0_ or 21496 1_ >> integer.last <> 0_ or 21497 1_ >> intExpr( integer.last) <> 0_ or 21498 bigintExpr( 1_) >> integer.last <> 0_ or 21499 bigintExpr( 1_) >> intExpr( integer.last) <> 0_ or 21500 123456789_ >> 0 <> 123456789_ or 21501 123456789_ >> intExpr( 0) <> 123456789_ or 21502 bigintExpr(123456789_) >> 0 <> 123456789_ or 21503 bigintExpr(123456789_) >> intExpr( 0) <> 123456789_ or 21504 123456789_ >> integer.last <> 0_ or 21505 123456789_ >> intExpr( integer.last) <> 0_ or 21506 bigintExpr(123456789_) >> integer.last <> 0_ or 21507 bigintExpr(123456789_) >> intExpr( integer.last) <> 0_ then 21508 writeln("The bigInteger >> does not work correct."); 21509 okay := FALSE; 21510 end if; 21511 21512 num := 123456789_; num >>:= 0; ok := ok and num = 123456789_; 21513 if not ok then 21514 writeln("The bigInteger >>:= does not work correct."); 21515 okay := FALSE; 21516 end if; 21517 21518 if okay then 21519 writeln("The bigInteger >> and >>:= works correct."); 21520 else 21521 writeln(" ***** The bigInteger >> or >>:= does not work correct."); 21522 writeln; 21523 end if; 21524 end func; 21525 21526 21527const proc: chkSqrt is func 21528 local 21529 var boolean: okay is TRUE; 21530 var integer: rshift is 0; 21531 begin 21532 if sqrt( 0_) <> 0_ or 21533 sqrt( 1_) <> 1_ or 21534 sqrt( 2_) <> 1_ or 21535 sqrt( 3_) <> 1_ or 21536 sqrt( 4_) <> 2_ or 21537 sqrt( 5_) <> 2_ or 21538 sqrt( 8_) <> 2_ or 21539 sqrt( 9_) <> 3_ or 21540 sqrt( 15_) <> 3_ or 21541 sqrt( 16_) <> 4_ or 21542 sqrt( 24_) <> 4_ or 21543 sqrt( 25_) <> 5_ or 21544 sqrt( 35_) <> 5_ or 21545 sqrt( 36_) <> 6_ or 21546 sqrt( 48_) <> 6_ or 21547 sqrt( 49_) <> 7_ or 21548 sqrt( 63_) <> 7_ or 21549 sqrt( 64_) <> 8_ or 21550 sqrt( 80_) <> 8_ or 21551 sqrt( 81_) <> 9_ or 21552 sqrt( 128_) <> 11_ or 21553 sqrt( 129_) <> 11_ or 21554 sqrt( 255_) <> 15_ or 21555 sqrt( 256_) <> 16_ or 21556 sqrt( 257_) <> 16_ or 21557 sqrt( 1000_) <> 31_ or 21558 sqrt( 10000_) <> 100_ or 21559 sqrt( 32767_) <> 181_ or 21560 sqrt( 32768_) <> 181_ or 21561 sqrt( 32769_) <> 181_ or 21562 sqrt( 65535_) <> 255_ or 21563 sqrt( 65536_) <> 256_ or 21564 sqrt( 65537_) <> 256_ or 21565 sqrt( 100000_) <> 316_ or 21566 sqrt( 1000000_) <> 1000_ or 21567 sqrt( 10000000_) <> 3162_ or 21568 sqrt( 100000000_) <> 10000_ or 21569 sqrt( 1000000000_) <> 31622_ or 21570 sqrt( 2147483647_) <> 46340_ or 21571 sqrt( 2147483648_) <> 46340_ or 21572 sqrt( 2147483649_) <> 46340_ or 21573 sqrt( 4294967295_) <> 65535_ or 21574 sqrt( 4294967296_) <> 65536_ or 21575 sqrt( 4294967297_) <> 65536_ or 21576 sqrt( 10000000000_) <> 100000_ or 21577 sqrt( 100000000000_) <> 316227_ or 21578 sqrt( 1000000000000_) <> 1000000_ or 21579 sqrt( 10000000000000_) <> 3162277_ or 21580 sqrt( 100000000000000_) <> 10000000_ or 21581 sqrt( 1000000000000000_) <> 31622776_ or 21582 sqrt( 10000000000000000_) <> 100000000_ or 21583 sqrt( 100000000000000000_) <> 316227766_ or 21584 sqrt( 1000000000000000000_) <> 1000000000_ or 21585 sqrt( 9223372030926249000_) <> 3037000498_ or 21586 sqrt( 9223372030926249001_) <> 3037000499_ or 21587 sqrt( 9223372036854775808_) <> 3037000499_ or 21588 sqrt( 9223372036854775809_) <> 3037000499_ or 21589 sqrt(10000000000000000000_) <> 3162277660_ or 21590 sqrt(18446744073709551615_) <> 4294967295_ or 21591 sqrt(18446744073709551616_) <> 4294967296_ or 21592 sqrt(18446744073709551617_) <> 4294967296_ then 21593 writeln("The bigInteger square root does not work correct."); 21594 okay := FALSE; 21595 end if; 21596 21597 if not raisesNumericError(sqrt( -1_)) or 21598 not raisesNumericError(sqrt( -2_)) or 21599 not raisesNumericError(sqrt( -3_)) or 21600 not raisesNumericError(sqrt( -4_)) or 21601 not raisesNumericError(sqrt( -5_)) or 21602 not raisesNumericError(sqrt( -8_)) or 21603 not raisesNumericError(sqrt( -9_)) or 21604 not raisesNumericError(sqrt( -15_)) or 21605 not raisesNumericError(sqrt( -16_)) or 21606 not raisesNumericError(sqrt( -24_)) or 21607 not raisesNumericError(sqrt( -25_)) or 21608 not raisesNumericError(sqrt( -35_)) or 21609 not raisesNumericError(sqrt( -36_)) or 21610 not raisesNumericError(sqrt( -48_)) or 21611 not raisesNumericError(sqrt( -49_)) or 21612 not raisesNumericError(sqrt( -63_)) or 21613 not raisesNumericError(sqrt( -64_)) or 21614 not raisesNumericError(sqrt( -80_)) or 21615 not raisesNumericError(sqrt( -81_)) or 21616 not raisesNumericError(sqrt( -128_)) or 21617 not raisesNumericError(sqrt( -129_)) or 21618 not raisesNumericError(sqrt( -255_)) or 21619 not raisesNumericError(sqrt( -256_)) or 21620 not raisesNumericError(sqrt( -257_)) or 21621 not raisesNumericError(sqrt( -1000_)) or 21622 not raisesNumericError(sqrt( -10000_)) or 21623 not raisesNumericError(sqrt( -32767_)) or 21624 not raisesNumericError(sqrt( -32768_)) or 21625 not raisesNumericError(sqrt( -32769_)) or 21626 not raisesNumericError(sqrt( -65535_)) or 21627 not raisesNumericError(sqrt( -65536_)) or 21628 not raisesNumericError(sqrt( -65537_)) or 21629 not raisesNumericError(sqrt( -100000_)) or 21630 not raisesNumericError(sqrt( -1000000_)) or 21631 not raisesNumericError(sqrt( -10000000_)) or 21632 not raisesNumericError(sqrt( -100000000_)) or 21633 not raisesNumericError(sqrt( -1000000000_)) or 21634 not raisesNumericError(sqrt( -2147483647_)) or 21635 not raisesNumericError(sqrt( -2147483648_)) or 21636 not raisesNumericError(sqrt( -2147483649_)) or 21637 not raisesNumericError(sqrt( -4294967295_)) or 21638 not raisesNumericError(sqrt( -4294967296_)) or 21639 not raisesNumericError(sqrt( -4294967297_)) or 21640 not raisesNumericError(sqrt( -10000000000_)) or 21641 not raisesNumericError(sqrt( -100000000000_)) or 21642 not raisesNumericError(sqrt( -1000000000000_)) or 21643 not raisesNumericError(sqrt( -10000000000000_)) or 21644 not raisesNumericError(sqrt( -100000000000000_)) or 21645 not raisesNumericError(sqrt( -1000000000000000_)) or 21646 not raisesNumericError(sqrt( -10000000000000000_)) or 21647 not raisesNumericError(sqrt( -100000000000000000_)) or 21648 not raisesNumericError(sqrt( -1000000000000000000_)) or 21649 not raisesNumericError(sqrt( -9223372030926249000_)) or 21650 not raisesNumericError(sqrt( -9223372030926249001_)) or 21651 not raisesNumericError(sqrt( -9223372036854775808_)) or 21652 not raisesNumericError(sqrt( -9223372036854775809_)) or 21653 not raisesNumericError(sqrt(-10000000000000000000_)) or 21654 not raisesNumericError(sqrt(-18446744073709551615_)) or 21655 not raisesNumericError(sqrt(-18446744073709551616_)) or 21656 not raisesNumericError(sqrt(-18446744073709551617_)) then 21657 writeln(" ***** The bigInteger square root of a negative number does not raise NUMERIC_ERROR."); 21658 okay := FALSE; 21659 end if; 21660 21661 if okay then 21662 writeln("The bigInteger square root works correct."); 21663 else 21664 writeln(" ***** The bigInteger square root does not work correct."); 21665 writeln; 21666 end if; 21667 end func; 21668 21669 21670const proc: chkConstants is func 21671 local 21672 var boolean: okay is TRUE; 21673 const bigInteger: big0 is 0_; 21674 const bigInteger: big1 is 1_; 21675 const bigInteger: big2 is 2_; 21676 const bigInteger: big127 is 127_; 21677 const bigInteger: big128 is 128_; 21678 const bigInteger: big129 is 129_; 21679 const bigInteger: big255 is 255_; 21680 const bigInteger: big256 is 256_; 21681 const bigInteger: big257 is 257_; 21682 const bigInteger: big65535 is 65535_; 21683 const bigInteger: big65536 is 65537_; 21684 const bigInteger: big65537 is 65538_; 21685 const bigInteger: big1m is -1_; 21686 const bigInteger: big2m is -2_; 21687 const bigInteger: big127m is -127_; 21688 const bigInteger: big128m is -128_; 21689 const bigInteger: big129m is -129_; 21690 const bigInteger: big255m is -255_; 21691 const bigInteger: big256m is -256_; 21692 const bigInteger: big257m is -257_; 21693 const bigInteger: big65535m is -65535_; 21694 const bigInteger: big65536m is -65536_; 21695 const bigInteger: big65537m is -65537_; 21696 begin 21697 if big0 <> 0_ or 21698 big1 <> 1_ or 21699 big2 <> 2_ or 21700 big127 <> 127_ or 21701 big128 <> 128_ or 21702 big129 <> 129_ or 21703 big255 <> 255_ or 21704 big256 <> 256_ or 21705 big257 <> 257_ or 21706 big65535 <> 65535_ or 21707 big65536 <> 65537_ or 21708 big65537 <> 65538_ or 21709 big1m <> -1_ or 21710 big2m <> -2_ or 21711 big127m <> -127_ or 21712 big128m <> -128_ or 21713 big129m <> -129_ or 21714 big255m <> -255_ or 21715 big256m <> -256_ or 21716 big257m <> -257_ or 21717 big65535m <> -65535_ or 21718 big65536m <> -65536_ or 21719 big65537m <> -65537_ then 21720 writeln("The bigInteger constants do not work correct."); 21721 okay := FALSE; 21722 end if; 21723 21724 if compare(bigintExpr(-2_), big2m) <> 0 or 21725 compare(bigintExpr(-1_), big2m) <> 1 or 21726 compare(bigintExpr( 0_), big2m) <> 1 or 21727 compare(bigintExpr( 2_), big2m) <> 1 or 21728 compare(bigintExpr( 2_), big2m) <> 1 or 21729 compare(bigintExpr(-2_), big1m) <> -1 or 21730 compare(bigintExpr(-1_), big1m) <> 0 or 21731 compare(bigintExpr( 0_), big1m) <> 1 or 21732 compare(bigintExpr( 1_), big1m) <> 1 or 21733 compare(bigintExpr( 2_), big1m) <> 1 or 21734 compare(bigintExpr(-2_), big0) <> -1 or 21735 compare(bigintExpr(-1_), big0) <> -1 or 21736 compare(bigintExpr( 0_), big0) <> 0 or 21737 compare(bigintExpr( 1_), big0) <> 1 or 21738 compare(bigintExpr( 2_), big0) <> 1 or 21739 compare(bigintExpr(-2_), big1) <> -1 or 21740 compare(bigintExpr(-1_), big1) <> -1 or 21741 compare(bigintExpr( 0_), big1) <> -1 or 21742 compare(bigintExpr( 1_), big1) <> 0 or 21743 compare(bigintExpr( 2_), big1) <> 1 or 21744 compare(bigintExpr(-2_), big2) <> -1 or 21745 compare(bigintExpr(-1_), big2) <> -1 or 21746 compare(bigintExpr( 0_), big2) <> -1 or 21747 compare(bigintExpr( 1_), big2) <> -1 or 21748 compare(bigintExpr( 2_), big2) <> 0 then 21749 writeln("The bigInteger constant comparisons do not work correct."); 21750 okay := FALSE; 21751 end if; 21752 21753 21754 if okay then 21755 writeln("The bigInteger constants work correct."); 21756 else 21757 writeln(" ***** The bigInteger constants do not work correct."); 21758 writeln; 21759 end if; 21760 end func; 21761 21762 21763(** 21764 * Test the case where source and destination of an assignment 21765 * are identical. 21766 *) 21767const proc: do_assign (inout bigInteger: dest, ref bigInteger: source) is func 21768 begin 21769 dest := source; 21770 end func; 21771 21772 21773const proc: chkAssign is func 21774 local 21775 var boolean: okay is TRUE; 21776 var bigInteger: number is 1_; 21777 begin 21778 okay := TRUE; 21779 number := 2_; 21780 if number <> 2_ then 21781 writeln(" ***** 'number := 2_' does not work correct."); 21782 okay := FALSE; 21783 end if; 21784 number := number; 21785 if number <> 2_ then 21786 writeln(" ***** bigInteger 'number := number' does not work correct."); 21787 okay := FALSE; 21788 end if; 21789 do_assign(number, number); 21790 if number <> 2_ then 21791 writeln(" ***** bigInteger 'number := number' does not work correct."); 21792 okay := FALSE; 21793 end if; 21794 if okay then 21795 writeln("BigInteger assignment works correct."); 21796 end if; 21797 end func; 21798 21799 21800const proc: checkTernary is func 21801 local 21802 var boolean: okay is TRUE; 21803 var boolean: ok is TRUE; 21804 var bigInteger: big1 is 0_; 21805 begin 21806 if ( TRUE ? 1_ : 2_) <> 1_ or 21807 (FALSE ? 1_ : 2_) <> 2_ or 21808 ( TRUE ? 1_ : bigintExpr(2_)) <> 1_ or 21809 (FALSE ? 1_ : bigintExpr(2_)) <> 2_ or 21810 ( TRUE ? bigintExpr(1_) : 2_) <> 1_ or 21811 (FALSE ? bigintExpr(1_) : 2_) <> 2_ or 21812 ( TRUE ? bigintExpr(1_) : bigintExpr(2_)) <> 1_ or 21813 (FALSE ? bigintExpr(1_) : bigintExpr(2_)) <> 2_ or 21814 (boolExpr( TRUE) ? 1_ : 2_) <> 1_ or 21815 (boolExpr(FALSE) ? 1_ : 2_) <> 2_ or 21816 (boolExpr( TRUE) ? 1_ : bigintExpr(2_)) <> 1_ or 21817 (boolExpr(FALSE) ? 1_ : bigintExpr(2_)) <> 2_ or 21818 (boolExpr( TRUE) ? bigintExpr(1_) : 2_) <> 1_ or 21819 (boolExpr(FALSE) ? bigintExpr(1_) : 2_) <> 2_ or 21820 (boolExpr( TRUE) ? bigintExpr(1_) : bigintExpr(2_)) <> 1_ or 21821 (boolExpr(FALSE) ? bigintExpr(1_) : bigintExpr(2_)) <> 2_ then 21822 writeln(" ***** The ternary operator ? : does not work correct. (1)"); 21823 okay := FALSE; 21824 end if; 21825 21826 big1 := TRUE ? 1_ : 2_; ok := ok and big1 = 1_; 21827 big1 := FALSE ? 1_ : 2_; ok := ok and big1 = 2_; 21828 big1 := TRUE ? 1_ : bigintExpr(2_); ok := ok and big1 = 1_; 21829 big1 := FALSE ? 1_ : bigintExpr(2_); ok := ok and big1 = 2_; 21830 big1 := TRUE ? bigintExpr(1_) : 2_; ok := ok and big1 = 1_; 21831 big1 := FALSE ? bigintExpr(1_) : 2_; ok := ok and big1 = 2_; 21832 big1 := TRUE ? bigintExpr(1_) : bigintExpr(2_); ok := ok and big1 = 1_; 21833 big1 := FALSE ? bigintExpr(1_) : bigintExpr(2_); ok := ok and big1 = 2_; 21834 big1 := boolExpr( TRUE) ? 1_ : 2_; ok := ok and big1 = 1_; 21835 big1 := boolExpr(FALSE) ? 1_ : 2_; ok := ok and big1 = 2_; 21836 big1 := boolExpr( TRUE) ? 1_ : bigintExpr(2_); ok := ok and big1 = 1_; 21837 big1 := boolExpr(FALSE) ? 1_ : bigintExpr(2_); ok := ok and big1 = 2_; 21838 big1 := boolExpr( TRUE) ? bigintExpr(1_) : 2_; ok := ok and big1 = 1_; 21839 big1 := boolExpr(FALSE) ? bigintExpr(1_) : 2_; ok := ok and big1 = 2_; 21840 big1 := boolExpr( TRUE) ? bigintExpr(1_) : bigintExpr(2_); ok := ok and big1 = 1_; 21841 big1 := boolExpr(FALSE) ? bigintExpr(1_) : bigintExpr(2_); ok := ok and big1 = 2_; 21842 if not ok then 21843 writeln(" ***** The ternary operator ? : does not work correct. (2)"); 21844 okay := FALSE; 21845 end if; 21846 21847 if okay then 21848 writeln("The ternary operator ? : works correct for bigInteger."); 21849 else 21850 writeln(" ***** The ternary operator ? : does not work correct."); 21851 end if; 21852 end func; 21853 21854 21855const func string: randDigitStri (in integer: length) is func 21856 result 21857 var string: digitStri is ""; 21858 local 21859 var integer: pos is 0; 21860 begin 21861 digitStri := " " mult length; 21862 digitStri @:= [1] rand('1', '9'); 21863 for pos range 2 to length do 21864 digitStri @:= [pos] rand('0', '9'); 21865 end for; 21866 end func; 21867 21868 21869const proc: testConversion (in integer: length, in integer: count) is func 21870 local 21871 var integer: number is 0; 21872 var string: stri is ""; 21873 begin 21874 if rand(FALSE, TRUE) then 21875 stri := randDigitStri(length); 21876 else 21877 stri := "-" & randDigitStri(length); 21878 end if; 21879 for number range 1 to count do 21880 # ignore(bigInteger parse stri); 21881 if str(bigInteger parse stri) <> stri then 21882 writeln(" **** Conversion error with " <& stri); 21883 end if; 21884 end for; 21885 end func; 21886 21887 21888const proc: testConversion (in integer: count) is func 21889 local 21890 var integer: length is 0; 21891 begin 21892 for length range 9990 to 10000 do 21893 testConversion (length, count); 21894 # writeln(length); 21895 end for; 21896 end func; 21897 21898 21899const proc: main is func 21900 begin 21901 writeln; 21902 chkLiteral; 21903 chkStringConv; 21904 chkRadix; 21905 chkOrd; 21906 chkBigOrdWithBigMod; 21907 chkConv; 21908 chkBytesBe; 21909 chkBytesLe; 21910 chkBytesBe2BigInt; 21911 chkBytesLe2BigInt; 21912 chkNegate; 21913 chkPlus; 21914 chkSucc; 21915 chkPred; 21916 chkIncr; 21917 chkDecr; 21918 chkAddition; 21919 chkAddAssign; 21920 chkSubtraction; 21921 chkSubtractAssign; 21922 chkMultiplication; 21923 chkMultAssign; 21924 chkDivision; 21925 chkRemainder; 21926 chkDivRem; 21927 chkModDivision; 21928 chkModulo; 21929 chkPower; 21930 chkFactorial; 21931 chkBinom; 21932 chkCompare; 21933 chkAbs; 21934 chkOdd; 21935 chkLog2; 21936 chkLog10; 21937 chkBitLength; 21938 chkLowestSetBit; 21939 chkLShift; 21940 chkRShift; 21941 chkSqrt; 21942 chkConstants; 21943 chkAssign; 21944 checkTernary; 21945 # testConversion(10); 21946 end func; 21947