我采用double类型的复数形式,但是我发现用复数函数库进行运算的时间比不用复数函数库的时间更久,比如两个复数相乘,用库函数的_Cmulcc比直接用*更慢,这是为什么,为什么库的效率这么低,是要设置什么吗。
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.
我采用double类型的复数形式,但是我发现用复数函数库进行运算的时间比不用复数函数库的时间更久,比如两个复数相乘,用库函数的_Cmulcc比直接用*更慢,这是为什么,为什么库的效率这么低,是要设置什么吗。
你直接用*的代码是什么样的,运行结果正确么。
我理解C6000是不能自己识别出复数数据类型,进行复数乘法运算的,必须要调用库。
C66 double类型的硬件指令比较少,像复数乘法,目前只有定点数和单精度浮点的复数乘法指令,你可以参考c66的指令集,在代码中用instrisic来优化,循环中调用函数有时候无法排流水,导致执行效率较差。