84
84
85
85
</ head >
86
86
< body >
87
- < header data-kunai-mdinfo ="{"meta": {"header": ["random"], "namespace": ["std"], "id-type": ["class template"], "cpp": ["cpp26"]}, "sources": [{"id": "4c843ff20f072fdb9b2d3035d50c8020c19530ad", "source": "#include <iostream>\n#include <random>\n\nint main()\n{\n std::random_device seed_gen;\n\n // philox_engine\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u8a2d\u5b9a\u6e08\u307f\u5225\u540d\u3067\u3042\u308bphilox4x32\u3092\u4f7f\u7528\u3059\u308b\u3002\n // \u30e9\u30f3\u30c0\u30e0\u306a\u30b7\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066\u521d\u671f\u5316\n std::philox4x32 engine{seed_gen()};\n\n for (int i = 0; i < 10; ++i) {\n // \u4e71\u6570\u3092\u751f\u6210\n std::uint32_t result = engine();\n std::cout << result << std::endl;\n }\n}\n"}, {"id": "61d288c8424fc123814972fa9bf9211d67ee7a75", "source": "#include <print>\n#include <random>\n\nstruct Vector {\n float x, y, z;\n};\n\nint main()\n{\n std::uint32_t seed = 12345;\n std::philox4x32 engine;\n\n // 4x4x4\u500b\u306e\u30e9\u30f3\u30c0\u30e0\u306a\u30d9\u30af\u30c8\u30eb\u3092\u751f\u6210\u3059\u308b\n for (std::uint32_t x = 0; x < 2; ++x) {\n for (std::uint32_t y = 0; y < 2; ++y) {\n for (std::uint32_t z = 0; z < 2; ++z) {\n engine.seed(seed);\n engine.set_counter({x, y, z, 0});\n\n std::uniform_real_distribution<float> dist{0, 1.0};\n\n Vector vec {\n dist(engine),\n dist(engine),\n dist(engine)\n };\n std::println(\"{},{},{}\", vec.x, vec.y, vec.z);\n }\n }\n }\n}\n"}], "page_id": ["reference", "random", "philox_engine"]} ">
87
+ < header data-kunai-mdinfo ="{"meta": {"header": ["random"], "namespace": ["std"], "id-type": ["class template"], "cpp": ["cpp26"]}, "sources": [{"id": "4c843ff20f072fdb9b2d3035d50c8020c19530ad", "source": "#include <iostream>\n#include <random>\n\nint main()\n{\n std::random_device seed_gen;\n\n // philox_engine\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u8a2d\u5b9a\u6e08\u307f\u5225\u540d\u3067\u3042\u308bphilox4x32\u3092\u4f7f\u7528\u3059\u308b\u3002\n // \u30e9\u30f3\u30c0\u30e0\u306a\u30b7\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066\u521d\u671f\u5316\n std::philox4x32 engine{seed_gen()};\n\n for (int i = 0; i < 10; ++i) {\n // \u4e71\u6570\u3092\u751f\u6210\n std::uint32_t result = engine();\n std::cout << result << std::endl;\n }\n}\n"}, {"id": "901ac7709c2f1194791f2fb0dcb917e5939bd9dd", "source": "#include <print>\n#include <random>\n\nstruct Vector {\n float x, y, z;\n};\n\nint main()\n{\n std::uint32_t seed = 12345;\n std::philox4x32 engine;\n\n // 2x2x2\u500b\u306e\u30e9\u30f3\u30c0\u30e0\u306a\u30d9\u30af\u30c8\u30eb\u3092\u751f\u6210\u3059\u308b\n for (std::uint32_t x = 0; x < 2; ++x) {\n for (std::uint32_t y = 0; y < 2; ++y) {\n for (std::uint32_t z = 0; z < 2; ++z) {\n engine.seed(seed);\n engine.set_counter({x, y, z, 0});\n\n std::uniform_real_distribution<float> dist{0, 1.0};\n\n Vector vec {\n dist(engine),\n dist(engine),\n dist(engine)\n };\n std::println(\"{},{},{}\", vec.x, vec.y, vec.z);\n }\n }\n }\n}\n"}], "page_id": ["reference", "random", "philox_engine"]} ">
88
88
< nav class ="navbar navbar-default " role ="navigation ">
89
89
< div class ="container-fluid ">
90
90
< div class ="navbar-header ">
204
204
205
205
< p class ="text-right "> < small >
206
206
最終更新日時(UTC):
207
- < span itemprop ="datePublished " content ="2024-12-19T12:58:06 ">
208
- 2024年12月19日 12時58分06秒
207
+ < span itemprop ="datePublished " content ="2024-12-19T13:00:57 ">
208
+ 2024年12月19日 13時00分57秒
209
209
</ span >
210
210
< br />
211
211
< span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
@@ -623,7 +623,7 @@ <h3>基本的な使い方</h3>
623
623
624
624
< span class ="c1 "> // philox_engineのパラメータ設定済み別名であるphilox4x32を使用する。</ span >
625
625
< span class ="c1 "> // ランダムなシードを使用して初期化</ span >
626
- < span class ="n "> std </ span > < span class =" o " > :: </ span > < span class =" n " > philox4x32 </ span > < span class ="n "> engine</ span > < span class ="p "> {</ span > < span class ="n "> < a href ="random_device/op_call.html "> seed_gen()</ a > </ span > < span class ="p "> };</ span >
626
+ < span class ="n "> < a href =" philox4x32.html " > std::philox4x32 </ a > </ span > < span class ="n "> engine</ span > < span class ="p "> {</ span > < span class ="n "> < a href ="random_device/op_call.html "> seed_gen()</ a > </ span > < span class ="p "> };</ span >
627
627
628
628
< span class ="k "> for</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="n "> i</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> ;</ span > < span class ="n "> i</ span > < span class ="o "> <</ span > < span class ="mi "> 10</ span > < span class ="p "> ;</ span > < span class ="o "> ++</ span > < span class ="n "> i</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
629
629
< span class ="c1 "> // 乱数を生成</ span >
@@ -646,7 +646,7 @@ <h4>出力例</h4>
646
646
859307553
647
647
</ code > </ pre > </ p >
648
648
< h3 > 多次元の乱数を生成する例</ h3 >
649
- < p > < div class ="yata " id ="61d288c8424fc123814972fa9bf9211d67ee7a75 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../print.html "> <print></ a > </ span > < span class ="cp "> </ span >
649
+ < p > < div class ="yata " id ="901ac7709c2f1194791f2fb0dcb917e5939bd9dd "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../print.html "> <print></ a > </ span > < span class ="cp "> </ span >
650
650
< span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../random.html "> <random></ a > </ span > < span class ="cp "> </ span >
651
651
652
652
< span class ="k "> struct</ span > < span class ="n "> Vector</ span > < span class ="p "> {</ span >
@@ -656,9 +656,9 @@ <h3>多次元の乱数を生成する例</h3>
656
656
< span class ="kt "> int</ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span >
657
657
< span class ="p "> {</ span >
658
658
< span class ="n "> < a href ="../cstdint/uint32_t.html "> std::uint32_t</ a > </ span > < span class ="n "> seed</ span > < span class ="o "> =</ span > < span class ="mi "> 12345</ span > < span class ="p "> ;</ span >
659
- < span class ="n "> std </ span > < span class =" o " > :: </ span > < span class =" n " > philox4x32 </ span > < span class ="n "> engine</ span > < span class ="p "> ;</ span >
659
+ < span class ="n "> < a href =" philox4x32.html " > std::philox4x32 </ a > </ span > < span class ="n "> engine</ span > < span class ="p "> ;</ span >
660
660
661
- < span class ="c1 "> // 4x4x4個のランダムなベクトルを生成する </ span >
661
+ < span class ="c1 "> // 2x2x2個のランダムなベクトルを生成する </ span >
662
662
< span class ="k "> for</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../cstdint/uint32_t.html "> std::uint32_t</ a > </ span > < span class ="n "> x</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> ;</ span > < span class ="n "> x</ span > < span class ="o "> <</ span > < span class ="mi "> 2</ span > < span class ="p "> ;</ span > < span class ="o "> ++</ span > < span class ="n "> x</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
663
663
< span class ="k "> for</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../cstdint/uint32_t.html "> std::uint32_t</ a > </ span > < span class ="n "> y</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> ;</ span > < span class ="n "> y</ span > < span class ="o "> <</ span > < span class ="mi "> 2</ span > < span class ="p "> ;</ span > < span class ="o "> ++</ span > < span class ="n "> y</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
664
664
< span class ="k "> for</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="../cstdint/uint32_t.html "> std::uint32_t</ a > </ span > < span class ="n "> z</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> ;</ span > < span class ="n "> z</ span > < span class ="o "> <</ span > < span class ="mi "> 2</ span > < span class ="p "> ;</ span > < span class ="o "> ++</ span > < span class ="n "> z</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
0 commit comments