mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
Merge pull request #82 from VectorCamp/feature/add-macos-support
Minor changes to enable compilation on Mac M1
This commit is contained in:
commit
90018f927f
@ -112,6 +112,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <random>
|
||||
#include <algorithm>
|
||||
#include <cstring>
|
||||
#include <chrono>
|
||||
@ -151,6 +152,8 @@ using std::set;
|
||||
using std::min;
|
||||
using std::max;
|
||||
using std::copy;
|
||||
using std::random_device;
|
||||
using std::mt19937;
|
||||
|
||||
enum Criterion {
|
||||
CRITERION_THROUGHPUT,
|
||||
@ -731,7 +734,9 @@ int main(int argc, char **argv) {
|
||||
count++;
|
||||
cout << "." << std::flush;
|
||||
vector<unsigned> sv(s.begin(), s.end());
|
||||
random_shuffle(sv.begin(), sv.end());
|
||||
random_device rng;
|
||||
mt19937 urng(rng());
|
||||
shuffle(sv.begin(), sv.end(), urng);
|
||||
unsigned groups = factor_max + 1;
|
||||
for (unsigned current_group = 0; current_group < groups;
|
||||
current_group++) {
|
||||
|
@ -251,7 +251,7 @@ really_inline SuperVector<16> SuperVector<16>::eq(SuperVector<16> const &b) cons
|
||||
template <>
|
||||
really_inline typename SuperVector<16>::movemask_type SuperVector<16>::movemask(void) const
|
||||
{
|
||||
SuperVector powers{0x8040201008040201UL};
|
||||
SuperVector powers = SuperVector::dup_u64(0x8040201008040201UL);
|
||||
|
||||
// Compute the mask from the input
|
||||
uint8x16_t mask = (uint8x16_t) vpaddlq_u32(vpaddlq_u16(vpaddlq_u8(vandq_u8(u.u8x16[0], powers.u.u8x16[0]))));
|
||||
|
Loading…
x
Reference in New Issue
Block a user