std::sin, std::sinf, std::sinl - cppreference.com
De cppreference.com
</tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody>
| Definido en el archivo de encabezado |
||
| (1) | ||
|
|
||
|
|
(desde C++11) | |
|
|
(2) | |
| (3) | ||
|
|
||
|
|
(desde C++11) | |
|
|
(4) | (desde C++11) |
1-3) Calcula el seno de arg (medido en radianes).
4) Un conjunto de sobrecargas o una plantilla de función que acepta un argumento de cualquier tipo entero. Equivalente a (2) (el argumento se convierte a double).
Parámetros
| arg | - | Valor que representa el ángulo en radianes de un tipo de punto flotante o un tipo entero. |
Valor de retorno
Si no se producen errores, se devuelve el seno de arg (sin(arg)) en el rango [-1 ; +1].
|
El resultado puede tener poca o ninguna importancia si la magnitud de |
(hasta C++11) |
Si se produce un error de dominio, se devuelve un valor definido por la implementación (NaN donde se dé apoyo).
Si se produce un error debido a subdesbordamiento, se devuelve el resultado correcto (después del redondeo).
Manejo de errores
Los errores se informan como se especifica en math_errhandling.
Si la implementación admite la aritmética de punto flotante IEEE (IEC 60559):
- Si el argumento es +0 o -0, se devuelve +0 o -0, respectivamente.
- Si el argumento es +∞ o -∞, se devuelve NaN y se genera FE_INVALID.
- Si el argumento es NaN, se devuelve NaN.
Notas
El caso en el que el argumento es infinito no se especifica como un error de dominio en C (al que difiere C++), pero se define como un error de dominio en POSIX.
POSIX también especifica que en caso de subdesbordamiento, se devuelva arg sin modificar, y si no se admite, se devuelva un valor definido por la implementación no mayor que DBL_MIN, FLT_MIN y LDBL_MIN.
Ejemplo
#include <iostream> #include <cmath> #include <cerrno> #include <cfenv> #pragma STDC FENV_ACCESS ON const double pi = std::acos(-1); int main() { // uso típico std::cout << "sin(pi/6) = " << std::sin(pi/6) << '\n' << "sin(pi/2) = " << std::sin(pi/2) << '\n' << "sin(-3*pi/4) = " << std::sin(-3*pi/4) << '\n'; // valores especiales std::cout << "sin(+0) = " << std::sin(0.0) << '\n' << "sin(-0) = " << std::sin(-0.0) << '\n'; // manejo de errores std::feclearexcept(FE_ALL_EXCEPT); std::cout << "sin(INFINITY) = " << std::sin(INFINITY) << '\n'; if (std::fetestexcept(FE_INVALID)) std::cout << " Se generó FE_INVALID\n"; }
Posible salida:
sin(pi/6) = 0.5
sin(pi/2) = 1
sin(-3*pi/4) = -0.707107
sin(+0) = 0
sin(-0) = -0
sin(INFINITY) = -nan
Se generó FE_INVALID
Véase también
(C++11)(C++11) |
Calcula el coseno (cos(x)) (función) [editar] |
(C++11)(C++11) |
Calcula la tangente (tan(x)) (función) [editar] |
(C++11)(C++11) |
Calcula el arco seno (arcsen(x)) (función) [editar] |
| Calcula el seno de un número complejo (sen(z)). (plantilla de función) [editar] | |
| Aplica la función std::sin a cada elemento de valarray. (plantilla de función) [editar] | |
Documentación de C para sin | |