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> asin(const valarray<T>& va); | ||
For each element inva computes arc sine of the value of the element.
Contents |
va | - | value array to apply the operation to |
Value array containing arc sines of the values inva.
Unqualified function (asin) is used to perform the computation. If such function is not available,std::asin 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> asin(const valarray<T>& va){ valarray<T> other= va;for(T& i: other) i= asin(i); return other;// proxy object may be returned} |
#include <cmath>#include <iostream>#include <numbers>#include <valarray> int main(){// take common y-values from unit circleconstdouble s22=std::sqrt(2.0)/2.0;constdouble s32=std::sqrt(3.0)/2.0;conststd::valarray<double> v1={-1.0,-s32,-s22,-0.5,0.0,0.5, s22, s32,1.0}; // fill with results of radians to degrees conversionconststd::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';}
Output:
-90° -60° -45° -30° +0° +30° +45° +60° +90°
applies the functionstd::acos to each element of valarray (function template)[edit] | |
applies the functionstd::atan to each element of valarray (function template)[edit] | |
applies the functionstd::atan2 to a valarray and a value (function template)[edit] | |
applies the functionstd::sin to each element of valarray (function template)[edit] | |
(C++11)(C++11) | computes arc sine (\({\small\arcsin{x}}\)arcsin(x)) (function)[edit] |
(C++11) | computes arc sine of a complex number (\({\small\arcsin{z}}\)arcsin(z)) (function template)[edit] |