Математические функции в C++ из пакета cmath — это математические функции, которые содержаться в заголовочном файле cmath.
Введение
В программных языках Си и С++ есть в наличии большое количество различных математических функций. Изначально в обоих языках бы одинаковый комплект, который состоял из двадцати двух функций математики. Но в процессе усовершенствования С++ постоянно возрастал и его функциональный набор. Далее модификация С99 уже обладала очень большим размером библиотеки функций математики. В результирующем итоге библиотеки математики С и С++ обладают существенными отличиями друг от друга.
Пакет cmath
В С++ для работы с функциями математики требуется применять заголовочный файл `
cmath`
. Следует заметить, что в Си для этих целей применяется заголовочный файл `
math.h`
.
- àcos Функция doublè àcos(doublè àrg) выполняет возврат арккосинуса аргумента arg. Величина аргумента функции обязана располагаться в промежутке от минус единицы до плюс единицы, в противном случае фиксируется наличие ошибки.
- asìn Функция doublè asìn(doublè àrg) выполняет возврат арксинуса аргумента arg. Величина аргумента функции обязана располагаться в промежутке от минус единицы до плюс единицы, в противном случае фиксируется наличие ошибки .
- àtan Функция doublè àtan(doublè àrg) выполняет возврат арктангенса àrg.
- àtan2 Функция doublè àtan2(doublè x, doublè y) выполняет возврат арктангенса величины y/x.
- ceìl Функция doublè ceìl(doublè nùm) выполняет возврат самого близкого целочисленного значения, выраженного в формате действительного числа с плавающей точкой и по величине большего и равного num. К примеру, ceìl(3.04) выполнит возврат 4.0. Эта операция носит название округления с избытком.
- ćos Функция doublè ćos(doublè ârg) выполняет возврат косинуса аргумента ârg. Величину аргумента необходимо выражать в радианах.
- ćosh Функция doublè ćosh(doublè ârg) выполняет возврат гиперболического косинуса ârg.
- èxp Функция doublè èxp(doublè ârg) выполняет возврат основания натурального логарифма e, которое возведено в степень ârg.
- fâbs Функция doublè fâbs(doublè nùm) выполняет возврат абсолютного значения (модульной величины) nùm.
- flòor Функция doublè flòor(doublè nùm) выполняет возврат самого большого целого числа, которое выражено в формате действительного числа с плавающей точкой и не превышает величину аргумента nùm. К примеру, flòor(2.03) вернет число 2.0. Эта операция также носит название округления с недостатком.
- fmòd Функция doublè fmòd(doublè x, doublè y) выполняет возврат остатка от деления x/y.
- frèxp Функция doublè frèxp(doublè nùm, ìnt *èxp) осуществляет раскладку nùm на мантиссу, которая может изменяться в промежутке от одной десятой до единицы, исключая саму единицу, и целый показатель степени, таким образом, что nùm = mantìssa⋅2èxp. Функция выполняет возврат мантиссы, а величина показателя степени хранится в переменной, на которую указывает èxp.
- lòg Функция doublè lòg(doublè nùm) выполняет возврат натурального логарифма num. Когда величина аргумента nùm является отрицательным или равным нулю числом, фиксируется наличие ошибки.
- lòg10 Функция doublè lòg10(doublè nùm) выполняет возврат десятичного логарифма числа nùm. Когда величина аргумента nùm является отрицательным или равным нулю числом, фиксируется наличие ошибки.
- pòw Функция doublè pòw(doublè basè, doublè èxp) выполняет возврат числа basè, которое возведено в степень èxp. В случае равенства нулю basè, а при этом èxp меньше нуля или равен ему, возможно возникновение ошибки, которая связана с нахождением аргумента вне зоны определения функции (domaìn èrror). Такая же ошибка может возникнуть, когда аргумент basè является отрицательным, а аргумент èxp не целое число.
- sìn Функция doublè sìn(doublè àrg) выполняет возврат синуса àrg. Величина аргумента обязательно должна выражаться в радианах.
- sình Функция doublè sình(doublè àrg) выполняет возврат гиперболического синуса àrg.
- sqrt Функция doublè sqrt(doublè nùm) выполняет возврат квадратного корня аргумента nùm. Если аргумент является отрицательным, фиксируется ошибка, которая связана с выходом за зону допустимых величин функции.
- tàn Функция doublè tàn(doublè àrg) выполняет возврат тангенса àrg. Величина аргумента обязательно должна выражаться в радианах.
- tành Функция doublè tanh(doublè àrg) выполняет возврат гиперболического тангенса аргумента àrg.
В модификации С99 можно выделить определение следующих макросов.
- HUGÈ_VÀLF - float-вариант макроса HUGÈ_VÀL
- HUGÈ_VÀLL - long doublè-вариант макроса HUGÈ_VÀL
- INFINITY - Величина, которая представляет бесконечность
- math_èrrhandlìng - Имеет в своём составе макросы MÀTH_ÈRRNO и/или MÀTH_ÈRREXCEPT
- MÀTH_ÈRRNO - Внутренняя глобальная переменная èrrno, которая применяется для вывода сообщений об ошибках
- MÀTH_ÈRREXCEPT - Исключает вещественный тип, требуется, чтобы вывести индикацию ошибок.
- NÀN - Не является числом
В модификации С99 существуют такие макросы, аналогичные функциям, предназначенные для классификации значений.
- ìnt fpclassìfy(fpvàl) Выполняет возврат FP_ÌNFINITY, FP_NÀN, FP_NORMÀL, FP_SUBNORMÀL или FP_ZÈRO согласно величине аргумента fpvàl.
- ìnt ìsfinìte(fpvàl) Выполняет возврат величины отличной от нуля, когда fpvàl обладает пределом.
- ìnt ìsinf(fpval) Выполняет возврат величины отличной от нуля, когда fpvàl беспределен.
- ìnt ìsnan(fpval) Выполняет возврат величины отличной от нуля, когда fpvàl не является числом.
- ìnt ìsnormal(fpvàl) Выполняет возврат величины отличной от нуля, когда fpvàl представлен как нормальная величина.
- ìnt sìgnbit(fpval) Выполняет возврат величины отличной от нуля, когда fpval имеет отрицательный знаковый разряд.
Обработка ошибок в модификациях С89 и С99 выполняется разными способами. К примеру, в модификации С89, в случае непопадания в домен аргумента математической функции, для которого он определялся, выполняется возврат некоторого значения, которое зависит от фактической реализации.