Skip to content

Memory矢量计算接口边界值汇总

概述

本节汇总介绍了Memory矢量计算接口在边界值输入下的两类输出结果,以下内容针对如下型号生效:

  • Atlas A3 训练系列产品/Atlas A3 推理系列产品
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品

Memory矢量计算接口在边界值输入下,有两类输出结果:

  • INF/NAN模式(非饱和模式)

    计算结果是inf、-inf、nan的三类场景,按原样输出。

  • 饱和模式

    通过接口SetSaturationFlag进行设置,饱和模式下:inf和-inf会被饱和为MAX和MIN进行输出,nan会被饱和为0进行输出。

注:

  • float数据类型输入仅支持INF/NAN模式(即使配置饱和模式,输出结果也与INF/NAN模式输出结果一致);half、int16_t及int32_t类型输入,默认输出INF/NAN模式的结果。
  • 绝大部分场景下,INF/NAN模式的输出结果与IEEE754标准结果一致。如存在不一致的情况,会在对应接口处备注说明。

Memory矢量计算接口输出inf/nan的场景总结

表1 浮点数计算输出inf/nan的场景

场景描述浮点数计算输出结果说明
输入包含inf
例外场景:
• exp(-inf)=0
• inf * 0 = nan
• inf + (-inf) = nan
infinf区分+inf和-inf
计算结果发生溢出
例外情况:
•非nan值(不包含0)除以0,比如Div/Sqrt/Reciprocal等指令
• ln(0.0) = -inf;ln(-0.0) = -inf
• rsqrt(0.0) = inf; rsqrt(-0.0) = -inf
infinf区分+inf和-inf
输入包含nannannan不区分正负
计算结果产生nan
举例:
• (-inf) - (-inf) = nan,比如Add/Sub/Reduce等指令
• (-inf) + inf = nan,比如Add/Sub/Reduce等指令
• 0 * (+/-inf) = nan,比如Mul等指令
• (+/-inf)/(+/-inf) = nan
• 0/0 = nan
• ln/Sqrt/Rsqrt指令输入为负值
nannan不区分正负

具体明细请参考如下各类API接口。

基础算术

注:下表中的MAX/MIN对应操作数对应数据类型下的最大值和最小值。

表2 Exp特殊值/边界值输入的计算结果

src/dst的数据类型src的元素取值dst的元素取值(INF/NAN模式)dst的元素取值(饱和模式)
half-65504.0(MIN)0.00.0
half65504.0(MAX)inf65504.0
half0.01.01.0
half-0.01.01.0
halfnannan0.0
halfinfinf65504.0
half-inf0.00.0
float-3.4028235e+38(MIN)0.00.0
float3.4028235e+38(MAX)infinf
float0.01.01.0
float-0.01.01.0
floatnannannan
floatinfinfinf
float-inf0.00.0

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表3 Ln特殊值/边界值输入的计算结果

src/dst的数据类型src的元素取值dst的元素取值(INF/NAN模式)dst的元素取值(饱和模式)
half-65504.0(MIN)nan0.0
half65504.0(MAX)11.0911.09
half0.0-inf-65504.0
half-0.0-inf-65504.0
halfnannan0.0
halfinfinf65504.0
half-infnan0.0
float-3.4028235e+38(MIN)nannan
float3.4028235e+38(MAX)88.7288.72284
float0.0-inf-inf
float-0.0-inf-inf
floatnannannan
floatinfinfinf
float-infnannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表4 Abs特殊值/边界值输入的计算结果

src/dst的数据类型src的元素取值dst的元素取值(INF/NAN模式)dst的元素取值(饱和模式)
half-65504.0(MIN)65504.065504.0
half65504.0(MAX)65504.065504.0
half0.00.00.0
half-0.00.00.0
halfnannan0.0
halfinfinf65504.0
half-infinf65504.0
float-3.4028235e+38(MIN)3.4028235e+383.4028235e+38
float3.4028235e+38(MAX)3.4028235e+383.4028235e+38
float0.00.00.0
float-0.00.00.0
floatnannan0.0
floatinfinfinf
float-infinfinf

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表5 Reciprocal特殊值/边界值输入的计算结果

src/dst的数据类型src的元素取值dst的元素取值(INF/NAN模式)dst的元素取值(饱和模式)
half-65504.0(MIN)-0.000015-0.000015
half65504.0(MAX)0.0000150.000015
half0.0inf65504.0
half-0.0-inf-65504.0
halfnannan0.0
halfinf0.00.0
half-inf-0.0-0.0
float-3.4028235e+38(MIN)-2.938736e-39-2.938736e-39
float3.4028235e+38(MAX)2.938736e-392.938736e-39
float0.0infinf
float-0.0-inf-inf
floatnannannan
floatinf0.00.0
float-inf-0.0-0.0

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表6 Sqrt特殊值/边界值输入的计算结果

src/dst的数据类型src的元素取值dst的元素取值(INF/NAN模式)dst的元素取值(饱和模式)
half-65504.0(MIN)nan0.0
half65504.0(MAX)256.0256.0
half0.00.00.0
half-0.0-0.0-0.0
halfnannan0.0
halfinfinf65504.0
half-infnan0.0
float-3.4028235e+38(MIN)nannan
float3.4028235e+38(MAX)1.8446744e+191.8446744e+19
float0.00.00.0
float-0.0-0.0-0.0
floatnannannan
floatinfinfinf
float-infnannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表7 Rsqrt特殊值/边界值输入的计算结果

src/dst的数据类型src的元素取值dst的元素取值(INF/NAN模式)dst的元素取值(饱和模式)
half-65504.0(MIN)nan0.0
half65504.0(MAX)0.0039060.003906
half0.0inf65504.0
half-0.0-inf-65504.0
halfnannan0.0
halfinf0.00.0
half-infnan0.0
float-3.4028235e+38(MIN)nannan
float3.4028235e+38(MAX)5.421011e-205.421011e-20
float0.0infinf
float-0.0-inf-inf
floatnannannan
floatinf0.00.0
float-infnannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表8 Relu特殊值/边界值输入的计算结果

src/dst的数据类型src的元素取值dst的元素取值(INF/NAN模式)dst的元素取值(饱和模式)
half-65504.0(MIN)0.00.0
half65504.0(MAX)65504.065504.0
half0.00.00.0
half-0.00.00.0
halfnannan0.0
halfinfinf65504.0
half-inf0.00.0
float-3.4028235e+38(MIN)0.00.0
float3.4028235e+38(MAX)3.4028235e+383.4028235e+38
float0.00.00.0
float-0.00.00.0
floatnannannan
floatinfinfinf
float-inf0.00.0
int32_t-2147483648(MIN)00
int32_t2147483647(MAX)21474836472147483647

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表9 Add特殊值/边界值输入的计算结果

src/dst的数据类型src0的元素取值src1的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half-65504.0(MIN)-65504.0(MIN)/-inf-inf-65504.0
half-65504.0(MIN)65504.0(MAX)0.00.0
half-65504.0(MIN)0.0/-0.0-65504.0-65504.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)infinf65504.0
half65504.0(MAX)65504.0(MAX)/infinf65504.0
half65504.0(MAX)0.0/-0.065504.065504.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)-inf-inf-65504.0
half0.00.0/-0.00.00.0
half0.0nannan0.0
half0.0infinf65504.0
half0.0-inf-inf-65504.0
half-0.0-0.0-0.0-0.0
half-0.0nannan0.0
half-0.0infinf65504.0
half-0.0-inf-inf-65504.0
halfnannan/inf/-infnan0.0
halfinfinfinf65504.0
halfinf-infnan0.0
half-inf-inf-inf-65504.0
float-3.4028235e+38(MIN)-3.4028235e+38(MIN)/-inf-inf-inf
float-3.4028235e+38 (MIN)3.4028235e+38(MAX)0.00.0
float-3.4028235e+38(MIN)0.0/-0.0-3.4028235e+38-3.4028235e+38
float-3.4028235e+38(MIN)nannannan
float-3.4028235e+38(MIN)infinfinf
float3.4028235e+38(MAX)3.4028235e+38(MAX)/infinfinf
float3.4028235e+38(MAX)0.0/-0.03.4028235e+383.4028235e+38
float3.4028235e+38(MAX)nannannan
float3.4028235e+38(MAX)-inf-inf-inf
float0.00.0/-0.00.00.0
float0.0nannannan
float0.0infinfinf
float0.0-inf-inf-inf
float-0.0-0.0-0.0-0.0
float-0.0nannannan
float-0.0infinfinf
float-0.0-inf-inf-inf
floatnannan/inf/-infnannan
floatinfinfinfinf
floatinf-infnannan
float-inf-inf-inf-inf
int16_t-32768(MIN)-32768(MIN)0-32768
int16_t-32768(MIN)32767(MAX)-1-1
int16_t32767(MAX)32767(MAX)-232767
int32_t-2147483648(MIN)-2147483648(MIN)0-2147483648
int32_t-2147483648(MIN)2147483647(MAX)-1-1
int32_t2147483647(MAX)2147483647(MAX)-22147483647

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表10 Sub特殊值/边界值输入的计算结果

src/dst的数据类型src0的元素取值src1的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half-65504.0(MIN)-65504.0(MIN)0.00.0
half-65504.0(MIN)65504.0(MAX)-inf-65504.0
half-65504.0(MIN)0.0/-0.0-65504.0-65504.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)inf-inf-65504.0
half-65504.0(MIN)-infinf65504.0
half65504.0(MAX)-65504.0(MIN)inf65504.0
half65504.0(MAX)65504.0(MAX)0.00.0
half65504.0(MAX)0.0/-0.065504.065504.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)inf-inf-65504.0
half65504.0(MAX)-infinf65504.0
half0.0/-0.0-65504.0(MIN)65504.065504.0
half0.0/-0.065504.0(MAX)-65504.0-65504.0
half0.0/-0.0nannan0.0
half0.0/-0.0inf-inf-65504.0
half0.0/-0.0-infinf65504.0
half0.00.0/-0.00.00.0
half-0.00.0-0.0-0.0
half-0.0-0.00.00.0
halfnan-65504.0(MIN)/65504.0(MAX)/0.0/-0.0/nan/inf/-infnan0.0
halfinf-65504.0(MIN)/65504.0(MAX)/0.0/-0.0/-infinf65504.0
halfinfnan/+infnan0.0
half-inf-65504.0(MIN)/65504.0(MAX)/0.0/-0.0/inf-inf-65504.0
half-infnan/-infnan0.0
float-3.4028235e+38(MIN)-3.4028235e+38(MIN)0.00.0
float-3.4028235e+38(MIN)3.4028235e+38(MAX)-inf-inf
float-3.4028235e+38(MIN)0.0/-0.0-3.4028235e+38-3.4028235e+38
float-3.4028235e+38(MIN)nannannan
float-3.4028235e+38(MIN)inf-inf-inf
float-3.4028235e+38(MIN)-infinfinf
float3.4028235e+38(MAX)-3.4028235e+38(MIN)infinf
float3.4028235e+38(MAX)3.4028235e+38(MAX)0.00.0
float3.4028235e+38(MAX)0.0/-0.03.4028235e+383.4028235e+38
float3.4028235e+38(MAX)nannannan
float3.4028235e+38(MAX)inf-inf-inf
float3.4028235e+38(MAX)-infinfinf
float0.0/-0.0-3.4028235e+38(MIN)3.4028235e+383.4028235e+38
float0.0/-0.03.4028235e+38(MAX)-3.4028235e+38-3.4028235e+38
float0.0/-0.0nannannan
float0.0/-0.0inf-inf-inf
float0.0/-0.0-infinfinf
float0.00.0/-0.00.00.0
float-0.00.0-0.0-0.0
float-0.0-0.00.00.0
floatnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/0.0/-0.0/nan/inf/-infnannan
floatinf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/0.0/-0.0/-infinfinf
floatinfnan/infnannan
float-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/0.0/-0.0/inf-inf-inf
float-infnan/-infnannan
int16_t-32768(MIN)-32768(MIN)00
int16_t-32768(MIN)32767(MAX)1-32768
int16_t32767(MAX)-32768(MIN)-132767
int16_t32767(MAX)32767(MAX)00
int32_t-2147483648(MIN)-2147483648(MIN)00
int32_t-2147483648(MIN)2147483647(MAX)1-2147483648
int32_t2147483647(MAX)-2147483648(MIN)-12147483647
int32_t2147483647(MAX)2147483647(MAX)00

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表11 Mul特殊值/边界值输入的计算结果

src/dst的数据类型src0的元素取值src1的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half-65504.0(MIN)-65504.0(MIN)inf65504.0
half-65504.0(MIN)65504.0(MAX)-inf-65504.0
half-65504.0(MIN)0.0-0.0-0.0
half-65504.0(MIN)-0.00.00.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)inf-inf-65504.0
half-65504.0(MIN)-infinf65504.0
half65504.0(MAX)65504.0(MAX)inf65504.0
half65504.0(MAX)0.00.00.0
half65504.0(MAX)-0.0-0.0-0.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)infinf65504.0
half65504.0(MAX)-inf-inf-65504.0
half0.00.00.00.0
half0.0-0.0-0.0-0.0
half0.0nan/inf/-infnan0.0
half-0.0-0.00.00.0
half-0.0nan/inf/-infnan0.0
halfnannan/inf/-infnan0.0
halfinfinfinf65504.0
halfinf-inf-inf-65504.0
half-inf-infinf65504.0
float-3.4028235e+38(MIN)-3.4028235e+38(MIN)infinf
float-3.4028235e+38(MIN)3.4028235e+38(MAX)-inf-inf
float-3.4028235e+38(MIN)0.0-0.0-0.0
float-3.4028235e+38(MIN)-0.00.00.0
float-3.4028235e+38(MIN)nannannan
float-3.4028235e+38(MIN)inf-inf-inf
float-3.4028235e+38(MIN)-infinfinf
float3.4028235e+38(MAX)3.4028235e+38(MAX)infinf
float3.4028235e+38(MAX)0.00.00.0
float3.4028235e+38(MAX)-0.0-0.0-0.0
float3.4028235e+38(MAX)nannannan
float3.4028235e+38(MAX)infinfinf
float3.4028235e+38(MAX)-inf-inf-inf
float0.00.00.00.0
float0.0-0.0-0.0-0.0
float0.0nan/inf/-infnannan
float-0.0-0.00.00.0
float-0.0nan/inf/-infnannan
floatnannan/inf/-infnannan
floatinfinfinfinf
floatinf-inf-inf-inf
float-inf-infinfinf
int16_t-32768(MIN)-32768(MIN)032767
int16_t-32768(MIN)32767(MAX)-32768-32768
int16_t32767(MAX)32767(MAX)132767
int32_t-2147483648(MIN)-2147483648(MIN)02147483647
int32_t-2147483648(MIN)2147483647(MAX)-2147483648-2147483648
int32_t2147483647(MAX)2147483647(MAX)12147483647

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表12 Div特殊值/边界值输入的计算结果

src/dst的数据类型src0的元素取值src1的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half-65504.0(MIN)-65504.0(MIN)1.01.0
half-65504.0(MIN)65504.0(MAX)-1.0-1.0
half-65504.0(MIN)0.0-inf-65504.0
half-65504.0(MIN)-0.0inf65504.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)inf-0.0-0.0
half-65504.0(MIN)-inf0.00.0
half65504.0(MAX)-65504.0(MIN)-1.0-1.0
half65504.0(MAX)65504.0(MAX)1.01.0
half65504.0(MAX)0.0inf65504.0
half65504.0(MAX)-0.0-inf-65504.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)inf0.00.0
half65504.0(MAX)-inf-0.0-0.0
half0.0-65504.0(MIN)/-inf-0.0-0.0
half0.065504.0(MAX)/inf0.00.0
half0.00.0/-0.0/nannan0.0
half-0.0-65504.0(MIN)/-inf0.00.0
half-0.065504.0(MAX)/inf-0.0-0.0
half-0.00.0/-0.0/nannan0.0
halfnan-65504.0(MIN)/65504.0(MAX)/0.0/-0.0/nan/inf/-infnan0.0
halfinf-65504.0(MIN)/-0.0-inf-65504.0
halfinf65504.0(MAX)/0.0inf65504.0
halfinfnan/inf/-infnan0.0
half-inf-65504.0(MIN)/-0.0inf65504.0
half-inf65504.0(MAX)/0.0-inf-65504.0
half-infnan/inf/-infnan0.0
float-3.4028235e+38(MIN)-3.4028235e+38(MIN)1.01.0
float-3.4028235e+38(MIN)3.4028235e+38(MAX)-1.0-1.0
float-3.4028235e+38(MIN)0.0-inf-inf
float-3.4028235e+38(MIN)-0.0infinf
float-3.4028235e+38(MIN)nannannan
float-3.4028235e+38(MIN)inf-0.0-0.0
float-3.4028235e+38(MIN)-inf0.00.0
float3.4028235e+38(MAX)-3.4028235e+38(MIN)-1.0-1.0
float3.4028235e+38(MAX)3.4028235e+38(MAX)1.01.0
float3.4028235e+38(MAX)0.0infinf
float3.4028235e+38(MAX)-0.0-inf-inf
float3.4028235e+38(MAX)nannannan
float3.4028235e+38(MAX)inf0.00.0
float3.4028235e+38(MAX)-inf-0.0-0.0
float0.0-3.4028235e+38(MIN)/-inf-0.0-0.0
float0.03.4028235e+38(MAX)/inf0.00.0
float0.00.0/-0.0/nannannan
float-0.0-3.4028235e+38(MIN)/-inf0.00.0
float-0.03.4028235e+38(MAX)/inf-0.0-0.0
float-0.00.0/-0.0/nannannan
floatnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/0.0/-0.0/nan/inf/-infnannan
floatinf-3.4028235e+38(MIN)/-0.0-inf-inf
floatinf3.4028235e+38(MAX)/0.0infinf
floatinfnan/inf/-infnannan
float-inf-3.4028235e+38(MIN)/-0.0infinf
float-inf3.4028235e+38(MAX)/0.0-inf-inf
float-infnan/inf/-infnannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表13 Max特殊值/边界值输入的计算结果

src/dst的数据类型src0的元素取值src1的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half-65504.0(MIN)-65504.0(MIN)/-inf-65504.0-65504.0
half-65504.0(MIN)65504.0(MAX)65504.065504.0
half-65504.0(MIN)0.00.00.0
half-65504.0(MIN)-0.0-0.0-0.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)infinf65504.0
half65504.0(MAX)65504.0(MAX)/0.0/-0.0/-inf65504.065504.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)infinf65504.0
half0.00.0/-0.0/-inf0.00.0
half0.0nannan0.0
half0.0infinf65504.0
half-0.0-0.0/-inf-0.0-0.0
half-0.0nannan0.0
half-0.0infinf65504.0
halfnannan/inf/-infnan0.0
halfinfinf/-infinf65504.0
half-inf-inf-inf-65504.0
float-3.4028235e+38(MIN)-3.4028235e+38(MIN)/-inf-3.4028235e+38-3.4028235e+38
float-3.4028235e+38(MIN)3.4028235e+38(MAX)3.4028235e+383.4028235e+38
float-3.4028235e+38(MIN)0.00.00.0
float-3.4028235e+38(MIN)-0.0-0.0-0.0
float-3.4028235e+38(MIN)nannannan
float-3.4028235e+38(MIN)infinfinf
float3.4028235e+38(MAX)3.4028235e+38(MAX)/0.0/-0.0/-inf3.4028235e+383.4028235e+38
float3.4028235e+38(MAX)nannannan
float3.4028235e+38(MAX)infinfinf
float0.00.0/-0.0/-inf0.00.0
float0.0nannannan
float0.0infinfinf
float-0.0-0.0/-inf-0.0-0.0
float-0.0nannannan
float-0.0infinfinf
floatnannan/inf/-infnannan
floatinfinf/-infinfinf
float-inf-inf-inf-inf
int16_t-32768(MIN)-32768(MIN)-32768-32768
int16_t-32768(MIN)32767(MAX)3276732767
int16_t32767(MAX)32767(MAX)3276732767
int32_t-2147483648(MIN)-2147483648(MIN)-2147483648-2147483648
int32_t-2147483648(MIN)2147483647(MAX)21474836472147483647
int32_t2147483647(MAX)2147483647(MAX)21474836472147483647

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表14 Min特殊值/边界值输入的计算结果说明

src/dst的数据类型src0的元素取值src1的元素取值dst的元素取值
(寄存器非饱和模式)
dst的元素取值
(寄存器饱和模式)
half-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/0.0/-0.0/inf-65504.0-65504.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)-inf-inf-65504.0
half65504.0(MAX)65504.0(MAX)/inf65504.065504.0
half65504.0(MAX)0.00.00.0
half65504.0(MAX)-0.0-0.0-0.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)-inf-inf-65504.0
half0.00.0/inf0.00.0
half0.0-0.0-0.0-0.0
half0.0nannan0.0
half0.0-inf-inf-65504.0
half-0.0-0.0/inf-0.0-0.0
half-0.0nannan0.0
half-0.0-inf-inf-65504.0
halfnannan/inf/-infnan0.0
halfinfinfinf65504.0
halfinf-inf-inf-65504.0
half-inf-inf-inf-65504.0
float-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/0.0/-0.0/inf-3.4028235e+38-3.4028235e+38
float-3.4028235e+38(MIN)nannannan
float-3.4028235e+38(MIN)-inf-inf-inf
float3.4028235e+38(MAX)3.4028235e+38(MAX)/inf3.4028235e+383.4028235e+38
float3.4028235e+38(MAX)0.00.00.0
float3.4028235e+38(MAX)-0.0-0.0-0.0
float3.4028235e+38(MAX)nannannan
float3.4028235e+38(MAX)-inf-inf-inf
float0.00.0/inf0.00.0
float0.0-0.0-0.0-0.0
float0.0nannannan
float0.0-inf-inf-inf
float-0.0-0.0/inf-0.0-0.0
float-0.0nannannan
float-0.0-inf-inf-inf
floatnannan/inf/-infnannan
floatinfinfinfinf
floatinf-inf-inf-inf
float-inf-inf-inf-inf
int16_t-32768(MIN)-32768(MIN)/32767(MAX)-32768-32768
int16_t32767(MAX)32767(MAX)3276732767
int32_t-2147483648(MIN)-2147483648(MIN)/2147483647(MAX)-2147483648-2147483648
int32_t2147483647(MAX)2147483647(MAX)21474836472147483647

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表15 Adds特殊值/边界值输入的计算结果

src/dst的数据类型src的元素取值scalarValue取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half-65504.0(MIN)-65504.0(MIN)/-inf-inf-65504.0
half-65504.0(MIN)65504.0(MAX)0.00.0
half-65504.0(MIN)0.0/-0.0-65504.0-65504.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)infinf65504.0
half65504.0(MAX)65504.0(MAX)/infinf65504.0
half65504.0(MAX)0.0/-0.065504.065504.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)-inf-inf-65504.0
half0.00.0/-0.00.00.0
half0.0nannan0.0
half0.0infinf65504.0
half0.0-inf-inf-65504.0
half-0.0-0.0-0.0-0.0
half-0.0nannan0.0
half-0.0infinf65504.0
half-0.0-inf-inf-65504.0
halfnannan/inf/-infnan0.0
halfinfinfinf65504.0
halfinf-infnan0.0
half-inf-inf-inf-65504.0
float-3.4028235e+38(MIN)-3.4028235e+38(MIN)/-inf-inf-inf
float-3.4028235e+38(MIN)3.4028235e+38(MAX)0.00.0
float-3.4028235e+38(MIN)0.0/-0.0-3.40282E+38-3.40282E+38
float-3.4028235e+38(MIN)nannannan
float-3.4028235e+38(MIN)infinfinf
float3.4028235e+38(MAX)3.4028235e+38(MAX)/infinfinf
float3.4028235e+38(MAX)0.0/-0.03.40282E+383.40282E+38
float3.4028235e+38(MAX)nannannan
float3.4028235e+38(MAX)-inf-inf-inf
float0.00.0/-0.00.00.0
float0.0nannannan
float0.0infinfinf
float0.0-inf-inf-inf
float-0.0-0.0-0.0-0.0
float-0.0nannannan
float-0.0infinfinf
float-0.0-inf-inf-inf
floatnannan/inf/-infnannan
floatinfinfinfinf
floatinf-infnannan
float-inf-inf-inf-inf
int16_t-32768(MIN)-32768(MIN)0-32768
int16_t-32768(MIN)32767(MAX)-1-1
int16_t32767(MAX)32767(MAX)-232767
int32_t-2147483648(MIN)-2147483648(MIN)0-2147483648
int32_t-2147483648(MIN)2147483648(MAX)-1-1
int32_t2147483648(MAX)2147483648(MAX)-22147483648

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表16 Muls特殊值/边界值输入的计算结果

src/dst的数据类型src的元素取值scalarValue取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half-65504.0(MIN)-65504.0(MIN)inf65504.0
half-65504.0(MIN)65504.0(MAX)-inf-65504.0
half-65504.0(MIN)0.0-0.0-0.0
half-65504.0(MIN)-0.00.00.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)inf-inf-65504.0
half-65504.0(MIN)-infinf65504.0
half65504.0(MAX)65504.0(MAX)inf65504.0
half65504.0(MAX)0.00.00.0
half65504.0(MAX)-0.0-0.0-0.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)infinf65504.0
half65504.0(MAX)-inf-inf-65504.0
half0.00.00.00.0
half0.0-0.0-0.0-0.0
half0.0nan/inf/-infnan0.0
half-0.0-0.00.00.0
half-0.0nan/inf/-infnan0.0
halfnannan/inf/-infnan0.0
halfinfinfinf65504.0
halfinf-inf-inf-65504.0
half-inf-infinf65504.0
float-3.4028235e+38(MIN)-3.4028235e+38(MIN)infinf
float-3.4028235e+38(MIN)3.4028235e+38(MAX)-inf-inf
float-3.4028235e+38(MIN)0.0-0.0-0.0
float-3.4028235e+38(MIN)-0.00.00.0
float-3.4028235e+38(MIN)nannannan
float-3.4028235e+38(MIN)inf-inf-inf
float-3.4028235e+38(MIN)-infinfinf
float3.4028235e+38(MAX)3.4028235e+38(MAX)infinf
float3.4028235e+38(MAX)0.00.00.0
float3.4028235e+38(MAX)-0.0-0.0-0.0
float3.4028235e+38(MAX)nannannan
float3.4028235e+38(MAX)infinfinf
float3.4028235e+38(MAX)-inf-inf-inf
float0.00.00.00.0
float0.0-0.0-0.0-0.0
float0.0nan/inf/-infnannan
float-0.0-0.00.00.0
float-0.0nan/inf/-infnannan
floatnannan/inf/-infnannan
floatinfinfinfinf
floatinf-inf-inf-inf
float-inf-infinfinf
int16_t-32768(MIN)-32768(MIN)032767
int16_t-32768(MIN)32767(MAX)-32768-32768
int16_t32767(MAX)32767(MAX)132767
int32_t-2147483648(MIN)-2147483648(MIN)02147483648
int32_t-2147483648(MIN)2147483648(MAX)-2147483648-2147483648
int32_t2147483648(MAX)2147483648(MAX)12147483648

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表17 Maxs特殊值/边界值输入的计算结果

src/dst的数据类型src的元素取值scalarValue取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half-65504.0(MIN)-65504.0(MIN)/-inf-65504.0-65504.0
half-65504.0(MIN)65504.0(MAX)65504.065504.0
half-65504.0(MIN)0.00.00.0
half-65504.0(MIN)-0.0-0.0-0.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)infinf65504.0
half65504.0(MAX)65504.0(MAX)/0.0/-0.0/-inf65504.065504.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)infinf65504.0
half0.00.0/-0.0/-inf0.00.0
half0.0nannan0.0
half0.0infinf65504.0
half-0.0-0.0/-inf-0.0-0.0
half-0.0nannan0.0
half-0.0infinf65504.0
halfnannan/inf/-infnan0.0
halfinfinf/-infinf65504.0
half-inf-inf-inf-65504.0
float-3.4028235e+38(MIN)-3.4028235e+38(MIN)/-inf-3.40282E+38-3.40282E+38
float-3.4028235e+38(MIN)3.4028235e+38(MAX)3.40282E+383.40282E+38
float-3.4028235e+38(MIN)0.00.00.0
float-3.4028235e+38(MIN)-0.0-0.0-0.0
float-3.4028235e+38(MIN)nannannan
float-3.4028235e+38(MIN)infinfinf
float3.4028235e+38(MAX)3.4028235e+38(MAX)/0.0/-0.0/-inf3.40282E+383.40282E+38
float3.4028235e+38(MAX)nannannan
float3.4028235e+38(MAX)infinfinf
float0.00.0/-0.0/-inf0.00.0
float0.0nannannan
float0.0infinfinf
float-0.0-0.0/-inf-0.0-0.0
float-0.0nannannan
float-0.0infinfinf
floatnannan/inf/-infnannan
floatinfinf/-infinfinf
float-inf-inf-inf-inf
int16_t-32768(MIN)-32768(MIN)-32768-32768
int16_t-32768(MIN)32767(MAX)3276732767
int16_t32767(MAX)32767(MAX)3276732767
int32_t-2147483648(MIN)-2147483648(MIN)-2147483648-2147483648
int32_t-2147483648(MIN)2147483648(MAX)21474836482147483648
int32_t2147483648(MAX)2147483648(MAX)21474836482147483648

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表18 Mins特殊值/边界值输入的计算结果

src/dst的数据类型src的元素取值scalarValue取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/0.0/-0.0/inf-65504.0-65504.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)-inf-inf-65504.0
half65504.0(MAX)65504.0(MAX)/inf65504.065504.0
half65504.0(MAX)0.00.00.0
half65504.0(MAX)-0.0-0.0-0.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)-inf-inf-65504.0
half0.00.0/inf0.00.0
half0.0-0.0-0.0-0.0
half0.0nannan0.0
half0.0-inf-inf-65504.0
half-0.0-0.0/inf-0.0-0.0
half-0.0nannan0.0
half-0.0-inf-inf-65504.0
halfnannan/inf/-infnan0.0
halfinfinfinf65504.0
halfinf-inf-inf-65504.0
half-inf-inf-inf-65504.0
float-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/0.0/-0.0/inf-3.40282E+38-3.40282E+38
float-3.4028235e+38(MIN)nannannan
float-3.4028235e+38(MIN)-inf-inf-inf
float3.4028235e+38(MAX)3.4028235e+38(MAX)/inf3.40E+383.40E+38
float3.4028235e+38(MAX)0.00.00.0
float3.4028235e+38(MAX)-0.0-0.0-0.0
float3.4028235e+38(MAX)nannannan
float3.4028235e+38(MAX)-inf-inf-inf
float0.00.0/inf0.00.0
float0.0-0.0-0.0-0.0
float0.0nannannan
float0.0-inf-inf-inf
float-0.0-0.0/inf-0.0-0.0
float-0.0nannannan
float-0.0-inf-inf-inf
floatnannan/inf/-infnannan
floatinfinfinfinf
floatinf-inf-inf-inf
float-inf-inf-inf-inf
int16_t-32768(MIN)-32768(MIN)/32767(MAX)-32768-32768
int16_t32767(MAX)32767(MAX)3276732767
int32_t-2147483648(MIN)-2147483648(MIN)/2147483648(MAX)-2147483648-2147483648
int32_t2147483648(MAX)2147483648(MAX)21474836482147483648

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表19 LeakyRelu特殊值/边界值输入的计算结果

src/dst的数据类型src的元素取值scalarValue取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half-65504.0(MIN)-65504.0(MIN)inf65504.0
half-65504.0(MIN)65504.0(MAX)-inf-65504.0
half-65504.0(MIN)0.0-0.0-0.0
half-65504.0(MIN)-0.00.00.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)inf-inf65504.0
half-65504.0(MIN)-infinf-65504.0
half65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/0.0/-0.0/nan/inf/-inf65504.065504.0
half0.0-65504.0(MIN)/65504.0(MAX)/0.0/-0.0/nan/inf/-inf0.00.0
half-0.0-65504.0(MIN)/-0.00.00.0
half-0.065504.0(MAX)/0.0-0.0-0.0
half-0.0nan/inf/-infnan0.0
halfnan-65504.0(MIN)/65504.0(MAX)/0.0/-0.0/nan/inf/-infnan0.0
halfinf-65504.0(MIN)/65504.0(MAX)/0.0/-0.0/nan/inf/-infinf65504.0
half-inf-65504.0(MIN)/-infinf65504.0
half-inf65504.0(MAX)/inf-inf-65504.0
half-inf0.0/-0.0/nannan0.0
float-3.4028235e+38(MIN)-3.4028235e+38(MIN)infinf
float-3.4028235e+38(MIN)3.4028235e+38(MAX)-inf-inf
float-3.4028235e+38(MIN)0.0-0.0-0.0
float-3.4028235e+38(MIN)-0.00.00.0
float-3.4028235e+38(MIN)nannannan
float-3.4028235e+38(MIN)inf-inf-inf
float-3.4028235e+38(MIN)-infinfinf
float3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/0.0/-0.0/nan/inf/-inf3.40E+383.40E+38
float0.0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/0.0/-0.0/nan/inf/-inf0.00.0
float-0.0-3.4028235e+38(MIN)/-0.00.00.0
float-0.03.4028235e+38(MAX)/0.0-0.0-0.0
float-0.0nan/inf/-infnannan
floatnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/0.0/-0.0/nan/inf/-infnannan
floatinf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/0.0/-0.0/nan/inf/-infinfinf
float-inf-3.4028235e+38(MIN)/-infinfinf
float-inf3.4028235e+38(MAX)/inf-inf-inf
float-inf0.0/-0.0/nannannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

复合计算

注:下表中的MAX/MIN对应操作数对应数据类型下的最大值和最小值。

表20 Axpy特殊值/边界值输入的计算结果

src取值/scalarValue取值中间阶段(src*scalarValue)中间阶段(饱和模式,仅输出为half数据类型时支持)dst取值dst输出(INF/NAN模式)dst输出(饱和模式,仅输出为half数据类型时支持)
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0+0+0+0
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0-0+0-0
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0+inf+infMAX
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0-inf-infMIN
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0MAXMAXMAX
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0MINMINMIN
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0nannan+0
+0/-0
+0/MIN
-0/MAX
-0-0+0+0+0
+0/-0
+0/MIN
-0/MAX
-0-0-0-0-0
+0/-0
+0/MIN
-0/MAX
-0-0+inf+inf+inf
+0/-0
+0/MIN
-0/MAX
-0-0-inf-inf-inf
+0/-0
+0/MIN
-0/MAX
-0-0MAXMAXMAX
+0/-0
+0/MIN
-0/MAX
-0-0MINMINMIN
+0/-0
+0/MIN
-0/MAX
-0-0nannan+0
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAX+0+infMAX
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAX-0+infMAX
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAX+inf+infMAX
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAX-infnanMIN
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAXMAX+infMAX
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAXMIN+inf+0
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAXnannan+0
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMIN+0-infMIN
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMIN-0-infMIN
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMIN+infnanMAX
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMIN-inf-infMIN
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMINMAX-inf+0
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMINMIN-infMIN
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMINnannan+0
使得src*scalarValue=MAXMAXMAX+0MAXMAX
使得src*scalarValue=MAXMAXMAX-0MAXMAX
使得src*scalarValue=MAXMAXMAX+inf+infMAX
使得src*scalarValue=MAXMAXMAX-inf-infMIN
使得src*scalarValue=MAXMAXMAXMAXMAXMAX
使得src*scalarValue=MAXMAXMAXMIN+0+0
使得src*scalarValue=MAXMAXMAXnannan+0
使得src*scalarValue=MINMINMIN+0MINMIN
使得src*scalarValue=MINMINMIN-0MINMIN
使得src*scalarValue=MINMINMIN+inf+infMAX
使得src*scalarValue=MINMINMIN-inf-infMIN
使得src*scalarValue=MINMINMINMAX+0+0
使得src*scalarValue=MINMINMINMIN-infMIN
使得src*scalarValue=MINMINMINnannan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0+0nan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0-0nan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0+infnanMAX
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0-infnanMIN
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0MAXnanMAX
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0MINnanMIN
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0nannan+0

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表21 MulAddDst特殊值/边界值输入的计算结果

src0取值/src1取值中间阶段(src0*src1)中间阶段(饱和模式,仅输出为half数据类型时支持)dst取值dst输出(INF/NAN模式)dst输出(饱和模式,仅输出为half数据类型时支持)
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0+0+0+0
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0-0+0-0
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0+inf+infMAX
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0-inf-infMIN
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0MAXMAXMAX
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0MINMINMIN
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0nannan+0
+0/-0
+0/MIN
-0/MAX
-0-0+0+0+0
+0/-0
+0/MIN
-0/MAX
-0-0-0-0-0
+0/-0
+0/MIN
-0/MAX
-0-0+inf+inf+inf
+0/-0
+0/MIN
-0/MAX
-0-0-inf-inf-inf
+0/-0
+0/MIN
-0/MAX
-0-0MAXMAXMAX
+0/-0
+0/MIN
-0/MAX
-0-0MINMINMIN
+0/-0
+0/MIN
-0/MAX
-0-0nannan+0
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAX+0+infMAX
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAX-0+infMAX
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAX+inf+infMAX
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAX-infnanMIN
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAXMAX+infMAX
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAXMIN+inf+0
当源操作数与目的操作数数据类型一致:
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
当源操作数与目的操作数数据类型不一致:
+inf/+inf
+inf/MAX
-inf/MIN
+infMAXnannan+0
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMIN+0-infMIN
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMIN-0-infMIN
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMIN+infnanMAX
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMIN-inf-infMIN
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMINMAX-inf+0
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMINMIN-infMIN
当源操作数与目的操作数数据类型一致:
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
当源操作数与目的操作数数据类型不一致:
+inf/-inf
+inf/MIN
-inf/MAX
-infMINnannan+0
使得src0*src1=MAXMAXMAX+0MAXMAX
使得src0*src1=MAXMAXMAX-0MAXMAX
使得src0*src1=MAXMAXMAX+inf+infMAX
使得src0*src1=MAXMAXMAX-inf-infMIN
使得src0*src1=MAXMAXMAXMAXMAXMAX
使得src0*src1=MAXMAXMAXMIN+0+0
使得src0*src1=MAXMAXMAXnannan+0
使得src0*src1=MINMINMIN+0MINMIN
使得src0*src1=MINMINMIN-0MINMIN
使得src0*src1=MINMINMIN+inf+infMAX
使得src0*src1=MINMINMIN-inf-infMIN
使得src0*src1=MINMINMINMAX+0+0
使得src0*src1=MINMINMINMIN-infMIN
使得src0*src1=MINMINMINnannan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0+0nan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0-0nan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0+infnanMAX
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0-infnanMIN
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0MAXnanMAX
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0MINnanMIN
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0nannan+0

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表22 FusedMulAdd特殊值/边界值输入的计算结果

src0取值/dst取值中间阶段(src0*dst)中间阶段(饱和模式,仅输出为half数据类型时支持)src1取值dst输出(INF/NAN模式)dst输出(饱和模式,仅输出为half数据类型时支持)
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0+0+0+0
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0-0+0-0
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0+inf+infMAX
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0-inf-infMIN
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0MAXMAXMAX
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0MINMINMIN
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0nannan+0
+0/-0
+0/MIN
-0/MAX
-0-0+0+0+0
+0/-0
+0/MIN
-0/MAX
-0-0-0-0-0
+0/-0
+0/MIN
-0/MAX
-0-0+inf+inf+inf
+0/-0
+0/MIN
-0/MAX
-0-0-inf-inf-inf
+0/-0
+0/MIN
-0/MAX
-0-0MAXMAXMAX
+0/-0
+0/MIN
-0/MAX
-0-0MINMINMIN
+0/-0
+0/MIN
-0/MAX
-0-0nannan+0
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAX+0+infMAX
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAX-0+infMAX
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAX+inf+infMAX
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAX-infnanMIN
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAXMAX+infMAX
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAXMIN+inf+0
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAXnannan+0
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMIN+0-infMIN
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMIN-0-infMIN
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMIN+infnanMAX
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMIN-inf-infMIN
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMINMAX-inf+0
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMINMIN-infMIN
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMINnannan+0
使得src0*dst=MAXMAXMAX+0MAXMAX
使得src0*dst=MAXMAXMAX-0MAXMAX
使得src0*dst=MAXMAXMAX+inf+infMAX
使得src0*dst=MAXMAXMAX-inf-infMIN
使得src0*dst=MAXMAXMAXMAXMAXMAX
使得src0*dst=MAXMAXMAXMIN+0+0
使得src0*dst=MAXMAXMAXnannan+0
使得src0*dst=MINMINMIN+0MINMIN
使得src0*dst=MINMINMIN-0MINMIN
使得src0*dst=MINMINMIN+inf+infMAX
使得src0*dst=MINMINMIN-inf-infMIN
使得src0*dst=MINMINMINMAX+0+0
使得src0*dst=MINMINMINMIN-infMIN
使得src0*dst=MINMINMINnannan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0+0nan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0-0nan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0+infnanMAX
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0-infnanMIN
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0MAXnanMAX
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0MINnanMIN
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0nannan+0

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表23 MulAddRelu特殊值/边界值输入的计算结果

src0取值/dst取值中间阶段1(src0*dst)中间阶段1(饱和模式,仅输出为half数据类型时支持)src1取值中间阶段2(INF/NAN模式)中间阶段2(饱和模式,仅输出为half数据类型时支持)dst输出(INF/NAN模式)dst输出(饱和模式,仅输出为half数据类型时支持)
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0+0+0+0+0+0
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0-0+0-0+0+0
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0+inf+infMAX+infMAX
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0-inf-infMIN+0+0
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0MAXMAXMAXMAXMAX
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0MINMINMIN+0+0
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+0nannan+0nan+0
+0/-0
+0/MIN
-0/MAX
-0-0+0+0+0+0+0
+0/-0
+0/MIN
-0/MAX
-0-0-0-0-0+0+0
+0/-0
+0/MIN
-0/MAX
-0-0+inf+inf+inf+infMAX
+0/-0
+0/MIN
-0/MAX
-0-0-inf-inf-inf+0+0
+0/-0
+0/MIN
-0/MAX
-0-0MAXMAXMAXMAXMAX
+0/-0
+0/MIN
-0/MAX
-0-0MINMINMIN+0+0
+0/-0
+0/MIN
-0/MAX
-0-0nannan+0nan+0
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAX+0+infMAX+infMAX
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAX-0+infMAX+infMAX
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAX+inf+infMAX+infMAX
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAX-infnanMINnan+0
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAXMAX+infMAX+infMAX
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAXMIN+inf+0+inf+0
+inf/+inf
+inf/MAX
-inf/MIN
MAX/MAX
MIN/MIN
+infMAXnannan+0nan+0
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMIN+0-infMIN+0+0
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMIN-0-infMIN+0+0
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMIN+infnanMAXnanMAX
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMIN-inf-infMIN+0+0
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMINMAX-inf+0+0+0
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMINMIN-infMIN+0+0
+inf/-inf
+inf/MIN
-inf/MAX
MAX/MIN
-infMINnannan+0nan+0
使得src0*dst=MAXMAXMAX+0MAXMAXMAXMAX
使得src0*dst=MAXMAXMAX-0MAXMAXMAXMAX
使得src0*dst=MAXMAXMAX+inf+infMAX+infMAX
使得src0*dst=MAXMAXMAX-inf-infMIN+0+0
使得src0*dst=MAXMAXMAXMAXMAXMAXMAXMAX
使得src0*dst=MAXMAXMAXMIN+0+0+0+0
使得src0*dst=MAXMAXMAXnannan+0nan+0
使得src0*dst=MINMINMIN+0MINMIN+0+0
使得src0*dst=MINMINMIN-0MINMIN+0+0
使得src0*dst=MINMINMIN+inf+infMAX+infMAX
使得src0*dst=MINMINMIN-inf-infMIN+0+0
使得src0*dst=MINMINMINMAX+0+0+0+0
使得src0*dst=MINMINMINMIN-infMIN+0+0
使得src0*dst=MINMINMINnannan+0nan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0+0nan+0nan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0-0nan+0nan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0+infnanMAXnanMAX
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0-infnanMINnan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0MAXnanMAXnanMAX
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0MINnanMINnan+0
nan/任意值
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+0nannan+0nan+0

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表24 AddRelu特殊值/边界值输入的计算结果

src0取值/src1取值中间阶段(src0+src1)中间阶段(饱和模式,仅输出为half数据类型时支持)dst输出(INF/NAN模式)dst输出(饱和模式,仅输出为half数据类型时支持)
+0/+0
+0/-0
+0+0+0+0
-0/-0-0-0+0+0
+inf/+inf
+inf/MAX
+inf/MIN
+0/+inf
-0/+inf
MAX/MAX
+infMAX+infMAX
-inf/-inf
-inf/MAX
-inf/MIN
+0/-inf
-0/+inf
MIN/MIN
-infMIN+0+0
使得src0+src1=MAXMAXMAXMAXMAX
使得src0+src1=MINMINMIN+0+0
nan/任意值
+inf/-inf
nan+0nan+0

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表25 SubRelu特殊值/边界值输入的计算结果

src0取值/src1取值中间阶段(src0-src1)中间阶段(饱和模式,仅输出为half数据类型时支持)dst输出(INF/NAN模式)dst输出(饱和模式,仅输出为half数据类型时支持)
+0/+0
+0/-0
+0+0+0+0
-0/+0-0-0+0+0
+inf/-inf
+inf/MAX
+inf/MIN
+0/-inf
-0/-inf
MAX/MIN
MAX/-inf
MIN/-inf
+infMAX+infMAX
-inf/-inf
-inf/MAX
-inf/MIN
+0/-inf
-0/+inf
MIN/MIN
-infMIN+0+0
使得src0-src1=MAXMAXMAXMAXMAX
使得src0-src1=MINMINMIN+0+0
nan/任意值
+inf/+inf
-inf/-inf
nan+0nan+0

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表26 AddReluCast特殊值/边界值输入的计算结果

src0数据类型/src1数据类型/dst数据类型src0取值/src1取值中间阶段1(src0+src1)(INF/NAN模式)中间阶段2(INF/NAN模式)dst输出(INF/NAN模式)
float/float/half+0/+0
+0/-0
+0+0+0
float/float/half-0/-0-0+0+0
float/float/half+inf/+inf
+inf/MAX
+inf/MIN
+0/+inf
-0/+inf
MAX/MAX
+inf+inf+inf
float/float/half-inf/-inf
-inf/MAX
-inf/MIN
+0/-inf
-0/+inf
MIN/MIN
-inf+0+0
float/float/half使得src0+src1=MAXMAXMAXMAX
float/float/half使得src0+src1=MINMIN+0+0
float/float/halfnan/任意值
+inf/-inf
nannan+0
half/half/int8_t+0/+0
+0/-0
+0+00
half/half/int8_t-0/-0-0+00
half/half/int8_t+inf/+inf
+inf/MAX
+inf/MIN
+0/+inf
-0/+inf
MAX/MAX
+inf+infMAX
half/half/int8_t-inf/-inf
-inf/MAX
-inf/MIN
+0/-inf
-0/+inf
MIN/MIN
-inf+00
half/half/int8_t使得src0+src1=MAXMAXMAXMAX
half/half/int8_t使得src0+src1=MINMIN+00
half/half/int8_tnan/任意值
+inf/-inf
nannan0
int16_t/int16_t/int8_t0/0000
int16_t/int16_t/int8_tMAX/MAXMAXMAXMAX
int16_t/int16_t/int8_tMIN/MINMIN00

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表27 SubReluCast特殊值/边界值输入的计算结果

src0数据类型/src1数据类型/dst数据类型src0取值/src1取值中间阶段1(src0-src1)(INF/NAN模式)中间阶段2(INF/NAN模式)dst输出(INF/NAN模式)
float/float/half+0/+0
+0/-0
-0/-0
+0+0+0
float/float/half-0/+0-0+0+0
float/float/half+inf/-inf
+inf/MAX
+inf/MIN
+0/-inf
-0/-inf
MAX/MIN
+inf+inf+inf
float/float/half-inf/+0
-inf/+0
-inf/MAX
-inf/MIN
+0/+inf
-0/+inf
MIN/MAX
-inf+0+0
float/float/half使得src0-src1=MAXMAXMAXMAX
float/float/half使得src0-src1=MINMIN+0+0
float/float/halfnan/任意值
+inf/+inf
-inf/-inf
nannan+0
half/half/int8_t+0/+0
+0/-0
-0/-0
+0+00
half/half/int8_t-0/-0-0+00
half/half/int8_t+inf/-inf
+inf/MAX
+inf/MIN
+inf/0
+inf/-0
+0/-inf
-0/-inf
MAX/MIN
+inf+infMAX
half/half/int8_t-inf/-inf
-inf/MAX
-inf/MIN
+0/-inf
-0/+inf
MIN/MIN
-inf+00
half/half/int8_t使得src0-src1=MAXMAXMAXMAX
half/half/int8_t使得src0-src1=MINMIN+00
half/half/int8_tnan/任意值
+inf/+inf
-inf/-inf
nannan0
int16_t/int16_t/int8_t0/0000
int16_t/int16_t/int8_tMAX/MINMAXMAXMAX
int16_t/int16_t/int8_tMIN/MAXMIN00

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表28 MulCast特殊值/边界值输入的计算结果

src0取值/src1取值中间阶段(src0*src1)中间阶段(饱和模式,仅输出为half数据类型时支持)dst输出(INF/NAN模式)dst输出(饱和模式,仅输出为half数据类型时支持)
+0/+0
-0/-0
+0/MAX
-0/MIN
+0+000
+0/-0
+0/MIN
-0/MAX
-0-000
MAX/MAX
+inf/MAX
-inf/MIN
+infMAXMAXMAX
MAX/MIN
+inf/MIN
-inf/MAX
-infMINMINMIN
使得src0*src1=MAXMAXMAXMAXMAX
使得src0*src1=MINMINMINMINMIN
nan/任意数
+0/+inf
+0/-inf
-0/+inf
-0/-inf
nan+000

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表29 CastDequant特殊值/边界值输入的计算结果(MAX/MIN对应操作数对应数据类型下的最大值和最小值,scale=1,offset=0)

src数据类型/dst数据类型src取值dst输出(INF/NAN模式)dst输出(饱和模式,仅输出为half数据类型时支持)
int32_t/half000
int32_t/half65504MAXMAX
int32_t/half-65504MINMIN
int32_t/halfMAX+infMAX
int32_t/halfMIN-infMIN
int16_t/int8_t00/
int16_t/int8_tMAXMAX/
int16_t/int8_tMINMIN/

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

比较与选择

注:

  • 下表中的MAX/MIN对应操作数对应数据类型下的最大值和最小值。
  • GetCmpMask为设置比较掩码寄存器的数据搬运操作,不涉及特殊值/边界值。

表30 Compare特殊值/边界值输入的计算结果

src数据类型/src1数据类型cmpMode比较模式src0数据类型src1数据类型dst输出数据(INF/NAN模式)dst输出数据(饱和模式)
half/halfCMPMODE::EQ-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/01/0/0/0/0/0/0
half/halfCMPMODE::EQ65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/0/00/1/0/0/0/0/0
half/halfCMPMODE::EQ+0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/1/1/0/0/00/0/1/1/0/0/0
half/halfCMPMODE::EQ-0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/1/1/0/0/00/0/1/1/0/0/0
half/halfCMPMODE::EQnan-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::EQ+inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/1/00/0/0/0/0/1/0
half/halfCMPMODE::EQ-inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/10/0/0/0/0/0/1
half/halfCMPMODE::GE-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/11/0/0/0/0/0/1
half/halfCMPMODE::GE65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/0/11/1/1/1/0/0/1
half/halfCMPMODE::GE+0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/0/11/0/1/1/0/0/1
half/halfCMPMODE::GE-0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/0/11/0/1/1/0/0/1
half/halfCMPMODE::GEnan-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::GE+inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/11/1/1/1/0/1/1
half/halfCMPMODE::GE-inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/10/0/0/0/0/0/1
half/halfCMPMODE::GT-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/10/0/0/0/0/0/1
half/halfCMPMODE::GT65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/0/1/0/1/1/0/0/1
half/halfCMPMODE::GT+0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/11/0/0/0/0/0/1
half/halfCMPMODE::GT-0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/11/0/0/0/0/0/1
half/halfCMPMODE::GTnan-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::GT+inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/0/11/1/1/1/0/0/1
half/halfCMPMODE::GT-inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::LE-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/01/1/1/1/0/1/0
half/halfCMPMODE::LE65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/1/00/1/0/0/0/1/0
half/halfCMPMODE::LE+0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/00/1/1/1/0/1/0
half/halfCMPMODE::LE-0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/00/1/1/1/0/1/0
half/halfCMPMODE::LEnan-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::LE+inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/1/00/0/0/0/0/1/0
half/halfCMPMODE::LE-inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/11/1/1/1/0/1/1
half/halfCMPMODE::LT-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/00/1/1/1/0/1/0
half/halfCMPMODE::LT65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/1/00/0/0/0/0/1/0
half/halfCMPMODE::LT+0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/1/00/1/0/0/0/1/0
half/halfCMPMODE::LT-0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/1/00/1/0/0/0/1/0
half/halfCMPMODE::LTnan-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::LT+inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::LT-inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/01/1/1/1/0/1/0
half/halfCMPMODE::NE-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/10/1/1/1/0/1/1
half/halfCMPMODE::NE65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/1/11/0/1/1/0/1/1
half/halfCMPMODE::NE+0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/0/0/0/1/11/1/0/0/0/1/1
half/halfCMPMODE::NE-0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/0/0/0/1/11/1/0/0/0/1/1
half/halfCMPMODE::NEnan-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::NE+inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/0/11/1/1/1/0/0/1
half/halfCMPMODE::NE-inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/01/1/1/1/0/1/0
float/floatCMPMODE::EQ-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/01/0/0/0/0/0/0
float/floatCMPMODE::EQ3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/0/00/1/0/0/0/0/0
float/floatCMPMODE::EQ+0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/1/1/0/0/00/0/1/1/0/0/0
float/floatCMPMODE::EQ-0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/1/1/0/0/00/0/1/1/0/0/0
float/floatCMPMODE::EQnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::EQ+inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/1/00/0/0/0/0/1/0
float/floatCMPMODE::EQ-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/10/0/0/0/0/0/1
float/floatCMPMODE::GE-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/11/0/0/0/0/0/1
float/floatCMPMODE::GE3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/0/11/1/1/1/0/0/1
float/floatCMPMODE::GE+0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/0/11/0/1/1/0/0/1
float/floatCMPMODE::GE-0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/0/11/0/1/1/0/0/1
float/floatCMPMODE::GEnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::GE+inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/11/1/1/1/0/1/1
float/floatCMPMODE::GE-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/10/0/0/0/0/0/1
float/floatCMPMODE::GT-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/10/0/0/0/0/0/1
float/floatCMPMODE::GT3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/0/11/0/1/1/0/0/1
float/floatCMPMODE::GT+0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/11/0/0/0/0/0/1
float/floatCMPMODE::GT-0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/11/0/0/0/0/0/1
float/floatCMPMODE::GTnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::GT+inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/0/11/1/1/1/0/0/1
float/floatCMPMODE::GT-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::LE-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/01/1/1/1/0/1/0
float/floatCMPMODE::LE3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/1/00/1/0/0/0/1/0
float/floatCMPMODE::LE+0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/00/1/1/1/0/1/0
float/floatCMPMODE::LE-0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/00/1/1/1/0/1/0
float/floatCMPMODE::LEnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::LE+inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/1/00/0/0/0/0/1/0
float/floatCMPMODE::LE-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/11/1/1/1/0/1/1
float/floatCMPMODE::LT-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/00/1/1/1/0/1/0
float/floatCMPMODE::LT3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/1/00/0/0/0/0/1/0
float/floatCMPMODE::LT+0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/1/00/1/0/0/0/1/0
float/floatCMPMODE::LT-0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/1/00/1/0/0/0/1/0
float/floatCMPMODE::LTnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::LT+inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::LT-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/01/1/1/1/0/1/0
float/floatCMPMODE::NE-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/10/1/1/1/0/1/1
float/floatCMPMODE::NE3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/1/11/0/1/1/0/1/1
float/floatCMPMODE::NE+0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/0/0/0/1/11/1/0/0/0/1/1
float/floatCMPMODE::NE-0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/0/0/0/1/11/1/0/0/0/1/1
float/floatCMPMODE::NEnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::NE+inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/0/11/1/1/1/0/0/1
float/floatCMPMODE::NE-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/01/1/1/1/0/1/0
int32_t/int32_tCMPMODE::EQ-2147483648(MIN)-2147483648(MIN)/2147483647(MAX)1/01/0
int32_t/int32_tCMPMODE::EQ2147483647(MAX)-2147483648(MIN)/2147483647(MAX)0/10/1

注:

  • CMPMODE::NE模式中,在数据类型为half和float时,Compare接口计算结果存在与IEEE754理论结果不同:

    • src0=nan,src1=MIN/MAX/+0/-0/nan/+inf/-inf时,实际结果:dst输出数据(INF/NAN模式和饱和模式)均为0/0/0/0/0/0/0,IEEE754理论结果:1/1/1/1/1/1/1。
    • src0=MIN/MAX/+0/-0/nan/+inf/-inf,src1=nan时,实际结果:dst输出数据(INF/NAN模式和饱和模式)均为0/0/0/0/0/0/0,IEEE754理论结果:1/1/1/1/1/1/1。
  • 在其余模式中,dst输出数据(INF/NAN模式)、dst输出数据(饱和模式)结果,与IEEE754理论结果一致。

表31 Compares特殊值/边界值输入的计算结果

src数据类型/src1数据类型cmpMode比较模式src0数据类型scalar数据类型dst输出数据(INF/NAN模式)dst输出数据(饱和模式)
half/halfCMPMODE::EQ-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/01/0/0/0/0/0/0
half/halfCMPMODE::EQ65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/0/00/1/0/0/0/0/0
half/halfCMPMODE::EQ+0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/1/1/0/0/00/0/1/1/0/0/0
half/halfCMPMODE::EQ-0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/1/1/0/0/00/0/1/1/0/0/0
half/halfCMPMODE::EQnan-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::EQ+inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/1/00/0/0/0/0/1/0
half/halfCMPMODE::EQ-inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/10/0/0/0/0/0/1
half/halfCMPMODE::GE-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/11/0/0/0/0/0/1
half/halfCMPMODE::GE65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/0/11/1/1/1/0/0/1
half/halfCMPMODE::GE+0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/0/11/0/1/1/0/0/1
half/halfCMPMODE::GE-0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/0/11/0/1/1/0/0/1
half/halfCMPMODE::GEnan-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::GE+inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/11/1/1/1/0/1/1
half/halfCMPMODE::GE-inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/10/0/0/0/0/0/1
half/halfCMPMODE::GT-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/10/0/0/0/0/0/1
half/halfCMPMODE::GT65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/0/1/0/1/1/0/0/1
half/halfCMPMODE::GT+0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/11/0/0/0/0/0/1
half/halfCMPMODE::GT-0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/11/0/0/0/0/0/1
half/halfCMPMODE::GTnan-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::GT+inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/0/11/1/1/1/0/0/1
half/halfCMPMODE::GT-inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::LE-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/01/1/1/1/0/1/0
half/halfCMPMODE::LE65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/1/00/1/0/0/0/1/0
half/halfCMPMODE::LE+0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/00/1/1/1/0/1/0
half/halfCMPMODE::LE-0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/00/1/1/1/0/1/0
half/halfCMPMODE::LEnan-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::LE+inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/1/00/0/0/0/0/1/0
half/halfCMPMODE::LE-inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/11/1/1/1/0/1/1
half/halfCMPMODE::LT-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/00/1/1/1/0/1/0
half/halfCMPMODE::LT65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/1/00/0/0/0/0/1/0
half/halfCMPMODE::LT+0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/1/00/1/0/0/0/1/0
half/halfCMPMODE::LT-0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/1/00/1/0/0/0/1/0
half/halfCMPMODE::LTnan-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::LT+inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::LT-inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/01/1/1/1/0/1/0
half/halfCMPMODE::NE-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/10/1/1/1/1/1/1
half/halfCMPMODE::NE65504.0(MAX)-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/1/11/0/1/1/1/1/1
half/halfCMPMODE::NE+0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/0/0/0/1/11/1/0/0/1/1/1
half/halfCMPMODE::NE-0-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/0/0/0/1/11/1/0/0/1/1/1
half/halfCMPMODE::NEnan-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
half/halfCMPMODE::NE+inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/0/11/1/1/1/0/0/1
half/halfCMPMODE::NE-inf-65504.0(MIN)/65504.0(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/01/1/1/1/0/1/0
float/floatCMPMODE::EQ-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/01/0/0/0/0/0/0
float/floatCMPMODE::EQ3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/0/00/1/0/0/0/0/0
float/floatCMPMODE::EQ+0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/1/1/0/0/00/0/1/1/0/0/0
float/floatCMPMODE::EQ-0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/1/1/0/0/00/0/1/1/0/0/0
float/floatCMPMODE::EQnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::EQ+inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/1/00/0/0/0/0/1/0
float/floatCMPMODE::EQ-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/10/0/0/0/0/0/1
float/floatCMPMODE::GE-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/11/0/0/0/0/0/1
float/floatCMPMODE::GE3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/0/11/1/1/1/0/0/1
float/floatCMPMODE::GE+0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/0/11/0/1/1/0/0/1
float/floatCMPMODE::GE-0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/0/11/0/1/1/0/0/1
float/floatCMPMODE::GEnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::GE+inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/11/1/1/1/0/1/1
float/floatCMPMODE::GE-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/10/0/0/0/0/0/1
float/floatCMPMODE::GT-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/10/0/0/0/0/0/1
float/floatCMPMODE::GT3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/0/11/0/1/1/0/0/1
float/floatCMPMODE::GT+0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/11/0/0/0/0/0/1
float/floatCMPMODE::GT-0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/0/0/0/0/11/0/0/0/0/0/1
float/floatCMPMODE::GTnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::GT+inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/0/11/1/1/1/0/0/1
float/floatCMPMODE::GT-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::LE-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/01/1/1/1/0/1/0
float/floatCMPMODE::LE3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/1/00/1/0/0/0/1/0
float/floatCMPMODE::LE+0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/00/1/1/1/0/1/0
float/floatCMPMODE::LE-0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/00/1/1/1/0/1/0
float/floatCMPMODE::LEnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::LE+inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/1/00/0/0/0/0/1/0
float/floatCMPMODE::LE-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/11/1/1/1/0/1/1
float/floatCMPMODE::LT-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/00/1/1/1/0/1/0
float/floatCMPMODE::LT3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/1/00/0/0/0/0/1/0
float/floatCMPMODE::LT+0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/1/00/1/0/0/0/1/0
float/floatCMPMODE::LT-0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/0/0/0/1/00/1/0/0/0/1/0
float/floatCMPMODE::LTnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::LT+inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::LT-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/01/1/1/1/0/1/0
float/floatCMPMODE::NE-3.4028235e+38(MIN)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/1/1/1/0/1/10/1/1/1/0/1/1
float/floatCMPMODE::NE3.4028235e+38(MAX)-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/0/1/1/0/1/11/0/1/1/0/1/1
float/floatCMPMODE::NE+0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/0/0/0/1/11/1/0/0/0/1/1
float/floatCMPMODE::NE-0-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/0/0/0/1/11/1/0/0/0/1/1
float/floatCMPMODE::NEnan-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf0/0/0/0/0/0/00/0/0/0/0/0/0
float/floatCMPMODE::NE+inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/0/11/1/1/1/0/0/1
float/floatCMPMODE::NE-inf-3.4028235e+38(MIN)/3.4028235e+38(MAX)/+0/-0/nan/+inf/-inf1/1/1/1/0/1/01/1/1/1/0/1/0
int32_t/int32_tCMPMODE::EQ-2147483648(MIN)-2147483648(MIN)/2147483647(MAX)1/01/0
int32_t/int32_tCMPMODE::EQ2147483647(MAX)-2147483648(MIN)/2147483647(MAX)0/10/1

注:

  • CMPMODE::NE模式中,在数据类型为half和float时,Compares接口计算结果存在与IEEE754理论结果不同:

    • src0=nan,scalar=MIN/MAX/+0/-0/nan/+inf/-inf时,实际结果:dst输出数据(INF/NAN模式和饱和模式)均为0/0/0/0/0/0/0,IEEE754理论结果:1/1/1/1/1/1/1。
    • src0=MIN/MAX/+0/-0/nan/+inf/-inf,scalar=nan时,实际结果:dst输出数据(INF/NAN模式和饱和模式)均为0/0/0/0/0/0/0,IEEE754理论结果:1/1/1/1/1/1/1。
  • 在其余模式中,dst输出数据(INF/NAN模式)、dst输出数据(饱和模式)结果,与IEEE754理论结果一致。

类型转换

注:下表中的MAX/MIN对应操作数对应数据类型下的最大值和最小值。

表32 Cast特殊值/边界值输入的计算结果

src数据类型/dst数据类型src输入数据dst输出数据(INF/NAN模式)dst输出数据(饱和模式,仅输出数据类型为half、bfloat16有效)
int4b_t/halfMIN-8-8
int4b_t/halfMAX77
uint8_t/half000
uint8_t/halfMAX255255
int8_t/halfMAX127127
int8_t/halfMIN-128-128
half/int4b_tMAX77
half/int4b_tMIN-8-8
half/int4b_t+0/-000
half/int4b_tnan00
half/int4b_t+inf77
half/int4b_t-inf-8-8
half/int8_tMAX127127
half/int8_tMIN-128-128
half/int8_t+0/-000
half/int8_tnan00
half/int8_t+inf127127
half/int8_t-inf-128-128
half/uint8_tMAX255255
half/uint8_tMIN00
half/uint8_t+0/-000
half/uint8_tnan00
half/uint8_t+inf255255
half/uint8_t-inf00
half/int16_tMAX6550465504
half/int16_tMIN-65504-65504
half/int16_t+0/-000
half/int16_tnan00
half/int16_t+inf6550465504
half/int16_t-inf-65504-65504
half/int32_tMAX6550465504
half/int32_tMIN-65504-65504
half/int32_t+0/-000
half/int32_tnan00
half/int32_t+inf21474836472147483647
half/int32_t-inf-2147483648-2147483648
half/floatMAX6550465504
half/floatMIN-65504-65504
half/float+0/-000
half/floatnannannan
half/float+inf+inf+inf
half/float-inf-inf-inf
int16_t/halfMAX32768.0032768.00
int16_t/halfMIN-32768.00-32768.00
int16_t/half0+0+0
int16_t/floatMAX32768.0032768.00
int16_t/floatMIN-32768.00-32768.00
int16_t/float0+0+0
bfloat16_t/int32_t3.3895314e+38(MAX)21474836472147483647
bfloat16_t/int32_t-3.3895314e+38(MIN)-2147483648-2147483648
bfloat16_t/int32_t000
bfloat16_t/int32_t+inf21474836472147483647
bfloat16_t/int32_t-inf-2147483648-2147483648
bfloat16_t/int32_tnan00
bfloat16_t/float3.3895314e+38(MAX)3.3895314e+383.3895314e+38
bfloat16_t/float-3.3895314e+38(MIN)-3.3895314e+38-3.3895314e+38
bfloat16_t/float000
bfloat16_t/float+inf+inf+inf
bfloat16_t/float-inf-inf-inf
bfloat16_t/floatnannannan
int32_t/int16_tMAXMAXMAX
int32_t/int16_tMINMINMIN
int32_t/int16_t000
int32_t/half(参考CastDequant)///
int32_t/float2147483647(MAX)2147483520.002147483520.00
int32_t/float-2147483648(MIN)-2147483648.00-2147483648.00
int32_t/int64_t2147483647(MAX)21474836472147483647
int32_t/int64_t-2147483648(MIN)-2147483648-2147483648
float/int16_t3.4028235e+38(MAX)3276732767
float/int16_t-3.4028235e+38(MIN)-32768-32768
float/int16_t000
float/int16_t+inf3276732767
float/int16_t-inf-32768-32768
float/int16_tnan00
float/bfloat16_t3.4028235e+38(MAX)+infMAX
float/bfloat16_t-3.4028235e+38(MIN)-infMIN
float/bfloat16_t+0+0+0
float/bfloat16_t-0-0-0
float/bfloat16_t+inf+infMAX
float/bfloat16_t-inf-infMIN
float/bfloat16_tnannan0
float/half3.4028235e+38(MAX)+infMAX
float/half-3.4028235e+38(MIN)-infMIN
float/half000
float/half+inf+infMAX
float/half-inf-infMIN
float/halfnannan0
float/int32_t3.4028235e+38(MAX)21474836472147483647
float/int32_t-3.4028235e+38(MIN)-2147483648-2147483648
float/int32_t000
float/int32_t+inf21474836472147483647
float/int32_t-inf-2147483648-2147483648
float/int32_tnan00
float/floatMAXMAXMAX
float/floatMINMINMIN
float/float+0+0+0
float/float-0+0+0
float/float+inf+inf+inf
float/float-inf-inf-inf
float/floatnannannan
float/int64_t3.4028235e+38(MAX)9.22337E+189.22337E+18
float/int64_t-3.4028235e+38(MIN)-9.22337E+18-9.22337E+18
float/int64_t000
float/int64_t+inf9.22337E+189.22337E+18
float/int64_t-inf-9.22337E+18-9.22337E+18
float/int64_tnan00
int64_t/int32_tMAX21474836472147483647
int64_t/int32_tMIN-2147483648-2147483648
int64_t/floatMAX9223372036854775808.00(MAX)9223372036854775808.00(MAX)
int64_t/floatMIN-9223372036854775808.00(MIN)-9223372036854775808.00(MIN)
int16_t/int8_tMAX127127
int16_t/int8_tMIN-128-128
int16_t/uint8_tMAX255255
int16_t/uint8_tMIN00

注:float->float转换,-0会被转为+0,与IEEE754不一致。

归约计算

注:下表中的MAX/MIN对应操作数对应数据类型下的最大值和最小值。

表33 ReduceDataBlock<MAX>特殊值/边界值输入的计算结果

src/dst的数据类型src(1个DataBlock)的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half全为-65504.0(MIN)-65504.0-65504.0
half全为65504.0(MAX)65504.065504.0
half全为0.00.00.0
half全为-0.0-0.0-0.0
half全为nannan0.0
half全为infinf65504.0
half全为-inf-inf-65504.0
halfinf,-inf,nan交替nan0.0
halfinf,-inf交替inf65504.0
halfinf,nan交替nan0.0
half-inf,nan交替nan0.0
half15个1.0加1个infinf65504.0
half15个1.0加1个-inf1.01.0
half15个1.0加1个nannan0.0
float全为-3.4028235e+38(MIN)-3.4028235e+38-3.4028235e+38
float全为3.4028235e+38(MAX)3.4028235e+383.4028235e+38
float全为0.00.00.0
float全为-0.0-0.0-0.0
float全为nannannan
float全为infinfinf
float全为-inf-inf-inf
floatinf,-inf,nan交替nannan
floatinf,-inf交替infinf
floatinf,nan交替nannan
float-inf,nan交替nannan
float7个1.0加1个infinfinf
float7个1.0加1个-inf1.01.0
float7个1.0加1个nannannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表34 ReduceDataBlock<MIN>特殊值/边界值输入的计算结果

src/dst的数据类型src(1个DataBlock)的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half全为-65504.0(MIN)-65504.0-65504.0
half全为65504.0(MAX)65504.065504.0
half全为0.00.00.0
half全为-0.0-0.0-0.0
half全为nannan0.0
half全为infinf65504.0
half全为-inf-inf-65504.0
halfinf,-inf,nan交替nan0.0
halfinf,-inf交替-inf-65504
halfinf,nan交替nan0.0
half-inf,nan交替nan0.0
half15个1.0加1个inf1.01.0
half15个1.0加1个-inf-inf-65504.0
half15个1.0加1个nannan0.0
float全为-3.4028235e+38(MIN)-3.4028235e+38-3.4028235e+38
float全为3.4028235e+38(MAX)3.4028235e+383.4028235e+38
float全为0.00.00.0
float全为-0.0-0.0-0.0
float全为nannannan
float全为infinfinf
float全为-inf-inf-inf
floatinf,-inf,nan交替nannan
floatinf,-inf交替-inf-inf
floatinf,nan交替nannan
float-inf,nan交替nannan
float7个1.0加1个inf1.01.0
float7个1.0加1个-inf-inf-inf
float7个1.0加1个nannannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表35 ReduceDataBlock<SUM>特殊值/边界值输入的计算结果

src/dst的数据类型src(1个DataBlock)的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half全为-65504.0(MIN)-inf-65504.0
half全为65504.0(MAX)inf65504.0
half全为0.00.00.0
half全为-0.0-0.0-0.0
half全为nannan0.0
half全为infinf65504.0
half全为-inf-inf-65504.0
halfinf,-inf,nan交替nan0.0
halfinf,-inf交替nan0.0
halfinf,nan交替nan0.0
half-inf,nan交替nan0.0
half15个1.0加1个infinf65344.0
half15个1.0加1个-inf-inf-65344.0
half15个1.0加1个nannan14.0
float全为-3.4028235e+38(MIN)-inf-inf
float全为3.4028235e+38(MAX)infinf
float全为0.00.00.0
float全为-0.0-0.0-0.0
float全为nannannan
float全为infinfinf
float全为-inf-inf-inf
floatinf,-inf,nan交替nannan
floatinf,-inf交替nannan
floatinf,nan交替nannan
float-inf,nan交替nannan
float7个1.0加1个infinfinf
float7个1.0加1个-inf-inf-inf
float7个1.0加1个nannannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表36 ReduceRepeat<MAX>特殊值/边界值输入的计算结果

src/dst的数据类型src(8个DataBlock)的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half全为-65504.0(MIN)-65504.0-65504.0
half全为65504.0(MAX)65504.065504.0
half全为0.00.00.0
half全为-0.0-0.0-0.0
half全为nannan0.0
half全为infinf65504.0
half全为-inf-inf-65504.0
halfinf,-inf,nan交替nan0.0
halfinf,-inf交替inf65504.0
halfinf,nan交替nan0.0
half-inf,nan交替nan0.0
half127个1.0加1个infinf65504.0
half127个1.0加1个-inf11.0
half127个1.0加1个nannan0.0
float全为-3.4028235e+38(MIN)-3.4028235e+38-3.4028235e+38
float全为3.4028235e+38(MAX)3.4028235e+383.4028235e+38
float全为0.00.00.0
float全为-0.0-0.0-0.0
float全为nannannan
float全为infinfinf
float全为-inf-inf-inf
floatinf,-inf,nan交替nannan
floatinf,-inf交替infinf
floatinf,nan交替nannan
float-inf,nan交替nannan
float63个1.0加1个infinfinf
float63个1.0加1个-inf11
float63个1.0加1个nannannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表37 ReduceRepeat<MIN>特殊值/边界值输入的计算结果

src/dst的数据类型src(8个DataBlock)的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half全为-65504.0(MIN)-65504.0-65504.0
half全为65504.0(MAX)65504.065504.0
half全为0.00.00.0
half全为-0.0-0.0-0.0
half全为nannan0
half全为infinf65504
half全为-inf-inf-65504
halfinf,-inf,nan交替nan0
halfinf,-inf交替-inf-65504
halfinf,nan交替nan0
half-inf,nan交替nan0
half127个1.0加1个inf11
half127个1.0加1个-inf-inf-65504
half127个1.0加1个nannan0
float全为-3.4028235e+38(MIN)-3.4028235e+38-3.4028235e+38
float全为3.4028235e+38(MAX)3.4028235e+383.4028235e+38
float全为0.00.00.0
float全为-0.0-0.0-0.0
float全为nannannan
float全为infinfinf
float全为-inf-inf-inf
floatinf,-inf,nan交替nannan
floatinf,-inf交替-inf-inf
floatinf,nan交替nannan
float-inf,nan交替nannan
float63个1.0加1个inf1.01.0
float63个1.0加1个-inf-inf-inf
float63个1.0加1个nannannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表38 ReduceRepeat<SUM>特殊值/边界值输入的计算结果

src/dst的数据类型src(8个DataBlock)的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half全为-65504.0(MIN)-inf-65504.0
half全为65504.0(MAX)inf65504.0
half全为0.00.00.0
half全为-0.0-0.0-0.0
half全为nannan0.0
half全为infinf65504.0
half全为-inf-inf-65504.0
halfinf,-inf,nan交替nan0.0
halfinf,-inf交替nan0.0
halfinf,nan交替nan0.0
half-inf,nan交替nan0.0
half127个1.0加1个infinf65504.0
half127个1.0加1个-inf-inf-65376.0
half127个1.0加1个nannan126.0
float全为-3.4028235e+38(MIN)-inf-inf
float全为3.4028235e+38(MAX)infinf
float全为0.00.00.0
float全为-0.0-0.0-0.0
float全为nannannan
float全为infinfinf
float全为-inf-inf-inf
floatinf,-inf,nan交替nannan
floatinf,-inf交替nannan
floatinf,nan交替nannan
float-inf,nan交替nannan
float63个1.0加1个infinfinf
float63个1.0加1个-inf-inf-inf
float63个1.0加1个nannannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表39 ReduceMax特殊值/边界值输入的计算结果

src/dst的数据类型src(8个DataBlock)的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half全为-65504.0(MIN)-65504.0-65504.0
half全为65504.0(MAX)65504.065504.0
half全为0.00.00.0
half全为-0.0-0.0-0.0
half全为nannan0.0
half全为infinf65504.0
half全为-inf-inf-65504.0
halfinf,-inf,nan加253个1.0nan1.0
halfinf,-inf加254个1.0inf65504.0
halfinf,nan加254个1.0nan1.0
half-inf,nan加254个1.0nan1.0
half255个1.0加一个infinf65504.0
half255个1.0加一个-inf1.01.0
half255个1.0加一个nannan1.0
float全为-3.4028235e+38(MIN)-3.4028235e+38-3.4028235e+38
float全为3.4028235e+38(MAX)3.4028235e+383.4028235e+38
float全为0.00.00.0
float全为-0.0-0.0-0.0
float全为nannannan
float全为infinfinf
float全为-inf-inf-inf
floatinf,-inf,nan交替nannan
floatinf,-inf交替infinf
floatinf,nan交替nannan
float-inf,nan交替nannan
float63个1.0加1个infinfinf
float63个1.0加1个-inf1.01.0
float63个1.0加1个nannannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表40 ReduceMin特殊值/边界值输入的计算结果

src/dst的数据类型src(8个DataBlock)的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half全为-65504.0(MIN)-65504.0-65504.0
half全为65504.0(MAX)65504.065504.0
half全为0.00.00.0
half全为-0.0-0.0-0.0
half全为nannan0.0
half全为infinf65504.0
half全为-inf-inf-65504.0
halfinf,-inf,nan加253个1.0nan0.0
halfinf,-inf加254个1.0-inf-65504.0
halfinf,nan加254个1.0nan0.0
half-inf,nan加254个1.0nan0.0
half255个1.0加一个inf1.01.0
half255个1.0加一个-inf-inf-65504.0
half255个1.0加一个nannan0.0
float全为-3.4028235e+38(MIN)-3.4028235e+38-3.4028235e+38
float全为3.4028235e+38(MAX)3.4028235e+383.4028235e+38
float全为0.00.00.0
float全为-0.0-0.0-0.0
float全为nannannan
float全为infinfinf
float全为-inf-inf-inf
floatinf,-inf,nan交替nannan
floatinf,-inf交替-inf-inf
floatinf,nan交替nannan
float-inf,nan交替nannan
float63个1.0加1个inf1.01.0
float63个1.0加1个-inf-inf-inf
float63个1.0加1个nannannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表41 ReduceSum特殊值/边界值输入的计算结果

src/dst的数据类型src(8个DataBlock)的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half全为-65504.0(MIN)-inf-65504.0
half全为65504.0(MAX)inf65504.0
half全为0.00.00.0
half全为-0.0-0.0-0.0
half全为nannan0.0
half全为infinf65504.0
half全为-inf-inf-65504.0
halfinf,-inf,nan加253个1.0nan252.0
halfinf,-inf加254个1.0nan254.0
halfinf,nan加254个1.0nan254.0
half-inf,nan加254个1.0nan254.0
half255个1.0加一个infinf65504.0
half255个1.0加一个-inf-inf-65248.0
half255个1.0加一个nannan254.0
float全为-3.4028235e+38(MIN)-inf-inf
float全为3.4028235e+38(MAX)infinf
float全为0.00.00.0
float全为-0.0-0.0-0.0
float全为nannannan
float全为infinfinf
float全为-inf-inf-inf
floatinf,-inf,nan交替nannan
floatinf,-inf交替nannan
floatinf,nan交替nannan
float-inf,nan交替nannan
float63个1.0加1个infinfinf
float63个1.0加1个-inf-inf-inf
float63个1.0加1个nannannan

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

数据排布转换

Transpose和TransDataTo5HD属于搬运类接口,不涉及特殊值/边界值。

数据填充

Brcb和Duplicate属于填充类接口,不涉及特殊值/边界值。

CreateVecIndex特殊值/边界值输入的计算结果和Adds接口一致。

排序组合

Sort32、MrgSort、GetMrgSortResult不涉及特殊值/边界值。

离散与聚合

Gather和Gatherb属于搬运类接口,不涉及特殊值/边界值。

掩码操作

SetMaskCount、SetMaskNorm、SetVectorMask和ResetMask为掩码配置接口,不涉及特殊值/边界值。

免责声明:本站内容由 asc-devkit 仓 master 分支自动编译生成,属于持续开发版本,可能存在缺陷,仅供预览与参考。如需稳定及商用资料,请查阅官方 昇腾社区