请问一下,6678中的复数运算有没有不用循环的,例如两组数据每组10个复数,进行两组数据的加,有没不用for循环的库函数
Allen35065:
复数运算有指令支持,参考CPU and instruction 手册;
比如CMPY等等;
你的程序里,为什么不能用for循环?
xinxin lai:
回复 Allen35065:
就是想减少运算时间啊,我知道有矩阵运算,还有两个复数之间的运算,但是我想复数的矩阵运算,在其他平台以前有,所以现在用6678也希望可以
Allen35065:
回复 xinxin lai:
复数运算有DCMPY以及CMPYSP,你可以看看CPU and instruction手册;
在DSP上要提高效率需要将数据结构按这些指令的输入进行组织,然后在for循环里使用内联函数来调用这些指令。
编译器在某些环节上可以帮你实现,但不是全部;同理数学库是为了优化某些函数计算如FFT而开发的,像复数运算这种基础运算应该是直接使用指令来做。
Allen35065:
回复 xinxin lai:
另外矩阵运算在数学库里是有的,你仔细看看
xinxin lai:
回复 Allen35065:
提供的库只有float类型的,,没有double的矢量矩阵乘