我现在使用C6678的处理板,需要大量的浮点乘法,速度很慢,请问有没有类似IQmath库适合此款板子。我在网上只找到C64**的库,没有对应C66的。
如果没有的话,该如何提速呢?不知道有没有开发过的人给点建议,本人菜鸟一只
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我现在使用C6678的处理板,需要大量的浮点乘法,速度很慢,请问有没有类似IQmath库适合此款板子。我在网上只找到C64**的库,没有对应C66的。
如果没有的话,该如何提速呢?不知道有没有开发过的人给点建议,本人菜鸟一只
谢谢,我已经安装成功,并可正常使用。但是速度没有提升,反倒是降了。
是不是我这段代码不适合用IQmath库? 什么情况下使用IQmath会加速?
源代码:
float u,v;
unsigned char a,b,c,d;
temp1=(1-u)*(1-v)*a;
temp2=u*(1-v)*b;
temp3=v*(1-u)*c;
temp4=u*v**d;
temp=temp1+temp2+temp3+temp4;
使用IQmath库后:
_iq IQ_u1v1,IQ_uv1,IQ_vu1,IQ_uv;
IQ_u1v1=_IQ29mpy(_IQ29(1-u),_IQ29(1-v));
IQ_uv1=_IQ29mpy(_IQ29(u),_IQ29(1-v));
IQ_vu1=_IQ29mpy(_IQ29(v),_IQ29(1-u));
IQ_uv=_IQ29mpy(_IQ29(v),_IQ29(u));
float u1v1=_IQ29toF(IQ_u1v1);
float uv1=_IQ29toF(IQ_uv1);
float vu1=_IQ29toF(IQ_vu1);
float uv=_IQ29toF(IQ_uv);
temp1=u1v1*a;
temp2=uv1*b;
temp3=vu1*c;
temp4=uv*d;