Files
mercury/tests/hard_coded/bitwise_int.exp
Julien Fischer 8e66e5b075 Change the semantics of the int shift operations.
Change int.(<<) and int.(>>) to throw an exception if their second operand is
not in [0, bits_per_int).  This brings them into line with the other integer
types.

As a transitional measure, add new functions that provide the old semantics.

library/int.m:
    As above.

NEWS:
    Announce the above change.

    Include the fixed size integer types in the list of reserved type names.

tests/hard_coded/shift_test.m:
     Call the legacy versions of the int shift operations.

tests/hard_coded/bitwise_int.{m,exp}:
     A new test of bitwise operations for the int type.
     (XXX I will add a 32-bit expected output separately.)

tests/hard_coded/Mmakefile:
tests/hard_coded/Mercury.options:
     Include the new test case.

     Do not warn about the use of the obsolete legacy shift operations.
2017-08-30 20:46:11 +10:00

1338 lines
61 KiB
Plaintext

*** Test unary operation '\' ***
\ 1000000000000000000000000000000000000000000000000000000000000000 =
0111111111111111111111111111111111111111111111111111111111111111
\ 0000000000000000000000000000000000000000000000000000000000000000 =
1111111111111111111111111111111111111111111111111111111111111111
\ 0000000000000000000000000000000000000000000000000000000000000001 =
1111111111111111111111111111111111111111111111111111111111111110
\ 0000000000000000000000000000000000000000000000000000000000000010 =
1111111111111111111111111111111111111111111111111111111111111101
\ 0000000000000000000000000000000000000000000000000000000000001000 =
1111111111111111111111111111111111111111111111111111111111110111
\ 0000000000000000000000000000000000000000000000000000000000001010 =
1111111111111111111111111111111111111111111111111111111111110101
\ 0000000000000000000000000000000000000000000000000000000000010000 =
1111111111111111111111111111111111111111111111111111111111101111
\ 0111111111111111111111111111111111111111111111111111111111111111 =
1000000000000000000000000000000000000000000000000000000000000000
*** Test binary operation '/\' ***
1000000000000000000000000000000000000000000000000000000000000000 /\
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 /\
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 /\
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 /\
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 /\
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 /\
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 /\
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 /\
0111111111111111111111111111111111111111111111111111111111111111 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 /\
1000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 /\
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 /\
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 /\
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 /\
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 /\
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 /\
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 /\
0111111111111111111111111111111111111111111111111111111111111111 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 /\
1000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 /\
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 /\
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000000001 /\
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 /\
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 /\
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 /\
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 /\
0111111111111111111111111111111111111111111111111111111111111111 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000000010 /\
1000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 /\
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 /\
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 /\
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000000010 /\
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 /\
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000000010 /\
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 /\
0111111111111111111111111111111111111111111111111111111111111111 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000001000 /\
1000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 /\
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 /\
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 /\
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 /\
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000001000 /\
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000001000 /\
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 /\
0111111111111111111111111111111111111111111111111111111111111111 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000001010 /\
1000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001010 /\
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001010 /\
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001010 /\
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000001010 /\
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000001010 /\
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001010 /\
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001010 /\
0111111111111111111111111111111111111111111111111111111111111111 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000010000 /\
1000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 /\
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 /\
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 /\
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 /\
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 /\
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 /\
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000010000 /\
0111111111111111111111111111111111111111111111111111111111111111 =
0000000000000000000000000000000000000000000000000000000000010000
0111111111111111111111111111111111111111111111111111111111111111 /\
1000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0111111111111111111111111111111111111111111111111111111111111111 /\
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0111111111111111111111111111111111111111111111111111111111111111 /\
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000001
0111111111111111111111111111111111111111111111111111111111111111 /\
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000010
0111111111111111111111111111111111111111111111111111111111111111 /\
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000001000
0111111111111111111111111111111111111111111111111111111111111111 /\
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000001010
0111111111111111111111111111111111111111111111111111111111111111 /\
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000010000
0111111111111111111111111111111111111111111111111111111111111111 /\
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111111111
*** Test binary operation '\/' ***
1000000000000000000000000000000000000000000000000000000000000000 \/
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 \/
0000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 \/
0000000000000000000000000000000000000000000000000000000000000001 =
1000000000000000000000000000000000000000000000000000000000000001
1000000000000000000000000000000000000000000000000000000000000000 \/
0000000000000000000000000000000000000000000000000000000000000010 =
1000000000000000000000000000000000000000000000000000000000000010
1000000000000000000000000000000000000000000000000000000000000000 \/
0000000000000000000000000000000000000000000000000000000000001000 =
1000000000000000000000000000000000000000000000000000000000001000
1000000000000000000000000000000000000000000000000000000000000000 \/
0000000000000000000000000000000000000000000000000000000000001010 =
1000000000000000000000000000000000000000000000000000000000001010
1000000000000000000000000000000000000000000000000000000000000000 \/
0000000000000000000000000000000000000000000000000000000000010000 =
1000000000000000000000000000000000000000000000000000000000010000
1000000000000000000000000000000000000000000000000000000000000000 \/
0111111111111111111111111111111111111111111111111111111111111111 =
1111111111111111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000000000000000 \/
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 \/
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 \/
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000000000 \/
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000000000 \/
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000000000 \/
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000000000 \/
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000000000 \/
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000000000000001 \/
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000000001 \/
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000000001 \/
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000000001 \/
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000011
0000000000000000000000000000000000000000000000000000000000000001 \/
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000001001
0000000000000000000000000000000000000000000000000000000000000001 \/
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000001011
0000000000000000000000000000000000000000000000000000000000000001 \/
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000010001
0000000000000000000000000000000000000000000000000000000000000001 \/
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000000000000010 \/
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000000010 \/
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000000010 \/
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000011
0000000000000000000000000000000000000000000000000000000000000010 \/
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000000010 \/
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000000010 \/
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000000010 \/
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000010010
0000000000000000000000000000000000000000000000000000000000000010 \/
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000000000001000 \/
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000001000 \/
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000001000 \/
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000001001
0000000000000000000000000000000000000000000000000000000000001000 \/
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001000 \/
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000001000 \/
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001000 \/
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000011000
0000000000000000000000000000000000000000000000000000000000001000 \/
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000000000001010 \/
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001010 \/
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001010 \/
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000001011
0000000000000000000000000000000000000000000000000000000000001010 \/
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001010 \/
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001010 \/
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001010 \/
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000011010
0000000000000000000000000000000000000000000000000000000000001010 \/
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000000000010000 \/
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000010000 \/
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000010000 \/
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000010001
0000000000000000000000000000000000000000000000000000000000010000 \/
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000010010
0000000000000000000000000000000000000000000000000000000000010000 \/
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000011000
0000000000000000000000000000000000000000000000000000000000010000 \/
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000011010
0000000000000000000000000000000000000000000000000000000000010000 \/
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000010000 \/
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 \/
1000000000000000000000000000000000000000000000000000000000000000 =
1111111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 \/
0000000000000000000000000000000000000000000000000000000000000000 =
0111111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 \/
0000000000000000000000000000000000000000000000000000000000000001 =
0111111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 \/
0000000000000000000000000000000000000000000000000000000000000010 =
0111111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 \/
0000000000000000000000000000000000000000000000000000000000001000 =
0111111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 \/
0000000000000000000000000000000000000000000000000000000000001010 =
0111111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 \/
0000000000000000000000000000000000000000000000000000000000010000 =
0111111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 \/
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111111111
*** Test binary operation 'xor' ***
1000000000000000000000000000000000000000000000000000000000000000 xor
1000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 xor
0000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 xor
0000000000000000000000000000000000000000000000000000000000000001 =
1000000000000000000000000000000000000000000000000000000000000001
1000000000000000000000000000000000000000000000000000000000000000 xor
0000000000000000000000000000000000000000000000000000000000000010 =
1000000000000000000000000000000000000000000000000000000000000010
1000000000000000000000000000000000000000000000000000000000000000 xor
0000000000000000000000000000000000000000000000000000000000001000 =
1000000000000000000000000000000000000000000000000000000000001000
1000000000000000000000000000000000000000000000000000000000000000 xor
0000000000000000000000000000000000000000000000000000000000001010 =
1000000000000000000000000000000000000000000000000000000000001010
1000000000000000000000000000000000000000000000000000000000000000 xor
0000000000000000000000000000000000000000000000000000000000010000 =
1000000000000000000000000000000000000000000000000000000000010000
1000000000000000000000000000000000000000000000000000000000000000 xor
0111111111111111111111111111111111111111111111111111111111111111 =
1111111111111111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000000000000000 xor
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 xor
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 xor
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000000000 xor
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000000000 xor
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000000000 xor
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000000000 xor
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000000000 xor
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000000000000001 xor
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000000001 xor
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000000001 xor
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 xor
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000011
0000000000000000000000000000000000000000000000000000000000000001 xor
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000001001
0000000000000000000000000000000000000000000000000000000000000001 xor
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000001011
0000000000000000000000000000000000000000000000000000000000000001 xor
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000010001
0000000000000000000000000000000000000000000000000000000000000001 xor
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111111110
0000000000000000000000000000000000000000000000000000000000000010 xor
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000000010 xor
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000000010 xor
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000000011
0000000000000000000000000000000000000000000000000000000000000010 xor
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 xor
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000000010 xor
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000000010 xor
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000010010
0000000000000000000000000000000000000000000000000000000000000010 xor
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111111101
0000000000000000000000000000000000000000000000000000000000001000 xor
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000001000 xor
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000001000 xor
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000001001
0000000000000000000000000000000000000000000000000000000000001000 xor
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001000 xor
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 xor
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000001000 xor
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000011000
0000000000000000000000000000000000000000000000000000000000001000 xor
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111110111
0000000000000000000000000000000000000000000000000000000000001010 xor
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001010 xor
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001010 xor
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000001011
0000000000000000000000000000000000000000000000000000000000001010 xor
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000001010 xor
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000001010 xor
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001010 xor
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000011010
0000000000000000000000000000000000000000000000000000000000001010 xor
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111110101
0000000000000000000000000000000000000000000000000000000000010000 xor
1000000000000000000000000000000000000000000000000000000000000000 =
1000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000010000 xor
0000000000000000000000000000000000000000000000000000000000000000 =
0000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000010000 xor
0000000000000000000000000000000000000000000000000000000000000001 =
0000000000000000000000000000000000000000000000000000000000010001
0000000000000000000000000000000000000000000000000000000000010000 xor
0000000000000000000000000000000000000000000000000000000000000010 =
0000000000000000000000000000000000000000000000000000000000010010
0000000000000000000000000000000000000000000000000000000000010000 xor
0000000000000000000000000000000000000000000000000000000000001000 =
0000000000000000000000000000000000000000000000000000000000011000
0000000000000000000000000000000000000000000000000000000000010000 xor
0000000000000000000000000000000000000000000000000000000000001010 =
0000000000000000000000000000000000000000000000000000000000011010
0000000000000000000000000000000000000000000000000000000000010000 xor
0000000000000000000000000000000000000000000000000000000000010000 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 xor
0111111111111111111111111111111111111111111111111111111111111111 =
0111111111111111111111111111111111111111111111111111111111101111
0111111111111111111111111111111111111111111111111111111111111111 xor
1000000000000000000000000000000000000000000000000000000000000000 =
1111111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 xor
0000000000000000000000000000000000000000000000000000000000000000 =
0111111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 xor
0000000000000000000000000000000000000000000000000000000000000001 =
0111111111111111111111111111111111111111111111111111111111111110
0111111111111111111111111111111111111111111111111111111111111111 xor
0000000000000000000000000000000000000000000000000000000000000010 =
0111111111111111111111111111111111111111111111111111111111111101
0111111111111111111111111111111111111111111111111111111111111111 xor
0000000000000000000000000000000000000000000000000000000000001000 =
0111111111111111111111111111111111111111111111111111111111110111
0111111111111111111111111111111111111111111111111111111111111111 xor
0000000000000000000000000000000000000000000000000000000000001010 =
0111111111111111111111111111111111111111111111111111111111110101
0111111111111111111111111111111111111111111111111111111111111111 xor
0000000000000000000000000000000000000000000000000000000000010000 =
0111111111111111111111111111111111111111111111111111111111101111
0111111111111111111111111111111111111111111111111111111111111111 xor
0111111111111111111111111111111111111111111111111111111111111111 =
0000000000000000000000000000000000000000000000000000000000000000
*** Test binary operation '>>' ***
1000000000000000000000000000000000000000000000000000000000000000 >> -1 =
<<exception>>
1000000000000000000000000000000000000000000000000000000000000000 >> 0 =
1000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 >> 1 =
1100000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 >> 2 =
1110000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 >> 3 =
1111000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 >> 4 =
1111100000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 >> 8 =
1111111110000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 >> 16 =
1111111111111111100000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 >> 24 =
1111111111111111111111111000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 >> 63 =
1111111111111111111111111111111111111111111111111111111111111111
1000000000000000000000000000000000000000000000000000000000000000 >> 64 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000000000 >> -1 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000000000 >> 0 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 >> 1 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 >> 2 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 >> 3 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 >> 4 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 >> 8 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 >> 16 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 >> 24 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 >> 63 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 >> 64 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000000001 >> -1 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000000001 >> 0 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000000001 >> 1 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 >> 2 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 >> 3 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 >> 4 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 >> 8 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 >> 16 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 >> 24 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 >> 63 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 >> 64 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000000010 >> -1 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000000010 >> 0 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000000010 >> 1 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000000010 >> 2 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 >> 3 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 >> 4 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 >> 8 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 >> 16 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 >> 24 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 >> 63 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 >> 64 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000001000 >> -1 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000001000 >> 0 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000001000 >> 1 =
0000000000000000000000000000000000000000000000000000000000000100
0000000000000000000000000000000000000000000000000000000000001000 >> 2 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000001000 >> 3 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000001000 >> 4 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 >> 8 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 >> 16 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 >> 24 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 >> 63 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 >> 64 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000001010 >> -1 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000001010 >> 0 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001010 >> 1 =
0000000000000000000000000000000000000000000000000000000000000101
0000000000000000000000000000000000000000000000000000000000001010 >> 2 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000001010 >> 3 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000001010 >> 4 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001010 >> 8 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001010 >> 16 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001010 >> 24 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001010 >> 63 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001010 >> 64 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000010000 >> -1 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000010000 >> 0 =
0000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000010000 >> 1 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000010000 >> 2 =
0000000000000000000000000000000000000000000000000000000000000100
0000000000000000000000000000000000000000000000000000000000010000 >> 3 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000010000 >> 4 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000010000 >> 8 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 >> 16 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 >> 24 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 >> 63 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 >> 64 =
<<exception>>
0111111111111111111111111111111111111111111111111111111111111111 >> -1 =
<<exception>>
0111111111111111111111111111111111111111111111111111111111111111 >> 0 =
0111111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 >> 1 =
0011111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 >> 2 =
0001111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 >> 3 =
0000111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 >> 4 =
0000011111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 >> 8 =
0000000001111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 >> 16 =
0000000000000000011111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 >> 24 =
0000000000000000000000000111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 >> 63 =
0000000000000000000000000000000000000000000000000000000000000000
0111111111111111111111111111111111111111111111111111111111111111 >> 64 =
<<exception>>
*** Test binary operation '<<' ***
1000000000000000000000000000000000000000000000000000000000000000 << -1 =
<<exception>>
1000000000000000000000000000000000000000000000000000000000000000 << 0 =
1000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 << 1 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 << 2 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 << 3 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 << 4 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 << 8 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 << 16 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 << 24 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 << 63 =
0000000000000000000000000000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000000000000000000000 << 64 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000000000 << -1 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000000000 << 0 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 << 1 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 << 2 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 << 3 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 << 4 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 << 8 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 << 16 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 << 24 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 << 63 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 << 64 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000000001 << -1 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000000001 << 0 =
0000000000000000000000000000000000000000000000000000000000000001
0000000000000000000000000000000000000000000000000000000000000001 << 1 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000000001 << 2 =
0000000000000000000000000000000000000000000000000000000000000100
0000000000000000000000000000000000000000000000000000000000000001 << 3 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000000001 << 4 =
0000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000000001 << 8 =
0000000000000000000000000000000000000000000000000000000100000000
0000000000000000000000000000000000000000000000000000000000000001 << 16 =
0000000000000000000000000000000000000000000000010000000000000000
0000000000000000000000000000000000000000000000000000000000000001 << 24 =
0000000000000000000000000000000000000001000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 << 63 =
1000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000001 << 64 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000000010 << -1 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000000010 << 0 =
0000000000000000000000000000000000000000000000000000000000000010
0000000000000000000000000000000000000000000000000000000000000010 << 1 =
0000000000000000000000000000000000000000000000000000000000000100
0000000000000000000000000000000000000000000000000000000000000010 << 2 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000000010 << 3 =
0000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000000010 << 4 =
0000000000000000000000000000000000000000000000000000000000100000
0000000000000000000000000000000000000000000000000000000000000010 << 8 =
0000000000000000000000000000000000000000000000000000001000000000
0000000000000000000000000000000000000000000000000000000000000010 << 16 =
0000000000000000000000000000000000000000000000100000000000000000
0000000000000000000000000000000000000000000000000000000000000010 << 24 =
0000000000000000000000000000000000000010000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 << 63 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000010 << 64 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000001000 << -1 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000001000 << 0 =
0000000000000000000000000000000000000000000000000000000000001000
0000000000000000000000000000000000000000000000000000000000001000 << 1 =
0000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000001000 << 2 =
0000000000000000000000000000000000000000000000000000000000100000
0000000000000000000000000000000000000000000000000000000000001000 << 3 =
0000000000000000000000000000000000000000000000000000000001000000
0000000000000000000000000000000000000000000000000000000000001000 << 4 =
0000000000000000000000000000000000000000000000000000000010000000
0000000000000000000000000000000000000000000000000000000000001000 << 8 =
0000000000000000000000000000000000000000000000000000100000000000
0000000000000000000000000000000000000000000000000000000000001000 << 16 =
0000000000000000000000000000000000000000000010000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 << 24 =
0000000000000000000000000000000000001000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 << 63 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001000 << 64 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000001010 << -1 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000001010 << 0 =
0000000000000000000000000000000000000000000000000000000000001010
0000000000000000000000000000000000000000000000000000000000001010 << 1 =
0000000000000000000000000000000000000000000000000000000000010100
0000000000000000000000000000000000000000000000000000000000001010 << 2 =
0000000000000000000000000000000000000000000000000000000000101000
0000000000000000000000000000000000000000000000000000000000001010 << 3 =
0000000000000000000000000000000000000000000000000000000001010000
0000000000000000000000000000000000000000000000000000000000001010 << 4 =
0000000000000000000000000000000000000000000000000000000010100000
0000000000000000000000000000000000000000000000000000000000001010 << 8 =
0000000000000000000000000000000000000000000000000000101000000000
0000000000000000000000000000000000000000000000000000000000001010 << 16 =
0000000000000000000000000000000000000000000010100000000000000000
0000000000000000000000000000000000000000000000000000000000001010 << 24 =
0000000000000000000000000000000000001010000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001010 << 63 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001010 << 64 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000010000 << -1 =
<<exception>>
0000000000000000000000000000000000000000000000000000000000010000 << 0 =
0000000000000000000000000000000000000000000000000000000000010000
0000000000000000000000000000000000000000000000000000000000010000 << 1 =
0000000000000000000000000000000000000000000000000000000000100000
0000000000000000000000000000000000000000000000000000000000010000 << 2 =
0000000000000000000000000000000000000000000000000000000001000000
0000000000000000000000000000000000000000000000000000000000010000 << 3 =
0000000000000000000000000000000000000000000000000000000010000000
0000000000000000000000000000000000000000000000000000000000010000 << 4 =
0000000000000000000000000000000000000000000000000000000100000000
0000000000000000000000000000000000000000000000000000000000010000 << 8 =
0000000000000000000000000000000000000000000000000001000000000000
0000000000000000000000000000000000000000000000000000000000010000 << 16 =
0000000000000000000000000000000000000000000100000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 << 24 =
0000000000000000000000000000000000010000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 << 63 =
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000010000 << 64 =
<<exception>>
0111111111111111111111111111111111111111111111111111111111111111 << -1 =
<<exception>>
0111111111111111111111111111111111111111111111111111111111111111 << 0 =
0111111111111111111111111111111111111111111111111111111111111111
0111111111111111111111111111111111111111111111111111111111111111 << 1 =
1111111111111111111111111111111111111111111111111111111111111110
0111111111111111111111111111111111111111111111111111111111111111 << 2 =
1111111111111111111111111111111111111111111111111111111111111100
0111111111111111111111111111111111111111111111111111111111111111 << 3 =
1111111111111111111111111111111111111111111111111111111111111000
0111111111111111111111111111111111111111111111111111111111111111 << 4 =
1111111111111111111111111111111111111111111111111111111111110000
0111111111111111111111111111111111111111111111111111111111111111 << 8 =
1111111111111111111111111111111111111111111111111111111100000000
0111111111111111111111111111111111111111111111111111111111111111 << 16 =
1111111111111111111111111111111111111111111111110000000000000000
0111111111111111111111111111111111111111111111111111111111111111 << 24 =
1111111111111111111111111111111111111111000000000000000000000000
0111111111111111111111111111111111111111111111111111111111111111 << 63 =
1000000000000000000000000000000000000000000000000000000000000000
0111111111111111111111111111111111111111111111111111111111111111 << 64 =
<<exception>>