硬汉嵌入式论坛

 找回密码
 立即注册
查看: 808|回复: 3
收起左侧

[其它] 救急:arm_mult函数异常

[复制链接]

24

主题

121

回帖

193

积分

初级会员

积分
193
发表于 2022-1-16 17:51:52 | 显示全部楼层 |阅读模式
一直在优化jpg解码。能优化的地方其实很少。
有个连续计算的函数,想着用dsp函数代替一下看看效果。
具体描述为:A(n)*B(n)=C(n)n≤64。

本想着用arm_mult函数是很简单的事,结果发现
计算结果不对。之后用arm_add测了一下结果是
对的,说明编译环境没有问题。

特此请教一下各位大神。具体是哪里出了问题,谢谢!

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2022-1-17 01:30:49 | 显示全部楼层
你调用的是那个后缀的,f32还是q定点的
回复

使用道具 举报

24

主题

121

回帖

193

积分

初级会员

积分
193
 楼主| 发表于 2022-1-17 08:22:42 | 显示全部楼层
eric2013 发表于 2022-1-17 01:30
你调用的是那个后缀的,f32还是q定点的

白工,是arm_mult_q15。
*pDst++ = (q15_t) __SSAT((((q31_t) (*pSrcA++) * (*pSrcB++)) >> 15), 16);
如果去掉__SSAT,似乎就可以
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2022-1-18 10:34:58 | 显示全部楼层
yxydoctor 发表于 2022-1-17 08:22
白工,是arm_mult_q15。
*pDst++ = (q15_t) __SSAT((((q31_t) (*pSrcA++) * (*pSrcB++)) >> 15), 16);
...

这个__SSAT是个饱和运算。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-6 06:25 , Processed in 0.163905 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表