
- •2.1 Математические функции('math.H')
- •2.2 Версия библиотеки
- •2.3 Acos,acosf - арккосинус
- •2.4 Acosh, acoshf - обратный гиперболический косинус
- •2.5 Asin, asinf - арксинус
- •2.6 Asinh, asinhf - обратный гиперболический синус
- •2.7 Atan, atanf - арктангенс
- •2.8 Atan2, atan2f - арктангенс от y/X
- •2.9 Atanh, atanhf - обратный гиперболический тангенс
- •2.10 JN,jNf,yN,yNf - функции Бесселя
- •2.11 Сbrt,cbrtf - кубический корень
- •2.12 Copysign, copysignf - число с абсолютным значением х и со
- •2.13 Cosh, coshf - гиперболический косинус
- •2.14 Erf, erff, erfc, erfcf - функции ошибки
- •2.15 Exp, expf - экспонента
- •2.16 Expm1, expm1f - экспонента минус 1
- •2.17 Fabs, fabsf - абсолютное значение (модуль)
- •2.18 Floor, floorf, ceil, ceilf - наименьшее и наибольшее ближайшие целые
- •2.19 Fmod, fmodf - остаток от деления в виде числа с плавающей точкой
- •2.20 Frexp,frexpf - разбиение числа с плавающей точкой
- •2.22 Hypot, hypotf - расстояние от начала координат
- •2.23 Ilogb, ilogbf - получение показателя степени в представлении числа с плавающей точкой
- •2.24 Infinity, infinityf - представление бесконечности
- •2.25 Isnan, isnanf, isinf, isinff, finite, finitef - тест для чисел структуры exception
- •2.26 Ldexp, ldexpf - задание показателя
- •2.27 Log, logf - натуральные логарифмы
- •2.28 Log10, log10f - логарифмы по основанию 10
- •2.30 Matherr - изменяемый обработчик математических ошибок
- •2.31 Modf, modff - разбиение на дробную и целую части
- •2.32 Nan, nanf - представление бесконечности
- •2.33 Nextafter, nextafterf - получение ближайшего числа
- •2.34 Pow, powf - X в степени y
- •2.35 Rint, rintf, remainder, remainderf - округление и остаток
- •2.36 Scalbn, scalbnf - масштабирование
- •2.37 Sqrt, sqrt - арифметический квадратный корень
- •2.38 Sin, sinf, cos, cosf - синус и косинус
- •2.39 Sinh, sinhf - гиперболический синус
- •2.40 Tan, tanf - тангенс
- •2.41 Tanh, tanhf - гиперболический тангенс
2.22 Hypot, hypotf - расстояние от начала координат
#include <math.h>
double hypot(double x, double y);
float hypotf(float x, float y);
hypot вычисляет евклидово расстояние sqrt( x**2 + y**2 ) между началом координат и точкой, представленной декартовыми координатами (х, y). hypotf отличается только типом аргументов и результата.
В случае успеха возвращается расстояние. При переполнении hypot возвращает HUGE_VAL и присваивает переменной errno значение ERANGE.
Эта обработка ошибок может быть изменена с помощью функции matherr.
Ни hypot, ни hypotf не являются ANSI C - функциями.
2.23 Ilogb, ilogbf - получение показателя степени в представлении числа с плавающей точкой
#include <math.h>
int ilogb(double val);
int ilogbf(float val);
Все ненулевые нормальные числа могут быть представлены в р виде m*2 . ilogb и ilogbf запрашивают аргумент val и возвращают число p. Функции frexp и frexpf подобны функциям ilogb и ilogbf, но помимо этого возвращают m.
ilogb и ilogbf возвращают степень двойки, которая используется для образования числа с плавающей точкой. Если аргумент равен 0, они возвращают -INT_MAX (INT_MAX определен в limits.h). Если val равен бесконечности или NaN, они возвращают INT_MAX.
Ни ilogb, ни ilogbf не входят в ANSI C и System V Interface Definition.
2.24 Infinity, infinityf - представление бесконечности
#include <math.h>
double infinity(void);
float infinityf(void);
infinity и infinityf возвращают специальное значение, объявленное в IEEE двойной и единичнойной точности соответственно.
2.25 Isnan, isnanf, isinf, isinff, finite, finitef - тест для чисел структуры exception
#include <ieeefp.h>
int isnan(double arg);
int isinf(double arg);
int finite(double arg);
int isnanf(float arg);
int isinff(float arg);
int finitef(float arg);
Эти функции выдают информацию о заданном аргументе - числе с плавающей точкой.
Существует пять основных форматов чисел:
zero
число, все биты которого - нули.
subnormal
используется для представления чисел с нулевым показателем, но ненулевой дробью.
normal
Число с показателем степени и с дробной частью.
infinity
Число с показателем, состоящим из одних единиц (в битовом представлении) и нулевой дробью.
NAN
Число с показателем, состоящим из одних единиц, и ненулевой дробью.
isnan возвращает 1, если аргумент равен nan. isinf возвращает 1, если аргумент равен infinity. finite возвращает 1, если аргумент равен zero, subnormal или normal. isnanf, isinff и finitef производят те же действия, что и их аналоги isnan, isinf и finite, но с одноразрядными числами с плавающей точкой.
2.26 Ldexp, ldexpf - задание показателя
#include <math.h>
double ldexp(double val, int exp);
float ldexpf(float val, int exp);
ldexp вычисляет величину val*(p**exp). ldexpf аналогична с точностью до типов.
ldexp и ldexpf возвращают вычисленные значения.
При переполнении в обе стороны переменной errno присваивается значение ERANGE. При переполнении в отрицательную сторону ldexp и ldexpf приобретают значение 0.0. При переполнении в положительную сторону ldexp становится равной HUGE_VAL со знаком плюс или минус.
ldexp удовлетворяет стандарту ANSI C. ldexpf является расширением.
2.27 Log, logf - натуральные логарифмы
#include <math.h>
double log(double x);
float logf(float x);
Возвращают значение натурального логарифма от х, то есть логарифм по основанию e ( где e - основание натуральной системы логарифмов, 2.71828...). log и logf идентичны с точностью до типов входных и выходных данных.
Вы можете изменить обработку ошибок для этих функций, используя matherr.
В случае успеха возвращается вычисленное значение. Если х равен нулю, получаемое значение функции будет -HUGE_VAL а переменная errno станет равной EDOM. Переиначить поведение обработчика ошибок можно использованием matherr.
log удовлетворяет стандарту ANSI C. logf является расширением.