Быстрая фиксированная точка pow, log, exp и sqrt

У меня есть класс с фиксированной точкой (10.22), и мне нужны функции pow, sqrt, exp и log.

Увы, я понятия не имею, с чего начать. Может ли кто-нибудь предоставить мне несколько ссылок на полезные статьи или, что еще лучше, предоставить мне код?

Я предполагаю, что как только у меня есть функция exp, становится относительно легко реализовать pow и sqrt в том виде, в каком они только что стали.

pow( x, y ) => exp( y * log( x ) )
sqrt( x )   => pow( x, 0.5 )

Это как раз те функции exp и log, которые мне кажутся сложными (как будто я помню несколько моих правил журнала, я не могу вспомнить о них больше).

Предположительно, также был бы более быстрый для sqrt и pow, поэтому любые указатели на этом фронте будут оценены, даже если это просто сказать, что используйте методы, описанные выше.

Обратите внимание: это ДОЛЖНО быть кроссплатформенным и в чистом коде C / C ++, поэтому я не могу использовать любые оптимизации ассемблера.

21
задан Goz 21 June 2019 в 15:44
поделиться