std::sin(std::valarray)
| Defined in header <valarray> | ||
|---|---|---|
| template< class T > valarray<T> sin( const valarray<T>& va ); | 
For each element in va computes sine of the value of the element.
Parameters
| va | - | value array to apply the operation to | 
Return value
Value array containing sine of the values in va.
Notes
Unqualified function (sin) is used to perform the computation. If such function is not available, std::sin 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:
-  All constmember functions ofstd::valarrayare provided.
-  std::valarray,std::slice_array,std::gslice_array,std::mask_arrayandstd::indirect_arraycan be constructed from the replacement type.
-  All functions accepting an argument of type const std::valarray&exceptbegin()andend()(since C++11) should also accept the replacement type.
-  All functions accepting two arguments of type const std::valarray&should accept every combination ofconst std::valarray&and the replacement type.
- The return type does not add more than two levels of template nesting over the most deeply-nested argument type.
Possible implementation
| template<class T>
valarray<T> sin(const valarray<T>& va)
{
    valarray<T> other = va;
    for (T &i : other) {
        i = sin(i);
    }
    return other;
} | 
Example
#include <iostream>
#include <valarray>
#include <cmath>
 
const double pi = std::acos(-1);
int main()
{
    std::valarray<double> v1 = {0, 0.25, 0.5, 0.75, 1};
    std::valarray<double> v2 = std::sin(v1 * pi);
 
    for(double n : v2)
        std::cout << std::fixed << n << ' ';
    std::cout << '\n';
}Output:
0.000000 0.707107 1.000000 0.707107 0.000000
See also
| applies the function std::costo each element of valarray(function template) | |
| applies the function std::tanto each element of valarray(function template) | |
| applies the function std::asinto each element of valarray(function template) | |
| (C++11)(C++11) | computes sine (sin(x)) (function) | 
| computes sine of a complex number (sin(z)) (function template) | 
    © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
    http://en.cppreference.com/w/cpp/numeric/valarray/sin