@@ -30,29 +30,30 @@ static const uint64_t IGOLDEN64 = 0x9e3779b97f4a7c13ULL;
3030
3131TEST_CASE (" pack unpack bits" ) {
3232 for (uint8_t bits = 1 ; bits <= 63 ; ++bits) {
33+ int n = 8 ;
3334 const uint64_t mask = (1ULL << bits) - 1 ;
34- std::vector<uint64_t > input (8 , 0 );
35+ std::vector<uint64_t > input (n , 0 );
3536 const uint64_t igolden64 = IGOLDEN64 ;
3637 uint64_t value = 0xaa55aa55aa55aa55ULL ; // arbitrary starting value
37- for (int i = 0 ; i < 8 ; ++i) {
38+ for (int i = 0 ; i < n ; ++i) {
3839 input[i] = value & mask;
3940 value += igolden64;
4041 }
41- std::vector<uint8_t > bytes (8 * sizeof (uint64_t ), 0 );
42+ std::vector<uint8_t > bytes (n * sizeof (uint64_t ), 0 );
4243 uint8_t offset = 0 ;
4344 uint8_t * ptr = bytes.data ();
44- for (int i = 0 ; i < 8 ; ++i) {
45+ for (int i = 0 ; i < n ; ++i) {
4546 offset = pack_bits (input[i], bits, ptr, offset);
4647 }
4748
48- std::vector<uint64_t > output (8 , 0 );
49+ std::vector<uint64_t > output (n , 0 );
4950 offset = 0 ;
5051 const uint8_t * cptr = bytes.data ();
51- for (int i = 0 ; i < 8 ; ++i) {
52+ for (int i = 0 ; i < n ; ++i) {
5253 offset = unpack_bits (output[i], bits, cptr, offset);
5354 }
54- for (int i = 0 ; i < 8 ; ++i) {
55- REQUIRE (( input[i] & mask) == output[i]);
55+ for (int i = 0 ; i < n ; ++i) {
56+ REQUIRE (input[i] == output[i]);
5657 }
5758 }
5859}
0 commit comments