Перейти к содержанию
    

Помогите найти исходник функций floor и ceil

Приветствую.

Блин, накипело, долбанный ГЦЦ не может найти в своих либах эти функции, причем синусы и косинусы находит, а еще более долбанный интернет не может найти их исходники.

Может я тупой, конечно, но задаю тупой гугловской нейросети простой вопрос "исходник функции ceil()" и в ответ только как ее использовать. Может надо писать "пожалуйта" и на колени встать)))

Подскажите, где их найти-то хоть можно, или надо самому выдумывать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У GCC это встроенные функции с примерно такой обёрткой

float ceil(float __x)
{ return __builtin_ceilf(__x); }

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 hours ago, mantech said:

надо писать "пожалуйта" и на колени встать

#ifndef _DOUBLE_IS_32BITS

double 
_DEFUN (floor, (double),
              double x)
{
  double f, y;

  if (x > -1.0 && x < 1.0)
    return (x >= 0 ? 0 : -1.0);

  y = modf (x, &f);

  if (y == 0.0)
    return (x);

  return (x >= 0 ? f : f - 1.0);
}

#endif /* _DOUBLE_IS_32BITS */
15 hours ago, mantech said:

простой вопрос "исходник функции ceil()"

Смешно

Изменено пользователем haker_fox
Для оформления кода есть кнопка <>.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, x893 сказал:

Смешно

Наверно. Не подскажете адресок, где их можно подсмотреть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, mantech said:

Наверно. Не подскажете адресок, где их можно подсмотреть?

https://google.com

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 hours ago, mantech said:

не может найти

man ceil

man floor

15 hours ago, mantech said:

ГЦЦ не может найти в своих либах

При чём тут "либы GCC"? Это C runtime. См. выше.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, x893 сказал:

А то я не догадался... Вот не понимаю таких "ответов", или так хочется показать свое превосходство, что-ли? Нет желания - пройдите мимо, если вам будут так же отвечать?

1 час назад, andrew_b сказал:

man ceil

man floor

Я спрашивал не как пользоваться данной функцией, а ее исходник.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

https://github.com/bminor/newlib/blob/master/newlib/libm/math/s_floor.c

https://github.com/bminor/newlib/blob/master/newlib/libm/math/s_ceil.c

Мне кажется этого достаточно для старта.

5 минут назад, mantech сказал:

А то я не догадался... Вот не понимаю таких "ответов", или так хочется показать свое превосходство, что-ли? Нет желания - пройдите мимо, если вам будут так же отвечать?

Не обращайте внимания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, makc сказал:

Мне кажется этого достаточно для старта.

Спасибо большое!  

Осталось разобраться с EXTRACT_WORDS подобными и наверно все заработает)))

4 минуты назад, makc сказал:

Не обращайте внимания.

Это как в детстве мне говорили - есть люди умные и умники, на последних не обращайте внимания)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, mantech сказал:

Осталось разобраться с EXTRACT_WORDS подобными и наверно все заработает)))

С ними вроде всё просто, судя по https://github.com/bminor/newlib/blob/master/newlib/libm/common/fdlibm.h

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, mantech said:

Я спрашивал не как пользоваться данной функцией, а ее исходник.

Вы же не читали маны, я правильно понимаю? Там всё написано. Исходники вам не нужны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

согласен со всеми ораторами,

но может интереснее будет не целочисленную, а флоатпоинт версию взять - из того же newlib, но не из math, а из mathfp - скорее всего плавучка та уже есть в том или ином виде...

-----------

и для протокола - я не одобряю использование этих функций в исходниках для компиляции в gcc, может там надо -lm к линкеру дописать или как-то так. сомневаюсь, что gcc собран без libc (то есть того же newlib)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, yes сказал:

но может интереснее будет не целочисленную, а флоатпоинт версию взять - из того же newlib,

Там задача была поправить чужой исходник и сделать, чтобы работало, причем к к этой среде, долго разбираться почему синус\косинус есть, а этих двух нет - некогда, просили сделать побыстрее, что и сделал, благодаря makc.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Следите за разницей floor и floorf,  ceili и ceilf.

Функции подтяговаются из библиотеки libm  в gcc.

Скорее всего забыли math.h

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...