ToDo:
ToDoにも書いてある 疑似乱数発生器の再実装に向けた作業が少し進捗。
DynamicLinkで読み込んだオブジェクト内のシンボルを外部公開 (Framework libraryを動的に読み込む際に必要)するために dlopen()に渡すモードを制御するオプションを追加
使用例は、こんな感じ
id = DynamicLink["foo.so", DYNL$LAZY, DYNL$GLOBAL];
SAD側の拡張モジュールコンパイル用のフレームワークをごそごそ改良
これらを使って、RandomMTモジュールの中身を SADScript側への 関数API提供するプラグイン管理フレームワーク(Random/Framework.so)と、 疑似乱数発生器本体を管理するプラグイン本体(Random/MT19937.so)に分割
プラグインが一つでは寂しいので、 SFMT プラグインを実装。(たしかに SSE2使用してコンパイルすると MT19937より速い)
残る作業は、旧来の組み込み疑似乱数発生器(線形合同法)互換プラグインの 実装と、SAD本体にインライン展開されてる線形合同法ルーチンの分離と 置換作業かな?
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記