【RISC-V】fclass数值类型对照表

指令:

复制代码
vfclass.v vd, vs2, vm # Vector-vector

解析:

cpp 复制代码
if (vl > vlmax(e32, mf2)) vl = __riscv_vsetvl_e32mf2(vl);
vuint32mf2_t res;
for (size_t i = 0; i < vl; i++) {
  uint32_t t = 0;
  float32_t a = op1[i];
  bool sub = is_subnormal(op1[i]); // false for ±0
  if (a == -∞)     t |= 1<<0; //负无穷 ==   1 == 0x001
  if (a<0 && !sub) t |= 1<<1; //负正规数 ==   2 == 0x002; false for ±0.0
  if (a<0 &&  sub) t |= 1<<2; //负非正规数(指数) ==   4 == 0x004; false for ±0.0
  if (a === -0.0)  t |= 1<<3; //负零 ==   8 == 0x008
  if (a === +0.0)  t |= 1<<4; //正零 ==  16 == 0x010
  if (a>0 &&  sub) t |= 1<<5; //正非正规数 ==  32 == 0x020
  if (a>0 && !sub) t |= 1<<6; //正正规数 ==  64 == 0x040
  if (a == +∞)     t |= 1<<7; //正无穷 == 128 == 0x080
  if (isSNaN(a))   t |= 1<<8; //信号 == 256 == 0x100
  if (isQNaN(a))   t |= 1<<9; //静默 == 512 == 0x200
  res[i] = t;
}
for (size_t i = vl; i < vlmax; i++) res[i] = anything();
return res;

对应表格

代码逻辑判断 (伪代码) 分类名称 对应位 返回值 (十进制) 返回值 (十六进制)
a == -∞ 负无穷 (Negative Infinity) Bit 0 1 0x001
a < 0 && !sub (负数且非非正规数) 负正规数 (Negative Normal) Bit 1 2 0x002
a < 0 && sub (负数且为非正规数) 负非正规数 (Negative Subnormal) Bit 2 4 0x004
a === -0.0 负零 (Negative Zero) Bit 3 8 0x008
a === +0.0 正零 (Positive Zero) Bit 4 16 0x010
a > 0 && sub (正数且为非正规数) 正非正规数 (Positive Subnormal) Bit 5 32 0x020
a > 0 && !sub (正数且非非正规数) 正正规数 (Positive Normal) Bit 6 64 0x040
a == +∞ 正无穷 (Positive Infinity) Bit 7 128 0x080
isSNaN(a) 信号型 NaN (Signaling NaN) Bit 8 256 0x100
isQNaN(a) 静默型 NaN (Quiet NaN) Bit 9 512 0x200

举例:

cpp 复制代码
const float32_t vec1[DATALEN] = { 16.0, 16.50, -16.5000, -16.5001, +0.0, -0.0, -1e-38, 1e-38 };

结果:

cpp 复制代码
res[8] = {64, 64, 2, 2, 16, 8, 4, 32}
相关推荐
nh75273 天前
(一)HPM自定义工程创建实操
单片机·risc-v·hpm·先楫
蓝速科技5 天前
蓝速科技 RISC-V+ 鸿蒙终端:一机多场景信创改造实效评测
科技·harmonyos·risc-v
MounRiver_Studio6 天前
RISC-V IDE MRS2调试秘籍(三):通过栈帧可视化模块定位栈溢出、栈内存非法篡改等运行时错误
mcu·risc-v·代码调试
MounRiver_Studio6 天前
RISC-V IDE MRS2调试秘籍(一):通过Memory内存导出对比,锁定隐性内存异常代码
mcu·调试技巧·risc-v·代码调试
蓝速科技11 天前
蓝速科技 RISC-V 鸿蒙信创终端全场景落地方案
科技·harmonyos·risc-v
国科安芯11 天前
ASC4T245S分组双向控制架构深度解析:独立DIR/OE控制、QFN16封装与混合方向总线桥接
单片机·嵌入式硬件·物联网·fpga开发·架构·risc-v
蓝速科技12 天前
蓝速科技 RISC-V 鸿蒙信创工控终端深度评测
科技·harmonyos·risc-v
tianyuanwo1 个月前
深入解析 RISC-V 虚拟化中的 UEFI 固件配置:从 XML 到 NVRAM 的生命周期管理
xml·linux·risc-v
国科安芯1 个月前
基于AS32S601ZIT2型抗辐照MCU的商业航天卫星姿态确定与控制系统研究
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
高新打工人1 个月前
RISC-V(五):xceptions, Traps, and Interrupts介绍
risc-v