void randomPerms(D& arr, randEngine& mtRandom) { typedef typename D::iterator iter; randInt sample(mtRandom, intUniformDist(0,arr.size()-1)); for (iter it=arr.begin(); it!=arr.end(); ++it) iter_swap(arr.begin()+sample(),it); } // randomPerms
vectord DiscreteModel::samplePoint() { randInt sample(mEngine, intUniformDist(0,mInputSet.size()-1)); return mInputSet[sample()]; };