aboutsummaryrefslogtreecommitdiff
path: root/test-suite/primitive/sint63/lsl.v
blob: 082c42979a72edf79bb458a3a073f50e7fc234f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Require Import Sint63.

Set Implicit Arguments.

Open Scope sint63_scope.

Check (eq_refl : 3 << 61 = -2305843009213693952).
Check (eq_refl (-2305843009213693952) <: 3 << 61 = -2305843009213693952).
Check (eq_refl (-2305843009213693952) <<: 3 << 61 = -2305843009213693952).
Definition compute1 := Eval compute in 3 << 61.
Check (eq_refl compute1 : -2305843009213693952 = -2305843009213693952).

Check (eq_refl : 2 << 62 = 0).
Check (eq_refl 0 <: 2 << 62 = 0).
Check (eq_refl 0 <<: 2 << 62 = 0).
Definition compute2 := Eval compute in 2 << 62.
Check (eq_refl compute2 : 0 = 0).

Check (eq_refl : 4611686018427387903 << 63 = 0).
Check (eq_refl 0 <: 4611686018427387903 << 63 = 0).
Check (eq_refl 0 <<: 4611686018427387903 << 63 = 0).
Definition compute3 := Eval compute in 4611686018427387903 << 63.
Check (eq_refl compute3 : 0 = 0).

Check (eq_refl : 4611686018427387903 << 62 = -4611686018427387904).
Check (eq_refl (-4611686018427387904) <:
  4611686018427387903 << 62 = -4611686018427387904).
Check (eq_refl (-4611686018427387904) <<:
  4611686018427387903 << 62 = -4611686018427387904).
Definition compute4 := Eval compute in 4611686018427387903 << 62.
Check (eq_refl compute4 : -4611686018427387904 = -4611686018427387904).

Check (eq_refl : 1 << 62 = -4611686018427387904).
Check (eq_refl (-4611686018427387904) <: 1 << 62 = -4611686018427387904).
Check (eq_refl (-4611686018427387904) <<: 1 << 62 = -4611686018427387904).
Definition compute5 := Eval compute in 1 << 62.
Check (eq_refl compute5 : -4611686018427387904 = -4611686018427387904).

Check (eq_refl : -1 << 1 = -2).
Check (eq_refl (-2) <: -1 << 1 = -2).
Check (eq_refl (-2) <<: -1 << 1 = -2).
Definition compute6 := Eval compute in -1 << 1.
Check (eq_refl compute6 : -2 = -2).