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 - функциями.

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 является расширением.