#ifndef GLOBAL_Q
#define GLOBAL_Q 1
#endif
#define _IQsqrt(A) sqrt(A)
VTTT=10;
VTTT=_IQ1mpy(10,10); // 运行结果正常是VTTT=50,
VTTT=_IQ12mpy(4096,4096);//// 运行结果正常是VTTT=4096
VTTT=_IQsqrt(100);// 运行结果是VTTT=14,不正常,不应该是10吗?
Susan Yang:
#ifndef GLOBAL_Q
#define GLOBAL_Q 1
#endif
#define _IQsqrt(A) sqrt(A)
VTTT=10;
VTTT=_IQ1mpy(10,10); // 运行结果正常是VTTT=50,
VTTT=_IQ12mpy(4096,4096);//// 运行结果正常是VTTT=4096
VTTT=_IQsqrt(100);// 运行结果是VTTT=14,不正常,不应该是10吗?
Susan Yang:请您看一下/ti/controlSUITE/libs/math/IQmath/v160/doc/IQmath_Quickstart.pdf文档内的说明
IQNsqrt
Description :This module computes the square root of the input using table lookup and Newton-Raphson approximation.
Declaration
Global IQ function (IQ format = GLOBAL_Q)
C_iq _IQsqrt(_iq A)
C++iqIQsqrt(const iq &A)
#ifndef GLOBAL_Q
#define GLOBAL_Q 1
#endif
#define _IQsqrt(A) sqrt(A)
VTTT=10;
VTTT=_IQ1mpy(10,10); // 运行结果正常是VTTT=50,
VTTT=_IQ12mpy(4096,4096);//// 运行结果正常是VTTT=4096
VTTT=_IQsqrt(100);// 运行结果是VTTT=14,不正常,不应该是10吗?
user3900194:
回复 Susan Yang:
现在DSP28035中使用开平方函数IQsqrt,可以吗?需要额外配置cmd文件或者库文件吗,编译环境为ccs5,谢谢。
#ifndef GLOBAL_Q
#define GLOBAL_Q 1
#endif
#define _IQsqrt(A) sqrt(A)
VTTT=10;
VTTT=_IQ1mpy(10,10); // 运行结果正常是VTTT=50,
VTTT=_IQ12mpy(4096,4096);//// 运行结果正常是VTTT=4096
VTTT=_IQsqrt(100);// 运行结果是VTTT=14,不正常,不应该是10吗?
mangui zhang:
回复 user3900194:
包含头文件"#include <math.h>"
然后直接调用 sqrt(A)