﻿:: { i:i, i8:i8, i4:i4, i2:i2, i1:i1, u8:u8, u4:u4, u2:u2, u1:u1, b:b }

// Deprecated.
i8 << i8
i8 >> i8
i8 >>> i8

false shl i8
0i1 shl i8
0i2 shl i8
0i4 shl i8
0i8 shl i8
0ia shl i8
0u1 shl i8
0u2 shl i8
0u4 shl i8
0u8 shl i8

true shl -3
true shl 0
true shl 1
true shl 2
true shl 4
true shl 7
true shl 8
true shl 1000

1i1 shl -3
1i1 shl 0
1i1 shl 1
1i1 shl 2
1i1 shl 4
1i1 shl 7
1i1 shl 8
1i1 shl 1000

1i2 shl -3
1i2 shl 0
1i2 shl 1
1i2 shl 15
1i2 shl 16
1i2 shl 1000

1i4 shl 0
1i4 shl 1
1i4 shl 31
1i4 shl 32

1i8 shl 0
1i8 shl 1
1i8 shl 63
1i8 shl 64

1u1 shl -3
1u1 shl 0
1u1 shl 1
1u1 shl 7
1u1 shl 8
1u1 shl 1000

1u2 shl 0
1u2 shl 1
1u2 shl 15
1u2 shl 16

1u4 shl 0
1u4 shl 1
1u4 shl 31
1u4 shl 32

1u8 shl 0
1u8 shl 1
1u8 shl 63
1u8 shl 64

1ia shl -3
1ia shl 0
1ia shl 1
1ia shl 2
1ia shl 16
1ia shl 32
1ia shl 64
1ia shl 1000

1 shl true

null shl 1
1 shl null

0x80i1 shr  1
0x80i1 shri 1
0x80i1 shru 1
0xFFi1 shr  1
0xFFi1 shri 1
0xFFi1 shru 1
0xFFi1 shr  8
0xFFi1 shri 8
0xFFi1 shru 8
0xAAi1 shr  8
0xAAi1 shri 8
0xAAi1 shru 8
0x55i1 shr  8
0x55i1 shri 8
0x55i1 shru 8

0x80u1 shr  1
0x80u1 shri 1
0x80u1 shru 1
0xFFu1 shr  1
0xFFu1 shri 1
0xFFu1 shru 1
0xFFu1 shr  8
0xFFu1 shri 8
0xFFu1 shru 8
0xAAu1 shr  8
0xAAu1 shri 8
0xAAu1 shru 8
0x55u1 shr  8
0x55u1 shri 8
0x55u1 shru 8

i1 shl  0
i1 shr  0
i1 shri 0
i1 shru 0
i1 shl  7
i1 shr  7
i1 shri 7
i1 shru 7
i1 shl  8
i1 shr  8
i1 shri 8
i1 shru 8
i1 shl  1000
i1 shr  1000
i1 shri 1000
i1 shru 1000
i2 shl  0
i2 shr  0
i2 shri 0
i2 shru 0
i2 shl  15
i2 shr  15
i2 shri 15
i2 shru 15
i2 shl  16
i2 shr  16
i2 shri 16
i2 shru 16
i2 shl  1000
i2 shr  1000
i2 shri 1000
i2 shru 1000
i4 shl  0
i4 shr  0
i4 shri 0
i4 shru 0
i4 shl  31
i4 shr  31
i4 shri 31
i4 shru 31
i4 shl  32
i4 shr  32
i4 shri 32
i4 shru 32
i4 shl  1000
i4 shr  1000
i4 shri 1000
i4 shru 1000
i8 shl  0
i8 shr  0
i8 shri 0
i8 shru 0
i8 shl  63
i8 shr  63
i8 shri 63
i8 shru 63
i8 shl  64
i8 shr  64
i8 shri 64
i8 shru 64
i8 shl  1000
i8 shr  1000
i8 shri 1000
i8 shru 1000
i  shr  128
i  shri 128
i  shru 128
i  shr  1000
i  shri 1000
i  shru 1000

b shl 0
b shr 0
b shri 0
b shru 0
b shl 1
b shr 1
b shri 1
b shru 1
b shl 1000
b shr 1000
b shri 1000
b shru 1000

u1 shl  0
u1 shr  0
u1 shri 0
u1 shru 0
u1 shl  7
u1 shr  7
u1 shri 7
u1 shru 7
u1 shl  8
u1 shr  8
u1 shri 8
u1 shru 8
u1 shl  1000
u1 shr  1000
u1 shri 1000
u1 shru 1000
u2 shl  0
u2 shr  0
u2 shri 0
u2 shru 0
u2 shl  15
u2 shr  15
u2 shri 15
u2 shru 15
u2 shl  16
u2 shr  16
u2 shri 16
u2 shru 16
u2 shl  1000
u2 shr  1000
u2 shri 1000
u2 shru 1000
u4 shl  0
u4 shr  0
u4 shri 0
u4 shru 0
u4 shl  31
u4 shr  31
u4 shri 31
u4 shru 31
u4 shl  32
u4 shr  32
u4 shri 32
u4 shru 32
u4 shl  1000
u4 shr  1000
u4 shri 1000
u4 shru 1000
u8 shl  0
u8 shr  0
u8 shri 0
u8 shru 0
u8 shl  63
u8 shr  63
u8 shri 63
u8 shru 63
u8 shl  64
u8 shr  64
u8 shri 64
u8 shru 64
u8 shl  1000
u8 shr  1000
u8 shri 1000
u8 shru 1000

i4 shl 3 + 5
3 + 5 shl i8

77777777777777777777 shri 777
-77777777777777777777 shri 777
