[an error occurred while processing this directive]
|
Делал 2 вещи:
1.16-бит мантисса, 16 бит экспонента (реально использовал 8 бит)- флоат
2. 32-битный комплекс (16 Re, 16 Im)с общей экспонентой (16 бит представление экспоненты, использовал тоже 8) для реальной и мнимой части.
На счет сравнения с библиотеками от TI - не могу ничего сказать конкретного, кроме того, что получилось здорово быстрее - оптимизатор смог хорошо раскатать некоторые циклы когда все заинлайнил. Конечно же не так быстро как fixed но меня вполне устроило - примерно было так -
2 умножения комлесной матрицы 2X2 на комплексный вектор 2X1 (что-то типа
C(Ax+B) + D - A, C - матрицы,B,D вектора ) заняло ~600 циклов.
Для инверсии плавающих чисел использовал полиномиальное представление 1/x. Также с помощью полиномов считал abs() и arg() для комплексов.
Спрашивайте еще подробности отвечу завтра - сегодня бегу...
E-mail: info@telesys.ru