エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
10進乱数の自作(多倍精度浮動小数点数演算など) - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
10進乱数の自作(多倍精度浮動小数点数演算など) - Qiita
多倍精度浮動小数点数や10進小数や乱数や準数値演算に関していろいろ自作した。 たしかTAOCPでDonald Kn... 多倍精度浮動小数点数や10進小数や乱数や準数値演算に関していろいろ自作した。 たしかTAOCPでDonald Knuth先生が「この分野はつまらないと思われがちだけど、実際に学んでみると面白い」みたいなことを言ってたけど、ほんとその通りだった。 ##実装 C言語→Python→Schemeの順に低レイヤから実装。 C言語 まずC言語で10進小数とその基本関数(四則演算や指数対数や一様乱数)を実装(srcディレクトリ)。 10進小数なのでメルセンヌツイスタとかは使えず、線形合同法で一様乱数を生成。 Python 上記のC言語での実装をPythonから使えるように、CFFI実装(bigfloat.py)。 既存のScheme処理系を改造して、10進小数を扱うSchemeを実装した(softscheme.py)。 ついでに、SchemeからPythonの関数を呼んだり、実行中にPythonモード