質問編集履歴

4

新たなアルゴリズムを模索\(迷走\)

2016/03/01 15:17

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
File without changes
test CHANGED
@@ -85,3 +85,9 @@
85
85
 
86
86
 
87
87
  自力で検証していないけど0.0付近に集中したらアカンなぁ・・・
88
+
89
+ 完全に整数版で作ったbit列を浮動小数点に変換する方向に考えていたので。
90
+
91
+
92
+
93
+ 区間を生成個数で分割して各区間ごとに乱数生成してvectorに放り込んでshuffleとかしなきゃいけないんだろうか

3

別のアルゴリズムを考えるべきか

2016/03/01 15:17

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
File without changes
test CHANGED
@@ -61,3 +61,27 @@
61
61
  - ``(size_t)((int)(rand_max) - (int)(rand_min)) < size``
62
62
 
63
63
  - ``sizeof(long double) == sizeof(uint64_t)``
64
+
65
+
66
+
67
+ # 追記
68
+
69
+
70
+
71
+ [浮動小数点表現での一定範囲内の全列挙…だと?! | okkyの日記 | スラド](http://srad.jp/~okky/journal/600855/)
72
+
73
+ にて、全列挙のコストの高さを突きつけられたので別のアルゴリズムを模索中です。
74
+
75
+
76
+
77
+ [https://twitter.com/fjs_kyousosama/status/704681468535009281](https://twitter.com/fjs_kyousosama/status/704681468535009281)
78
+
79
+ ```
80
+
81
+ @yumetodo ヒント1: 64bitのビット列を完全に出力させて、それをdouble形式として読み込み、分布を調べると 0.0近辺に集中していることが判る。「それはランダムな浮動小数点分布」として欲しい分布なのか?
82
+
83
+ ```
84
+
85
+
86
+
87
+ 自力で検証していないけど0.0付近に集中したらアカンなぁ・・・

2

環境について補足

2016/03/01 15:12

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
File without changes
test CHANGED
@@ -52,4 +52,12 @@
52
52
 
53
53
 
54
54
 
55
+ # 環境等
56
+
57
+ - 浮動小数点型は``float``, ``double``, (``long double``)のことを指す
58
+
59
+ - 浮動小数点型の内部仕様はIEEE754に従う
60
+
55
- 浮動小数点型は``float``, ``double``, (``long double``)のことを指し、IEEE754に従うものとし、``(size_t)((int)(rand_max) - (int)(rand_min)) < size``とします。
61
+ - ``(size_t)((int)(rand_max) - (int)(rand_min)) < size``
62
+
63
+ - ``sizeof(long double) == sizeof(uint64_t)``

1

補足

2016/03/01 10:18

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
File without changes
test CHANGED
@@ -52,4 +52,4 @@
52
52
 
53
53
 
54
54
 
55
- 浮動小数点型はIEEE754に従うものとし、``(size_t)((int)(rand_max) - (int)(rand_min)) < size``とします。
55
+ 浮動小数点型は``float``, ``double``, (``long double``)のことを指し、IEEE754に従うものとし、``(size_t)((int)(rand_max) - (int)(rand_min)) < size``とします。