update Squeeze op doc

This commit is contained in:
LiWanpeng 2026-07-21 16:01:54 +08:00
parent fe199d5e51
commit 6c08e51d8a
7 changed files with 165 additions and 33 deletions

Binary file not shown.

View File

@ -5,8 +5,8 @@ Squeeze
输入:
- **src** - 输入地址
- **total_copy_size** - 计算得到的总共需拷贝的数据量,单位为字节
- **core_mask** - 核掩码。
- **elem_num** - 需要拷贝的元素个数
- **core_mask** - 核掩码(仅共享存储版本使用)
输出:
- **dst** - 输出地址。
@ -19,11 +19,15 @@ Squeeze
- FT78NE 支持int8, int16, int32, fp32, fp64, cplx64, cplx128
- MT7004 支持fp16, fp32, int16, int32, cplx64
**共享/私有存储版本:**
**共享存储版本:**
.. c:function:: void anytype_squeeze_anycore(void* src, void* dst, int total_copy_size, int core_mask)
各种数据类型、私有及共享空间版本均使用该函数。
.. c:function:: void i8_squeeze_s(int8_t* src, int8_t* dst, size_t elem_num, int core_mask)
.. c:function:: void i16_squeeze_s(int16_t* src, int16_t* dst, size_t elem_num, int core_mask)
.. c:function:: void i32_squeeze_s(int32_t* src, int32_t* dst, size_t elem_num, int core_mask)
.. c:function:: void fp_squeeze_s(float* src, float* dst, size_t elem_num, int core_mask)
.. c:function:: void hp_squeeze_s(float16* src, float16* dst, size_t elem_num, int core_mask)
.. c:function:: void c64_squeeze_s(float* src, float* dst, size_t elem_num, int core_mask)
.. c:function:: void c128_squeeze_s(double* src, double* dst, size_t elem_num, int core_mask)
**C调用示例**
@ -31,12 +35,38 @@ Squeeze
:linenos:
:emphasize-lines: 8
//MT7004示例
void main(){
int core_mask = 0b1111; // 测试单核时核掩码设置为0b0001即可
int core_num = GetCoreNum(core_mask);
float* src = (float*)0x88000000; // 测试私有空间时地址设置在私有空间内即可
float* src = (float*)0x88000000;
float* dst = (float*)0x98000000;
int shape[3] = {1, 10, 10};
int total_copy_size = shape[0] * shape[1] * shape[2] * sizeof(float);
anytype_squeeze_anycore(src, dst, total_copy_size, core_mask);
size_t elem_num = shape[0] * shape[1] * shape[2];
fp_squeeze_s(src, dst, elem_num, core_mask);
}
**私有存储版本:**
.. c:function:: void i8_squeeze_p(int8_t* src, int8_t* dst, size_t elem_num)
.. c:function:: void i16_squeeze_p(int16_t* src, int16_t* dst, size_t elem_num)
.. c:function:: void i32_squeeze_p(int32_t* src, int32_t* dst, size_t elem_num)
.. c:function:: void fp_squeeze_p(float* src, float* dst, size_t elem_num)
.. c:function:: void hp_squeeze_p(float16* src, float16* dst, size_t elem_num)
.. c:function:: void c64_squeeze_p(float* src, float* dst, size_t elem_num)
.. c:function:: void c128_squeeze_p(double* src, double* dst, size_t elem_num)
**C调用示例**
.. code-block:: c
:linenos:
:emphasize-lines: 7
//MT7004示例
void main(){
float16* src = (float16*)0x10000000;
float16* dst = (float16*)0x10020000;
int shape[3] = {1, 10, 10};
size_t elem_num = shape[0] * shape[1] * shape[2];
hp_squeeze_p(src, dst, elem_num);
}

View File

@ -314,8 +314,8 @@
<dl class="simple">
<dt>输入:</dt><dd><ul class="simple">
<li><p><strong>src</strong> - 输入地址</p></li>
<li><p><strong>total_copy_size</strong> - 计算得到的总共需拷贝的数据量,单位为字节</p></li>
<li><p><strong>core_mask</strong> - 核掩码。</p></li>
<li><p><strong>elem_num</strong> - 需拷贝的元素个数。</p></li>
<li><p><strong>core_mask</strong> - 核掩码(仅共享存储版本使用)</p></li>
</ul>
</dd>
<dt>输出:</dt><dd><ul class="simple">
@ -333,25 +333,101 @@
<li><p>MT7004 支持fp16, fp32, int16, int32, cplx64</p></li>
</ul>
</div>
<p><strong>共享/私有存储版本:</strong></p>
<p><strong>共享存储版本:</strong></p>
<dl class="c function">
<dt class="sig sig-object c" id="c.anytype_squeeze_anycore">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">anytype_squeeze_anycore</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">total_copy_size</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.anytype_squeeze_anycore" title="永久链接至目标"></a><br /></dt>
<dt class="sig sig-object c" id="c.i8_squeeze_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i8_squeeze_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_squeeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i16_squeeze_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i16_squeeze_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int16_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">int16_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i16_squeeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i32_squeeze_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i32_squeeze_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i32_squeeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.fp_squeeze_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">fp_squeeze_s</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.fp_squeeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.hp_squeeze_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hp_squeeze_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">float16</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">float16</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_squeeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.c64_squeeze_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">c64_squeeze_s</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.c64_squeeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.c128_squeeze_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">c128_squeeze_s</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.c128_squeeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<p>各种数据类型、私有及共享空间版本均使用该函数。</p>
<p><strong>C调用示例</strong></p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(){</span>
<span class="linenos">2</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">core_mask</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mb">0b1111</span><span class="p">;</span><span class="w"> </span><span class="c1">// 测试单核时核掩码设置为0b0001即可</span>
<span class="linenos">3</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">core_num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">GetCoreNum</span><span class="p">(</span><span class="n">core_mask</span><span class="p">);</span>
<span class="linenos">4</span><span class="w"> </span><span class="kt">float</span><span class="o">*</span><span class="w"> </span><span class="n">src</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="kt">float</span><span class="o">*</span><span class="p">)</span><span class="mh">0x88000000</span><span class="p">;</span><span class="w"> </span><span class="c1">// 测试私有空间时地址设置在私有空间内即可</span>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="c1">//MT7004示例</span>
<span class="linenos">2</span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(){</span>
<span class="linenos">3</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">core_mask</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mb">0b1111</span><span class="p">;</span><span class="w"> </span><span class="c1">// 测试单核时核掩码设置为0b0001即可</span>
<span class="linenos">4</span><span class="w"> </span><span class="kt">float</span><span class="o">*</span><span class="w"> </span><span class="n">src</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="kt">float</span><span class="o">*</span><span class="p">)</span><span class="mh">0x88000000</span><span class="p">;</span>
<span class="linenos">5</span><span class="w"> </span><span class="kt">float</span><span class="o">*</span><span class="w"> </span><span class="n">dst</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="kt">float</span><span class="o">*</span><span class="p">)</span><span class="mh">0x98000000</span><span class="p">;</span>
<span class="linenos">6</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">};</span>
<span class="linenos">7</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">total_copy_size</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">sizeof</span><span class="p">(</span><span class="kt">float</span><span class="p">);</span>
<span class="hll"><span class="linenos">8</span><span class="w"> </span><span class="n">anytype_squeeze_anycore</span><span class="p">(</span><span class="n">src</span><span class="p">,</span><span class="w"> </span><span class="n">dst</span><span class="p">,</span><span class="w"> </span><span class="n">total_copy_size</span><span class="p">,</span><span class="w"> </span><span class="n">core_mask</span><span class="p">);</span>
<span class="linenos">7</span><span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">elem_num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
<span class="hll"><span class="linenos">8</span><span class="w"> </span><span class="n">fp_squeeze_s</span><span class="p">(</span><span class="n">src</span><span class="p">,</span><span class="w"> </span><span class="n">dst</span><span class="p">,</span><span class="w"> </span><span class="n">elem_num</span><span class="p">,</span><span class="w"> </span><span class="n">core_mask</span><span class="p">);</span>
</span><span class="linenos">9</span><span class="p">}</span>
</pre></div>
</div>
<p><strong>私有存储版本:</strong></p>
<dl class="c function">
<dt class="sig sig-object c" id="c.i8_squeeze_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i8_squeeze_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_squeeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i16_squeeze_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i16_squeeze_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int16_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">int16_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i16_squeeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i32_squeeze_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i32_squeeze_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i32_squeeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.fp_squeeze_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">fp_squeeze_p</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.fp_squeeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.hp_squeeze_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hp_squeeze_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">float16</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">float16</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_squeeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.c64_squeeze_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">c64_squeeze_p</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.c64_squeeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.c128_squeeze_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">c128_squeeze_p</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.c128_squeeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<p><strong>C调用示例</strong></p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="c1">//MT7004示例</span>
<span class="linenos">2</span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(){</span>
<span class="linenos">3</span><span class="w"> </span><span class="n">float16</span><span class="o">*</span><span class="w"> </span><span class="n">src</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">float16</span><span class="o">*</span><span class="p">)</span><span class="mh">0x10000000</span><span class="p">;</span>
<span class="linenos">4</span><span class="w"> </span><span class="n">float16</span><span class="o">*</span><span class="w"> </span><span class="n">dst</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">float16</span><span class="o">*</span><span class="p">)</span><span class="mh">0x10020000</span><span class="p">;</span>
<span class="linenos">5</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">};</span>
<span class="linenos">6</span><span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">elem_num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
<span class="hll"><span class="linenos">7</span><span class="w"> </span><span class="n">hp_squeeze_p</span><span class="p">(</span><span class="n">src</span><span class="p">,</span><span class="w"> </span><span class="n">dst</span><span class="p">,</span><span class="w"> </span><span class="n">elem_num</span><span class="p">);</span>
</span><span class="linenos">8</span><span class="p">}</span>
</pre></div>
</div>
</section>

View File

@ -99,16 +99,14 @@
<li><a href="functionlib/dsplib/expand_dims.html#c.anytype_expand_dims_anycore">anytype_expand_dims_anycoreC function</a>
</li>
<li><a href="functionlib/dsplib/fillv2.html#c.anytype_fillv2_p">anytype_fillv2_pC function</a>
</li>
<li><a href="functionlib/dsplib/fillv2.html#c.anytype_fillv2_s">anytype_fillv2_sC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/fillv2.html#c.anytype_fillv2_s">anytype_fillv2_sC function</a>
</li>
<li><a href="functionlib/dsplib/reverse_sequence.html#c.anytype_reverse_sequence_anycore">anytype_reverse_sequence_anycoreC function</a>
</li>
<li><a href="functionlib/dsplib/reversev2.html#c.anytype_reversev2_anycore">anytype_reversev2_anycoreC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.anytype_squeeze_anycore">anytype_squeeze_anycoreC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.anytype_unsqueeze_anycore">anytype_unsqueeze_anycoreC function</a>
</li>
@ -353,6 +351,10 @@
<li><a href="functionlib/dsplib/square.html#c.c128_square_p">c128_square_pC function</a>
</li>
<li><a href="functionlib/dsplib/square.html#c.c128_square_s">c128_square_sC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.c128_squeeze_p">c128_squeeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.c128_squeeze_s">c128_squeeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/stack.html#c.c128_stack_p">c128_stack_pC function</a>
</li>
@ -655,6 +657,10 @@
<li><a href="functionlib/dsplib/square.html#c.c64_square_p">c64_square_pC function</a>
</li>
<li><a href="functionlib/dsplib/square.html#c.c64_square_s">c64_square_sC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.c64_squeeze_p">c64_squeeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.c64_squeeze_s">c64_squeeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/stack.html#c.c64_stack_p">c64_stack_pC function</a>
</li>
@ -1592,10 +1598,10 @@
</li>
<li><a href="functionlib/dsplib/lrn.html#c.fp_lrn_p">fp_lrn_pC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/lrn.html#c.fp_lrn_s">fp_lrn_sC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/lsh_projection.html#c.fp_lsh_projection_p">fp_lsh_projection_pC function</a>
</li>
<li><a href="functionlib/dsplib/lsh_projection.html#c.fp_lsh_projection_s">fp_lsh_projection_sC function</a>
@ -1945,6 +1951,10 @@
<li><a href="functionlib/dsplib/square.html#c.fp_square_p">fp_square_pC function</a>
</li>
<li><a href="functionlib/dsplib/square.html#c.fp_square_s">fp_square_sC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.fp_squeeze_p">fp_squeeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.fp_squeeze_s">fp_squeeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/stack.html#c.fp_stack_p">fp_stack_pC function</a>
</li>
@ -2426,10 +2436,10 @@
</li>
<li><a href="functionlib/dsplib/lstmgradweight.html#c.hp_lstmgradweight_s">hp_lstmgradweight_sC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/matmul_fusion.html#c.hp_matmul_fusion_p">hp_matmul_fusion_pC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/matmul_fusion.html#c.hp_matmul_fusion_s">hp_matmul_fusion_sC function</a>
</li>
<li><a href="functionlib/dsplib/maximumgrad.html#c.hp_maximum_grad_p">hp_maximum_grad_pC function</a>
@ -2733,6 +2743,10 @@
<li><a href="functionlib/dsplib/square.html#c.hp_square_p">hp_square_pC function</a>
</li>
<li><a href="functionlib/dsplib/square.html#c.hp_square_s">hp_square_sC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.hp_squeeze_p">hp_squeeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.hp_squeeze_s">hp_squeeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/stack.html#c.hp_stack_p">hp_stack_pC function</a>
</li>
@ -3159,6 +3173,10 @@
<li><a href="functionlib/dsplib/square.html#c.i16_square_p">i16_square_pC function</a>
</li>
<li><a href="functionlib/dsplib/square.html#c.i16_square_s">i16_square_sC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.i16_squeeze_p">i16_squeeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.i16_squeeze_s">i16_squeeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/stack.html#c.i16_stack_p">i16_stack_pC function</a>
</li>
@ -3502,10 +3520,10 @@
</li>
<li><a href="functionlib/dsplib/scatter_nd_update.html#c.i32_scatter_nd_update_p">i32_scatter_nd_update_pC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/scatter_nd_update.html#c.i32_scatter_nd_update_s">i32_scatter_nd_update_sC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/select.html#c.i32_select_p">i32_select_pC function</a>
</li>
<li><a href="functionlib/dsplib/select.html#c.i32_select_s">i32_select_sC function</a>
@ -3569,6 +3587,10 @@
<li><a href="functionlib/dsplib/square.html#c.i32_square_p">i32_square_pC function</a>
</li>
<li><a href="functionlib/dsplib/square.html#c.i32_square_s">i32_square_sC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.i32_squeeze_p">i32_squeeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.i32_squeeze_s">i32_squeeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/stack.html#c.i32_stack_p">i32_stack_pC function</a>
</li>
@ -4113,6 +4135,10 @@
<li><a href="functionlib/dsplib/square.html#c.i8_square_p">i8_square_pC function</a>
</li>
<li><a href="functionlib/dsplib/square.html#c.i8_square_s">i8_square_sC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.i8_squeeze_p">i8_squeeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/squeeze.html#c.i8_squeeze_s">i8_squeeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/stack.html#c.i8_stack_p">i8_stack_pC function</a>
</li>

Binary file not shown.

File diff suppressed because one or more lines are too long