mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-18 19:03:45 +00:00
tests/hard_coded/arith_int16.{m,exp}:
tests/hard_coded/arith_uint16.{m,exp}:
tests/hard_coded/Mmakefile:
As above.
335 lines
4.6 KiB
Plaintext
335 lines
4.6 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
|
|
1 + 0 = 1
|
|
1 + 1 = 2
|
|
1 + 2 = 3
|
|
1 + 8 = 9
|
|
1 + 10 = 11
|
|
1 + 16 = 17
|
|
1 + 255 = 256
|
|
1 + 65535 = 0
|
|
2 + 0 = 2
|
|
2 + 1 = 3
|
|
2 + 2 = 4
|
|
2 + 8 = 10
|
|
2 + 10 = 12
|
|
2 + 16 = 18
|
|
2 + 255 = 257
|
|
2 + 65535 = 1
|
|
8 + 0 = 8
|
|
8 + 1 = 9
|
|
8 + 2 = 10
|
|
8 + 8 = 16
|
|
8 + 10 = 18
|
|
8 + 16 = 24
|
|
8 + 255 = 263
|
|
8 + 65535 = 7
|
|
10 + 0 = 10
|
|
10 + 1 = 11
|
|
10 + 2 = 12
|
|
10 + 8 = 18
|
|
10 + 10 = 20
|
|
10 + 16 = 26
|
|
10 + 255 = 265
|
|
10 + 65535 = 9
|
|
16 + 0 = 16
|
|
16 + 1 = 17
|
|
16 + 2 = 18
|
|
16 + 8 = 24
|
|
16 + 10 = 26
|
|
16 + 16 = 32
|
|
16 + 255 = 271
|
|
16 + 65535 = 15
|
|
255 + 0 = 255
|
|
255 + 1 = 256
|
|
255 + 2 = 257
|
|
255 + 8 = 263
|
|
255 + 10 = 265
|
|
255 + 16 = 271
|
|
255 + 255 = 510
|
|
255 + 65535 = 254
|
|
65535 + 0 = 65535
|
|
65535 + 1 = 0
|
|
65535 + 2 = 1
|
|
65535 + 8 = 7
|
|
65535 + 10 = 9
|
|
65535 + 16 = 15
|
|
65535 + 255 = 254
|
|
65535 + 65535 = 65534
|
|
|
|
*** Test binary operation '-' ***
|
|
|
|
0 - 0 = 0
|
|
0 - 1 = 65535
|
|
0 - 2 = 65534
|
|
0 - 8 = 65528
|
|
0 - 10 = 65526
|
|
0 - 16 = 65520
|
|
0 - 255 = 65281
|
|
0 - 65535 = 1
|
|
1 - 0 = 1
|
|
1 - 1 = 0
|
|
1 - 2 = 65535
|
|
1 - 8 = 65529
|
|
1 - 10 = 65527
|
|
1 - 16 = 65521
|
|
1 - 255 = 65282
|
|
1 - 65535 = 2
|
|
2 - 0 = 2
|
|
2 - 1 = 1
|
|
2 - 2 = 0
|
|
2 - 8 = 65530
|
|
2 - 10 = 65528
|
|
2 - 16 = 65522
|
|
2 - 255 = 65283
|
|
2 - 65535 = 3
|
|
8 - 0 = 8
|
|
8 - 1 = 7
|
|
8 - 2 = 6
|
|
8 - 8 = 0
|
|
8 - 10 = 65534
|
|
8 - 16 = 65528
|
|
8 - 255 = 65289
|
|
8 - 65535 = 9
|
|
10 - 0 = 10
|
|
10 - 1 = 9
|
|
10 - 2 = 8
|
|
10 - 8 = 2
|
|
10 - 10 = 0
|
|
10 - 16 = 65530
|
|
10 - 255 = 65291
|
|
10 - 65535 = 11
|
|
16 - 0 = 16
|
|
16 - 1 = 15
|
|
16 - 2 = 14
|
|
16 - 8 = 8
|
|
16 - 10 = 6
|
|
16 - 16 = 0
|
|
16 - 255 = 65297
|
|
16 - 65535 = 17
|
|
255 - 0 = 255
|
|
255 - 1 = 254
|
|
255 - 2 = 253
|
|
255 - 8 = 247
|
|
255 - 10 = 245
|
|
255 - 16 = 239
|
|
255 - 255 = 0
|
|
255 - 65535 = 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
|
|
|
|
*** 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
|
|
1 * 0 = 0
|
|
1 * 1 = 1
|
|
1 * 2 = 2
|
|
1 * 8 = 8
|
|
1 * 10 = 10
|
|
1 * 16 = 16
|
|
1 * 255 = 255
|
|
1 * 65535 = 65535
|
|
2 * 0 = 0
|
|
2 * 1 = 2
|
|
2 * 2 = 4
|
|
2 * 8 = 16
|
|
2 * 10 = 20
|
|
2 * 16 = 32
|
|
2 * 255 = 510
|
|
2 * 65535 = 65534
|
|
8 * 0 = 0
|
|
8 * 1 = 8
|
|
8 * 2 = 16
|
|
8 * 8 = 64
|
|
8 * 10 = 80
|
|
8 * 16 = 128
|
|
8 * 255 = 2040
|
|
8 * 65535 = 65528
|
|
10 * 0 = 0
|
|
10 * 1 = 10
|
|
10 * 2 = 20
|
|
10 * 8 = 80
|
|
10 * 10 = 100
|
|
10 * 16 = 160
|
|
10 * 255 = 2550
|
|
10 * 65535 = 65526
|
|
16 * 0 = 0
|
|
16 * 1 = 16
|
|
16 * 2 = 32
|
|
16 * 8 = 128
|
|
16 * 10 = 160
|
|
16 * 16 = 256
|
|
16 * 255 = 4080
|
|
16 * 65535 = 65520
|
|
255 * 0 = 0
|
|
255 * 1 = 255
|
|
255 * 2 = 510
|
|
255 * 8 = 2040
|
|
255 * 10 = 2550
|
|
255 * 16 = 4080
|
|
255 * 255 = 65025
|
|
255 * 65535 = 65281
|
|
65535 * 0 = 0
|
|
65535 * 1 = 65535
|
|
65535 * 2 = 65534
|
|
65535 * 8 = 65528
|
|
65535 * 10 = 65526
|
|
65535 * 16 = 65520
|
|
65535 * 255 = 65281
|
|
65535 * 65535 = 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
|
|
1 / 0 = <<exception>>
|
|
1 / 1 = 1
|
|
1 / 2 = 0
|
|
1 / 8 = 0
|
|
1 / 10 = 0
|
|
1 / 16 = 0
|
|
1 / 255 = 0
|
|
1 / 65535 = 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
|
|
8 / 0 = <<exception>>
|
|
8 / 1 = 8
|
|
8 / 2 = 4
|
|
8 / 8 = 1
|
|
8 / 10 = 0
|
|
8 / 16 = 0
|
|
8 / 255 = 0
|
|
8 / 65535 = 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
|
|
16 / 0 = <<exception>>
|
|
16 / 1 = 16
|
|
16 / 2 = 8
|
|
16 / 8 = 2
|
|
16 / 10 = 1
|
|
16 / 16 = 1
|
|
16 / 255 = 0
|
|
16 / 65535 = 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
|
|
65535 / 0 = <<exception>>
|
|
65535 / 1 = 65535
|
|
65535 / 2 = 32767
|
|
65535 / 8 = 8191
|
|
65535 / 10 = 6553
|
|
65535 / 16 = 4095
|
|
65535 / 255 = 257
|
|
65535 / 65535 = 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|