std::cos(std::valarray)
Min standard notice:
Header: <valarray>
For each element in va computes cosine of the value of the element.
# Declarations
template< class T >
valarray<T> cos( const valarray<T>& va );
# Parameters
va: value array to apply the operation to
# Return value
Value array containing cosines of the values in va.
# Notes
Unqualified function (cos) is used to perform the computation. If such function is not available, std::cos 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 <iomanip>
#include <iostream>
#include <valarray>
void show(const char* title, const std::valarray<float>& data)
{
const int w{9};
std::cout << std::setw(w) << title << " | ";
for (float x : data)
std::cout << std::setw(w) << x << " | ";
std::cout << '\n';
}
int main()
{
const std::valarray<float> x{.1, .2, .3, .4};
const auto sin = std::sin(x);
const auto cos = std::cos(x);
const auto z = (sin * sin) + (cos * cos);
show("x", x);
show("sin(x)", sin);
show("cos(x)", cos);
show("z", z);
}