Skip to content

Files

Latest commit

a1e230f · Apr 1, 2025

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Nov 24, 2024
Aug 19, 2023
Mar 21, 2025
Mar 6, 2024
Mar 6, 2024
Apr 1, 2025
Apr 13, 2024
Mar 21, 2025
Mar 6, 2024
Mar 6, 2024
Mar 6, 2024
Mar 10, 2024

Arcversine

Compute the inverse versed sine.

The inverse versed sine is defined as

aversin ( θ ) = arccos ( 1 θ )

Usage

var aversin = require( '@stdlib/math/base/special/aversin' );

aversin( x )

Computes the inverse versed sine.

var v = aversin( 0.0 );
// returns 0.0

v = aversin( 3.141592653589793/2.0 );
// returns ~2.1783

v = aversin( 3.141592653589793/6.0 );
// returns ~1.0742

If x < 0, x > 2, or x is NaN, the function returns NaN.

var v = aversin( -1.0 );
// returns NaN

v = aversin( 3.14 );
// returns NaN

v = aversin( NaN );
// returns NaN

Examples

var uniform = require( '@stdlib/random/array/uniform' );
var logEachMap = require( '@stdlib/console/log-each-map' );
var aversin = require( '@stdlib/math/base/special/aversin' );

var x = uniform( 100, 0.0, 2.0, {
    'dtype': 'float64'
});

logEachMap( 'aversin(%0.4f) = %0.4f', x, aversin );

C APIs

Usage

#include "stdlib/math/base/special/aversin.h"

stdlib_base_aversin( x )

Computes the inverse versed sine of a double-precision floating-point number (in radians).

double out = stdlib_base_aversin( 3.141592653589793/2.0 );
// returns ~2.1783

If x < 0, x > 2, or x is NaN, the function returns NaN.

double out = stdlib_base_aversin( 3.141592653589793 );
// returns NaN

The function accepts the following arguments:

  • x: [in] double input value.
double stdlib_base_aversin( const double x );

Examples

#include "stdlib/math/base/special/aversin.h"
#include <stdio.h>

int main( void ) {
    const double x[] = { -2.5, -2.0, -1.5, -1.0, -0.5, 0.5, 1.0, 1.5, 2.0, 2.5 };

    double v;
    int i;
    for ( i = 0; i < 10; i++ ) {
        v = stdlib_base_aversin( x[ i ] );
        printf( "aversin(%lf) = %lf\n", x[ i ], v );
    }
}

See Also