Files
mercury/tests/hard_coded/arith_uint32.exp
Julien Fischer 8f71e926d9 Extend fixed-size int tests to cover min/2 and max/2.
tests/hard_coded/arith_int{8,16,32,64}.{m,exp}:
tests/hard_coded/arith_uint{8,16,32,64}.{m,exp}:
    As above.
2026-03-04 01:07:28 +11:00

721 lines
13 KiB
Plaintext

*** Test binary operation '+' ***
0 + 0 = 0
0 + 1 = 1
0 + 2 = 2
0 + 8 = 8
0 + 10 = 10
0 + 16 = 16
0 + 255 = 255
0 + 65535 = 65535
0 + 2147483647 = 2147483647
0 + 4294967295 = 4294967295
1 + 0 = 1
1 + 1 = 2
1 + 2 = 3
1 + 8 = 9
1 + 10 = 11
1 + 16 = 17
1 + 255 = 256
1 + 65535 = 65536
1 + 2147483647 = 2147483648
1 + 4294967295 = 0
2 + 0 = 2
2 + 1 = 3
2 + 2 = 4
2 + 8 = 10
2 + 10 = 12
2 + 16 = 18
2 + 255 = 257
2 + 65535 = 65537
2 + 2147483647 = 2147483649
2 + 4294967295 = 1
8 + 0 = 8
8 + 1 = 9
8 + 2 = 10
8 + 8 = 16
8 + 10 = 18
8 + 16 = 24
8 + 255 = 263
8 + 65535 = 65543
8 + 2147483647 = 2147483655
8 + 4294967295 = 7
10 + 0 = 10
10 + 1 = 11
10 + 2 = 12
10 + 8 = 18
10 + 10 = 20
10 + 16 = 26
10 + 255 = 265
10 + 65535 = 65545
10 + 2147483647 = 2147483657
10 + 4294967295 = 9
16 + 0 = 16
16 + 1 = 17
16 + 2 = 18
16 + 8 = 24
16 + 10 = 26
16 + 16 = 32
16 + 255 = 271
16 + 65535 = 65551
16 + 2147483647 = 2147483663
16 + 4294967295 = 15
255 + 0 = 255
255 + 1 = 256
255 + 2 = 257
255 + 8 = 263
255 + 10 = 265
255 + 16 = 271
255 + 255 = 510
255 + 65535 = 65790
255 + 2147483647 = 2147483902
255 + 4294967295 = 254
65535 + 0 = 65535
65535 + 1 = 65536
65535 + 2 = 65537
65535 + 8 = 65543
65535 + 10 = 65545
65535 + 16 = 65551
65535 + 255 = 65790
65535 + 65535 = 131070
65535 + 2147483647 = 2147549182
65535 + 4294967295 = 65534
2147483647 + 0 = 2147483647
2147483647 + 1 = 2147483648
2147483647 + 2 = 2147483649
2147483647 + 8 = 2147483655
2147483647 + 10 = 2147483657
2147483647 + 16 = 2147483663
2147483647 + 255 = 2147483902
2147483647 + 65535 = 2147549182
2147483647 + 2147483647 = 4294967294
2147483647 + 4294967295 = 2147483646
4294967295 + 0 = 4294967295
4294967295 + 1 = 0
4294967295 + 2 = 1
4294967295 + 8 = 7
4294967295 + 10 = 9
4294967295 + 16 = 15
4294967295 + 255 = 254
4294967295 + 65535 = 65534
4294967295 + 2147483647 = 2147483646
4294967295 + 4294967295 = 4294967294
*** Test binary operation '-' ***
0 - 0 = 0
0 - 1 = 4294967295
0 - 2 = 4294967294
0 - 8 = 4294967288
0 - 10 = 4294967286
0 - 16 = 4294967280
0 - 255 = 4294967041
0 - 65535 = 4294901761
0 - 2147483647 = 2147483649
0 - 4294967295 = 1
1 - 0 = 1
1 - 1 = 0
1 - 2 = 4294967295
1 - 8 = 4294967289
1 - 10 = 4294967287
1 - 16 = 4294967281
1 - 255 = 4294967042
1 - 65535 = 4294901762
1 - 2147483647 = 2147483650
1 - 4294967295 = 2
2 - 0 = 2
2 - 1 = 1
2 - 2 = 0
2 - 8 = 4294967290
2 - 10 = 4294967288
2 - 16 = 4294967282
2 - 255 = 4294967043
2 - 65535 = 4294901763
2 - 2147483647 = 2147483651
2 - 4294967295 = 3
8 - 0 = 8
8 - 1 = 7
8 - 2 = 6
8 - 8 = 0
8 - 10 = 4294967294
8 - 16 = 4294967288
8 - 255 = 4294967049
8 - 65535 = 4294901769
8 - 2147483647 = 2147483657
8 - 4294967295 = 9
10 - 0 = 10
10 - 1 = 9
10 - 2 = 8
10 - 8 = 2
10 - 10 = 0
10 - 16 = 4294967290
10 - 255 = 4294967051
10 - 65535 = 4294901771
10 - 2147483647 = 2147483659
10 - 4294967295 = 11
16 - 0 = 16
16 - 1 = 15
16 - 2 = 14
16 - 8 = 8
16 - 10 = 6
16 - 16 = 0
16 - 255 = 4294967057
16 - 65535 = 4294901777
16 - 2147483647 = 2147483665
16 - 4294967295 = 17
255 - 0 = 255
255 - 1 = 254
255 - 2 = 253
255 - 8 = 247
255 - 10 = 245
255 - 16 = 239
255 - 255 = 0
255 - 65535 = 4294902016
255 - 2147483647 = 2147483904
255 - 4294967295 = 256
65535 - 0 = 65535
65535 - 1 = 65534
65535 - 2 = 65533
65535 - 8 = 65527
65535 - 10 = 65525
65535 - 16 = 65519
65535 - 255 = 65280
65535 - 65535 = 0
65535 - 2147483647 = 2147549184
65535 - 4294967295 = 65536
2147483647 - 0 = 2147483647
2147483647 - 1 = 2147483646
2147483647 - 2 = 2147483645
2147483647 - 8 = 2147483639
2147483647 - 10 = 2147483637
2147483647 - 16 = 2147483631
2147483647 - 255 = 2147483392
2147483647 - 65535 = 2147418112
2147483647 - 2147483647 = 0
2147483647 - 4294967295 = 2147483648
4294967295 - 0 = 4294967295
4294967295 - 1 = 4294967294
4294967295 - 2 = 4294967293
4294967295 - 8 = 4294967287
4294967295 - 10 = 4294967285
4294967295 - 16 = 4294967279
4294967295 - 255 = 4294967040
4294967295 - 65535 = 4294901760
4294967295 - 2147483647 = 2147483648
4294967295 - 4294967295 = 0
*** Test binary operation '*' ***
0 * 0 = 0
0 * 1 = 0
0 * 2 = 0
0 * 8 = 0
0 * 10 = 0
0 * 16 = 0
0 * 255 = 0
0 * 65535 = 0
0 * 2147483647 = 0
0 * 4294967295 = 0
1 * 0 = 0
1 * 1 = 1
1 * 2 = 2
1 * 8 = 8
1 * 10 = 10
1 * 16 = 16
1 * 255 = 255
1 * 65535 = 65535
1 * 2147483647 = 2147483647
1 * 4294967295 = 4294967295
2 * 0 = 0
2 * 1 = 2
2 * 2 = 4
2 * 8 = 16
2 * 10 = 20
2 * 16 = 32
2 * 255 = 510
2 * 65535 = 131070
2 * 2147483647 = 4294967294
2 * 4294967295 = 4294967294
8 * 0 = 0
8 * 1 = 8
8 * 2 = 16
8 * 8 = 64
8 * 10 = 80
8 * 16 = 128
8 * 255 = 2040
8 * 65535 = 524280
8 * 2147483647 = 4294967288
8 * 4294967295 = 4294967288
10 * 0 = 0
10 * 1 = 10
10 * 2 = 20
10 * 8 = 80
10 * 10 = 100
10 * 16 = 160
10 * 255 = 2550
10 * 65535 = 655350
10 * 2147483647 = 4294967286
10 * 4294967295 = 4294967286
16 * 0 = 0
16 * 1 = 16
16 * 2 = 32
16 * 8 = 128
16 * 10 = 160
16 * 16 = 256
16 * 255 = 4080
16 * 65535 = 1048560
16 * 2147483647 = 4294967280
16 * 4294967295 = 4294967280
255 * 0 = 0
255 * 1 = 255
255 * 2 = 510
255 * 8 = 2040
255 * 10 = 2550
255 * 16 = 4080
255 * 255 = 65025
255 * 65535 = 16711425
255 * 2147483647 = 2147483393
255 * 4294967295 = 4294967041
65535 * 0 = 0
65535 * 1 = 65535
65535 * 2 = 131070
65535 * 8 = 524280
65535 * 10 = 655350
65535 * 16 = 1048560
65535 * 255 = 16711425
65535 * 65535 = 4294836225
65535 * 2147483647 = 2147418113
65535 * 4294967295 = 4294901761
2147483647 * 0 = 0
2147483647 * 1 = 2147483647
2147483647 * 2 = 4294967294
2147483647 * 8 = 4294967288
2147483647 * 10 = 4294967286
2147483647 * 16 = 4294967280
2147483647 * 255 = 2147483393
2147483647 * 65535 = 2147418113
2147483647 * 2147483647 = 1
2147483647 * 4294967295 = 2147483649
4294967295 * 0 = 0
4294967295 * 1 = 4294967295
4294967295 * 2 = 4294967294
4294967295 * 8 = 4294967288
4294967295 * 10 = 4294967286
4294967295 * 16 = 4294967280
4294967295 * 255 = 4294967041
4294967295 * 65535 = 4294901761
4294967295 * 2147483647 = 2147483649
4294967295 * 4294967295 = 1
*** Test binary operation '/' ***
0 / 0 = <<exception>>
0 / 1 = 0
0 / 2 = 0
0 / 8 = 0
0 / 10 = 0
0 / 16 = 0
0 / 255 = 0
0 / 65535 = 0
0 / 2147483647 = 0
0 / 4294967295 = 0
1 / 0 = <<exception>>
1 / 1 = 1
1 / 2 = 0
1 / 8 = 0
1 / 10 = 0
1 / 16 = 0
1 / 255 = 0
1 / 65535 = 0
1 / 2147483647 = 0
1 / 4294967295 = 0
2 / 0 = <<exception>>
2 / 1 = 2
2 / 2 = 1
2 / 8 = 0
2 / 10 = 0
2 / 16 = 0
2 / 255 = 0
2 / 65535 = 0
2 / 2147483647 = 0
2 / 4294967295 = 0
8 / 0 = <<exception>>
8 / 1 = 8
8 / 2 = 4
8 / 8 = 1
8 / 10 = 0
8 / 16 = 0
8 / 255 = 0
8 / 65535 = 0
8 / 2147483647 = 0
8 / 4294967295 = 0
10 / 0 = <<exception>>
10 / 1 = 10
10 / 2 = 5
10 / 8 = 1
10 / 10 = 1
10 / 16 = 0
10 / 255 = 0
10 / 65535 = 0
10 / 2147483647 = 0
10 / 4294967295 = 0
16 / 0 = <<exception>>
16 / 1 = 16
16 / 2 = 8
16 / 8 = 2
16 / 10 = 1
16 / 16 = 1
16 / 255 = 0
16 / 65535 = 0
16 / 2147483647 = 0
16 / 4294967295 = 0
255 / 0 = <<exception>>
255 / 1 = 255
255 / 2 = 127
255 / 8 = 31
255 / 10 = 25
255 / 16 = 15
255 / 255 = 1
255 / 65535 = 0
255 / 2147483647 = 0
255 / 4294967295 = 0
65535 / 0 = <<exception>>
65535 / 1 = 65535
65535 / 2 = 32767
65535 / 8 = 8191
65535 / 10 = 6553
65535 / 16 = 4095
65535 / 255 = 257
65535 / 65535 = 1
65535 / 2147483647 = 0
65535 / 4294967295 = 0
2147483647 / 0 = <<exception>>
2147483647 / 1 = 2147483647
2147483647 / 2 = 1073741823
2147483647 / 8 = 268435455
2147483647 / 10 = 214748364
2147483647 / 16 = 134217727
2147483647 / 255 = 8421504
2147483647 / 65535 = 32768
2147483647 / 2147483647 = 1
2147483647 / 4294967295 = 0
4294967295 / 0 = <<exception>>
4294967295 / 1 = 4294967295
4294967295 / 2 = 2147483647
4294967295 / 8 = 536870911
4294967295 / 10 = 429496729
4294967295 / 16 = 268435455
4294967295 / 255 = 16843009
4294967295 / 65535 = 65537
4294967295 / 2147483647 = 2
4294967295 / 4294967295 = 1
*** Test binary operation 'rem' ***
0 rem 0 = <<exception>>
0 rem 1 = 0
0 rem 2 = 0
0 rem 8 = 0
0 rem 10 = 0
0 rem 16 = 0
0 rem 255 = 0
0 rem 65535 = 0
0 rem 2147483647 = 0
0 rem 4294967295 = 0
1 rem 0 = <<exception>>
1 rem 1 = 0
1 rem 2 = 1
1 rem 8 = 1
1 rem 10 = 1
1 rem 16 = 1
1 rem 255 = 1
1 rem 65535 = 1
1 rem 2147483647 = 1
1 rem 4294967295 = 1
2 rem 0 = <<exception>>
2 rem 1 = 0
2 rem 2 = 0
2 rem 8 = 2
2 rem 10 = 2
2 rem 16 = 2
2 rem 255 = 2
2 rem 65535 = 2
2 rem 2147483647 = 2
2 rem 4294967295 = 2
8 rem 0 = <<exception>>
8 rem 1 = 0
8 rem 2 = 0
8 rem 8 = 0
8 rem 10 = 8
8 rem 16 = 8
8 rem 255 = 8
8 rem 65535 = 8
8 rem 2147483647 = 8
8 rem 4294967295 = 8
10 rem 0 = <<exception>>
10 rem 1 = 0
10 rem 2 = 0
10 rem 8 = 2
10 rem 10 = 0
10 rem 16 = 10
10 rem 255 = 10
10 rem 65535 = 10
10 rem 2147483647 = 10
10 rem 4294967295 = 10
16 rem 0 = <<exception>>
16 rem 1 = 0
16 rem 2 = 0
16 rem 8 = 0
16 rem 10 = 6
16 rem 16 = 0
16 rem 255 = 16
16 rem 65535 = 16
16 rem 2147483647 = 16
16 rem 4294967295 = 16
255 rem 0 = <<exception>>
255 rem 1 = 0
255 rem 2 = 1
255 rem 8 = 7
255 rem 10 = 5
255 rem 16 = 15
255 rem 255 = 0
255 rem 65535 = 255
255 rem 2147483647 = 255
255 rem 4294967295 = 255
65535 rem 0 = <<exception>>
65535 rem 1 = 0
65535 rem 2 = 1
65535 rem 8 = 7
65535 rem 10 = 5
65535 rem 16 = 15
65535 rem 255 = 0
65535 rem 65535 = 0
65535 rem 2147483647 = 65535
65535 rem 4294967295 = 65535
2147483647 rem 0 = <<exception>>
2147483647 rem 1 = 0
2147483647 rem 2 = 1
2147483647 rem 8 = 7
2147483647 rem 10 = 7
2147483647 rem 16 = 15
2147483647 rem 255 = 127
2147483647 rem 65535 = 32767
2147483647 rem 2147483647 = 0
2147483647 rem 4294967295 = 2147483647
4294967295 rem 0 = <<exception>>
4294967295 rem 1 = 0
4294967295 rem 2 = 1
4294967295 rem 8 = 7
4294967295 rem 10 = 5
4294967295 rem 16 = 15
4294967295 rem 255 = 0
4294967295 rem 65535 = 0
4294967295 rem 2147483647 = 1
4294967295 rem 4294967295 = 0
*** Test binary operation 'max' ***
0 max 0 = 0
0 max 1 = 1
0 max 2 = 2
0 max 8 = 8
0 max 10 = 10
0 max 16 = 16
0 max 255 = 255
0 max 65535 = 65535
0 max 2147483647 = 2147483647
0 max 4294967295 = 4294967295
1 max 0 = 1
1 max 1 = 1
1 max 2 = 2
1 max 8 = 8
1 max 10 = 10
1 max 16 = 16
1 max 255 = 255
1 max 65535 = 65535
1 max 2147483647 = 2147483647
1 max 4294967295 = 4294967295
2 max 0 = 2
2 max 1 = 2
2 max 2 = 2
2 max 8 = 8
2 max 10 = 10
2 max 16 = 16
2 max 255 = 255
2 max 65535 = 65535
2 max 2147483647 = 2147483647
2 max 4294967295 = 4294967295
8 max 0 = 8
8 max 1 = 8
8 max 2 = 8
8 max 8 = 8
8 max 10 = 10
8 max 16 = 16
8 max 255 = 255
8 max 65535 = 65535
8 max 2147483647 = 2147483647
8 max 4294967295 = 4294967295
10 max 0 = 10
10 max 1 = 10
10 max 2 = 10
10 max 8 = 10
10 max 10 = 10
10 max 16 = 16
10 max 255 = 255
10 max 65535 = 65535
10 max 2147483647 = 2147483647
10 max 4294967295 = 4294967295
16 max 0 = 16
16 max 1 = 16
16 max 2 = 16
16 max 8 = 16
16 max 10 = 16
16 max 16 = 16
16 max 255 = 255
16 max 65535 = 65535
16 max 2147483647 = 2147483647
16 max 4294967295 = 4294967295
255 max 0 = 255
255 max 1 = 255
255 max 2 = 255
255 max 8 = 255
255 max 10 = 255
255 max 16 = 255
255 max 255 = 255
255 max 65535 = 65535
255 max 2147483647 = 2147483647
255 max 4294967295 = 4294967295
65535 max 0 = 65535
65535 max 1 = 65535
65535 max 2 = 65535
65535 max 8 = 65535
65535 max 10 = 65535
65535 max 16 = 65535
65535 max 255 = 65535
65535 max 65535 = 65535
65535 max 2147483647 = 2147483647
65535 max 4294967295 = 4294967295
2147483647 max 0 = 2147483647
2147483647 max 1 = 2147483647
2147483647 max 2 = 2147483647
2147483647 max 8 = 2147483647
2147483647 max 10 = 2147483647
2147483647 max 16 = 2147483647
2147483647 max 255 = 2147483647
2147483647 max 65535 = 2147483647
2147483647 max 2147483647 = 2147483647
2147483647 max 4294967295 = 4294967295
4294967295 max 0 = 4294967295
4294967295 max 1 = 4294967295
4294967295 max 2 = 4294967295
4294967295 max 8 = 4294967295
4294967295 max 10 = 4294967295
4294967295 max 16 = 4294967295
4294967295 max 255 = 4294967295
4294967295 max 65535 = 4294967295
4294967295 max 2147483647 = 4294967295
4294967295 max 4294967295 = 4294967295
*** Test binary operation 'min' ***
0 min 0 = 0
0 min 1 = 0
0 min 2 = 0
0 min 8 = 0
0 min 10 = 0
0 min 16 = 0
0 min 255 = 0
0 min 65535 = 0
0 min 2147483647 = 0
0 min 4294967295 = 0
1 min 0 = 0
1 min 1 = 1
1 min 2 = 1
1 min 8 = 1
1 min 10 = 1
1 min 16 = 1
1 min 255 = 1
1 min 65535 = 1
1 min 2147483647 = 1
1 min 4294967295 = 1
2 min 0 = 0
2 min 1 = 1
2 min 2 = 2
2 min 8 = 2
2 min 10 = 2
2 min 16 = 2
2 min 255 = 2
2 min 65535 = 2
2 min 2147483647 = 2
2 min 4294967295 = 2
8 min 0 = 0
8 min 1 = 1
8 min 2 = 2
8 min 8 = 8
8 min 10 = 8
8 min 16 = 8
8 min 255 = 8
8 min 65535 = 8
8 min 2147483647 = 8
8 min 4294967295 = 8
10 min 0 = 0
10 min 1 = 1
10 min 2 = 2
10 min 8 = 8
10 min 10 = 10
10 min 16 = 10
10 min 255 = 10
10 min 65535 = 10
10 min 2147483647 = 10
10 min 4294967295 = 10
16 min 0 = 0
16 min 1 = 1
16 min 2 = 2
16 min 8 = 8
16 min 10 = 10
16 min 16 = 16
16 min 255 = 16
16 min 65535 = 16
16 min 2147483647 = 16
16 min 4294967295 = 16
255 min 0 = 0
255 min 1 = 1
255 min 2 = 2
255 min 8 = 8
255 min 10 = 10
255 min 16 = 16
255 min 255 = 255
255 min 65535 = 255
255 min 2147483647 = 255
255 min 4294967295 = 255
65535 min 0 = 0
65535 min 1 = 1
65535 min 2 = 2
65535 min 8 = 8
65535 min 10 = 10
65535 min 16 = 16
65535 min 255 = 255
65535 min 65535 = 65535
65535 min 2147483647 = 65535
65535 min 4294967295 = 65535
2147483647 min 0 = 0
2147483647 min 1 = 1
2147483647 min 2 = 2
2147483647 min 8 = 8
2147483647 min 10 = 10
2147483647 min 16 = 16
2147483647 min 255 = 255
2147483647 min 65535 = 65535
2147483647 min 2147483647 = 2147483647
2147483647 min 4294967295 = 2147483647
4294967295 min 0 = 0
4294967295 min 1 = 1
4294967295 min 2 = 2
4294967295 min 8 = 8
4294967295 min 10 = 10
4294967295 min 16 = 16
4294967295 min 255 = 255
4294967295 min 65535 = 65535
4294967295 min 2147483647 = 2147483647
4294967295 min 4294967295 = 4294967295