int main (int argc, char* argv[]) { common::alloc_scratch_space(BUF_SIZE,1); uint8_t *data1 = new uint8_t[BUF_SIZE]; uint8_t *data2 = new uint8_t[BUF_SIZE]; size_t array_size = 9; uint32_t input_array1[] = {0,257,513,800,1300,1600,1900,2200,2500}; //new uint32_t[array_size]; uint32_t input_array2[] = {0,257,513,850,1350,1600,1900,2250,2500}; cout << "attempting to build" << endl; Set<bitset_new> A = Set<bitset_new>::from_array(data1,input_array1,array_size); Set<bitset_new> B = Set<bitset_new>::from_array(data2,input_array2,array_size); A.foreach([](uint32_t dat){ cout << "A data: " << dat << endl; }); uint8_t* set_c_buffer = new uint8_t[BUF_SIZE]; Set<bitset_new> C(set_c_buffer); C = ops::set_intersect(&C,&A,&B); cout << "Intersection: " << C.cardinality << endl;; C.foreach([](uint32_t dat){ cout << "C data: " << dat << endl; }); return 0; }