When running on single precision it is possible to generate standard normal distribution random numbers though the following calls:
float randn = curand_normal(curandState_t *state) or
float randn = (float) curand_normal_double(curandState_t *state)
These functions generate a different set of normally distributed random numbers even though the seed provided is exactly the same.
Apparently these two functions use different algorithms.
Q1: Which of the above calls is better to use and why?