已合并
Docs: data_type_utils相关接口资料更新 #680
ren-botao创建于 7月28日
Docs: data_type_utils相关接口资料更新 #680
已合并
共 31 个文件变更+368-29
| @@ -65,3 +65,5 @@ tbetoolkits-*.log | |||
| 65 | # 3rd package | 65 | # 3rd package |
| 66 | third_party/ | 66 | third_party/ |
| 67 | oat_reports/ | 67 | oat_reports/ |
| 68 | +.claude/ | ||
| 69 | +.opencode/ | ||
| @@ -62,6 +62,14 @@ | |||
| 62 | - [TypeSize](data_type_utils/TypeSize.md) | 62 | - [TypeSize](data_type_utils/TypeSize.md) |
| 63 | - [ToOpDataType](data_type_utils/ToOpDataType.md) | 63 | - [ToOpDataType](data_type_utils/ToOpDataType.md) |
| 64 | - [ToAclDataType](data_type_utils/ToAclDataType.md) | 64 | - [ToAclDataType](data_type_utils/ToAclDataType.md) |
| 65 | + - [IsComplexType](data_type_utils/IsComplexType.md) | ||
| 66 | + - [IsFloatingType](data_type_utils/IsFloatingType.md) | ||
| 67 | + - [IsIntegralType](data_type_utils/IsIntegralType.md) | ||
| 68 | + - [IsIntegralType(含bool)](data_type_utils/IsIntegralType_bool.md) | ||
| 69 | + - [CanCast](data_type_utils/CanCast.md) | ||
| 70 | + - [PromoteType](data_type_utils/PromoteType.md) | ||
| 71 | + - [CheckType](data_type_utils/CheckType.md) | ||
| 72 | + - [ToString](data_type_utils/ToString.md) | ||
| 65 | - [预留接口](data_type_utils/reserved_interface_data_type_utils.md) | 73 | - [预留接口](data_type_utils/reserved_interface_data_type_utils.md) |
| 66 | 74 | ||
| 67 | - [format\_utils](format_utils/format_utils.md) | 75 | - [format\_utils](format_utils/format_utils.md) |
| @@ -131,8 +139,8 @@ | |||
| 131 | - [IsContiguous](tensor_view_utils/IsContiguous.md) | 139 | - [IsContiguous](tensor_view_utils/IsContiguous.md) |
| 132 | - [预留接口](tensor_view_utils/reserved_interface_tensor_view_utils.md) | 140 | - [预留接口](tensor_view_utils/reserved_interface_tensor_view_utils.md) |
| 133 | 141 | ||
| 134 | - - [op\_common相关接口](op_common_related_interface/op_common_related_interface.md) | 142 | + - [op\_common相关接口(废弃)](op_common_related_interface/op_common_related_interface.md) |
| 135 | - - [data\_type\_utils](op_common_related_interface/data_type_utils-6.md) | 143 | + - [data\_type\_utils(废弃)](op_common_related_interface/data_type_utils-6.md) |
| 136 | - [IsComplexType](op_common_related_interface/IsComplexType.md) | 144 | - [IsComplexType](op_common_related_interface/IsComplexType.md) |
| 137 | - [IsFloatingType](op_common_related_interface/IsFloatingType.md) | 145 | - [IsFloatingType](op_common_related_interface/IsFloatingType.md) |
| 138 | - [IsIntegralType](op_common_related_interface/IsIntegralType.md) | 146 | - [IsIntegralType](op_common_related_interface/IsIntegralType.md) |
| @@ -52,7 +52,7 @@ | |||
| 52 | | [shape_utils](shape_utils/shape_utils.md) | 提供了shape相关的基础操作,例如shape打印等。 | aclnn/opdev/shape_utils.h | | 52 | | [shape_utils](shape_utils/shape_utils.md) | 提供了shape相关的基础操作,例如shape打印等。 | aclnn/opdev/shape_utils.h | |
| 53 | | [small_vector](small_vector/small_vector.md) | 详细介绍了SmallVector类,该类为aclnn中实现的高效vector数据结构,主要针对已知数据量较小的场景。 | aclnn/opdev/small_vector.h | | 53 | | [small_vector](small_vector/small_vector.md) | 详细介绍了SmallVector类,该类为aclnn中实现的高效vector数据结构,主要针对已知数据量较小的场景。 | aclnn/opdev/small_vector.h | |
| 54 | | [tensor_view_utils](tensor_view_utils/tensor_view_utils.md) | 提供了对于View类的基础操作,例如判断aclTensor是否连续等。 | aclnn/opdev/tensor_view_utils.h | | 54 | | [tensor_view_utils](tensor_view_utils/tensor_view_utils.md) | 提供了对于View类的基础操作,例如判断aclTensor是否连续等。 | aclnn/opdev/tensor_view_utils.h | |
| 55 | -| [data_type_utils](op_common_related_interface/data_type_utils-6.md) | 提供了DataType相关的基础接口,例如判断指定DataType是否为整数类型等。 | aclnn/opdev/op_common/data_type_utils.h | | 55 | +| [data_type_utils](op_common_related_interface/data_type_utils-6.md) | 提供了DataType相关的基础接口,例如判断指定DataType是否为整数类型等。 | aclnn/opdev/op_common/data_type_utils.h<br>**须知:该头文件后续版本会废弃,请使用aclnn/opdev/data_type_utils.h定义的接口替换** | |
| 56 | | [aicpu_args_handler](aicpu_related_interface/aicpu_args_handler.md) | 提供了AI CPU相关的组合计算任务的处理逻辑,例如拼接计算任务相关的参数等。 | aclnn/opdev/aicpu/aicpu_args_handler.h | | 56 | | [aicpu_args_handler](aicpu_related_interface/aicpu_args_handler.md) | 提供了AI CPU相关的组合计算任务的处理逻辑,例如拼接计算任务相关的参数等。 | aclnn/opdev/aicpu/aicpu_args_handler.h | |
| 57 | | [aicpu_ext_info_handle](aicpu_related_interface/aicpu_ext_info_handle.md) | 提供了AI CPU相关的计算任务拓展参数的处理逻辑,例如拼接解析拓展参数的接口。 | aclnn/opdev/aicpu/aicpu_ext_info_handle.h | | 57 | | [aicpu_ext_info_handle](aicpu_related_interface/aicpu_ext_info_handle.md) | 提供了AI CPU相关的计算任务拓展参数的处理逻辑,例如拼接解析拓展参数的接口。 | aclnn/opdev/aicpu/aicpu_ext_info_handle.h | |
| 58 | | [aicpu_task](aicpu_related_interface/aicpu_task.md) | 提供了AI CPU任务设置、下发等逻辑,例如设置调用哪个AI CPU算子,设置算子输入、输出等接口。 | aclnn/opdev/aicpu/aicpu_task.h | | 58 | | [aicpu_task](aicpu_related_interface/aicpu_task.md) | 提供了AI CPU任务设置、下发等逻辑,例如设置调用哪个AI CPU算子,设置算子输入、输出等接口。 | aclnn/opdev/aicpu/aicpu_task.h | |
| @@ -0,0 +1,38 @@ | |||
| 1 | +# CanCast | ||
| 2 | + | ||
| 3 | +## 功能说明 | ||
| 4 | + | ||
| 5 | +判断源数据类型是否可以cast到目的数据类型。 | ||
| 6 | + | ||
| 7 | +## 函数原型 | ||
| 8 | + | ||
| 9 | +```cpp | ||
| 10 | +bool CanCast(const ge::DataType from, const ge::DataType to) | ||
| 11 | +``` | ||
| 12 | + | ||
| 13 | +## 参数说明 | ||
| 14 | + | ||
| 15 | +| 参数 | 输入/输出 | 说明 | | ||
| 16 | +| --- | --- | --- | | ||
| 17 | +| from | 输入 | 源数据类型。 | | ||
| 18 | +| to | 输入 | 目的数据类型。 | | ||
| 19 | + | ||
| 20 | +## 返回值说明 | ||
| 21 | + | ||
| 22 | +若成功cast返回true,否则返回false。 | ||
| 23 | + | ||
| 24 | +## 约束说明 | ||
| 25 | + | ||
| 26 | +无 | ||
| 27 | + | ||
| 28 | +## 调用示例 | ||
| 29 | + | ||
| 30 | +```cpp | ||
| 31 | +// 校验dtype是否可以转为int8类型,不可以则提前返回 | ||
| 32 | +void Func(const ge::DataType dtype) { | ||
| 33 | + if (!CanCast(dtype, DT_INT8)) { | ||
| 34 | + return; | ||
| 35 | + } | ||
| 36 | + // 后续执行算子计算逻辑 | ||
| 37 | +} | ||
| 38 | +``` | ||
| @@ -0,0 +1,38 @@ | |||
| 1 | +# CheckType | ||
| 2 | + | ||
| 3 | +## 功能说明 | ||
| 4 | + | ||
| 5 | +判断给定数据类型是否在合法数据类型列表中。若在列表中找到返回true,否则返回false。 | ||
| 6 | + | ||
| 7 | +## 函数原型 | ||
| 8 | + | ||
| 9 | +```cpp | ||
| 10 | +bool CheckType(const DataType dtype, const std::initializer_list<DataType>& valid_types) | ||
| 11 | +``` | ||
| 12 | + | ||
| 13 | +## 参数说明 | ||
| 14 | + | ||
| 15 | +| 参数 | 输入/输出 | 说明 | | ||
| 16 | +| --- | --- | --- | | ||
| 17 | +| dtype | 输入 | 待检查的数据类型。 | | ||
| 18 | +| valid_types | 输入 | 合法数据类型列表。 | | ||
| 19 | + | ||
| 20 | +## 返回值说明 | ||
| 21 | + | ||
| 22 | +若`dtype`在`valid_types`列表中返回true,否则返回false。 | ||
| 23 | + | ||
| 24 | +## 约束说明 | ||
| 25 | + | ||
| 26 | +无 | ||
| 27 | + | ||
| 28 | +## 调用示例 | ||
| 29 | + | ||
| 30 | +```cpp | ||
| 31 | +// 校验dtype是否为float16或float32,不是则提前返回 | ||
| 32 | +void Func(const ge::DataType dtype) { | ||
| 33 | + if (!CheckType(dtype, {DT_FLOAT16, DT_FLOAT})) { | ||
| 34 | + return; | ||
| 35 | + } | ||
| 36 | + // 后续执行算子计算逻辑 | ||
| 37 | +} | ||
| 38 | +``` | ||
| @@ -0,0 +1,37 @@ | |||
| 1 | +# IsComplexType | ||
| 2 | + | ||
| 3 | +## 功能说明 | ||
| 4 | + | ||
| 5 | +判断输入的数据类型是否为复数类,包括Complex128、Complex64、Complex32。 | ||
| 6 | + | ||
| 7 | +## 函数原型 | ||
| 8 | + | ||
| 9 | +```cpp | ||
| 10 | +bool IsComplexType(const ge::DataType type) | ||
| 11 | +``` | ||
| 12 | + | ||
| 13 | +## 参数说明 | ||
| 14 | + | ||
| 15 | +| 参数 | 输入/输出 | 说明 | | ||
| 16 | +| --- | --- | --- | | ||
| 17 | +| type | 输入 | 输入的数据类型。 | | ||
| 18 | + | ||
| 19 | +## 返回值说明 | ||
| 20 | + | ||
| 21 | +若输入的数据类型为复数类型返回true,否则返回false。 | ||
| 22 | + | ||
| 23 | +## 约束说明 | ||
| 24 | + | ||
| 25 | +无 | ||
| 26 | + | ||
| 27 | +## 调用示例 | ||
| 28 | + | ||
| 29 | +```cpp | ||
| 30 | +// 校验dtype是否为复数类型,不是则提前返回 | ||
| 31 | +void Func(const ge::DataType dtype) { | ||
| 32 | + if (!IsComplexType(dtype)) { | ||
| 33 | + return; | ||
| 34 | + } | ||
| 35 | + // 后续执行算子计算逻辑 | ||
| 36 | +} | ||
| 37 | +``` | ||
| @@ -0,0 +1,37 @@ | |||
| 1 | +# IsFloatingType | ||
| 2 | + | ||
| 3 | +## 功能说明 | ||
| 4 | + | ||
| 5 | +判断输入的数据类型是否为浮点类型,包括Float64(即Double)、Float32(即Float)、BFloat16、Float16,以及HiFloat8、Float8E5M2、Float8E4M3FN、Float8E8M0、Float6E3M2、Float6E2M3、Float4E2M1、Float4E1M2。 | ||
| 6 | + | ||
| 7 | +## 函数原型 | ||
| 8 | + | ||
| 9 | +```cpp | ||
| 10 | +bool IsFloatingType(const ge::DataType type) | ||
| 11 | +``` | ||
| 12 | + | ||
| 13 | +## 参数说明 | ||
| 14 | + | ||
| 15 | +| 参数 | 输入/输出 | 说明 | | ||
| 16 | +| --- | --- | --- | | ||
| 17 | +| type | 输入 | 输入的数据类型。 | | ||
| 18 | + | ||
| 19 | +## 返回值说明 | ||
| 20 | + | ||
| 21 | +若为浮点类型返回true,否则返回false。 | ||
| 22 | + | ||
| 23 | +## 约束说明 | ||
| 24 | + | ||
| 25 | +无 | ||
| 26 | + | ||
| 27 | +## 调用示例 | ||
| 28 | + | ||
| 29 | +```cpp | ||
| 30 | +// 校验dtype是否为浮点数类型,不是则提前返回 | ||
| 31 | +void Func(const ge::DataType dtype) { | ||
| 32 | + if (!IsFloatingType(dtype)) { | ||
| 33 | + return; | ||
| 34 | + } | ||
| 35 | + // 后续执行算子计算逻辑 | ||
| 36 | +} | ||
| 37 | +``` | ||
| @@ -0,0 +1,37 @@ | |||
| 1 | +# IsIntegralType | ||
| 2 | + | ||
| 3 | +## 功能说明 | ||
| 4 | + | ||
| 5 | +判断输入的数据类型是否为整数类型,包括Int8、Int16、Int32、Int64、Uint8、Uint16、Uint32、Uint64。 | ||
| 6 | + | ||
| 7 | +## 函数原型 | ||
| 8 | + | ||
| 9 | +```cpp | ||
| 10 | +bool IsIntegralType(const ge::DataType type) | ||
| 11 | +``` | ||
| 12 | + | ||
| 13 | +## 参数说明 | ||
| 14 | + | ||
| 15 | +| 参数 | 输入/输出 | 说明 | | ||
| 16 | +| --- | --- | --- | | ||
| 17 | +| type | 输入 | 输入的数据类型。 | | ||
| 18 | + | ||
| 19 | +## 返回值说明 | ||
| 20 | + | ||
| 21 | +若为整数类型返回true,否则返回false。 | ||
| 22 | + | ||
| 23 | +## 约束说明 | ||
| 24 | + | ||
| 25 | +无 | ||
| 26 | + | ||
| 27 | +## 调用示例 | ||
| 28 | + | ||
| 29 | +```cpp | ||
| 30 | +// 校验dtype是否为整数类型,不是则提前返回 | ||
| 31 | +void Func(const ge::DataType type) { | ||
| 32 | + if (!IsIntegralType(type)) { | ||
| 33 | + return; | ||
| 34 | + } | ||
| 35 | + // 后续执行算子计算逻辑 | ||
| 36 | +} | ||
| 37 | +``` | ||
| @@ -0,0 +1,40 @@ | |||
| 1 | +# IsIntegralType(含bool) | ||
| 2 | + | ||
| 3 | +## 功能说明 | ||
| 4 | + | ||
| 5 | +判断输入的数据类型是否为整数类型,包括Int8、Int16、Int32、Int64、Uint8、Uint16、Uint32、Uint64。 | ||
| 6 | + | ||
| 7 | +若include\_bool置为true,那么bool也被认为是整数。 | ||
| 8 | + | ||
| 9 | +## 函数原型 | ||
| 10 | + | ||
| 11 | +```cpp | ||
| 12 | +bool IsIntegralType(const ge::DataType type, const bool include_bool) | ||
| 13 | +``` | ||
| 14 | + | ||
| 15 | +## 参数说明 | ||
| 16 | + | ||
| 17 | +| 参数 | 输入/输出 | 说明 | | ||
| 18 | +| --- | --- | --- | | ||
| 19 | +| type | 输入 | 输入的数据类型。 | | ||
| 20 | +| include_bool | 输入 | 是否将bool视为整数类型。 | | ||
| 21 | + | ||
| 22 | +## 返回值说明 | ||
| 23 | + | ||
| 24 | +若为整数类型返回true,否则返回false。 | ||
| 25 | + | ||
| 26 | +## 约束说明 | ||
| 27 | + | ||
| 28 | +无 | ||
| 29 | + | ||
| 30 | +## 调用示例 | ||
| 31 | + | ||
| 32 | +```cpp | ||
| 33 | +// 校验dtype是否为整数类型(含bool),不是则提前返回 | ||
| 34 | +void Func(const ge::DataType type) { | ||
| 35 | + if (!IsIntegralType(type, true)) { | ||
| 36 | + return; | ||
| 37 | + } | ||
| 38 | + // 后续执行算子计算逻辑 | ||
| 39 | +} | ||
| 40 | +``` | ||
| @@ -0,0 +1,38 @@ | |||
| 1 | +# PromoteType | ||
| 2 | + | ||
| 3 | +## 功能说明 | ||
| 4 | + | ||
| 5 | +不同数据类型参数进行运算时,推导应该将类型提升到何种数据类型进行计算。例如float16与float32进行运算,应该将float16先提升至float32后再做运算。 | ||
| 6 | + | ||
| 7 | +## 函数原型 | ||
| 8 | + | ||
| 9 | +```cpp | ||
| 10 | +ge::DataType PromoteType(ge::DataType type_a, ge::DataType type_b) | ||
| 11 | +``` | ||
| 12 | + | ||
| 13 | +## 参数说明 | ||
| 14 | + | ||
| 15 | +| 参数 | 输入/输出 | 说明 | | ||
| 16 | +| --- | --- | --- | | ||
| 17 | +| type_a | 输入 | 第一个参数数据类型。 | | ||
| 18 | +| type_b | 输入 | 第二个参数数据类型。 | | ||
| 19 | + | ||
| 20 | +## 返回值说明 | ||
| 21 | + | ||
| 22 | +若无法推导类型提升后的数据类型,运算会失败并返回DT\_UNDEFINED。 | ||
| 23 | + | ||
| 24 | +## 约束说明 | ||
| 25 | + | ||
| 26 | +无 | ||
| 27 | + | ||
| 28 | +## 调用示例 | ||
| 29 | + | ||
| 30 | +```cpp | ||
| 31 | +// 校验dtype是否可以与Float32计算,不能则提前返回 | ||
| 32 | +void Func(const ge::DataType dtype) { | ||
| 33 | + if (PromoteType(dtype, DT_FLOAT) == DT_UNDEFINED) { | ||
| 34 | + return; | ||
| 35 | + } | ||
| 36 | + // 后续执行算子计算逻辑 | ||
| 37 | +} | ||
| 38 | +``` | ||
| @@ -0,0 +1,35 @@ | |||
| 1 | +# ToString | ||
| 2 | + | ||
| 3 | +## 功能说明 | ||
| 4 | + | ||
| 5 | +将一组数据类型序列化为字符串形式。空列表返回"[]";非空列表返回形如"[DT_FLOAT,DT_INT8,]"的字符串,列表中每个数据类型以英文逗号分隔。 | ||
| 6 | + | ||
| 7 | +## 函数原型 | ||
| 8 | + | ||
| 9 | +```cpp | ||
| 10 | +ge::AscendString ToString(const std::initializer_list<DataType>& dataTypes) | ||
| 11 | +``` | ||
| 12 | + | ||
| 13 | +## 参数说明 | ||
| 14 | + | ||
| 15 | +| 参数 | 输入/输出 | 说明 | | ||
| 16 | +| --- | --- | --- | | ||
| 17 | +| dataTypes | 输入 | 待序列化的数据类型列表。 | | ||
| 18 | + | ||
| 19 | +## 返回值说明 | ||
| 20 | + | ||
| 21 | +返回序列化后的字符串,类型为`ge::AscendString`。空列表返回"[]";非空列表返回"[DT_FLOAT,DT_INT8,]"形式的字符串,每个元素后均带英文逗号。 | ||
| 22 | + | ||
| 23 | +## 约束说明 | ||
| 24 | + | ||
| 25 | +无 | ||
| 26 | + | ||
| 27 | +## 调用示例 | ||
| 28 | + | ||
| 29 | +```cpp | ||
| 30 | +// 将一组数据类型序列化为字符串并打印 | ||
| 31 | +void Func() { | ||
| 32 | + ge::AscendString typeStr = ToString({DT_FLOAT, DT_INT8}); | ||
| 33 | + // typeStr内容为"[DT_FLOAT,DT_INT8,]" | ||
| 34 | +} | ||
| 35 | +``` | ||
| @@ -12,4 +12,20 @@ | |||
| 12 | 12 | ||
| 13 | - **[ToAclDataType](ToAclDataType.md)** | 13 | - **[ToAclDataType](ToAclDataType.md)** |
| 14 | 14 | ||
| 15 | +- **[IsComplexType](IsComplexType.md)** | ||
| 16 | + | ||
| 17 | +- **[IsFloatingType](IsFloatingType.md)** | ||
| 18 | + | ||
| 19 | +- **[IsIntegralType](IsIntegralType.md)** | ||
| 20 | + | ||
| 21 | +- **[IsIntegralType(含bool)](IsIntegralType_bool.md)** | ||
| 22 | + | ||
| 23 | +- **[CanCast](CanCast.md)** | ||
| 24 | + | ||
| 25 | +- **[PromoteType](PromoteType.md)** | ||
| 26 | + | ||
| 27 | +- **[CheckType](CheckType.md)** | ||
| 28 | + | ||
| 29 | +- **[ToString](ToString.md)** | ||
| 30 | + | ||
| 15 | - **[预留接口](reserved_interface_data_type_utils.md)** | 31 | - **[预留接口](reserved_interface_data_type_utils.md)** |
| @@ -8,4 +8,3 @@ | |||
| 8 | | --- | --- | | 8 | | --- | --- | |
| 9 | | ToDataType(const std::string &dataTypeStr) | 将给定的字符串转换为op::DataType(即ge::DataType)。 | | 9 | | ToDataType(const std::string &dataTypeStr) | 将给定的字符串转换为op::DataType(即ge::DataType)。 | |
| 10 | | CalcShapeBytes(int64_t size, DataType dataType, bool ceil=false) | 用给定的shape大小和dtype计算总大小。 | | 10 | | CalcShapeBytes(int64_t size, DataType dataType, bool ceil=false) | 用给定的shape大小和dtype计算总大小。 | |
| 11 | -| CheckType(const DataType dtype, const std::initializer_list\<DataType\> &valid_types) | 检查data type是否在给定的列表中 | | ||
| @@ -27,7 +27,7 @@ | |||
| 27 | | max() | 返回Float4E1M2数据类型的最大有限值。 | | 27 | | max() | 返回Float4E1M2数据类型的最大有限值。 | |
| 28 | | epsilon() | 返回Float4E1M2数据类型的机器epsilon值。 | | 28 | | epsilon() | 返回Float4E1M2数据类型的机器epsilon值。 | |
| 29 | | round_error() | 返回Float4E1M2数据类型的最大舍入误差。 | | 29 | | round_error() | 返回Float4E1M2数据类型的最大舍入误差。 | |
| 30 | -| infinity() | 返回Float4E1M2数据类型的最大值(无无穷大表示,返回最大有限值)。 | | 30 | +| infinity() | 返回Float4E1M2数据类型的最大有限值(该数据类型无无穷大值)。 | |
| 31 | -| quiet_NaN() | 返回Float4E1M2数据类型的quiet NaN值(无NaN表示,返回零值)。 | | 31 | +| quiet_NaN() | 返回Float4E1M2数据类型的零值(该数据类型无quiet NaN值)。 | |
| 32 | -| signaling_NaN() | 返回Float4E1M2数据类型的signaling NaN值。 | | 32 | +| signaling_NaN() | 返回Float4E1M2数据类型的零值(该数据类型无signaling NaN值)。 | |
| 33 | | denorm_min() | 返回Float4E1M2数据类型的最小正非规格化值。 | | 33 | | denorm_min() | 返回Float4E1M2数据类型的最小正非规格化值。 | |
| @@ -27,7 +27,7 @@ | |||
| 27 | | max() | 返回Float4E2M1数据类型的最大有限值。 | | 27 | | max() | 返回Float4E2M1数据类型的最大有限值。 | |
| 28 | | epsilon() | 返回Float4E2M1数据类型的机器epsilon值。 | | 28 | | epsilon() | 返回Float4E2M1数据类型的机器epsilon值。 | |
| 29 | | round_error() | 返回Float4E2M1数据类型的最大舍入误差。 | | 29 | | round_error() | 返回Float4E2M1数据类型的最大舍入误差。 | |
| 30 | -| infinity() | 返回Float4E2M1数据类型的最大值(无无穷大表示,返回最大有限值)。 | | 30 | +| infinity() | 返回Float4E2M1数据类型的最大有限值(该数据类型无无穷大值)。 | |
| 31 | -| quiet_NaN() | 返回Float4E2M1数据类型的quiet NaN值(无NaN表示,返回零值)。 | | 31 | +| quiet_NaN() | 返回Float4E2M1数据类型的零值(该数据类型无quiet NaN值)。 | |
| 32 | -| signaling_NaN() | 返回Float4E2M1数据类型的signaling NaN值。 | | 32 | +| signaling_NaN() | 返回Float4E2M1数据类型的零值(该数据类型无signaling NaN值)。 | |
| 33 | | denorm_min() | 返回Float4E2M1数据类型的最小正非规格化值。 | | 33 | | denorm_min() | 返回Float4E2M1数据类型的最小正非规格化值。 | |
| @@ -27,7 +27,7 @@ | |||
| 27 | | max() | 返回Float6E2M3数据类型的最大有限值。 | | 27 | | max() | 返回Float6E2M3数据类型的最大有限值。 | |
| 28 | | epsilon() | 返回Float6E2M3数据类型的机器epsilon值。 | | 28 | | epsilon() | 返回Float6E2M3数据类型的机器epsilon值。 | |
| 29 | | round_error() | 返回Float6E2M3数据类型的最大舍入误差。 | | 29 | | round_error() | 返回Float6E2M3数据类型的最大舍入误差。 | |
| 30 | -| infinity() | 返回Float6E2M3数据类型的最大值(无无穷大表示,返回最大有限值)。 | | 30 | +| infinity() | 返回Float6E2M3数据类型的最大有限值(该数据类型无无穷大值)。 | |
| 31 | -| quiet_NaN() | 返回Float6E2M3数据类型的quiet NaN值(无NaN表示,返回零值)。 | | 31 | +| quiet_NaN() | 返回Float6E2M3数据类型的零值(该数据类型无quiet NaN值)。 | |
| 32 | -| signaling_NaN() | 返回Float6E2M3数据类型的signaling NaN值。 | | 32 | +| signaling_NaN() | 返回Float6E2M3数据类型的零值(该数据类型无signaling NaN值)。 | |
| 33 | | denorm_min() | 返回Float6E2M3数据类型的最小正非规格化值。 | | 33 | | denorm_min() | 返回Float6E2M3数据类型的最小正非规格化值。 | |
| @@ -27,7 +27,7 @@ | |||
| 27 | | max() | 返回Float6E3M2数据类型的最大有限值。 | | 27 | | max() | 返回Float6E3M2数据类型的最大有限值。 | |
| 28 | | epsilon() | 返回Float6E3M2数据类型的机器epsilon值。 | | 28 | | epsilon() | 返回Float6E3M2数据类型的机器epsilon值。 | |
| 29 | | round_error() | 返回Float6E3M2数据类型的最大舍入误差。 | | 29 | | round_error() | 返回Float6E3M2数据类型的最大舍入误差。 | |
| 30 | -| infinity() | 返回Float6E3M2数据类型的最大值(无无穷大表示,返回最大有限值)。 | | 30 | +| infinity() | 返回Float6E3M2数据类型的最大有限值(该数据类型无无穷大值)。 | |
| 31 | -| quiet_NaN() | 返回Float6E3M2数据类型的quiet NaN值(无NaN表示,返回零值)。 | | 31 | +| quiet_NaN() | 返回Float6E3M2数据类型的零值(该数据类型无quiet NaN值)。 | |
| 32 | -| signaling_NaN() | 返回Float6E3M2数据类型的signaling NaN值。 | | 32 | +| signaling_NaN() | 返回Float6E3M2数据类型的零值(该数据类型无signaling NaN值)。 | |
| 33 | | denorm_min() | 返回Float6E3M2数据类型的最小正非规格化值。 | | 33 | | denorm_min() | 返回Float6E3M2数据类型的最小正非规格化值。 | |
| @@ -27,7 +27,7 @@ | |||
| 27 | | max() | 返回Float8E4M3FN数据类型的最大有限值。 | | 27 | | max() | 返回Float8E4M3FN数据类型的最大有限值。 | |
| 28 | | epsilon() | 返回Float8E4M3FN数据类型的机器epsilon值。 | | 28 | | epsilon() | 返回Float8E4M3FN数据类型的机器epsilon值。 | |
| 29 | | round_error() | 返回Float8E4M3FN数据类型的最大舍入误差。 | | 29 | | round_error() | 返回Float8E4M3FN数据类型的最大舍入误差。 | |
| 30 | -| infinity() | 返回Float8E4M3FN数据类型的最大值(无无穷大表示,返回最大有限值)。 | | 30 | +| infinity() | 返回Float8E4M3FN数据类型的最大有限值(该数据类型无无穷大值)。 | |
| 31 | | quiet_NaN() | 返回Float8E4M3FN数据类型的quiet NaN值。 | | 31 | | quiet_NaN() | 返回Float8E4M3FN数据类型的quiet NaN值。 | |
| 32 | -| signaling_NaN() | 返回Float8E4M3FN数据类型的signaling NaN值。 | | 32 | +| signaling_NaN() | 返回Float8E4M3FN数据类型的quiet NaN值(该数据类型无signaling NaN值)。 | |
| 33 | | denorm_min() | 返回Float8E4M3FN数据类型的最小正非规格化值。 | | 33 | | denorm_min() | 返回Float8E4M3FN数据类型的最小正非规格化值。 | |
| @@ -29,5 +29,5 @@ | |||
| 29 | | round_error() | 返回Float8E5M2数据类型的最大舍入误差。 | | 29 | | round_error() | 返回Float8E5M2数据类型的最大舍入误差。 | |
| 30 | | infinity() | 返回Float8E5M2数据类型的无穷大值。 | | 30 | | infinity() | 返回Float8E5M2数据类型的无穷大值。 | |
| 31 | | quiet_NaN() | 返回Float8E5M2数据类型的quiet NaN值。 | | 31 | | quiet_NaN() | 返回Float8E5M2数据类型的quiet NaN值。 | |
| 32 | -| signaling_NaN() | 返回Float8E5M2数据类型的signaling NaN值。 | | 32 | +| signaling_NaN() | 返回Float8E5M2数据类型的quiet NaN值(该数据类型无signaling NaN值)。 | |
| 33 | | denorm_min() | 返回Float8E5M2数据类型的最小正非规格化值。 | | 33 | | denorm_min() | 返回Float8E5M2数据类型的最小正非规格化值。 | |
| @@ -28,7 +28,7 @@ | |||
| 28 | | max() | 返回Float8E8M0数据类型的最大值。 | | 28 | | max() | 返回Float8E8M0数据类型的最大值。 | |
| 29 | | epsilon() | 返回Float8E8M0数据类型的机器epsilon值。 | | 29 | | epsilon() | 返回Float8E8M0数据类型的机器epsilon值。 | |
| 30 | | round_error() | 返回Float8E8M0数据类型的最大舍入误差。 | | 30 | | round_error() | 返回Float8E8M0数据类型的最大舍入误差。 | |
| 31 | -| infinity() | 返回Float8E8M0数据类型的最大值(无无穷大编码,返回最大值)。 | | 31 | +| infinity() | 返回Float8E8M0数据类型的最大有限值(该数据类型无无穷大值)。 | |
| 32 | | quiet_NaN() | 返回Float8E8M0数据类型的quiet NaN值。 | | 32 | | quiet_NaN() | 返回Float8E8M0数据类型的quiet NaN值。 | |
| 33 | -| signaling_NaN() | 返回Float8E8M0数据类型的signaling NaN值。 | | 33 | +| signaling_NaN() | 返回Float8E8M0数据类型的quiet NaN值(该数据类型无signaling NaN值)。 | |
| 34 | | denorm_min() | 返回Float8E8M0数据类型的最小正非规格化值。 | | 34 | | denorm_min() | 返回Float8E8M0数据类型的最小正非规格化值。 | |
| @@ -27,7 +27,7 @@ | |||
| 27 | | max() | 返回HiFloat4数据类型的最大有限值。 | | 27 | | max() | 返回HiFloat4数据类型的最大有限值。 | |
| 28 | | epsilon() | 返回HiFloat4数据类型的机器epsilon值。 | | 28 | | epsilon() | 返回HiFloat4数据类型的机器epsilon值。 | |
| 29 | | round_error() | 返回HiFloat4数据类型的最大舍入误差。 | | 29 | | round_error() | 返回HiFloat4数据类型的最大舍入误差。 | |
| 30 | -| infinity() | 返回HiFloat4数据类型的最大值(无无穷大表示,返回最大有限值)。 | | 30 | +| infinity() | 返回HiFloat4数据类型的最大有限值(该数据类型无无穷大值)。 | |
| 31 | -| quiet_NaN() | 返回HiFloat4数据类型的quiet NaN值(无NaN表示,返回零值)。 | | 31 | +| quiet_NaN() | 返回HiFloat4数据类型的零值(该数据类型无quiet NaN值)。 | |
| 32 | -| signaling_NaN() | 返回HiFloat4数据类型的signaling NaN值。 | | 32 | +| signaling_NaN() | 返回HiFloat4数据类型的零值(该数据类型无signaling NaN值)。 | |
| 33 | | denorm_min() | 返回HiFloat4数据类型的最小正非规格化值。 | | 33 | | denorm_min() | 返回HiFloat4数据类型的最小正非规格化值。 | |
| @@ -42,6 +42,6 @@ | |||
| 42 | 42 | ||
| 43 | - **[tensor\_view\_utils](tensor_view_utils/tensor_view_utils.md)** | 43 | - **[tensor\_view\_utils](tensor_view_utils/tensor_view_utils.md)** |
| 44 | 44 | ||
| 45 | -- **[op\_common相关接口](op_common_related_interface/op_common_related_interface.md)** | 45 | +- **[op_common相关接口(废弃)](op_common_related_interface/op_common_related_interface.md)** |
| 46 | 46 | ||
| 47 | - **[aicpu相关接口](aicpu_related_interface/aicpu_related_interface.md)** | 47 | - **[aicpu相关接口](aicpu_related_interface/aicpu_related_interface.md)** |
| @@ -35,7 +35,7 @@ | |||
| 35 | | rend() | 返回一个反向迭代器,指向SmallVector容器中第一个元素之前的元素,该元素被视为其反向结束。 | | 35 | | rend() | 返回一个反向迭代器,指向SmallVector容器中第一个元素之前的元素,该元素被视为其反向结束。 | |
| 36 | | crend() | 返回一个const反向迭代器,指向SmallVector容器中第一个元素之前的元素,该元素被视为其反向结束。 | | 36 | | crend() | 返回一个const反向迭代器,指向SmallVector容器中第一个元素之前的元素,该元素被视为其反向结束。 | |
| 37 | | size() | 返回SmallVector容器中元素的个数。 | | 37 | | size() | 返回SmallVector容器中元素的个数。 | |
| 38 | -| reserve(const size_type new_cap) | 当new_cap大于已分配容量,则更改容器容量,要求为SmallVector容器的元素分配的存储空间的容量至少足以容纳返回已分配存储容量的大小个元素。 | | 38 | +| reserve(const size_type new_cap) | 当new_cap大于当前已分配容量时,扩容使容器容量至少为new_cap;若new_cap不大于当前容量则不做任何操作。该接口仅改变容量,不影响已有元素个数。 | |
| 39 | | capacity() | 返回已分配存储容量的大小。 | | 39 | | capacity() | 返回已分配存储容量的大小。 | |
| 40 | | insert(const_iterator const pos, const T &value) | 在SmallVector容器指定位置前插入元素。 | | 40 | | insert(const_iterator const pos, const T &value) | 在SmallVector容器指定位置前插入元素。 | |
| 41 | | insert(const_iterator const pos, T &&value) | 在SmallVector容器指定位置前插入value元素,value是浅拷贝。 | | 41 | | insert(const_iterator const pos, T &&value) | 在SmallVector容器指定位置前插入value元素,value是浅拷贝。 | |
| @@ -57,7 +57,7 @@ | |||
| 57 | | CopyRange(T *iter, InputIt first, const InputIt last) | 拷贝[first, last)范围内存到迭代器iter位置。 | | 57 | | CopyRange(T *iter, InputIt first, const InputIt last) | 拷贝[first, last)范围内存到迭代器iter位置。 | |
| 58 | | MoveFrom(SmallVector &other) | 从other容器拷贝内存到当前容器。 | | 58 | | MoveFrom(SmallVector &other) | 从other容器拷贝内存到当前容器。 | |
| 59 | | CheckOutOfRange(const size_type index) | 检查index是否超出容器范围。 | | 59 | | CheckOutOfRange(const size_type index) | 检查index是否超出容器范围。 | |
| 60 | -| ExpandCap(const size_type range_begin, const size_type range_len) | 先申请一块新的内存,大小为原容器容量加上range_len大小,新容量不足原容量2倍则按2倍扩容。在原SmallVector容器range_begin的位置拓展range_len大小的内存,并拷贝到新内存中,释放原容器内存。 | | 60 | +| ExpandCap(const size_type range_begin, const size_type range_len) | 将容器容量扩至原容量2倍与当前元素数加range_len的较大值,并在range_begin位置腾出range_len大小的插入空间,不改变已有元素个数,返回指向range_begin位置的迭代器。 | |
| 61 | | ExpandSize(const size_type range_begin, const size_type range_len) | 在SmallVector容器中,range_begin的位置,拓展range_len大小的内存。 | | 61 | | ExpandSize(const size_type range_begin, const size_type range_len) | 在SmallVector容器中,range_begin的位置,拓展range_len大小的内存。 | |
| 62 | | Expand(const size_type range_begin, const size_type range_len) | 拓展SmallVector容器内存,若拓展后大于容器最大容量,按ExpandCap方式拓展,否则按ExpandSize方式拓展。 | | 62 | | Expand(const size_type range_begin, const size_type range_len) | 拓展SmallVector容器内存,若拓展后大于容器最大容量,按ExpandCap方式拓展,否则按ExpandSize方式拓展。 | |
| 63 | | Shrink(const size_type range_begin, const size_type range_end) | 在SmallVector容器中,删掉从range_begin到range_end之间的内存。 | | 63 | | Shrink(const size_type range_begin, const size_type range_end) | 在SmallVector容器中,删掉从range_begin到range_end之间的内存。 | |