В программе выполняемой на RaspberryPi B+ необходимо вычислять значение натурального логарифма, но по непонятной причине функция возвращает аргумент.
Код: Выделить всё
unsigned short delta_x;
float val = logf(static_cast<float>(delta_x));
log_info("Pelco horiz: ln(%hu) = %f, isnan %d, isinf %d", delta_x, val, isnan(delta_x), isinf(delta_x));Вывод:
Код: Выделить всё
Pelco horiz: ln(324) = 324.000000, isnan 0, isinf 0Linux:
Код: Выделить всё
~ # cat /proc/version
Linux version 3.18.12+ (kirill@kirill) (gcc version 4.7.1 20120402 (prerelease) (crosstool-NG 1.15.2) ) #13 PREEMPT Mon May 18 13:54:43 MSK 2015Простейшая программа вычисляющая логарифм и выводящая значение работает корректно:
Код: Выделить всё
logf test
Value 1: wait 0, get 0.000000
Value 25: wait 3.2188, get 3.218876
Value 334: wait 5.811, get 5.811141Вопрос - почему logf возвращает свой аргумент?
Спасибо.