Archivo de encabezado de la biblioteca estándar <cmath>
De cppreference.com
Este archivo de encabezado se encontraba originalmente en la biblioteca estándar de C como <math.h>.
Este archivo de encabezado es parte de la biblioteca numérica.
Tipos | |
float_t (C++11) |
El tipo de punto flotante más eficiente al menos tan ancho como un float (typedef) |
double_t (C++11) |
El tipo de punto flotante más eficiente al menos tan ancho como un double (typedef) |
Macros | |
(C++11)(C++11) |
Indica el valor de desbordamiento para float, double y long double, respectivamente (constante de macro) |
(C++11) |
Se evalúa a la infinidad positiva o al valor garantizado para desbordar un float (constante de macro) |
(C++11) |
Se evalúa a un tipo simple de NaN de tipo float (constante de macro) |
(C++11)(C++11)(C++11) |
Define el mecanismo de control de errores usado por las funciones matemáticas comunes (constante de macro) |
Classification | |
(C++11)(C++11)(C++11)(C++11)(C++11) |
Indica una categoría de punto flotante (constante de macro) |
Funciones | |
Operaciones básicas | |
(C++11)(C++11) |
Valor absoluto de un valor de punto flotante (|x|) (función) |
(C++11)(C++11) |
El resto de la operación de división de punto flotante (función) |
(C++11)(C++11)(C++11) |
Resto con signo de la operación de división (función) |
(C++11)(C++11)(C++11) |
Resto con signo, así como los tres últimos bits de la operación de división (función) |
(C++11)(C++11)(C++11) |
Operación de multiplicación y suma fusionada (función) |
(C++11)(C++11)(C++11) |
El mayor de dos valores de punto flotante (función) |
(C++11)(C++11)(C++11) |
El menor de dos valores de punto flotante (función) |
(C++11)(C++11)(C++11) |
Diferencia positiva de dos valores de punto flotante (max(0, x-y)) (función) |
(C++11)(C++11)(C++11) |
No es un Número (NaN) (función) |
Interpolación lineal | |
(C++20) |
Función de interpolación lineal (función) |
Funciones exponenciales | |
(C++11)(C++11) |
Devuelve e elevada a la potencia dada (ex) (función) |
(C++11)(C++11)(C++11) |
Devuelve 2 elevado a la potencia dada (2x) (función) |
(C++11)(C++11)(C++11) |
Devuelve e elevada a la potencia dada, menos uno (ex-1) (función) |
(C++11)(C++11) |
Calcula el logaritmo natural (base e) (ln(x)) (función) |
(C++11)(C++11) |
Calcula el logaritmo común (base 10) (log10(x)) (función) |
(C++11)(C++11)(C++11) |
Logaritmo de base 2 del número dado (log2(x)) (función) |
(C++11)(C++11)(C++11) |
Logaritmo natural (a base e) de 1 más el número dado (ln(1+x)) (función) |
Funciones de potencias | |
(C++11)(C++11) |
Eleva un número a la potencia dada (xy) (función) |
(C++11)(C++11) |
Calcula la raíz cuadrada (√x) (función) |
(C++11)(C++11)(C++11) |
Calcula la raíz cúbica (3√x) (función) |
(C++11)(C++11)(C++11) |
Calcula la raíz cuadrada de la suma de los cuadrados de dos o tres (C++17) números dados (√x2 +y2 ), (√x2 +y2 +z2 ) (función) |
Funciones trigonométricas | |
(C++11)(C++11) |
Calcula el seno (sin(x)) (función) |
(C++11)(C++11) |
Calcula el coseno (cos(x)) (función) |
(C++11)(C++11) |
Calcula la tangente (tan(x)) (función) |
(C++11)(C++11) |
Calcula el arco seno (arcsen(x)) (función) |
(C++11)(C++11) |
Calcula el arco coseno (arccos(x)) (función) |
(C++11)(C++11) |
Calcula el arco tangente (arctan(x)) (función) |
(C++11)(C++11) |
El arco tangente, usando signos para determinar cuadrantes. (función) |
Funciones hiperbólicas | |
(C++11)(C++11) |
Calcula el seno hiperbólico (sinh(x)) (función) |
(C++11)(C++11) |
Calcula el coseno hiperbólico (cosh(x)) (función) |
(C++11)(C++11) |
Calcula la tangente hiperbólica (tanh(x)) (función) |
(C++11)(C++11)(C++11) |
Calcula el seno hiperbólico inverso (arsinh(x)) (función) |
(C++11)(C++11)(C++11) |
Calcula el coseno hiperbólico inverso (arcosh(x)) (función) |
(C++11)(C++11)(C++11) |
Calcula la tangente hiperbólica inversa (artanh(x)) (función) |
Funciones de error y gamma | |
(C++11)(C++11)(C++11) |
Función de error. (función) |
(C++11)(C++11)(C++11) |
Función de error complementaria. (función) |
(C++11)(C++11)(C++11) |
Función gamma (función) |
(C++11)(C++11)(C++11) |
Logaritmo natural de la función gamma (función) |
Operaciones de punto flotante del entero más cercano | |
(C++11)(C++11) |
Entero más cercano entero no menor que el valor dado. (función) |
(C++11)(C++11) |
Entero más cercano no mayor que el valor dado (función) |
(C++11)(C++11)(C++11) |
Entero más cercano no mayor en magnitud que el valor dado (función) |
(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11) |
Entero más cercano, redondeando alejándose de cero en los casos intermedios (función) |
(C++11)(C++11)(C++11) |
Entero más cercano usando el modo de redondeo actual (función) |
(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11) |
Entero más cercano usando el modo de redondeo actual con excepción si el resultado difiere (función) |
Funciones de manipulación de punto flotante | |
(C++11)(C++11) |
Descompone un número en mantisa y una potencia de 2 (función) |
(C++11)(C++11) |
Multiplica un número por 2 elevado a una potencia (función) |
(C++11)(C++11) |
Descompone un número en sus partes entera y fraccionaria (función) |
(C++11)(C++11)(C++11)(C++11)(C++11)(C++11) |
Multiplica un número por FLT_RADIX elevado a una potencia (función) |
(C++11)(C++11)(C++11) |
Extrae el exponente del número (función) |
(C++11)(C++11)(C++11) |
Extrae el exponente del número (función) |
(C++11)(C++11) (C++11)(C++11)(C++11)(C++11) |
El siguiente valor representable de punto flotante hacia a un valor dado (función) |
(C++11)(C++11)(C++11) |
Copia el signo de un valor de punto flotante. (función) |
Clasificación y comparación | |
(C++11) |
Categoriza el valor de punto flotante dado (función) |
(C++11) |
Comprueba si el número dado tiene un valor finito (función) |
(C++11) |
Comprueba si el número dado es infinito (función) |
(C++11) |
Comprueba si el número dado es NaN (función) |
(C++11) |
Comprueba si el número dado es normal (función) |
(C++11) |
Comprueba si el número dado es negativo (función) |
(C++11) |
Comprueba si el primer argumento de punto flotante es mayor que el segundo (función) |
(C++11) |
Comprueba si el primer argumento de punto flotante es mayor o igual que el segundo (función) |
(C++11) |
Comprueba si el primer argumento de punto flotante es menor que el segundo (función) |
(C++11) |
Comprueba si el primer argumento de punto flotante es menor o igual que el segundo (función) |
(C++11) |
Comprueba si el primer argumento de punto flotante es menor o mayor que el segundo (función) |
(C++11) |
Comprueba si dos valores de punto flotante son no ordenados (función) |
Funciones matemáticas especiales special functions | |
(C++17)(C++17)(C++17) |
Polinomios asociados de Laguerre. (función) |
(C++17)(C++17)(C++17) |
Polinomios asociados de Legendre. (función) |
(C++17)(C++17)(C++17) |
Función beta. (función) |
(C++17)(C++17)(C++17) |
Integral elíptica completa de primera especie. (función) |
(C++17)(C++17)(C++17) |
Integral elíptica completa de segunda especie. (función) |
(C++17)(C++17)(C++17) |
Integral elíptica completa de tercera especie. (función) |
(C++17)(C++17)(C++17) |
Funciones cilíndricas de Bessel regulares modificadas. (función) |
(C++17)(C++17)(C++17) |
Funciones cilíndricas de Bessel de primera especie. (función) |
(C++17)(C++17)(C++17) |
Funciones cilíndricas de Bessel irregulares modificadas (o de segunda especie). (función) |
(C++17)(C++17)(C++17) |
Funciones cilíndricas de Neumann (funciones cilíndricas de Bessel de segunda especie o funciones de Weber). (función) |
(C++17)(C++17)(C++17) |
Integral elíptica incompleta de primera especie. (función) |
(C++17)(C++17)(C++17) |
Integral elíptica incompleta de segunda especie. (función) |
(C++17)(C++17)(C++17) |
Integral elíptica incompleta de tercera especie. (función) |
(C++17)(C++17)(C++17) |
Integral exponencial. (función) |
(C++17)(C++17)(C++17) |
Polinomios de Hermite. (función) |
(C++17)(C++17)(C++17) |
Polinomios de Legendre. (función) |
(C++17)(C++17)(C++17) |
Polinomios de Laguerre. (función) |
(C++17)(C++17)(C++17) |
Función zeta de Riemann. (función) |
(C++17)(C++17)(C++17) |
Funciones esféricas de Bessel functions de primera especie. (función) |
(C++17)(C++17)(C++17) |
Funciones esféricas asociadas de Legendre. (función) |
(C++17)(C++17)(C++17) |
Funciones esféricas de Neumann (funciones esféricas de Bessel de segunda especie). (función) |
Sinopsis
namespace std {
using float_t = /* véase descripción */;
using double_t = /* véase descripción */;
}
#define HUGE_VAL /* véase descripción */
#define HUGE_VALF /* véase descripción */
#define HUGE_VALL /* véase descripción */
#define INFINITY /* véase descripción */
#define NAN /* véase descripción */
#define FP_INFINITE /* véase descripción */
#define FP_NAN /* véase descripción */
#define FP_NORMAL /* véase descripción */
#define FP_SUBNORMAL /* véase descripción */
#define FP_ZERO /* véase descripción */
#define FP_FAST_FMA /* véase descripción */
#define FP_FAST_FMAF /* véase descripción */
#define FP_FAST_FMAL /* véase descripción */
#define FP_ILOGB0 /* véase descripción */
#define FP_ILOGBNAN /* véase descripción */
#define MATH_ERRNO /* véase descripción */
#define MATH_ERREXCEPT /* véase descripción */
#define math_errhandling /* véase descripción */
namespace std {
float acos(float x);
double acos(double x);
long double acos(long double x);
float acosf(float x);
long double acosl(long double x);
float asin(float x);
double asin(double x);
long double asin(long double x);
float asinf(float x);
long double asinl(long double x);
float atan(float x);
double atan(double x);
long double atan(long double x);
float atanf(float x);
long double atanl(long double x);
float atan2(float y, float x);
double atan2(double y, double x);
long double atan2(long double y, long double x);
float atan2f(float y, float x);
long double atan2l(long double y, long double x);
float cos(float x);
double cos(double x);
long double cos(long double x);
float cosf(float x);
long double cosl(long double x);
float sin(float x);
double sin(double x);
long double sin(long double x);
float sinf(float x);
long double sinl(long double x);
float tan(float x);
double tan(double x);
long double tan(long double x);
float tanf(float x);
long double tanl(long double x);
float acosh(float x);
double acosh(double x);
long double acosh(long double x);
float acoshf(float x);
long double acoshl(long double x);
float asinh(float x);
double asinh(double x);
long double asinh(long double x);
float asinhf(float x);
long double asinhl(long double x);
float atanh(float x);
double atanh(double x);
long double atanh(long double x);
float atanhf(float x);
long double atanhl(long double x);
float cosh(float x);
double cosh(double x);
long double cosh(long double x);
float coshf(float x);
long double coshl(long double x);
float sinh(float x);
double sinh(double x);
long double sinh(long double x);
float sinhf(float x);
long double sinhl(long double x);
float tanh(float x);
double tanh(double x);
long double tanh(long double x);
float tanhf(float x);
long double tanhl(long double x);
float exp(float x);
double exp(double x);
long double exp(long double x);
float expf(float x);
long double expl(long double x);
float exp2(float x);
double exp2(double x);
long double exp2(long double x);
float exp2f(float x);
long double exp2l(long double x);
float expm1(float x);
double expm1(double x);
long double expm1(long double x);
float expm1f(float x);
long double expm1l(long double x);
float frexp(float value, int* exp);
double frexp(double value, int* exp);
long double frexp(long double value, int* exp);
float frexpf(float value, int* exp);
long double frexpl(long double value, int* exp);
int ilogb(float x);
int ilogb(double x);
int ilogb(long double x);
int ilogbf(float x);
int ilogbl(long double x);
float ldexp(float x, int exp);
double ldexp(double x, int exp);
long double ldexp(long double x, int exp);
float ldexpf(float x, int exp);
long double ldexpl(long double x, int exp);
float log(float x);
double log(double x);
long double log(long double x);
float logf(float x);
long double logl(long double x);
float log10(float x);
double log10(double x);
long double log10(long double x);
float log10f(float x);
long double log10l(long double x);
float log1p(float x);
double log1p(double x);
long double log1p(long double x);
float log1pf(float x);
long double log1pl(long double x);
float log2(float x);
double log2(double x);
long double log2(long double x);
float log2f(float x);
long double log2l(long double x);
float logb(float x);
double logb(double x);
long double logb(long double x);
float logbf(float x);
long double logbl(long double x);
float modf(float value, float* iptr);
double modf(double value, double* iptr);
long double modf(long double value, long double* iptr);
float modff(float value, float* iptr);
long double modfl(long double value, long double* iptr);
float scalbn(float x, int n);
double scalbn(double x, int n);
long double scalbn(long double x, int n);
float scalbnf(float x, int n);
long double scalbnl(long double x, int n);
float scalbln(float x, long int n);
double scalbln(double x, long int n);
long double scalbln(long double x, long int n);
float scalblnf(float x, long int n);
long double scalblnl(long double x, long int n);
float cbrt(float x);
double cbrt(double x);
long double cbrt(long double x);
float cbrtf(float x);
long double cbrtl(long double x);
// valores absolutos
int abs(int j);
long int abs(long int j);
long long int abs(long long int j);
float abs(float j);
double abs(double j);
long double abs(long double j);
float fabs(float x);
double fabs(double x);
long double fabs(long double x);
float fabsf(float x);
long double fabsl(long double x);
float hypot(float x, float y);
double hypot(double x, double y);
long double hypot(long double x, long double y);
float hypotf(float x, float y);
long double hypotl(long double x, long double y);
// hipotenusa tridimensional
float hypot(float x, float y, float z);
double hypot(double x, double y, double z);
long double hypot(long double x, long double y, long double z);
float pow(float x, float y);
double pow(double x, double y);
long double pow(long double x, long double y);
float powf(float x, float y);
long double powl(long double x, long double y);
float sqrt(float x);
double sqrt(double x);
long double sqrt(long double x);
float sqrtf(float x);
long double sqrtl(long double x);
float erf(float x);
double erf(double x);
long double erf(long double x);
float erff(float x);
long double erfl(long double x);
float erfc(float x);
double erfc(double x);
long double erfc(long double x);
float erfcf(float x);
long double erfcl(long double x);
float lgamma(float x);
double lgamma(double x);
long double lgamma(long double x);
float lgammaf(float x);
long double lgammal(long double x);
float tgamma(float x);
double tgamma(double x);
long double tgamma(long double x);
float tgammaf(float x);
long double tgammal(long double x);
float ceil(float x);
double ceil(double x);
long double ceil(long double x);
float ceilf(float x);
long double ceill(long double x);
float floor(float x);
double floor(double x);
long double floor(long double x);
float floorf(float x);
long double floorl(long double x);
float nearbyint(float x);
double nearbyint(double x);
long double nearbyint(long double x);
float nearbyintf(float x);
long double nearbyintl(long double x);
float rint(float x);
double rint(double x);
long double rint(long double x);
float rintf(float x);
long double rintl(long double x);
long int lrint(float x);
long int lrint(double x);
long int lrint(long double x);
long int lrintf(float x);
long int lrintl(long double x);
long long int llrint(float x);
long long int llrint(double x);
long long int llrint(long double x);
long long int llrintf(float x);
long long int llrintl(long double x);
float round(float x);
double round(double x);
long double round(long double x);
float roundf(float x);
long double roundl(long double x);
long int lround(float x);
long int lround(double x);
long int lround(long double x);
long int lroundf(float x);
long int lroundl(long double x);
long long int llround(float x);
long long int llround(double x);
long long int llround(long double x);
long long int llroundf(float x);
long long int llroundl(long double x);
float trunc(float x);
double trunc(double x);
long double trunc(long double x);
float truncf(float x);
long double truncl(long double x);
float fmod(float x, float y);
double fmod(double x, double y);
long double fmod(long double x, long double y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);
float remainder(float x, float y);
double remainder(double x, double y);
long double remainder(long double x, long double y);
float remainderf(float x, float y);
long double remainderl(long double x, long double y);
float remquo(float x, float y, int* quo);
double remquo(double x, double y, int* quo);
long double remquo(long double x, long double y, int* quo);
float remquof(float x, float y, int* quo);
long double remquol(long double x, long double y, int* quo);
float copysign(float x, float y);
double copysign(double x, double y);
long double copysign(long double x, long double y);
float copysignf(float x, float y);
long double copysignl(long double x, long double y);
double nan(const char* tagp);
float nanf(const char* tagp);
long double nanl(const char* tagp);
float nextafter(float x, float y);
double nextafter(double x, double y);
long double nextafter(long double x, long double y);
float nextafterf(float x, float y);
long double nextafterl(long double x, long double y);
float nexttoward(float x, long double y);
double nexttoward(double x, long double y);
long double nexttoward(long double x, long double y);
float nexttowardf(float x, long double y);
long double nexttowardl(long double x, long double y);
float fdim(float x, float y);
double fdim(double x, double y);
long double fdim(long double x, long double y);
float fdimf(float x, float y);
long double fdiml(long double x, long double y);
float fmax(float x, float y);
double fmax(double x, double y);
long double fmax(long double x, long double y);
float fmaxf(float x, float y);
long double fmaxl(long double x, long double y);
float fmin(float x, float y);
double fmin(double x, double y);
long double fmin(long double x, long double y);
float fminf(float x, float y);
long double fminl(long double x, long double y);
float fma(float x, float y, float z);
double fma(double x, double y, double z);
long double fma(long double x, long double y, long double z);
float fmaf(float x, float y, float z);
long double fmal(long double x, long double y, long double z);
// interpolación lineal
constexpr float lerp(float a, float b, float t) noexcept;
constexpr double lerp(double a, double b, double t) noexcept;
constexpr long double lerp(long double a, long double b, long double t) noexcept;
// funciones de clasificación y comparación
int fpclassify(float x);
int fpclassify(double x);
int fpclassify(long double x);
bool isfinite(float x);
bool isfinite(double x);
bool isfinite(long double x);
bool isinf(float x);
bool isinf(double x);
bool isinf(long double x);
bool isnan(float x);
bool isnan(double x);
bool isnan(long double x);
bool isnormal(float x);
bool isnormal(double x);
bool isnormal(long double x);
bool signbit(float x);
bool signbit(double x);
bool signbit(long double x);
bool isgreater(float x, float y);
bool isgreater(double x, double y);
bool isgreater(long double x, long double y);
bool isgreaterequal(float x, float y);
bool isgreaterequal(double x, double y);
bool isgreaterequal(long double x, long double y);
bool isless(float x, float y);
bool isless(double x, double y);
bool isless(long double x, long double y);
bool islessequal(float x, float y);
bool islessequal(double x, double y);
bool islessequal(long double x, long double y);
bool islessgreater(float x, float y);
bool islessgreater(double x, double y);
bool islessgreater(long double x, long double y);
bool isunordered(float x, float y);
bool isunordered(double x, double y);
bool isunordered(long double x, long double y);
// funciones matemáticas especiales
// polinomios asociados de Laguerre
double assoc_laguerre(unsigned n, unsigned m, double x);
float assoc_laguerref(unsigned n, unsigned m, float x);
long double assoc_laguerrel(unsigned n, unsigned m, long double x);
// funciones asociadas de Legendre
double assoc_legendre(unsigned l, unsigned m, double x);
float assoc_legendref(unsigned l, unsigned m, float x);
long double assoc_legendrel(unsigned l, unsigned m, long double x);
// función beta
double beta(double x, double y);
float betaf(float x, float y);
long double betal(long double x, long double y);
// integral elíptica completa de primera especie
double comp_ellint_1(double k);
float comp_ellint_1f(float k);
long double comp_ellint_1l(long double k);
// integral elíptica completa de segunda especie
double comp_ellint_2(double k);
float comp_ellint_2f(float k);
long double comp_ellint_2l(long double k);
// integral elíptica completa de tercera especie
double comp_ellint_3(double k, double nu);
float comp_ellint_3f(float k, float nu);
long double comp_ellint_3l(long double k, long double nu);
// funciones cilíndricas de Bessel regulares modificadas
double cyl_bessel_i(double nu, double x);
float cyl_bessel_if(float nu, float x);
long double cyl_bessel_il(long double nu, long double x);
// funciones cilíndricas de Bessel de primera especie
double cyl_bessel_j(double nu, double x);
float cyl_bessel_jf(float nu, float x);
long double cyl_bessel_jl(long double nu, long double x);
// funciones cilíndricas de Bessel irregulares modificadas
double cyl_bessel_k(double nu, double x);
float cyl_bessel_kf(float nu, float x);
long double cyl_bessel_kl(long double nu, long double x);
// funciones cilíndricas de Neumann
// funciones cilíndricas de Bessel de segunda especie
double cyl_neumann(double nu, double x);
float cyl_neumannf(float nu, float x);
long double cyl_neumannl(long double nu, long double x);
// integral elíptica incompleta de primera especie
double ellint_1(double k, double phi);
float ellint_1f(float k, float phi);
long double ellint_1l(long double k, long double phi);
// integral elíptica incompleta de segunda especie
double ellint_2(double k, double phi);
float ellint_2f(float k, float phi);
long double ellint_2l(long double k, long double phi);
// integral elíptica incompleta de tercera especie
double ellint_3(double k, double nu, double phi);
float ellint_3f(float k, float nu, float phi);
long double ellint_3l(long double k, long double nu, long double phi);
// integral exponencial
double expint(double x);
float expintf(float x);
long double expintl(long double x);
// polinomios de Hermite
double hermite(unsigned n, double x);
float hermitef(unsigned n, float x);
long double hermitel(unsigned n, long double x);
// polinomios de Laguerre
double laguerre(unsigned n, double x);
float laguerref(unsigned n, float x);
long double laguerrel(unsigned n, long double x);
// polinomios de Legendre
double legendre(unsigned l, double x);
float legendref(unsigned l, float x);
long double legendrel(unsigned l, long double x);
// función zeta de Riemann
double riemann_zeta(double x);
float riemann_zetaf(float x);
long double riemann_zetal(long double x);
// funciones esféricas de Bessel de primera especie
double sph_bessel(unsigned n, double x);
float sph_besself(unsigned n, float x);
long double sph_bessell(unsigned n, long double x);
// funciones esféricas asociadas de Legendre
double sph_legendre(unsigned l, unsigned m, double theta);
float sph_legendref(unsigned l, unsigned m, float theta);
long double sph_legendrel(unsigned l, unsigned m, long double theta);
// funciones esféricas de Neumann;
// funciones esféricas de Bessel de segunda especie
double sph_neumann(unsigned n, double x);
float sph_neumannf(unsigned n, float x);
long double sph_neumannl(unsigned n, long double x);
}