Namespaces
Variants

std:: erfc, std:: erfcf, std:: erfcl

From cppreference.net
Common mathematical functions
Nearest integer floating point operations
(C++11)
(C++11)
(C++11) (C++11) (C++11)
Floating point manipulation functions
(C++11) (C++11)
(C++11)
(C++11)
Classification and comparison
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Types
(C++11)
(C++11)
(C++11)
Macro constants
Definido en el encabezado <cmath>
(1)
float erfc ( float num ) ;

double erfc ( double num ) ;

long double erfc ( long double num ) ;
(hasta C++23)
/*floating-point-type*/
erfc ( /*floating-point-type*/ num ) ;
(desde C++23)
(constexpr desde C++26)
float erfcf ( float num ) ;
(2) (desde C++11)
(constexpr desde C++26)
long double erfcl ( long double num ) ;
(3) (desde C++11)
(constexpr desde C++26)
Sobrecarga SIMD (desde C++26)
Definido en el encabezado <simd>
template < /*math-floating-point*/ V >

constexpr /*deduced-simd-t*/ < V >

erfc ( const V & v_num ) ;
(S) (desde C++26)
Definido en el encabezado <cmath>
template < class Integer >
double erfc ( Integer num ) ;
(A) (constexpr desde C++26)
1-3) Calcula la función de error complementaria de num , es decir 1.0 - std:: erf ( num ) , pero sin pérdida de precisión para valores grandes de num . La biblioteca proporciona sobrecargas de std::erfc para todos los tipos de punto flotante sin calificación cv como tipo del parámetro. (since C++23)
S) La sobrecarga SIMD realiza un std::erfc elemento por elemento en v_num .
(Consulte math-floating-point y deduced-simd-t para sus definiciones.)
(desde C++26)
A) Se proporcionan sobrecargas adicionales para todos los tipos enteros, los cuales son tratados como double .
(since C++11)

Contenidos

Parámetros

num - valor de punto flotante o entero

Valor de retorno

If no errors occur, value of the complementary error function of num , that is
2
π

num
e -t 2
d t
or 1-erf(num) , is returned.

Si ocurre un error de rango debido a desbordamiento inferior, se devuelve el resultado correcto (después del redondeo).

Manejo de errores

Los errores se reportan como se especifica en math_errhandling .

Si la implementación soporta aritmética de punto flotante IEEE (IEC 60559),

  • Si el argumento es +∞, se devuelve +0.
  • Si el argumento es -∞, se devuelve 2.
  • Si el argumento es NaN, se devuelve NaN.

Notas

Para el tipo compatible con IEEE double , se garantiza el subdesbordamiento si num > 26.55 .

Las sobrecargas adicionales no están obligadas a proporcionarse exactamente como (A) . Solo necesitan ser suficientes para garantizar que para su argumento num de tipo entero, std :: erfc ( num ) tenga el mismo efecto que std :: erfc ( static_cast < double > ( num ) ) .

Ejemplo

#include <cmath>
#include <iomanip>
#include <iostream>
double normalCDF(double x) // Phi(-∞, x) aka N(x)
{
    return std::erfc(-x / std::sqrt(2)) / 2;
}
int main()
{
    std::cout << "función de distribución acumulativa normal:\n"
              << std::fixed << std::setprecision(2);
    for (double n = 0; n < 1; n += 0.1)
        std::cout << "normalCDF(" << n << ") = " << 100 * normalCDF(n) << "%\n";
    std::cout << "valores especiales:\n"
              << "erfc(-Inf) = " << std::erfc(-INFINITY) << '\n'
              << "erfc(Inf) = " << std::erfc(INFINITY) << '\n';
}

Salida:

función de distribución acumulativa normal:
normalCDF(0.00) = 50.00%
normalCDF(0.10) = 53.98%
normalCDF(0.20) = 57.93%
normalCDF(0.30) = 61.79%
normalCDF(0.40) = 65.54%
normalCDF(0.50) = 69.15%
normalCDF(0.60) = 72.57%
normalCDF(0.70) = 75.80%
normalCDF(0.80) = 78.81%
normalCDF(0.90) = 81.59%
normalCDF(1.00) = 84.13%
valores especiales:
erfc(-Inf) = 2.00
erfc(Inf) = 0.00

Véase también

(C++11) (C++11) (C++11)
función de error
(función)

Enlaces externos

Weisstein, Eric W. "Erfc." De MathWorld — Un recurso web de Wolfram.