C: tgamma(x) для x>150

Xomiak09

C: tgamma(x) для x>150
x - integer. tgamma - по идее double.
Господа, что делать с сверх-большими числами, большими чем 1.0e+308, не влезающими в тип double в С?
Не хочу выходить за рамки С языка, юзать библиотку boost и т.п.. Может уже есть С-библиотеки c таким типом переменных, похожим на double, но где под степень отводится по максимуму байтов?
Сорри, если боян, хотя б что гуглить ? :(

Serab

tgamma(x) для x>150
x - integer.
Ну можно этот факториал считать ручками и показатель степени отдельно хранить (там нулей много)

Serab

да, вот я тоже подумал и хотел это написать, тебе же надо не просто tgamma посчитать, нужны какие-то дальнейшие действия, так что надо брать и честно искать библиотеки длинной арифметики.

Xomiak09

похоже, что MPFR подойдет. Большое спасибо! Осталось понять, как под cygwin'ом скачать библиотеку, но это другой вопрос.

apl13

Осталось понять, как под cygwin'ом скачать библиотеку
:ooo:

apl13

Господа, что делать с сверх-большими числами, большими чем 1.0e+308, не влезающими в тип double в С?
А long double в gcc нет?
Оставить комментарий
Имя или ник:
Комментарий: