Я генерирую некоторые тестовые данные с использованием известного случайного начального числа. Я хочу использовать эти данные из cpython и из Jython. Я обнаружил, что данные отличаются, если я использую jython (2.5.2) против cpython.
Сводя его к простому тесту, я вижу, что PRNG дает разные результаты в двух реализациях:
В Jython:
Jython 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06)
[Java HotSpot(TM) Server VM (Sun Microsystems Inc.)] on java1.6.0_26
Type "help", "copyright", "credits" or "license" for more information.
>>> import random
>>> random.seed(1)
>>> random.random()
0.7308781974052877
В CPython:
Python 2.7.2+ (default, Oct 4 2011, 20:03:08)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import random
>>> random.seed(1)
>>> random.random()
0.13436424411240122
Тестовые данные, которые я генерирую, воспроизводятся в каждой реализации Python. Это можно обойти? Может мне нужно написать свой собственный PRNG?