author | haftmann |
Sat, 04 Jan 2025 17:38:45 +0100 | |
changeset 81714 | 5e3dd01a9eb2 |
parent 81713 | 378b9d6c52b2 |
child 81815 | 0b31f0909060 |
permissions | -rw-r--r-- |
59720 | 1 |
(* Title: HOL/Codegenerator_Test/Code_Test_GHC.thy |
58039 | 2 |
Author: Andreas Lochbihler, ETH Zurich |
3 |
*) |
|
4 |
||
81642
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
5 |
theory Code_Test_GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
6 |
imports |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
7 |
"HOL-Library.Code_Test" |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
8 |
Code_Lazy_Test |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
9 |
begin |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
10 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
11 |
text \<open>Test cases for \<^text>\<open>test_code\<close>\<close> |
58039 | 12 |
|
58414
f945e7af0d27
drop workaround addressed by d0d3c30806b4
Andreas Lochbihler
parents:
58348
diff
changeset
|
13 |
test_code "(14 + 7 * -12 :: integer) = 140 div -2" in GHC |
58039 | 14 |
|
58348
2d47c7d10b62
add target language evaluators for the value command;
Andreas Lochbihler
parents:
58039
diff
changeset
|
15 |
value [GHC] "14 + 7 * -12 :: integer" |
58039 | 16 |
|
69597 | 17 |
test_code \<comment> \<open>Tests for the serialisation of \<^const>\<open>gcd\<close> on \<^typ>\<open>integer\<close>\<close> |
61856
4b1b85f38944
add gcd instance for integer and serialisation to target language operations
Andreas Lochbihler
parents:
59720
diff
changeset
|
18 |
"gcd 15 10 = (5 :: integer)" |
4b1b85f38944
add gcd instance for integer and serialisation to target language operations
Andreas Lochbihler
parents:
59720
diff
changeset
|
19 |
"gcd 15 (- 10) = (5 :: integer)" |
4b1b85f38944
add gcd instance for integer and serialisation to target language operations
Andreas Lochbihler
parents:
59720
diff
changeset
|
20 |
"gcd (- 10) 15 = (5 :: integer)" |
4b1b85f38944
add gcd instance for integer and serialisation to target language operations
Andreas Lochbihler
parents:
59720
diff
changeset
|
21 |
"gcd (- 10) (- 15) = (5 :: integer)" |
4b1b85f38944
add gcd instance for integer and serialisation to target language operations
Andreas Lochbihler
parents:
59720
diff
changeset
|
22 |
"gcd 0 (- 10) = (10 :: integer)" |
4b1b85f38944
add gcd instance for integer and serialisation to target language operations
Andreas Lochbihler
parents:
59720
diff
changeset
|
23 |
"gcd (- 10) 0 = (10 :: integer)" |
4b1b85f38944
add gcd instance for integer and serialisation to target language operations
Andreas Lochbihler
parents:
59720
diff
changeset
|
24 |
"gcd 0 0 = (0 :: integer)" |
4b1b85f38944
add gcd instance for integer and serialisation to target language operations
Andreas Lochbihler
parents:
59720
diff
changeset
|
25 |
in GHC |
4b1b85f38944
add gcd instance for integer and serialisation to target language operations
Andreas Lochbihler
parents:
59720
diff
changeset
|
26 |
|
68155 | 27 |
test_code "stake 10 (cycle ''ab'') = ''ababababab''" in GHC |
28 |
||
81642
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
29 |
text \<open>Test cases for bit operations on target language numerals\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
30 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
31 |
unbundle bit_operations_syntax |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
32 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
33 |
lemma \<open>bit (473514 :: integer) 5\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
34 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
35 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
36 |
test_code \<open>bit (473514 :: integer) 5\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
37 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
38 |
lemma \<open>bit (- 805167 :: integer) 7\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
39 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
40 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
41 |
test_code \<open>bit (- 805167 :: integer) 7\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
42 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
43 |
lemma \<open>473514 AND (767063 :: integer) = 208898\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
44 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
45 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
46 |
test_code \<open>473514 AND (767063 :: integer) = 208898\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
47 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
48 |
lemma \<open>- 805167 AND (767063 :: integer) = 242769\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
49 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
50 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
51 |
test_code \<open>- 805167 AND (767063 :: integer) = 242769\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
52 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
53 |
lemma \<open>473514 AND (- 314527 :: integer) = 209184\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
54 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
55 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
56 |
test_code \<open>473514 AND (- 314527 :: integer) = 209184\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
57 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
58 |
lemma \<open>- 805167 AND (- 314527 :: integer) = - 839103\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
59 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
60 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
61 |
test_code \<open>- 805167 AND (- 314527 :: integer) = - 839103\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
62 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
63 |
lemma \<open>473514 OR (767063 :: integer) = 1031679\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
64 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
65 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
66 |
test_code \<open>473514 OR (767063 :: integer) = 1031679\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
67 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
68 |
lemma \<open>- 805167 OR (767063 :: integer) = - 280873\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
69 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
70 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
71 |
test_code \<open>- 805167 OR (767063 :: integer) = - 280873\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
72 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
73 |
lemma \<open>473514 OR (- 314527 :: integer) = - 50197\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
74 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
75 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
76 |
test_code \<open>473514 OR (- 314527 :: integer) = - 50197\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
77 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
78 |
lemma \<open>- 805167 OR (- 314527 :: integer) = - 280591\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
79 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
80 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
81 |
test_code \<open>- 805167 OR (- 314527 :: integer) = - 280591\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
82 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
83 |
lemma \<open>473514 XOR (767063 :: integer) = 822781\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
84 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
85 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
86 |
test_code \<open>473514 XOR (767063 :: integer) = 822781\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
87 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
88 |
lemma \<open>- 805167 XOR (767063 :: integer) = - 523642\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
89 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
90 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
91 |
test_code \<open>- 805167 XOR (767063 :: integer) = - 523642\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
92 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
93 |
lemma \<open>473514 XOR (- 314527 :: integer) = - 259381\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
94 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
95 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
96 |
test_code \<open>473514 XOR (- 314527 :: integer) = - 259381\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
97 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
98 |
lemma \<open>- 805167 XOR (- 314527 :: integer) = 558512\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
99 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
100 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
101 |
test_code \<open>- 805167 XOR (- 314527 :: integer) = 558512\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
102 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
103 |
lemma \<open>NOT (473513 :: integer) = - 473514\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
104 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
105 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
106 |
test_code \<open>NOT (473513 :: integer) = - 473514\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
107 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
108 |
lemma \<open>NOT (- 805167 :: integer) = 805166\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
109 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
110 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
111 |
test_code \<open>NOT (- 805167 :: integer) = 805166\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
112 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
113 |
lemma \<open>(mask 39 :: integer) = 549755813887\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
114 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
115 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
116 |
test_code \<open>(mask 39 :: integer) = 549755813887\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
117 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
118 |
lemma \<open>set_bit 15 (473514 :: integer) = 506282\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
119 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
120 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
121 |
test_code \<open>set_bit 15 (473514 :: integer) = 506282\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
122 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
123 |
lemma \<open>set_bit 11 (- 805167 :: integer) = - 803119\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
124 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
125 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
126 |
test_code \<open>set_bit 11 (- 805167 :: integer) = - 803119\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
127 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
128 |
lemma \<open>unset_bit 13 (473514 :: integer) = 465322\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
129 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
130 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
131 |
test_code \<open>unset_bit 13 (473514 :: integer) = 465322\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
132 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
133 |
lemma \<open>unset_bit 12 (- 805167 :: integer) = - 809263\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
134 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
135 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
136 |
test_code \<open>unset_bit 12 (- 805167 :: integer) = - 809263\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
137 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
138 |
lemma \<open>flip_bit 15 (473514 :: integer) = 506282\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
139 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
140 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
141 |
test_code \<open>flip_bit 15 (473514 :: integer) = 506282\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
142 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
143 |
lemma \<open>flip_bit 12 (- 805167 :: integer) = - 809263\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
144 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
145 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
146 |
test_code \<open>flip_bit 12 (- 805167 :: integer) = - 809263\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
147 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
148 |
lemma \<open>push_bit 12 (473514 :: integer) = 1939513344\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
149 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
150 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
151 |
test_code \<open>push_bit 12 (473514 :: integer) = 1939513344\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
152 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
153 |
lemma \<open>push_bit 12 (- 805167 :: integer) = - 3297964032\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
154 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
155 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
156 |
test_code \<open>push_bit 12 (- 805167 :: integer) = - 3297964032\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
157 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
158 |
lemma \<open>drop_bit 12 (473514 :: integer) = 115\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
159 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
160 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
161 |
test_code \<open>drop_bit 12 (473514 :: integer) = 115\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
162 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
163 |
lemma \<open>drop_bit 12 (- 805167 :: integer) = - 197\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
164 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
165 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
166 |
test_code \<open>drop_bit 12 (- 805167 :: integer) = - 197\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
167 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
168 |
lemma \<open>take_bit 12 (473514 :: integer) = 2474\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
169 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
170 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
171 |
test_code \<open>take_bit 12 (473514 :: integer) = 2474\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
172 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
173 |
lemma \<open>take_bit 12 (- 805167 :: integer) = 1745\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
174 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
175 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
176 |
test_code \<open>take_bit 12 (- 805167 :: integer) = 1745\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
177 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
178 |
lemma \<open>signed_take_bit 12 (473514 :: integer) = - 1622\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
179 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
180 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
181 |
test_code \<open>signed_take_bit 12 (473514 :: integer) = - 1622\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
182 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
183 |
lemma \<open>signed_take_bit 12 (- 805167 :: integer) = - 2351\<close> |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
184 |
by normalization |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
185 |
|
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
186 |
test_code \<open>signed_take_bit 12 (- 805167 :: integer) = - 2351\<close> in GHC |
e77e8ef5bf9b
explicit tests for target-language bit operations
haftmann
parents:
69597
diff
changeset
|
187 |
|
58039 | 188 |
end |