#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 - функциями.
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.
Infinity, infinityf - представление бесконечности
#include <math.h>
double infinity(void);
float infinityf(void);
infinity и infinityf возвращают специальное значение, объявленное в IEEE двойной и единичнойной точности соответственно.
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, но с одноразрядными числами с плавающей точкой.
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 является расширением.
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 является расширением.