一部の C# コードを Python に移行する必要があります。元のコードはRandom
クラスを利用しています。移行されたコードはサイクル アキュレートでなければなりません (つまり、 を連続して呼び出すとNext()
、両方のコードで同じ結果が得られる必要があります)。いくつかの質問:
Random
Pythonの C# に相当する呼び出しはありますか?- 両方のソースを変更できると仮定すると、C# と Python の両方で動作する疑似乱数ライブラリはありますか?
PythonとC#の両方で使用でき、両方で同じ乱数を生成するライブラリを知りません。ただし、IronPythonを利用できる場合があります。デフォルトのRandom
実装はIronPythonとCPythonで異なりますが、WichmannHill
クラスは異なります。
C#を使用してWichmannHill
、IronPythonでクラスをインスタンス化し、同じシードに対してCPythonと同じ値を取得できます。または、でPythonコードを変換することにより、C#でWichmann-Hillアルゴリズムを比較的簡単に実装できますrandom.py
。
もう1つのオプションは、のMersenne TwisterアルゴリズムのCPython実装をRandom
取得し、それをC#に変換して、同じ結果を取得することです。