|
84 | 84 |
|
85 | 85 | </head>
|
86 | 86 | <body>
|
87 |
| -<header data-kunai-mdinfo="{"meta": {"header": ["linalg"], "id-type": ["function template"], "namespace": ["std::linalg"], "cpp": ["cpp26"]}, "sources": [], "page_id": ["reference", "linalg", "add"]}"> |
| 87 | +<header data-kunai-mdinfo="{"meta": {"header": ["linalg"], "id-type": ["function template"], "namespace": ["std::linalg"], "cpp": ["cpp26"]}, "sources": [{"id": "9525a987ab2100597f9451265114961d2720d647", "source": "#include <cmath>\n#include <execution>\n#include <iostream>\n#include <linalg>\n#include <mdspan>\n#include <vector>\n\ntemplate <class Vector>\nvoid print(Vector v) {\n for (int i = 0; i < v.extent(0) - 1; ++i) {\n std::cout << v[i] << ', ';\n }\n std::cout << v[v.extent(0) - 1] << std::endl;\n}\n\nint main()\n{\n constexpr size_t N = 3;\n\n std::vector<double> a_vec({1, 2, 3});\n std::mdspan a(a_vec.data(), N);\n\n std::vector<double> b_vec({4, 5, 6});\n std::mdspan b(b_vec.data(), N);\n\n std::vector<double> c_vec(N);\n std::mdspan c(c_vec.data(), N);\n\n // (1)\n std::linalg::add(a, b, c);\n print(c);\n\n // (2)\n std::linalg::add(std::execution::par, a, b, c);\n print(c);\n\n return 0;\n}\n"}], "page_id": ["reference", "linalg", "add"]}"> |
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-07-10T06:46:47"> |
208 |
| - 2024年07月10日 06時46分47秒 |
| 207 | + <span itemprop="datePublished" content="2024-07-21T07:06:19"> |
| 208 | + 2024年07月21日 07時06分19秒 |
209 | 209 | </span>
|
210 | 210 | <br/>
|
211 | 211 | <span itemprop="author" itemscope itemtype="http://schema.org/Person">
|
@@ -281,7 +281,51 @@ <h2>戻り値</h2>
|
281 | 281 | <h2>備考</h2>
|
282 | 282 | <p><code>z</code>を<code>x</code>または<code>y</code>としてもよい。</p>
|
283 | 283 | <h2>例</h2>
|
| 284 | +<p><strong>[注意] 処理系にあるコンパイラで確認していないため、間違っているかもしれません。</strong></p> |
| 285 | +<p><div class="yata" id="9525a987ab2100597f9451265114961d2720d647"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../cmath.html"><cmath></a></span><span class="cp"></span> |
| 286 | +<span class="cp">#include</span> <span class="cpf"><a href="../execution.html"><execution></a></span><span class="cp"></span> |
| 287 | +<span class="cp">#include</span> <span class="cpf"><a href="../iostream.html"><iostream></a></span><span class="cp"></span> |
| 288 | +<span class="cp">#include</span> <span class="cpf"><a href="../linalg.html"><linalg></a></span><span class="cp"></span> |
| 289 | +<span class="cp">#include</span> <span class="cpf"><a href="../mdspan.html"><mdspan></a></span><span class="cp"></span> |
| 290 | +<span class="cp">#include</span> <span class="cpf"><a href="../vector.html"><vector></a></span><span class="cp"></span> |
| 291 | + |
| 292 | +<span class="k">template</span> <span class="o"><</span><span class="k">class</span> <span class="nc">Vector</span><span class="o">></span> |
| 293 | +<span class="kt">void</span> <span class="n">print</span><span class="p">(</span><span class="n">Vector</span> <span class="n">v</span><span class="p">)</span> <span class="p">{</span> |
| 294 | + <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="n">v</span><span class="p">.</span><span class="n">extent</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span> |
| 295 | + <span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o"><<</span> <span class="n">v</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o"><<</span> <span class="err">'</span><span class="p">,</span> <span class="err">'</span><span class="p">;</span> |
| 296 | + <span class="p">}</span> |
| 297 | + <span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o"><<</span> <span class="n">v</span><span class="p">[</span><span class="n">v</span><span class="p">.</span><span class="n">extent</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o"><<</span> <span class="n"><a href="../ostream/endl.html">std::endl</a></span><span class="p">;</span> |
| 298 | +<span class="p">}</span> |
| 299 | + |
| 300 | +<span class="kt">int</span> <span class="n">main</span><span class="p">()</span> |
| 301 | +<span class="p">{</span> |
| 302 | + <span class="k">constexpr</span> <span class="kt">size_t</span> <span class="n">N</span> <span class="o">=</span> <span class="mi">3</span><span class="p">;</span> |
| 303 | + |
| 304 | + <span class="n"><a href="../vector/vector.html">std::vector</a></span><span class="o"><</span><span class="kt">double</span><span class="o">></span> <span class="n">a_vec</span><span class="p">({</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">});</span> |
| 305 | + <span class="n"><a href="../mdspan/mdspan.html">std::mdspan</a></span> <span class="nf">a</span><span class="p">(</span><span class="n">a_vec</span><span class="p">.</span><span class="n">data</span><span class="p">(),</span> <span class="n">N</span><span class="p">);</span> |
| 306 | + |
| 307 | + <span class="n"><a href="../vector/vector.html">std::vector</a></span><span class="o"><</span><span class="kt">double</span><span class="o">></span> <span class="n">b_vec</span><span class="p">({</span><span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">});</span> |
| 308 | + <span class="n"><a href="../mdspan/mdspan.html">std::mdspan</a></span> <span class="nf">b</span><span class="p">(</span><span class="n">b_vec</span><span class="p">.</span><span class="n">data</span><span class="p">(),</span> <span class="n">N</span><span class="p">);</span> |
| 309 | + |
| 310 | + <span class="n"><a href="../vector/vector.html">std::vector</a></span><span class="o"><</span><span class="kt">double</span><span class="o">></span> <span class="n">c_vec</span><span class="p">(</span><span class="n">N</span><span class="p">);</span> |
| 311 | + <span class="n"><a href="../mdspan/mdspan.html">std::mdspan</a></span> <span class="nf">c</span><span class="p">(</span><span class="n">c_vec</span><span class="p">.</span><span class="n">data</span><span class="p">(),</span> <span class="n">N</span><span class="p">);</span> |
| 312 | + |
| 313 | + <span class="c1">// (1)</span> |
| 314 | + <span class="n"><span style="color:#ff0000">std::linalg::add</span></span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">);</span> |
| 315 | + <span class="n">print</span><span class="p">(</span><span class="n">c</span><span class="p">);</span> |
| 316 | + |
| 317 | + <span class="c1">// (2)</span> |
| 318 | + <span class="n"><span style="color:#ff0000">std::linalg::add</span></span><span class="p">(</span><span class="n"><a href="../execution/execution/execution_policy.html">std::execution::par</a></span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">);</span> |
| 319 | + <span class="n">print</span><span class="p">(</span><span class="n">c</span><span class="p">);</span> |
| 320 | + |
| 321 | + <span class="k">return</span> <span class="mi">0</span><span class="p">;</span> |
| 322 | +<span class="p">}</span> |
| 323 | +</code></pre></div> |
| 324 | +</div></p> |
284 | 325 | <h3>出力</h3>
|
| 326 | +<p><pre><code>5, 7, 9 |
| 327 | +5, 7, 9 |
| 328 | +</code></pre></p> |
285 | 329 | <h2>バージョン</h2>
|
286 | 330 | <h3>言語</h3>
|
287 | 331 | <ul>
|
|
0 commit comments