srand48 для Int64 в Swift 4? - PullRequest
0 голосов
/ 15 мая 2018

Я создаю генератор кода случайного числа со значением Int в качестве начального числа. Я использовал srand48 и drand48, и он работал правильно, пока не обнаружил, что мое начальное значение слишком велико для 32-разрядных устройств.

Чтобы обслужить это, я попытался заменить Int на Int64. Проблема в том, что srand48 не принимает Int64 в качестве параметра. Есть ли у вас какие-либо предложения, как это смягчить?

Заранее спасибо!

1 Ответ

0 голосов
/ 15 мая 2018

Вы можете усечь Int64 до Int:

let i64 = Int64(...)
srand48(Int(truncatingIfNeeded: i64))

На 32-битном устройстве это урезает 64-битное число до его младших 32 бит.

...