1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/rookiecalf-IQmath_fake

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 2.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 14:41 63b2644

IQmath_fake

IQmath_fake — это тестовый двойник математической библиотеки функций IQmath от TI, который используется для модульного тестирования DSP и других проектов, использующих библиотеку IQmath.

IQmath_fake разработан на основе модульной тестовой среды CppUTest-3.3, но не ограничивается ею. Информацию об использовании CppUTest можно найти на сайте http://cpputest.github.io/.

В начальной версии 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).

Из-за проблем с точностью при выполнении тригонометрических операций нельзя гарантировать полное соответствие результатов с плавающей точкой. Если требуется точное соответствие, необходимо пересчитывать точность на каждом шаге по значению IQ. В реальных операциях можно настроить ожидаемые значения результатов теста, чтобы обеспечить успешное прохождение теста.

Алгоритм _IQNint: A/(2^N), здесь используются данные типа long.

Алгоритм _IQNfrac: (A/(2^N))*(2^N), также используются данные типа long, при этом сокращение операции невозможно, нужно строго следовать шагам выполнения.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/rookiecalf-IQmath_fake.git
git@api.gitlife.ru:oschina-mirror/rookiecalf-IQmath_fake.git
oschina-mirror
rookiecalf-IQmath_fake
rookiecalf-IQmath_fake
master