Rate This Document
Findability
Accuracy
Completeness
Readability

asinpi

Compute the arcsine of the input real number and divide the arcsine by π.

Interface Definition

C interface:

float asinpif(float x);

double asinpi(double x);

Parameters

Parameter

Type

Description

Input/Output

x

For asinpif, x is of single-precision floating-point type.

For asinpi, x is of double-precision floating-point type.

Floating-point value of a sine value.

Input

Return Value

  • The result y is returned following the formula y = asin(x)/π. y ∈ [-0.5, +0.5]
  • If the input is +0, the return value is +0.
  • If the input is -0, the return value is -0.
  • If the input x is ±1, the return value is ±0.5.
  • If the input |x| is greater than 1, the return value is NaN.
  • If the input is ±∞, the return value is NaN.
  • If the input is NaN, the return value is NaN.

Dependency

C: "km.h"

Example

C interface:

    // print result
    printf("asinpi(0.0) = %.15f\n", asinpi(0.0));
    printf("asinpi(-0.0) = %.15f\n", asinpi(-0.0));
    printf("asinpi(0.25) = %.15f\n", asinpi(0.25));
    printf("asinpi(-0.25) = %.15f\n", asinpi(-0.25));
    printf("asinpi(0.5) = %.15f\n", asinpi(0.5));
    printf("asinpi(-0.5) = %.15f\n", asinpi(-0.5));
    printf("asinpi(1.0) = %.15f\n", asinpi(1.0));
    printf("asinpi(-1.0) = %.15f\n", asinpi(-1.0));
    printf("asinpi(INFINITY) = %.15f\n", asinpi(INFINITY));
    printf("asinpi(-INFINITY) = %.15f\n", asinpi(-INFINITY));
    printf("asinpi(NAN) = %.15f\n", asinpi(NAN));
    printf("asinpi(-NAN) = %.15f\n", asinpi(-NAN));
    /* 
     * asinpi(0.0) = 0.000000000000000
     * asinpi(-0.0) = -0.000000000000000
     * asinpi(0.25) = 0.080430623255166
     * asinpi(-0.25) = -0.080430623255166
     * asinpi(0.5) = 0.166666666666667
     * asinpi(-0.5) = -0.166666666666667
     * asinpi(1.0) = 0.500000000000000
     * asinpi(-1.0) = -0.500000000000000
     * asinpi(INFINITY) = nan
     * asinpi(-INFINITY) = nan
     * asinpi(NAN) = nan
     * asinpi(-NAN) = -nan
     * 
     * */