1 /*
2  *  Header file for pattern and random test inputs
3  *
4  *  Copyright (C) 2019  Wave Computing, Inc.
5  *  Copyright (C) 2019  Aleksandar Markovic <amarkovic@wavecomp.com>
6  *
7  *  This program is free software: you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License as published by
9  *  the Free Software Foundation, either version 2 of the License, or
10  *  (at your option) any later version.
11  *
12  *  This program is distributed in the hope that it will be useful,
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *  GNU General Public License for more details.
16  *
17  *  You should have received a copy of the GNU General Public License
18  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef TEST_INPUTS_64_H
23 #define TEST_INPUTS_64_H
24 
25 #include <stdint.h>
26 
27 
28 #define PATTERN_INPUTS_64_COUNT          64
29 #define PATTERN_INPUTS_64_SHORT_COUNT     8
30 
31 static const uint64_t b64_pattern[PATTERN_INPUTS_64_COUNT] = {
32     0xFFFFFFFFFFFFFFFFULL,                               /*   0 */
33     0x0000000000000000ULL,
34     0xAAAAAAAAAAAAAAAAULL,
35     0x5555555555555555ULL,
36     0xCCCCCCCCCCCCCCCCULL,
37     0x3333333333333333ULL,
38     0xE38E38E38E38E38EULL,
39     0x1C71C71C71C71C71ULL,
40     0xF0F0F0F0F0F0F0F0ULL,                               /*   8 */
41     0x0F0F0F0F0F0F0F0FULL,
42     0xF83E0F83E0F83E0FULL,
43     0x07C1F07C1F07C1F0ULL,
44     0xFC0FC0FC0FC0FC0FULL,
45     0x03F03F03F03F03F0ULL,
46     0xFE03F80FE03F80FEULL,
47     0x01FC07F01FC07F01ULL,
48     0xFF00FF00FF00FF00ULL,                               /*  16 */
49     0x00FF00FF00FF00FFULL,
50     0xFF803FE00FF803FEULL,
51     0x007FC01FF007FC01ULL,
52     0xFFC00FFC00FFC00FULL,
53     0x003FF003FF003FF0ULL,
54     0xFFE003FF800FFE00ULL,
55     0x001FFC007FF001FFULL,
56     0xFFF000FFF000FFF0ULL,                               /*  24 */
57     0x000FFF000FFF000FULL,
58     0xFFF8003FFE000FFFULL,
59     0x0007FFC001FFF000ULL,
60     0xFFFC000FFFC000FFULL,
61     0x0003FFF0003FFF00ULL,
62     0xFFFE0003FFF8000FULL,
63     0x0001FFFC0007FFF0ULL,
64     0xFFFF0000FFFF0000ULL,                               /*  32 */
65     0x0000FFFF0000FFFFULL,
66     0xFFFF80003FFFE000ULL,
67     0x00007FFFC0001FFFULL,
68     0xFFFFC0000FFFFC00ULL,
69     0x00003FFFF00003FFULL,
70     0xFFFFE00003FFFF80ULL,
71     0x00001FFFFC00007FULL,
72     0xFFFFF00000FFFFF0ULL,                               /*  40 */
73     0x00000FFFFF00000FULL,
74     0xFFFFF800003FFFFEULL,
75     0x000007FFFFC00001ULL,
76     0xFFFFFC00000FFFFFULL,
77     0x000003FFFFF00000ULL,
78     0xFFFFFE000003FFFFULL,
79     0x000001FFFFFC0000ULL,
80     0xFFFFFF000000FFFFULL,                               /*  48 */
81     0x000000FFFFFF0000ULL,
82     0xFFFFFF8000003FFFULL,
83     0x0000007FFFFFC000ULL,
84     0xFFFFFFC000000FFFULL,
85     0x0000003FFFFFF000ULL,
86     0xFFFFFFE0000003FFULL,
87     0x0000001FFFFFFC00ULL,
88     0xFFFFFFF0000000FFULL,                               /*  56 */
89     0x0000000FFFFFFF00ULL,
90     0xFFFFFFF80000003FULL,
91     0x00000007FFFFFFC0ULL,
92     0xFFFFFFFC0000000FULL,
93     0x00000003FFFFFFF0ULL,
94     0xFFFFFFFE00000003ULL,
95     0x00000001FFFFFFFCULL,
96 };
97 
98 static const uint64_t b64_pattern_se[PATTERN_INPUTS_64_COUNT] = {
99     0xFFFFFFFFFFFFFFFFULL,                               /*   0 */
100     0x0000000000000000ULL,
101     0xFFFFFFFFAAAAAAAAULL,
102     0x0000000055555555ULL,
103     0xFFFFFFFFCCCCCCCCULL,
104     0x0000000033333333ULL,
105     0xFFFFFFFFE38E38E3ULL,
106     0x000000001C71C71CULL,
107     0xFFFFFFFFF0F0F0F0ULL,                               /*   8 */
108     0x000000000F0F0F0FULL,
109     0xFFFFFFFFF83E0F83ULL,
110     0x0000000007C1F07CULL,
111     0xFFFFFFFFFC0FC0FCULL,
112     0x0000000003F03F03ULL,
113     0xFFFFFFFFFE03F80FULL,
114     0x0000000001FC07F0ULL,
115     0xFFFFFFFFFF00FF00ULL,                               /*  16 */
116     0x0000000000FF00FFULL,
117     0xFFFFFFFFFF803FE0ULL,
118     0x00000000007FC01FULL,
119     0xFFFFFFFFFFC00FFCULL,
120     0x00000000003FF003ULL,
121     0xFFFFFFFFFFE003FFULL,
122     0x00000000001FFC00ULL,
123     0xFFFFFFFFFFF000FFULL,                               /*  24 */
124     0x00000000000FFF00ULL,
125     0xFFFFFFFFFFF8003FULL,
126     0x000000000007FFC0ULL,
127     0xFFFFFFFFFFFC000FULL,
128     0x000000000003FFF0ULL,
129     0xFFFFFFFFFFFE0003ULL,
130     0x000000000001FFFCULL,
131     0xFFFFFFFFFFFF0000ULL,                               /*  32 */
132     0x000000000000FFFFULL,
133     0xFFFFFFFFFFFF8000ULL,
134     0x0000000000007FFFULL,
135     0xFFFFFFFFFFFFC000ULL,
136     0x0000000000003FFFULL,
137     0xFFFFFFFFFFFFE000ULL,
138     0x0000000000001FFFULL,
139     0xFFFFFFFFFFFFF000ULL,                               /*  40 */
140     0x0000000000000FFFULL,
141     0xFFFFFFFFFFFFF800ULL,
142     0x00000000000007FFULL,
143     0xFFFFFFFFFFFFFC00ULL,
144     0x00000000000003FFULL,
145     0xFFFFFFFFFFFFFE00ULL,
146     0x00000000000001FFULL,
147     0xFFFFFFFFFFFFFF00ULL,                               /*  48 */
148     0x00000000000000FFULL,
149     0xFFFFFFFFFFFFFF80ULL,
150     0x000000000000007FULL,
151     0xFFFFFFFFFFFFFFC0ULL,
152     0x000000000000003FULL,
153     0xFFFFFFFFFFFFFFE0ULL,
154     0x000000000000001FULL,
155     0xFFFFFFFFFFFFFFF0ULL,                               /*  56 */
156     0x000000000000000FULL,
157     0xFFFFFFFFFFFFFFF8ULL,
158     0x0000000000000007ULL,
159     0xFFFFFFFFFFFFFFFCULL,
160     0x0000000000000003ULL,
161     0xFFFFFFFFFFFFFFFEULL,
162     0x0000000000000001ULL,
163 };
164 
165 
166 #define RANDOM_INPUTS_64_COUNT           16
167 #define RANDOM_INPUTS_64_SHORT_COUNT      4
168 
169 static const uint64_t b64_random[RANDOM_INPUTS_64_COUNT] = {
170     0x886AE6CC28625540ULL,                               /*   0 */
171     0xFBBE00634D93C708ULL,
172     0xAC5AAEAAB9CF8B80ULL,
173     0x704F164D5E31E24EULL,
174     0xB9926B7C7DAF4258ULL,
175     0xD027BE89FF0A2EF9ULL,
176     0xB83B580665CABC4AULL,
177     0xFC8F23F09AA6B782ULL,
178     0x201E09CD56AEE649ULL,                               /*   8 */
179     0xA57CD91365D9E5D7ULL,
180     0xA2E8F6F5C9CBC61BULL,
181     0xA89CF2F131A864AEULL,
182     0xE61438E9A652EA0AULL,
183     0x944A35FD192361A8ULL,
184     0x4630426322BEF79CULL,
185     0x8B5AA7A2F259DEADULL,
186 };
187 
188 static const uint64_t b64_random_se[RANDOM_INPUTS_64_COUNT] = {
189     0xFFFFFFFF886AE6CCULL,                               /*   0 */
190     0xFFFFFFFFFBBE0063ULL,
191     0xFFFFFFFFAC5AAEAAULL,
192     0x00000000704F164DULL,
193     0xFFFFFFFFB9926B7CULL,
194     0xFFFFFFFFD027BE89ULL,
195     0xFFFFFFFFB83B5806ULL,
196     0xFFFFFFFFFC8F23F0ULL,
197     0x00000000201E09CDULL,                               /*   8 */
198     0xFFFFFFFFA57CD913ULL,
199     0xFFFFFFFFA2E8F6F5ULL,
200     0xFFFFFFFFA89CF2F1ULL,
201     0xFFFFFFFFE61438E9ULL,
202     0xFFFFFFFF944A35FDULL,
203     0x0000000046304263ULL,
204     0xFFFFFFFF8B5AA7A2ULL,
205 };
206 
207 
208 #endif
209