added ability to sample DPP with floats instead of doubles