std::acos(std::valarray)

Header: <valarray>

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

# Declarations

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

# Parameters

# Return value

Value array containing arc cosines of the values in va.

# Notes

Unqualified function (acos) is used to perform the computation. If such function is not available, std::acos 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 x-values from unit circle
    const double s32 = std::sqrt(3.0) / 2.0;
    const double s22 = std::sqrt(2.0) / 2.0;
    std::valarray<double> v1 = {-1.0, -s32, -s22, -0.5, 0.0, 0.5, s22, s32, 1.0};
    std::valarray<double> v2 = std::acos(v1) * 180.0 / std::numbers::pi;
 
    for (double n : v2)
        std::cout << n << "° ";
    std::cout << '\n';
}

# See also