Я пытаюсь рассчитать распределенное по Пуассону время прибытия в python. Я сделал следующую функцию:
from scipy.stats import poisson
import random
import math
def pois_Arrival(ticker):
m = 15
p = random.randint(1,100) / 100
x = poisson.ppf(p, mu = m)
if x >= 1:
x = math.trunc(x)
else:
x = 1
arrival = x + ticker
return arrival
Тикер - это текущее время в симуляции. В большинстве случаев это работает нормально и вычисляет время прибытия, но время от времени я получаю следующую ошибку в math.trun c ():
Возникла исключительная ситуация: OverflowError не может преобразовать float infinity to integer
Похоже, функция возвращает значение бесконечности, но я понятия не имею, почему. Помогите пожалуйста.
(я использую python 3.5.4 64-бит)