2016年2月19日金曜日

POSTD Memo

http://postd.cc/are-haskell-engineers-second-rate/

2016年2月12日金曜日

Xorshift*, Xorshift+

出力が64ビット.

Xorshiftの出力が32, 16, 8ビットで速度比較したサイトを見た記憶があるけれど,
ちょっと検索しただけじゃ見つからないな.
まあ, 演算数は変わらないし, 追加で内部状態のコピーぐらいだから, そう速くはならないよね.
デメリットの方が大きいぐらい.

XorshiftがGPLとかいう都市伝説が.
開発者のソースコードがあるなら, それはGPLかもしれない.
論文内のコードにGPLが適用されるのかね.
GPL的には, 誰が書いても同じになってしまうような短いコードには,
ライセンス適用すべきでないといってる. そらそうよ.

Dieharder
乱数のテストにどうぞ.

2016年2月3日水曜日

UnityEngine.UI.Imageを継承した, 任意Polygon描画クラス

適当に作る.
Github


一応はWYSIWYGと言えるかも.
要望次第で, Polygon Collider 2Dの編集インターフェイスと同じにするかもしれません.

タイルベースのレンダリングプロセスには, 扇形は細長い三角形を生成しがちなので良くない.
足りなければ考える.

2016年1月29日金曜日

C#でHopscotch Hashing

https://github.com/taqu/TinyCollections

C#で実装した場合, メモリを多く使った手法に比べて,
2倍くらいの検索時間になる.
挿入処理は, 空き領域の検索に時間がかかる.
私の用途では, 検索速度しか問題にしないが.

ハッシュの衝突が少なかった場合だけ,
C#のSystem.Collections.Generic.Dictionaryより
検索が速くなる.

2015年12月11日金曜日

Gamma補正近似

sRGBからリニアへの変換は, 2乗で近似する.
sRGB to Linear
LinearRGB = sRGB*sRGB; 

2015年12月2日水曜日

Unity3D 5 "Enable Internal Profiler"をスクリプトから設定

PlayerSettings.enableInternalProfilerは, iOS用です.
Androidは, プロパティ名 "AndroidProfiler"です.
//For iOS
PlayerSettings.enableInternalProfiler = true;

//For Android
PlayerSettings[] playerSettings = Resources.FindObjectsOfTypeAll();

foreach(PlayerSettings ps in playerSettings) {
    SerializedObject serializedObject = new SerializedObject(ps);
    SerializedProperty enableInternalProfiler = serializedObject.FindProperty("AndroidProfiler");
    if(null == enableInternalProfiler) {
        continue;
    }
    enableInternalProfiler.boolValue = true;
    serializedObject.ApplyModifiedProperties();
}