A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/language/../algorithm/../../cpp/../c/numeric/math/acosh.html below:

acosh, acoshf, acoshl - cppreference.com

float       acoshf( float arg );

(1) (since C99)

double      acosh( double arg );

(2) (since C99)

long double acoshl( long double arg );

(3) (since C99)

#define acosh( arg )

(4) (since C99)

1-3) Computes the inverse hyperbolic cosine of arg.

4)

Type-generic macro: If the argument has type

long double

,

acoshl

is called. Otherwise, if the argument has integer type or the type

double

,

acosh

is called. Otherwise,

acoshf

is called. If the argument is complex, then the macro invokes the corresponding complex function (

cacoshf

,

cacosh

,

cacoshl

).

[edit] Parameters arg - floating-point value representing the area of a hyperbolic sector [edit] Return value

If no errors occur, the inverse hyperbolic cosine of arg (cosh-1
(arg)
, or arcosh(arg)) on the interval [0, +∞], is returned.

If a domain error occurs, an implementation-defined value is returned (NaN where supported).

[edit] Error handling

Errors are reported as specified in math_errhandling.

If the argument is less than 1, a domain error occurs.

If the implementation supports IEEE floating-point arithmetic (IEC 60559),

[edit] Notes

Although the C standard names this function "arc hyperbolic cosine", the inverse functions of the hyperbolic functions are the area functions. Their argument is the area of a hyperbolic sector, not an arc. The correct name is "inverse hyperbolic cosine" (used by POSIX) or "area hyperbolic cosine".

[edit] Example
#include <errno.h>
#include <fenv.h>
#include <float.h>
#include <math.h>
#include <stdio.h>
// #pragma STDC FENV_ACCESS ON
 
int main(void)
{
    printf("acosh(1) = %f\nacosh(10) = %f\n", acosh(1), acosh(10));
    printf("acosh(DBL_MAX) = %f\nacosh(Inf) = %f\n", acosh(DBL_MAX), acosh(INFINITY));
 
    // error handling
    errno = 0; feclearexcept(FE_ALL_EXCEPT);
    printf("acosh(0.5) = %f\n", acosh(0.5));
    if (errno == EDOM)
        perror("    errno == EDOM");
    if (fetestexcept(FE_INVALID))
        puts("    FE_INVALID raised");
}

Possible output:

acosh(1) = 0.000000
acosh(10) = 2.993223
acosh(DBL_MAX) = 710.475860
acosh(Inf) = inf
acosh(0.5) = -nan
    errno == EDOM: Numerical argument out of domain
    FE_INVALID raised
[edit] References
[edit] See also [edit] External links

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4