in pir.cpp [185:206]
vector<uint64_t> compute_indices(uint64_t desiredIndex, vector<uint64_t> Nvec) {
uint32_t num = Nvec.size();
uint64_t product = 1;
for (uint32_t i = 0; i < num; i++) {
product *= Nvec[i];
}
uint64_t j = desiredIndex;
vector<uint64_t> result;
for (uint32_t i = 0; i < num; i++) {
product /= Nvec[i];
uint64_t ji = j / product;
result.push_back(ji);
j -= ji * product;
}
return result;
}