Common mathematical functions | |||||||||||||||||||||||||||||||
Mathematical special functions(C++17) | |||||||||||||||||||||||||||||||
Mathematical constants(C++20) | |||||||||||||||||||||||||||||||
Basic linear algebra algorithms(C++26) | |||||||||||||||||||||||||||||||
Data-parallel types (SIMD)(C++26) | |||||||||||||||||||||||||||||||
Floating-point environment(C++11) | |||||||||||||||||||||||||||||||
Complex numbers | |||||||||||||||||||||||||||||||
Numeric array (valarray ) | |||||||||||||||||||||||||||||||
Pseudo-random number generation | |||||||||||||||||||||||||||||||
Bit manipulation(C++20) | |||||||||||||||||||||||||||||||
Saturation arithmetic(C++26) | |||||||||||||||||||||||||||||||
Factor operations | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
Interpolations | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
Generic numeric operations | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
C-style checked integer arithmetic | |||||||||||||||||||||||||||||||
|
Defined in header <valarray> | ||
template<class T> valarray<T> cos(const valarray<T>& va); | ||
For each element inva computes cosine of the value of the element.
Contents |
va | - | value array to apply the operation to |
Value array containing cosines of the values inva.
Unqualified function (cos) is used to perform the computation. If such function is not available,std::cos is used due toargument-dependent lookup.
The function can be implemented with the return type different fromstd::valarray. In this case, the replacement type has the following properties:
template<class T>valarray<T> cos(const valarray<T>& va){ valarray<T> other= va;for(T& i: other) i= cos(i); return other;// proxy object may be returned} |
#include <cmath>#include <iomanip>#include <iostream>#include <valarray> void show(constchar* title,conststd::valarray<float>& data){constint w{9};std::cout<<std::setw(w)<< title<<" | ";for(float x: data)std::cout<<std::setw(w)<< x<<" | ";std::cout<<'\n';} int main(){conststd::valarray<float> x{.1,.2,.3,.4};constauto sin=std::sin(x);constauto cos=std::cos(x);constauto z=(sin* sin)+(cos* cos); show("x", x); show("sin(x)", sin); show("cos(x)", cos); show("z", z);}
Output:
x | 0.1 | 0.2 | 0.3 | 0.4 | sin(x) | 0.0998334 | 0.198669 | 0.29552 | 0.389418 | cos(x) | 0.995004 | 0.980067 | 0.955337 | 0.921061 | z | 1 | 1 | 1 | 1 |
applies the functionstd::sin to each element of valarray (function template)[edit] | |
applies the functionstd::tan to each element of valarray (function template)[edit] | |
applies the functionstd::acos to each element of valarray (function template)[edit] | |
(C++11)(C++11) | computes cosine (\({\small\cos{x}}\)cos(x)) (function)[edit] |
computes cosine of a complex number (\({\small\cos{z}}\)cos(z)) (function template)[edit] |