FillV2
=================

创建一个Tensor，根据指定的shape，将其值由value进行填充。

输入：
        - **value** - 填充值的地址
        - **length** - 由指定shape计算出的张量总长度。
        - **type_size** - 填充值的数据类型的长度
        - **core_mask** - 核掩码。

输出：
        - **output** - 输出地址。

支持平台：
        ``FT78NE``
        ``MT7004``

.. note::
    - FT78NE 支持int8, int16, int32, fp32, fp64, cplx64, cplx128
    - MT7004 支持fp16, fp32, int16, int32, cplx64

**共享存储版本:**

.. c:function:: void anytype_fillv2_s(void* value, void* output, int length, int type_size, int core_mask)

对于不同数据类型，改变type_size参数即可。

**C调用示例：**

.. code-block:: c
    :linenos:
    :emphasize-lines: 15

    void main() {
        float* input = (float*)0xA0000000;
        float value = 789.1;
        float* output = (float*)0x88000000;
        int i;
        int length = 1000;
        int core_mask = 0b1111;
        int core_id = get_core_id();
        int logic_core_id = GetLogicCoreId(core_mask, core_id);
        int core_num = GetCoreNum(core_mask);
        if (logic_core_id == 0) {
            *input = value;
        }
        sys_bar(0, core_num); // 初始化参数完成后进行同步
        anytype_fillv2_s(input, output, length, 4, core_mask);
    }

**私有存储版本:**

.. c:function:: void anytype_fillv2_p(void* value, void* output, int length, int type_size, int core_mask)

**C调用示例：**

.. code-block:: c
    :linenos:
    :emphasize-lines: 9

    void main() {
        float* input = (float*)0x10000000;
        float value = 789.1;
        float* output = (float*)0x10010000;
        int i;
        int length = 1000;
        int core_mask = 0b0001; // 要启动哪一个核，就将哪一位设置为1，只允许存在一个核心启动
        *input = value;
        anytype_fillv2_p(input, output, length, 4, core_mask);
    }