3

一部の C# コードを Python に移行する必要があります。元のコードはRandomクラスを利用しています。移行されたコードはサイクル アキュレートでなければなりません (つまり、 を連続して呼び出すとNext()、両方のコードで同じ結果が得られる必要があります)。いくつかの質問:

  • RandomPythonの C# に相当する呼び出しはありますか?
  • 両方のソースを変更できると仮定すると、C# と Python の両方で動作する疑似乱数ライブラリはありますか?
4

2 に答える 2

1

PythonとC#の両方で使用でき、両方で同じ乱数を生成するライブラリを知りません。ただし、IronPythonを利用できる場合があります。デフォルトのRandom実装はIronPythonとCPythonで異なりますが、WichmannHillクラスは異なります。

C#を使用してWichmannHill、IronPythonでクラスをインスタンス化し、同じシードに対してCPythonと同じ値を取得できます。または、でPythonコードを変換することにより、C#でWichmann-Hillアルゴリズムを比較的簡単に実装できますrandom.py

もう1つのオプションは、のMersenne TwisterアルゴリズムのCPython実装Random取得し、それをC#に変換して、同じ結果を取得することです。

于 2012-04-04T07:37:50.190 に答える