[РЕШЕНО] log(x) возвращает аргумент

Модератор: Модераторы разделов

IMB
Сообщения: 2567
ОС: Debian

[РЕШЕНО] log(x) возвращает аргумент

Сообщение IMB »

Доброго дня!
В программе выполняемой на 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 0

Linux:

Код: Выделить всё

~ # 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 возвращает свой аргумент?
Спасибо.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: [РЕШЕНО] log(x) возвращает аргумент

Сообщение IMB »

Тестовая функция:

Код: Выделить всё

void test_log(unsigned short val)
{
    unsigned short v = 318;

    log_info("%s: logf(318) %f, logf(%hu) %f, logf(%hu) %f",
            __func__, logf(318.0), v, logf(static_cast<float>(v)), val, logf(static_cast<float>(val)));
}

Вывод:

Код: Выделить всё

test_log: logf(318) 5.762052, logf(318) 5.762052, logf(318) 318.000000
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: [РЕШЕНО] log(x) возвращает аргумент

Сообщение IMB »

Проблема решена сменой компилятора с arm-bcm2708hardfp-linux-gnueabi- на arm-bcm2708-linux-gnueabi-

Код: Выделить всё

test_log: logf(318) 5.762052, logf(318) 5.762052, logf(318) 5.762052


Обсуждение идентичной проблемы http://stackoverflow.com/questions/1396821...on-raspberry-pi
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21352
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [РЕШЕНО] log(x) возвращает аргумент

Сообщение Bizdelnick »

Как компилируете?
Upd. Не успел.
IMB писал(а):
21.05.2015 13:56
arm-bcm2708hardfp-linux-gnueabi-
Ничего удивительного...
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: [РЕШЕНО] log(x) возвращает аргумент

Сообщение IMB »

Не понял вопроса, не затруднит раскрыть?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21352
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [РЕШЕНО] log(x) возвращает аргумент

Сообщение Bizdelnick »

Да уже нет вопроса, раз проблема решена. (-:
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: