
- •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.31 Modf, modff - разбиение на дробную и целую части
#include <math.h>
double modf(double val, double *ipart);
float modff(float val, float *ipart);
modf разделяет переменную val типа double на целую и дробную части, возвращая дробную часть и сохраняя целую в *ipart. Не происходит никакого округления, сумма дробной и целой частей гарантированно составит val. То есть, если realpart = mod(val, &intpart); тогда 'realpart + intpart' в точности будет равняться val.
modff идентичен с точностью до типов.
Возвращается дробная часть. Знак результата совпадает со знаком исходного аргумента val.
modf удовлетворяет стандарту ANSI C. modff является расширением.
2.32 Nan, nanf - представление бесконечности
#include <math.h>
double nan(void);
float nanf(void);
nan и nanf возвращают NaN, определенный в IEEE, двойной и одинарной точности соответственно.
2.33 Nextafter, nextafterf - получение ближайшего числа
#include <math.h>
double nextafter(double val, double dir);
float nextafterf(float val, float dir);
nextafter возвращает число с плавающей точкой двойной точности ближайшее к val в направлении к числу dir. nextafterf производит те же действия с одинарной точостью. Например, nextafter(0.0,1.0) возвращает наименьшее положительное число двойной точности.
возвращает число ближайшее к val в направлении к dir число.
Ни nextafter, ни nextafterf не входят в ANSI C и System V Interface Definition.
2.34 Pow, powf - X в степени y
#include <math.h>
double pow(double x, double y);
float powf(float x, float y);
pow и powf вычисляют x в степени y.
В случае успеха возвращается вычисленное значение.
Когда происходит переполнение, pow возвращает HUGE_VAL а errno получает значение ERANGE. Ecли входной х отрицателен, а y - не целое число, тогда errno принимает значение EDOM. Если оба аргумента равны 0, pow и powf возвращают 1.
Вы можете изменить обработку ошибок для этих функций, используя matherr.
pow отвечает стандарту ANSI C. powf является расширением.
2.35 Rint, rintf, remainder, remainderf - округление и остаток
#include <math.h>
double rint(double x);
float rintf(float x);
double remainder(double x, double y);
float remainderf(float x, float y);
rint и rintf возвращают свой аргумент, округленный до ближайшего целого. remainder и remainderf находят остаток от деления x/y; это будет число между -y/2 и y/2.
rint и remainder возвращают целое значение в виде double.
rint и remainder входят в System V release. rintf и remainderf являются расширениями.
2.36 Scalbn, scalbnf - масштабирование
#include <math.h>
double scalbn(double x, int n);
float scalbnf(float x, int n);
scalbn и scalbnf производят операцию масштабирования, возвращая двойку в степени n, взятую х раз. Результат высчитываетсся посредством манипуляций с экспонентой, а не через стандартные возведения в степень и перемножение.
n
x * 2
Ни scale, ни scalef не входят в ANSI C и System V Interface Definition.
2.37 Sqrt, sqrt - арифметический квадратный корень
#include <math.h>
double sqrt(double x);
float sqrtf(float x);
sqrt вычисляет арифметический (неотрицательный) квадратный корень из аргумента.
Вы можете изменить обработку ошибок для этих функций, используя matherr.
В случае успеха возвращается вычисленное значение квадратного корня. Если х веществененный и неотрицательный, результат неотрицателен. Если х вещественный и отрицательный, переменной errno присваивается значение EDOM (ошибка DOMAIN error).
sqrt удовлетворяет стандарту ANSI C. sqrtf является расширением.