Эффективная реализация натурального логарифма (ln) и возведения в степень

По сути, я ищу реализацию функций log()и exp(), представленных в библиотеке C . Я работаю с 8-битными микроконтроллерами (OKI 411 и 431). Мне нужно рассчитать среднюю кинетическую температуру. Требование состоит в том, чтобы мы могли рассчитать MKT как можно быстрее и с как можно меньшим объемом памяти для кода. Компилятор поставляется с функциями log()и exp()в . Но вызов любой функции и связывание с библиотекой приводит к увеличению размера кода на 5 килобайт, что не помещается в один из микро, с которым мы работаем (OKI 411), потому что наш код уже потребляет ~ 12 КБ доступной ~ 15 КБ памяти для кода.

Реализация, которую я ищу, не должна использовать какие-либо другие функции библиотеки C (например, pow(), sqrt() и т. д.). Это связано с тем, что все библиотечные функции упакованы в одну библиотеку, и даже если будет вызвана одна функция, компоновщик принесет в память кода всю библиотеку размером 5 КБ.

РЕДАКТИРОВАТЬ

Алгоритм должен быть правильным до 3 знаков после запятой.

11
задан Potatoswatter 21 March 2012 в 05:46
поделиться