std::asin(std::valarray)

Header: <valarray>

For each element in va computes arc sine of the value of the element.

# Declarations

template< class T >
valarray<T> asin( const valarray<T>& va );

# Parameters

# Return value

Value array containing arc sines of the values in va.

# Notes

Unqualified function (asin) is used to perform the computation. If such function is not available, std::asin is used due to argument-dependent lookup.

The function can be implemented with the return type different from std::valarray. In this case, the replacement type has the following properties:

# Example

#include <cmath>
#include <iostream>
#include <numbers>
#include <valarray>
 
int main()
{
    // take common y-values from unit circle
    const double s22 = std::sqrt(2.0) / 2.0;
    const double s32 = std::sqrt(3.0) / 2.0;
    const std::valarray<double> v1 =
        {-1.0, -s32, -s22, -0.5,  0.0,  0.5, s22,  s32,  1.0};
 
    // fill with results of radians to degrees conversion
    const std::valarray<double> v2 = 
        std::asin(v1) * 180.0 / std::numbers::pi;
 
    for (std::cout << std::showpos; double n : v2)
        std::cout << n << "° ";
    std::cout << '\n';
}

# See also