|
1 | 1 | // !!! DO NOT EDIT - THIS IS AN AUTO-GENERATED FILE !!! |
2 | | -// Created by amalgamation.sh on Mon 5 Jul 2021 13:06:13 EDT |
| 2 | +// Created by amalgamation.sh on Sun 25 Jul 2021 12:08:33 EDT |
3 | 3 |
|
4 | 4 | /* |
5 | 5 | * Copyright 2016-2020 The CRoaring authors |
@@ -390,15 +390,15 @@ inline int __builtin_clzll(unsigned long long input_num) { |
390 | 390 |
|
391 | 391 | /* software implementation avoids POPCNT */ |
392 | 392 | /*static inline int __builtin_popcountll(unsigned long long input_num) { |
393 | | - const uint64_t m1 = 0x5555555555555555; //binary: 0101... |
394 | | - const uint64_t m2 = 0x3333333333333333; //binary: 00110011.. |
395 | | - const uint64_t m4 = 0x0f0f0f0f0f0f0f0f; //binary: 4 zeros, 4 ones ... |
396 | | - const uint64_t h01 = 0x0101010101010101; //the sum of 256 to the power of 0,1,2,3... |
397 | | - |
398 | | - input_num -= (input_num >> 1) & m1; |
399 | | - input_num = (input_num & m2) + ((input_num >> 2) & m2); |
400 | | - input_num = (input_num + (input_num >> 4)) & m4; |
401 | | - return (input_num * h01) >> 56; |
| 393 | + const uint64_t m1 = 0x5555555555555555; //binary: 0101... |
| 394 | + const uint64_t m2 = 0x3333333333333333; //binary: 00110011.. |
| 395 | + const uint64_t m4 = 0x0f0f0f0f0f0f0f0f; //binary: 4 zeros, 4 ones ... |
| 396 | + const uint64_t h01 = 0x0101010101010101; //the sum of 256 to the power of 0,1,2,3... |
| 397 | + |
| 398 | + input_num -= (input_num >> 1) & m1; |
| 399 | + input_num = (input_num & m2) + ((input_num >> 2) & m2); |
| 400 | + input_num = (input_num + (input_num >> 4)) & m4; |
| 401 | + return (input_num * h01) >> 56; |
402 | 402 | }*/ |
403 | 403 |
|
404 | 404 | /* Use #define so this is effective even under /Ob0 (no inline) */ |
@@ -2305,7 +2305,7 @@ inline bool bitset_container_contains(const bitset_container_t *bitset, |
2305 | 2305 | * is present in `bitset'. Calls bitset_container_get_all. |
2306 | 2306 | */ |
2307 | 2307 | static inline bool bitset_container_contains_range(const bitset_container_t *bitset, |
2308 | | - uint32_t pos_start, uint32_t pos_end) { |
| 2308 | + uint32_t pos_start, uint32_t pos_end) { |
2309 | 2309 | return bitset_container_get_range(bitset, pos_start, pos_end); |
2310 | 2310 | } |
2311 | 2311 |
|
@@ -11279,24 +11279,22 @@ CROARING_UNTARGET_REGION |
11279 | 11279 | #endif // CROARING_IS_X64 |
11280 | 11280 |
|
11281 | 11281 | bool bitset_container_equals(const bitset_container_t *container1, const bitset_container_t *container2) { |
11282 | | - if((container1->cardinality != BITSET_UNKNOWN_CARDINALITY) && (container2->cardinality != BITSET_UNKNOWN_CARDINALITY)) { |
11283 | | - if(container1->cardinality != container2->cardinality) { |
11284 | | - return false; |
11285 | | - } |
| 11282 | + if((container1->cardinality != BITSET_UNKNOWN_CARDINALITY) && (container2->cardinality != BITSET_UNKNOWN_CARDINALITY)) { |
| 11283 | + if(container1->cardinality != container2->cardinality) { |
| 11284 | + return false; |
| 11285 | + } |
11286 | 11286 | if (container1->cardinality == INT32_C(0x10000)) { |
11287 | | - return true; |
| 11287 | + return true; |
11288 | 11288 | } |
11289 | | - } |
| 11289 | + } |
11290 | 11290 | #ifdef CROARING_IS_X64 |
11291 | 11291 | if( croaring_avx2() ) { |
11292 | 11292 | return _avx2_bitset_container_equals(container1, container2); |
11293 | 11293 | } |
11294 | | -#else |
| 11294 | +#endif |
11295 | 11295 | return memcmp(container1->words, |
11296 | 11296 | container2->words, |
11297 | 11297 | BITSET_CONTAINER_SIZE_IN_WORDS*sizeof(uint64_t)) == 0; |
11298 | | -#endif |
11299 | | - return true; |
11300 | 11298 | } |
11301 | 11299 |
|
11302 | 11300 | bool bitset_container_is_subset(const bitset_container_t *container1, |
|
0 commit comments