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