Files
hustoj/web/cppreference-zh/chmhelp/cpp-experimental-simd-deduce.html
2025-08-01 12:57:54 +08:00

142 lines
9.1 KiB
HTML

<!DOCTYPE html>
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>std::experimental::simd_abi::deduce</title>
<link rel="stylesheet" href="ext.css" />
<link rel="stylesheet" href="site_modules.css" />
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_experimental_simd_deduce skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading"><span style="font-size:0.7em; line-height:130%">std::experimental::simd_abi::</span>deduce</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-experimental.html">experimental</a>&lrm; | <a href="cpp-experimental-simd.html">simd</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<table class="t-dcl-begin">
<tbody>
<tr class="t-dsc-header">
<td>
<div>&#23450;&#20041;&#20110;&#22836;&#25991;&#20214; <code><a href="https://zh.cppreference.com/mwiki/index.php?title=cpp/header/experimental/simd&amp;action=edit&amp;redlink=1" class="new" title="cpp/header/experimental/simd&#65288;&#39029;&#38754;&#19981;&#23384;&#22312;&#65289;">&lt;experimental/simd&gt;</a></code></div>
</td>
<td></td>
<td></td>
</tr>
<tr class="t-dcl t-since-parallelism_ts_2">
<td>
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">template</span> <span class="sy1">&lt;</span> <span class="kw1">class</span> T, <a href="cpp-types-size_t.html"><span class="kw100">std::<span class="me2">size_t</span></span></a> N, <span class="kw1">class</span> ...<span class="me1">Abis</span> <span class="sy1">&gt;</span><br />
<span class="kw1">struct</span> deduce<span class="sy4">;</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td><span class="t-mark-rev t-since-parallelism-ts-2 t-mark-ts">(&#24182;&#34892; TS v2)</span></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>&#31867;&#22411; <span class="t-c"><span class="mw-geshi cpp source-cpp">deduce<span class="sy1">&lt;</span>T, N, Abis...<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">type</span></span></span> &#24403;&#19988;&#20165;&#24403;&#31526;&#21512;&#19979;&#21015;&#26465;&#20214;&#25165;&#23384;&#22312;&#65306;</p>
<ul>
<li><span class="t-c"><span class="mw-geshi cpp source-cpp">T</span></span> &#26159;&#21487;&#21521;&#37327;&#21270;&#30340;&#31867;&#22411;&#65292;&#19988;</li>
<li><span class="t-c"><span class="mw-geshi cpp source-cpp">simd_abi<span class="sy4">::</span><span class="me2">fixed_size</span><span class="sy1">&lt;</span>N<span class="sy1">&gt;</span></span></span> &#24471;&#21040;&#25903;&#25345;&#65292;&#19988;</li>
<li><span class="t-c"><span class="mw-geshi cpp source-cpp">Abis...</span></span> &#20013;&#30340;&#27599;&#20010;&#20803;&#32032;&#22343;&#20026; ABI &#26631;&#31614;</li>
</ul>
<p>&#24403; <span class="t-c"><span class="mw-geshi cpp source-cpp">deduce<span class="sy1">&lt;</span>T, N, Abis...<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">type</span></span></span> &#23384;&#22312;&#26102;&#20197; <code>DA</code> &#25351;&#20195;&#23427;&#65292;&#21017;</p>
<ul>
<li><span class="t-c"><span class="mw-geshi cpp source-cpp">simd_size_v<span class="sy1">&lt;</span>T, DA<span class="sy1">&gt;</span> <span class="sy1">==</span> N</span></span></li>
<li><span class="t-c"><span class="mw-geshi cpp source-cpp">simd<span class="sy1">&lt;</span>T, DA<span class="sy1">&gt;</span></span></span> &#21487;&#40664;&#35748;&#26500;&#36896;&#65292;&#21363;&#23427;&#21463;&#25903;&#25345;</li>
<li>&#33509; <span class="t-c"><span class="mw-geshi cpp source-cpp">N<span class="sy1">==</span><span class="nu0">1</span></span></span> &#21017; <code>DA</code> &#20026; <a href="cpp-experimental-simd-scalar.html"><code>simd_abi::scalar</code></a> &#65292;&#21542;&#21017;&#23427;&#26159;&#23454;&#29616;&#23450;&#20041;&#30340;</li>
</ul>
<h3><span class="mw-headline" id=".E6.88.90.E5.91.98.E7.B1.BB.E5.9E.8B">&#25104;&#21592;&#31867;&#22411;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc-hitem">
<td>&#21517;&#23383;</td>
<td>&#23450;&#20041;</td>
</tr>
<tr class="t-dsc">
<td><code>type</code></td>
<td>&#36866;&#21512;&#32473;&#23450;&#20803;&#32032;&#31867;&#22411; <code>T</code> &#21644;&#22823;&#23567; <code>N</code> &#30340; ABI &#26631;&#31614;&#31867;&#22411;</td>
</tr>
</table>
<h3><span class="mw-headline" id=".E8.BE.85.E5.8A.A9.E7.B1.BB.E5.9E.8B">&#36741;&#21161;&#31867;&#22411;</span></h3>
<table class="t-dcl-begin">
<tbody>
<tr class="t-dcl t-since-parallelism_ts_2">
<td>
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">template</span> <span class="sy1">&lt;</span> <span class="kw1">class</span> T, <a href="cpp-types-size_t.html"><span class="kw100">std::<span class="me2">size_t</span></span></a> N, <span class="kw1">class</span> ...<span class="me1">Abis</span> <span class="sy1">&gt;</span><br />
<span class="kw1">using</span> deduce_t <span class="sy1">=</span> <span class="kw1">typename</span> deduce<span class="sy1">&lt;</span>T, N, Abis...<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">type</span><span class="sy4">;</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td><span class="t-mark-rev t-since-parallelism-ts-2 t-mark-ts">(&#24182;&#34892; TS v2)</span></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<h3><span class="mw-headline" id=".E6.B3.A8.E8.A7.A3">&#27880;&#35299;</span></h3>
<p><code>simd_abi::deduce</code> &#23545; SFINAE &#21451;&#22909;&#12290;</p>
<p>&#36890;&#36807;&#27492;&#35774;&#26045;&#25512;&#23548;&#30340; ABI &#26631;&#31614;&#26159;&#23454;&#29616;&#36136;&#37327;&#29305;&#24615;&#12290;&#31616;&#21333;&#30340;&#23454;&#29616;&#21487;&#20197;&#31616;&#21333;&#22320;&#36820;&#22238; <span class="t-c"><span class="mw-geshi cpp source-cpp">fixed_size<span class="sy1">&lt;</span>N<span class="sy1">&gt;</span></span></span> &#12290;&#20248;&#21270;&#30340;&#23454;&#29616;&#21487;&#20197;&#23545;&#22823;&#22810;&#25968;&#36755;&#20837;&#36820;&#22238;&#23454;&#29616;&#23450;&#20041;&#30340;&#25193;&#23637; ABI &#26631;&#31614;&#12290;&#20174;&#32780;&#33509;&#20320;&#38656;&#35201;&#32473;&#23450;&#20803;&#32032;&#25968;&#30340; ABI &#26631;&#31614;&#65292;&#23601;&#20351;&#29992; <a href="cpp-experimental-simd-fixed_size.html"><code>fixed_size</code></a> &#65292;&#21542;&#21017;&#26356;&#24212;&#35813;&#29992; <code>deduce_t</code> &#12290;</p>
<h3><span class="mw-headline" id=".E7.A4.BA.E4.BE.8B">&#31034;&#20363;</span></h3>
<table class="metadata plainlinks ambox mbox-small-left ambox-notice" style="">
<tr>
<td class="mbox-empty-cell"></td>
<td class="mbox-text" style="">&#26412;&#33410;&#26410;&#23436;&#25104;<br />
&#21407;&#22240;&#65306;&#26242;&#26080;&#31034;&#20363;</td>
</tr>
</table>
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">&#21442;&#38405;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-experimental-simd-scalar.html"><span class="t-lines"><span>scalar</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-parallelism-ts-2 t-mark-ts">(&#24182;&#34892; TS v2)</span></span></span></div>
</div>
</td>
<td>&#23384;&#20648;&#21333;&#20010;&#20803;&#32032;&#30340;&#26631;&#31614;&#31867;&#22411;<br />
<span class="t-mark">(typedef)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-experimental-simd-fixed_size.html"><span class="t-lines"><span>fixed_size</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-parallelism-ts-2 t-mark-ts">(&#24182;&#34892; TS v2)</span></span></span></div>
</div>
</td>
<td>&#23384;&#20648;&#25351;&#23450;&#25968;&#37327;&#20803;&#32032;&#30340;&#26631;&#31614;&#31867;&#22411;<br />
<span class="t-mark">(&#21035;&#21517;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-experimental-simd-compatible.html"><span class="t-lines"><span>compatible</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-parallelism-ts-2 t-mark-ts">(&#24182;&#34892; TS v2)</span></span></span></div>
</div>
</td>
<td>&#30830;&#20445; ABI &#20860;&#23481;&#24615;&#30340;&#26631;&#31614;&#31867;&#22411;<br />
<span class="t-mark">(&#21035;&#21517;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-experimental-simd-native.html"><span class="t-lines"><span>native</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-parallelism-ts-2 t-mark-ts">(&#24182;&#34892; TS v2)</span></span></span></div>
</div>
</td>
<td>&#26368;&#26377;&#25928;&#29575;&#30340;&#26631;&#31614;&#31867;&#22411;<br />
<span class="t-mark">(&#21035;&#21517;&#27169;&#26495;)</span></td>
</tr>
</table>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>