# IQmath_fake **Repository Path**: Ms_bubble/IQmath_fake ## Basic Information - **Project Name**: IQmath_fake - **Description**: TI公司IQmath函数库的测试替身 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-11-08 - **Last Updated**: 2022-11-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![Build Status](https://travis-ci.org/rookiecalf/IQmath_fake.png)](https://travis-ci.org/rookiecalf/IQmath_fake/builds) IQmath_fake =========== IQmath_fake是TI的IQmath数学函数库的测试替身,用于dsp以及其他使用IQmath数学库项目的单元测试。 IQmath_fake基于CppUTest-3.3单元测试框架开发,但并不限于此测试框架。关于CppUTest单元测试框架的使用可以参照[http://cpputest.github.io/](http://cpputest.github.io/ "CppUTest官网")。 IQmath_fake初期版本包含_IQNmpy,_IQNdiv,_IQNsin,_IQNcos,_IQNint,_IQNfrac等函数的测试替身,其他函数的测试替身将在后续版本中补充。 _IQNmpy的实现算法:A*B/(2^N),运算中使用double数据类型。 _IQNdiv的实现算法:A*(2^N)/B,运算中使用double数据类型。 _IQNsin的实现算法:sin(A/(2^N))*(2^N),运算中使用double型数据。 _IQNcos的实现算法:cos(A/(2^N))*(2^N),运算中使用double型数据。 三角函数的运算,由于精度的问题,并不能确保与浮点型输入进行匹配,如果要完全匹配,需要按照IQ值进行每一步的精度换算。实际操作中,可以参照测试结果微调期望值输入,来使测试通过。 _IQNint的算法:A/(2^N),使用long型数据进行运算。 _IQNfrac的算法:(A/(2^N))*(2^N),使用long型数据运算,不可进行运算的化简,需要严格遵循运算步骤。