|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Defined in header <math.h> | ||
float coshf(float arg); | (1) | (since C99) |
double cosh(double arg); | (2) | |
longdouble coshl(longdouble arg); | (3) | (since C99) |
Defined in header <tgmath.h> | ||
#define cosh( arg ) | (4) | (since C99) |
arg.coshl is called. Otherwise, if the argument has integer type or the typedouble,cosh is called. Otherwise,coshf is called. If the argument is complex, then the macro invokes the corresponding complex function (ccoshf,ccosh,ccoshl).Contents |
| arg | - | floating-point value representing a hyperbolic angle |
arg (cosh(arg), or| earg +e-arg |
| 2 |
If a range error due to overflow occurs,+HUGE_VAL,+HUGE_VALF, or+HUGE_VALL is returned.
Errors are reported as specified inmath_errhandling.
If the implementation supports IEEE floating-point arithmetic (IEC 60559),
For the IEEE-compatible typedouble, if|arg| > 710.5, thencosh(arg) overflows.
#include <errno.h>#include <fenv.h>#include <math.h>#include <stdio.h> // #pragma STDC FENV_ACCESS ONint main(void){printf("cosh(1) = %f\ncosh(-1)= %f\n", cosh(1), cosh(-1));printf("log(sinh(1) + cosh(1))=%f\n",log(sinh(1)+ cosh(1)));// special valuesprintf("cosh(+0) = %f\ncosh(-0) = %f\n", cosh(0.0), cosh(-0.0));// error handlingerrno=0;feclearexcept(FE_ALL_EXCEPT);printf("cosh(710.5) = %f\n", cosh(710.5));if(errno==ERANGE)perror(" errno == ERANGE");if(fetestexcept(FE_OVERFLOW))puts(" FE_OVERFLOW raised");}
Possible output:
cosh(1) = 1.543081cosh(-1)= 1.543081log(sinh(1) + cosh(1))=1.000000cosh(+0) = 1.000000cosh(-0) = 1.000000cosh(710.5) = inf errno == ERANGE: Numerical result out of range FE_OVERFLOW raised
(C99)(C99) | computes hyperbolic sine (\({\small\sinh{x} }\)sinh(x)) (function)[edit] |
(C99)(C99) | computes hyperbolic tangent (\({\small\tanh{x} }\)tanh(x)) (function)[edit] |
(C99)(C99)(C99) | computes inverse hyperbolic cosine (\({\small\operatorname{arcosh}{x} }\)arcosh(x)) (function)[edit] |
(C99)(C99)(C99) | computes the complex hyperbolic cosine (function)[edit] |
C++ documentation forcosh | |