0

I try to measure probabilities in the order of 1e-25 or even lower. I run a cpp code which is basically an ODE solver numerically (with simple Euler steps). I have long long ints for storing the cell numbers (every step I roll a dice and I update the cell numbers using a 64 bit precision Mersenne Twister random num generator and I choose numbers from a poisson distribution with the mersenne engine). As long long int and 64 bit mersenne and poisson dist is only enough until approx. 1e19, I would need to have 128 bit precision. I am searching for a reliable method to generate 128 bit pseudo random numbers and also to store them like uint_128 and so, and generate especially 128bit random poisson distributed numbers.

I have searched in the topic but did not find anything helpful, maybe I could have puzzle the pieces together, but I could not...

Thank you in advance!

  • https://www.codeproject.com/Articles/15102/NET-random-number-generators-and-distributions has some C# stuff. GNU seemed to have some 128-bit stuff already done as well. Seems there are google answers to be found here. – Michael Dorgan Sep 23 '20 at 21:48
  • What is the range of means for the Poisson distributed numbers? Will those means vary over time? Are you trying to calculate probabilities for the Poisson distribution? – Peter O. Sep 24 '20 at 02:39
  • Hi, thank for the comments, I would need this in cpp, the cell number change in time so as the mean of the poisson. So I update the cell number with choosing random numbers from poisson dist, which mean is the previous timesteps cell numbers sort to speak (bit more complex but doesnt matter here). I have not found any cpp implementation of generating 128 bit integers with random poission still... – Demeter Márton Sep 24 '20 at 06:32

0 Answers0