07/07/12 22:28:42
TLS使えばしまいだろ
429:デフォルトの名無しさん
07/07/12 22:36:08
>>428は>>422宛ね
430:デフォルトの名無しさん
07/07/12 23:29:54
TLSとは何か。
Transport Layer Security
Thread Local Storage
True Love Story
いろいろあるんだな……
431:デフォルトの名無しさん
07/07/13 02:11:06
いや、内部ステートをスレッド毎に持つというのは
確かに複数スレッドからの同時アクセスの点では良いのだが
例えばよく使われるsrand()はどうするのか。
スレッド毎にsrand()を呼ぶのか
あるいはsrand()の内部でスレッドを数え上げるのか
srand(time(NULL))の後にスレッドを作成したらどうなるのか
↑を最初に一度だけ呼んである過去のコードの扱いはどうなるのか
等々、面倒くさいことがありすぎるよ。
まともなコードで、srand()を呼ばずにrand()を使っているものがあるとは思えないし。
もちろん、「標準のrand()」を置き換えるのではなく
「自分で使う乱数生成器」をどうするか、という話なら
好きなようにどうぞ、というだけだけど。
432:・∀・)っ-○◎●
07/07/13 03:11:46
そりゃ各スレッド毎にパラメータがあるわけだから、それぞれに初期化が必要になるだろうね。
種は現在時間+スレッドID+GUID/UUID+HDDシークタイムからとった自然乱数もどき+・・・・
見たいな感じでいろいろ組み合わせればよくね?
最近のMTの派生実装は種を配列で与えることができるんで、ユニークな乱数列になるように
なるべく多くのパラメータを与えるといい。
MTは種さえ被らせなきゃそこそこうまくバラけてくれる。
433:デフォルトの名無しさん
07/07/13 08:20:03
CryptGenRandは?
434:デフォルトの名無しさん
07/07/13 09:29:57
そういう話かよ?
435:デフォルトの名無しさん
07/07/13 12:42:16
ワークメモリがスレッド毎に独立してると、たとえばモンテカルロみたいなのを複数スレッドで分割処理やりたいときに有用。
プロセスを分ければいいと言われると返す言葉がないがね。
436:デフォルトの名無しさん
07/07/13 22:15:41
>>386 亀レス
double win_rand2(HCRYPTPROV hProv){BYTE b[4];CryptGenRandom(hProv, 4, b);
return (double)(b[0]+(b[1]<<8)+(b[2]<<16)+((b[3]&127)<<24))/2147483648;}
n=0.0;t=clock();HCRYPTPROV hProv;CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_FULL, 0);
for(i=0;i<kaisu;i++){x=win_rand2(hProv);y=win_rand2(hProv);if(x*x+y*y<=1.0)n+=1;}
CryptReleaseContext(hProv, 0);
printf(" winのrandの精度(値が小さいほど良い) %1.9f 生成速度%f秒\n",fabs(4*n/kaisu-PI),(double)(clock()-t)/1000);
437:デフォルトの名無しさん
07/07/16 21:40:05
CryptGenRandomって自分じゃジェネレートしてないのに、なんでGenRandomなんだ?
GetRandomじゃないのか?
438:デフォルトの名無しさん
07/07/17 19:01:44
その Gen は Generate ではなく、元、つまり集合の1要素だって
おじいちゃんがゆってた。
439:デフォルトの名無しさん
07/07/18 00:24:49
「源」じゃないの?
すなわち「おじいちゃんの名前(ゲンじいちゃん)」
え?ちがう?
440:デフォルトの名無しさん
07/07/18 00:29:36
ララ… わしゃ悔しいわい
441:デフォルトの名無しさん
07/07/18 14:32:34
アゴなしの人か。
442:デフォルトの名無しさん
07/07/19 22:22:22
DDAで円の軌跡を計算して、それを2重にして乱数作ったんだが、
擬似乱数として性能がいいのか調べる方法はある?1から10までの分布は
それらしくなっているんだけどな。
443:・∀・)っ-○◎●
07/07/19 23:57:25
だんごやさんはSSE2用sfmtをboostに移植しようとしたがテンプレート地獄に涙目
444:デフォルトの名無しさん
07/07/20 13:54:11
ビット毎の出現確率でも調べたら?
445:デフォルトの名無しさん
07/07/21 07:35:38
>>442
どっかに基準とはる判定方法があったかも
446:デフォルトの名無しさん
07/07/21 09:09:19
とりあえず、こんなのは見つかった。
DieHarder: A Random Number Test Suite
Robert G. Brown's General Tools Page
URLリンク(www.phy.duke.edu)
447:デフォルトの名無しさん
07/07/21 19:11:11
>>446
乱数検定の定番だな
448:デフォルトの名無しさん
07/08/15 00:44:29
いろんな圧縮アルゴリズムにかけて
圧縮率を見るのってどうなの?
邪道?