Floating-point extensions part 4: supplementary functions
Расширения с плавающей точкой для C - Часть 4: Дополнительные функции, ISO/IEC TS 18661-4:2015, определяет следующие новые компоненты для стандартной библиотеки C, как рекомендовано ISO/IEC/IEEE 60559:2011 (текущая редакция IEEE-754).
Дополнительные математические функции, перечисленные ниже, включены в стандарт C2x.
Предопределенные макросы тестирования возможностей |
||
|
__STDC_IEC_60559_FUNCS__
|
целочисленная константа типа
long
и значением
201506L
(макрос-константа) |
|
Дополнительные математические функции |
||
|
Определено в заголовке
<math.h>
|
||
|
вычисляет
2
x
-1 (функция) |
||
|
(FP Ext 4 TS)
|
вычисляет
10
x
(функция) |
|
|
вычисляет
10
x
-1 (функция) |
||
|
(FP Ext 4 TS)
|
вычисляет ln(1+x) (то же, что и
log1p
)
(функция) |
|
|
вычисляет
log
2
(1+x)
(функция) |
||
|
вычисляет
log
10
(1+x)
(функция) |
||
|
(FP Ext 4 TS)
|
вычисляет обратный квадратный корень
x
-1/2
(функция) |
|
|
вычисляет сложные проценты,
(1+x)
n
(функция) |
||
|
(FP Ext 4 TS)
|
вычисляет корень n-й степени из x,
x
1/n
(функция) |
|
|
(FP Ext 4 TS)
|
вычисляет x, возведённый в степень n, где n - целое число
(функция) |
|
|
(FP Ext 4 TS)
|
вычисляет x, возведённый в степень y,
x
y
(функция) |
|
|
вычисляет arccos(x)/π (измеряя угол в половинах оборотов)
(функция) |
||
|
вычисляет arcsin(x)/π (измеряя угол в половинах оборотов)
(функция) |
||
|
вычисляет arctan(x)/π (измеряя угол в половинах оборотов)
(функция) |
||
|
вычисляет arctan(y/x)/π (измеряя угол в полуоборотах)
(функция) |
||
|
(FP Ext 4 TS)
|
вычисляет cos(πx) (измеряя угол в полуоборотах)
(функция) |
|
|
(FP Ext 4 TS)
|
вычисляет sin(πx) (измеряя угол в половинах оборотов)
(функция) |
|
|
(FP Ext 4 TS)
|
вычисляет tan(πx) (измеряя угол в полуоборотах)
(функция) |
|
Функции редукции |
||
|
Определено в заголовке
<math.h>
|
||
|
вычисляет сумму n элементов массива
(функция) |
||
|
вычисляет сумму абсолютных значений n элементов массива
(функция) |
||
|
вычисляет сумму квадратов n элементов массива
(функция) |
||
|
вычисляет скалярное произведение между n элементами двух массивов
(функция) |
||
|
вычисляет произведение n элементов массива как масштабированное значение и коэффициент масштабирования
(функция) |
||
|
вычисляет скалярное произведение n элементов двух массивов как масштабированное значение и коэффициент масштабирования
(функция) |
||
|
вычисляет произведение разностей между соответствующими n элементами двух массивов как масштабированное значение и коэффициент масштабирования
(функция) |
||
Корректно округлённые версии функций |
||
|
Определено в заголовке
<math.h>
|
||
|
crexp
(optional)
(FP Ext 4 TS)
|
правильно округленная версия
exp
(функция) |
|
|
crexpm1
(optional)
(FP Ext 4 TS)
|
правильно округлённая версия
expm1
(функция) |
|
|
crexp2
(опционально)
(FP Ext 4 TS)
|
корректно округленная версия
exp2
(функция) |
|
|
crexp2m1
(optional)
(FP Ext 4 TS)
|
правильно округлённая версия
exp2m1
(function) |
|
|
crexp10
(optional)
(FP Ext 4 TS)
|
правильно округленная версия
exp10
(function) |
|
|
crexp10m1
(опционально)
(FP Ext 4 TS)
|
корректно округлённая версия
exp10m1
(функция) |
|
|
crlog
(опционально)
(FP Ext 4 TS)
|
корректно округленная версия
log
(функция) |
|
|
crlog2
(optional)
(FP Ext 4 TS)
|
корректно округленная версия
log2
(function) |
|
|
crlog10
(опционально)
(FP Ext 4 TS)
|
корректно округлённая версия
log10
(функция) |
|
|
crlog1p
(опционально)
(FP Ext 4 TS)
|
корректно округленная версия
log1p
(функция) |
|
|
crlogp1
(optional)
(FP Ext 4 TS)
|
корректно округленная версия
logp1
(function) |
|
|
crlog2p1
(optional)
(FP Ext 4 TS)
|
правильно округленная версия
log2p1
(функция) |
|
|
crlog10p1
(optional)
(FP Ext 4 TS)
|
корректно округленная версия
log10p1
(функция) |
|
|
crrsqrt
(optional)
(FP Ext 4 TS)
|
корректно округлённая версия
rsqrt
(function) |
|
|
crcompoundn
(optional)
(FP Ext 4 TS)
|
корректно округленная версия
compoundn
(функция) |
|
|
crrootn
(optional)
(FP Ext 4 TS)
|
корректно округленная версия
rootn
(функция) |
|
|
crpown
(опционально)
(FP Ext 4 TS)
|
корректно округлённая версия
pown
(функция) |
|
|
crpow
(опционально)
(FP Ext 4 TS)
|
корректно округленная версия
pow
(функция) |
|
|
crpowr
(optional)
(FP Ext 4 TS)
|
корректно округленная версия
powr
(функция) |
|
|
crsin
(optional)
(FP Ext 4 TS)
|
корректно округленная версия
sin
(функция) |
|
|
crcos
(optional)
(FP Ext 4 TS)
|
правильно округленная версия
cos
(функция) |
|
|
crtan
(опционально)
(FP Ext 4 TS)
|
версия с корректным округлением функции
tan
(функция) |
|
|
crsinpi
(опционально)
(FP Ext 4 TS)
|
корректно округлённая версия
sinpi
(функция) |
|
|
crcospi
(опционально)
(FP Ext 4 TS)
|
корректно округленная версия
cospi
(функция) |
|
|
crtanpi
(опционально)
(FP Ext 4 TS)
|
корректно округлённая версия
tanpi
(функция) |
|
|
crasinpi
(опционально)
(FP Ext 4 TS)
|
корректно округленная версия
asinpi
(функция) |
|
|
cracospi
(optional)
(FP Ext 4 TS)
|
корректно округленная версия
acospi
(функция) |
|
|
cracospi
(optional)
(FP Ext 4 TS)
|
правильно округленная версия
acospi
(функция) |
|
|
cratanpi
(optional)
(FP Ext 4 TS)
|
правильно округлённая версия
atanpi
(функция) |
|
|
cratan2pi
(опционально)
(FP Ext 4 TS)
|
корректно округлённая версия
atan2pi
(функция) |
|
|
crasin
(опционально)
(FP Ext 4 TS)
|
корректно округлённая версия
asin
(функция) |
|
|
cracos
(optional)
(FP Ext 4 TS)
|
корректно округленная версия
acos
(function) |
|
|
cratan
(optional)
(FP Ext 4 TS)
|
корректно округленная версия
atan
(функция) |
|
|
cratan2
(optional)
(FP Ext 4 TS)
|
правильно округленная версия
atan2
(функция) |
|
|
crsinh
(опционально)
(FP Ext 4 TS)
|
корректно округленная версия
sinh
(функция) |
|
|
crcosh
(optional)
(FP Ext 4 TS)
|
правильно округлённая версия
cosh
(функция) |
|
|
crtanh
(optional)
(FP Ext 4 TS)
|
версия с корректным округлением функции
tanh
(функция) |
|
|
crasinh
(optional)
(FP Ext 4 TS)
|
правильно округленная версия
asinh
(функция) |
|
|
cracosh
(опционально)
(FP Ext 4 TS)
|
корректно округлённая версия
acosh
(функция) |
|
|
cratanh
(optional)
(FP Ext 4 TS)
|
корректно округленная версия
atanh
(функция) |
|
|
crhypot
(опционально)
(FP Ext 4 TS)
|
корректно округленная версия
hypot
(функция) |
|
Комплексные версии функций |
||
|
Определено в заголовочном файле
<complex.h>
|
||
|
cexp2m1
(optional)
(FP Ext 4 TS)
|
комплексная версия
exp2m1
(функция) |
|
|
cexp10
(опционально)
(FP Ext 4 TS)
|
версия для комплексных чисел функции
exp10
(функция) |
|
|
cexp10m1
(optional)
(FP Ext 4 TS)
|
комплексная версия функции
exp10m1
(функция) |
|
|
clogp1
(optional)
(FP Ext 4 TS)
|
комплексная версия функции
logp1
(функция) |
|
|
clog2p1
(optional)
(FP Ext 4 TS)
|
версия для комплексных чисел функции
log2p1
(функция) |
|
|
clog10p1
(optional)
(FP Ext 4 TS)
|
версия для комплексных чисел функции
log10p1
(функция) |
|
|
crsqrt
(опционально)
(FP Ext 4 TS)
|
версия для комплексных чисел функции
rsqrt
(функция) |
|
|
ccompoundn
(опционально)
(FP Ext 4 TS)
|
комплексная версия функции
compoundn
(функция) |
|
|
crootn
(опционально)
(FP Ext 4 TS)
|
версия для комплексных чисел функции
rootn
(функция) |
|
|
cpown
(опционально)
(FP Ext 4 TS)
|
версия для комплексных чисел функции
pown
(функция) |
|
|
cpowr
(optional)
(FP Ext 4 TS)
|
версия для комплексных чисел функции
powr
(функция) |
|
|
cacospi
(optional)
(FP Ext 4 TS)
|
комплексная версия функции
acospi
(функция) |
|
|
casinpi
(optional)
(FP Ext 4 TS)
|
комплексная версия функции
asinpi
(функция) |
|
|
catanpi
(optional)
(FP Ext 4 TS)
|
комплексная версия функции
atanpi
(функция) |
|
|
ccospi
(optional)
(FP Ext 4 TS)
|
комплексная версия функции
cospi
(функция) |
|
|
csinpi
(optional)
(FP Ext 4 TS)
|
комплексная версия
sinpi
(функция) |
|
|
ctanpi
(optional)
(FP Ext 4 TS)
|
комплексная версия функции
tanpi
(функция) |
|
Примечания
Все функции, добавленные в библиотеку C этим расширением, объявляются только если макрос __STDC_WANT_IEC_60559_FUNCS_EXT__ определён до включения math.h.
Десятичные варианты с плавающей запятой каждой функции определены только в том случае, если __STDC_WANT_IEC_60559_DFP_EXT__ также определен до включения math.h.
Расширенные варианты каждой функции с повышенной точностью определены только в случае, если __STDC_WANT_IEC_60559_TYPES_EXT__ определен до включения math.h.
Корректно округленные версии всех функций (с префиксом cr - ) являются опциональными.