ARM的指令BFI如何翻译成等效的C++?

PDD123 2019-09-24 03:40:32
ARM的指令:BFI{<c>}{<q>} <Rd>, <Rn>, #<lsb>, #<width>
其功能用C++描述是不是这样:
		unsigned int inline bfi(unsigned int rd, unsigned int rn, unsigned int lsb, unsigned int width)
{
unsigned int ls = (unsigned int(0xFFFFFFFF) >> (32 - width));
rn = (rn & ls) << lsb;
ls = ~(ls << lsb);
rd = rd & ls;
rd = rd | rn;
return rd;
}


...全文
657 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
PDD123 2019-09-24
  • 打赏
  • 举报
回复
引用 3 楼 早打大打打核战争 的回复:
应该是对的,你对比一下用指令和自行计算的结果
好的,谢谢。 结果和我理解的相同,只要我理解对了就对了。
PDD123 2019-09-24
  • 打赏
  • 举报
回复
一般有可能有歧义的地方,我要嘛写成两段,要嘛带个括号。
  • 打赏
  • 举报
回复
应该是对的,你对比一下用指令和自行计算的结果

PDD123 2019-09-24
  • 打赏
  • 举报
回复
引用 1 楼 早打大打打核战争 的回复:
rd = rd & ls; rd = rd | rn; return rd; 可以直接: return rd & ls | rn;
你好,我就想问问对不对。
  • 打赏
  • 举报
回复
rd = rd & ls;
rd = rd | rn;
return rd;
可以直接:
return rd & ls | rn;
数据集可视化效果可参见下方展示。 【数据集概况】 · 检测类别(中文):[弯腰(bending), 躺卧(down), 站立(up)] · 训练集:3240 张 · 验证集:0 张 · 测试集:210 张 · 总计:3450 张 该数据集聚焦于室内居住环境下的人员行为状态识别,通过多角度、多时段的图像采集,全面覆盖了日常生活中常见的身体姿态变化。数据集中包含多种典型动作场景,如站立、弯腰和躺卧等,能够有效支持对个体活动状态的精准判断,适用于智能安防、健康监护及居家行为分析等高价值应用领域。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 100 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9740** mAP50-95 | 0.8780 Precision | 0.9537 Recall | 0.9434 train/box_loss | 0.3695 train/cls_loss | 0.1506 val/box_loss | 0.4416 val/cls_loss | 0.2860 【训练过程分析】 100 轮训练后 mAP50 达到 0.9740,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。mAP50-95 为 0.8780,和 mAP50 差距仅 0.10,框的定位精度也很扎实。 【模型性能评估】 Precision 0.9537、Recall 0.9434,精召双高,模型对弯腰、躺卧、站立的检测能力强。多类检测中,不同类别性能可能有差异,需关注难例类别的表现。 【预测效果展示...

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧