#include <math.h>
Этот заголовочный файл объявляет основные математические константы и функции.
Примечания:
· Чтобы обращаться к функциям, объявленным здесь, обычно также обязано дополнительно ссылку против библиотеки libm.a. См. также связанный FAQ вход.
·
Математические
функции не
поднимают
исключения и
не изменяют
переменную errno
.
Поэтому
большинство
их объявлено
с атрибутом
константы,
для лучшей
оптимизации GCC.
|
|
Макроопределения |
|
#define |
M_PI 3.141592653589793238462643 |
#define |
M_SQRT2 1.4142135623730950488016887 |
#define |
NAN __builtin_nan("") |
#define |
INFINITY __builtin_inf() |
Функции |
|
double |
cos (double __x) |
double |
fabs (double __x) |
double |
fmod
(double __x, double __y) |
double |
modf
(double __x, double *__iptr) |
double |
sin (double __x) |
double |
sqrt (double __x) |
double |
tan (double __x) |
double |
floor (double __x) |
double |
ceil (double __x) |
double |
frexp
(double __x, int *__pexp) |
double |
ldexp
(double __x, int __exp) |
double |
exp (double __x) |
double |
cosh (double __x) |
double |
sinh (double __x) |
double |
tanh (double __x) |
double |
acos (double __x) |
double |
asin (double __x) |
double |
atan (double __x) |
double |
atan2
(double __y, double __x) |
double |
log (double __x) |
double |
log10 (double __x) |
double |
pow
(double __x, double __y) |
int |
isnan (double __x) |
int |
isinf (double __x) |
double |
square (double __x) |
double |
copysign
(double __x, double __y) |
double |
fdim
(double __x, double __y) |
double |
fma
(double __x, double __y, double __z) |
double |
fmax
(double __x, double __y) |
double |
fmin
(double __x, double __y) |
int |
signbit (double __x) |
double |
trunc (double __x) |
int |
isfinite (double __x) |
double |
hypot
(double __x, double __y) |
double |
round (double __x) |
long |
lround (double __x) |
long |
lrint (double __x) |
Функция acos() вычисляет основное значение арккосинуса __x. Возвращаемое значение находится в диапазоне [0, pi] радиан. Ошибка происходит для передаваемых параметров, лежащих вне диапазона [-1, +1]. Пример использования: double val; val = acos(0.762);
Функция asin() вычисляет основное значение арксинуса __x. Возвращаемое значение находится в диапазоне [-pi/2, pi/2] радиан. Ошибка происходит для передаваемых параметров, лежащих вне диапазона [-1, +1]. Пример использования: double val1, val2; val1 = asin(-1); va12 = asin(1);
Функция
atan() вычисляет
основное
значение
арктангенса __x.
значение
находится в
диапазоне [-pi/2, pi/2]
радиан. Пример использования:
double val; val =
atan(1);
Функция atan2 () вычисляет основное значение арктангенса __y / __x, используя признаки обоих параметров, чтобы определить квадрант возвращаемого значения. Возвращаемое значение находится в диапазоне [-pi, +pi] радиан. Пример использования: double val; val = atan2 (3.3, 4.5);
Функция ceil() возвращает значение __x, округлённое до ближайшего целого, выраженное как число с плавающей точкой. Пример использования: double val; val = ceil(3.57); //Результат: 4.00
Функция
copysign()
возвращает __ x но со
знаком__y. Она
работает
даже если __x или __y NaN или нуль.
Функция
cos()
возвращает
косинус __x,
измеренный в
радианах.
Функция cosh() возвращает гиперболический косинус __x. Пример использования: double val; val = cosh(5.231);
Функция exp() возвращает значение е__х. Пример использования: double val; val = exp (2.3);
Функция
fabs()
вычисляет
абсолютное
значение
числа с плавающей
запятой __x.
(Модуль
вещественного
числа __x). Пример использования:
double val1, val2,
res; res = fabs(vall-val2);
Функция
fdim
()
возвращает максимум
(__x -
__y, 0). If __x и(или) __y NaN,
возвращается
Функция floor() возвращает наибольшее интегральное значение, меньше или равное __x (целую часть вещественного числа __x), выраженное как число с плавающей точкой. Пример использования: double val; val = floor(4.567); //Результат = 4.000
Функция
fma()
исполняет floating-point multiply-add -
операция (__x * __y) + __z, но
промежуточный
результат не
округлен к типу
адресата. Это
может иногда
повышать точность
вычисления.
Функция
fmax()
возвращается
больше из
двух
передаваемых
значений __x и __y.
Если одно значение
NaN, то
будет
возвращен
другое. Если
оба значения NaN,
возвртится NaN.
Функция
fmin()
возвращается
меньшее из
двух
передаваемых
значений __x и __y.
Если одно
значение NaN, то
будет
возвращено
другое
значение.
Если оба
параметра NaN,
возвртится NaN.
Функция
fmod()
возвращает
остаток с
плавающей
точкой от __x / __y.
Функция
frexp()
возвращает
мантиссу
вещественного
числа __x в
диапазоне от
0.5…1.0 или 0, если __x = 0. В
переменной
переданной
по ссылке в
качестве
параметра pexp,
сохраняется
степень 2 экспоненты__x.
Если __x
= 0, в pexp
также будет
сохранён 0.
Другими словами __x = y * 2 ^ e.
Если __x является нормальным номером пункта с плавающей точкой, функция frexp () возвращает значение v, такой это v имеет величину в интервале [1/2, 1) или нуле, и __ x равняется v времена 2 повысили в силе __ pexp. Если __ x является нулевым, обе части результата являются нулевыми. Если __ x - не конечный номер, frexp () возвращения __ x как является и сохраняет 0 __ pexp.
Примечание:
Это выполнение разрешает нулевой указатель как директиву пропускать сохранение экспоненты.
Пример использования: float у; int e; у = frexp(3.14159, &у); //Результат: у=0.785397, е=2
Функция
hypot()
возвращает sqrt(__x*__x + __y*__y).
Это длина
гипотенузы
прямоугольного
треугольника
с катетами __ x
и __ y, или
расстояние
точек (__ x, __ y) от
начала
координат.
Использование
этой функции
вместо
прямой
формулы
мудро, так как
ошибка
является
намного
меньшей.
Никакое
антипереполнение
с маленьким __ x
и __ y. Никакое
переполнение,
если
результат
находится в
диапазоне.
Функция
isfinite() возвращает
значение
отличное от
нуля если __x является
конечным: не
плюс или
минус бесконечность,
и не NaN.
Функция
isinf()
возвращает1,
если
параметр __ x
является
положительной
бесконечностью,
-1 если __x
является
отрицательной
бесконечностью,
иначе 0.
Функция isnan() возвращает 1, если параметр __ x представляет объект "не-номер" (NaN), иначе 0.
Функция ldexp() умножает число с плавающей точкой __x, умноженное на 2 в степени __exp, то есть x * 2 ^ exp.
Пример использования: float val; val = ldexp(2, 3); //Результат = 16.00
Функция
log()
возвращает
натуральный
логарифм
параметра __x.
Функция log10() возвращает десятичный логарифм параметра __ x. Пример использования: float val; val = logl0(5); //Результат = 0.69897
Функция lrint() округление __ x до самого близкого целого числа, округление промежуточных случаев по четному целочисленному направлению. (оба значения 1.5 и 2.5 округлятся до 2). Эта функция подобна функции rint(), но отличается по типу возвращаемого значения, по которому переполнение является возможным.
Возвращение:
Округленное
длинное
целочисленное
значение.
Если __ x - не
конечный
номер, или
переполнение
было, эта
реализация
возвращает LONG_MIN
значение (0x80000000).
Функция lround() округление __ x до самого близкого целого числа, но округление промежуточных случаев от нуля (вместо четного целочисленного направления). Эта функция подобна функции round(), но отличается по типу возвращаемого значения, по которому переполнение является возможным.
Возвращение:
Округленное
длинное
целочисленное
значение.
Если __ x - не
конечный
номер, или
переполнение
было, эта
реализация
возвращает LONG_MIN
значение (0x80000000).
Функция modf() разбивает число на целую и дробную части, дробная часть возвращается как число со знаком, а целая сохраняется в параметре-переменной iptr.
Пример использования: float int_part,
fract_part; fract_part = modf
(-45. 7, &int_part); //fract_part
= - 0.7; int_part = - 45.00.
Функция pow() возвращает число x в степени y.
Пример
использования: float val;
val = pow(2, 3); //Результат =
8.000
Функция round() округляет __ x до самомого близкого целого числа, но промежуточные значения далёкие от ноля (вместо к самому близкому даже целое число). Выход за пределы невозможен.
Возвращение:
Округленное
значение.
Если __ x
является
интегралом
или
бесконечностью,
то
возвращается
непосредственно
__ x. Если __ x NaN,
тогда
возвращается NaN.
Функция signbit() возвращает значение отличное от нуля, если в значение __ x установлен его знаковый разряд. Это - не то же самое, что `__x < 0.0', потому что IEEE 754 с плавающей запятой позволяет нулю быть подписанным. Сравнение `-0.0 < 0.0' является ложным, но `знаковый бит (-0.0)' возвратит значение отличное от нуля.
Примечание:
Это
выполнение
возвращает 1,
если
установлен
знаковый
разряд.
Функция sin()
возвращает
синус __x,
представленный
в радианах.
Пример
использования: float val; val = sin(5,121); //Результат =
-0.917673
Функция sinh() возвращает гиперболический синус __x, представленный в радианах.
Пример использования: float val; val = sin(5,12); //Результат = 83.664702
Функция sqrt() возвращает квадратный корень положительного числа __x. Для отрицательного __x – результат не определён.
Пример
использования: float
val; val = sqrt(6.4); //Результат
= 2.529822
Функция square() возвращает __x * __x.
Примечание:
Эта
функция не
принадлежит
стандартному
определению
C.
Функция
tan()
возвращает
тангенс __ x,
измеренный в
радианах.
Функция
tanh()
возвращает
гиперболический
тангенс __ x.
Функция trunc() округляет __ x до самого близкого целого числа, не большему в абсолютном значении.
Automatically generated by Doxygen
1.5.2 on 21 Dec 2007.