std::abs(std::valarray)(3)
๐ NAME ๐
std::abs(std::valarray) - std::abs(std::valarray) โ yes, that's literally the whole NAME line, iconic ๐
. This is the std::abs(std::valarray) page from the C++ Standard Libary (manual name up top, spelling and all ๐ซถ).
โจ Synopsis โจ
Defined in header <valarray>
template< class T >
valarray<T> abs( const valarray<T>& va );
Computes absolute value of each element in the value array. ๐งฎโจ
๐ซถ Parameters ๐ซถ
vaโ value array to apply the operation to.
๐ Return value ๐
Value array containing absolute values of the values in va. ๐
๐ง Notes ๐ง
Unqualified function (abs) is used to perform the computation. If such function is not available, std::abs 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.- For every function taking a
const std::valarray<T>&exceptbegin()andend()(since C++11), identical functions taking the replacement types shall be added; - For every function taking two
const std::valarray<T>&arguments, identical functions taking every combination ofconst std::valarray<T>&and replacement types shall be added. - 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> abs(const valarray<T>& va)
{
valarray<T> other = va;
for (T& i : other)
i = abs(i);
return other; // proxy object may be returned
}
๐ Example ๐
// Run this code
#include <iostream>
#include <valarray>
int main()
{
std::valarray<int> v{1, -2, 3, -4, 5, -6, 7, -8};
std::valarray<int> v2 = std::abs(v);
for (auto n : v2)
std::cout << n << ' ';
std::cout << '\n';
}
๐ฌ Output: ๐ฌ
1 2 3 4 5 6 7 8
๐ See also ๐
abs(int)labs,llabsโ computes absolute value of an integral value (\(\small{|x|}\)|x|) โ(function)โ(C++11)abs(float)fabs,fabsf,fabslโ absolute value of a floating point value (\(\small{|x|}\)|x|) โ(function)โ(C++11)โ(C++11)abs(std::complex)โ returns the magnitude of a complex number โ(function template)
๐ Hidden category: ๐
Pages with unreviewed LWG DR marker
Okay that's the whole vibe, bestie ๐
โจ โ footer energy: source http://cppreference.com, version/date 2024.06.10, page std::abs(std::valarray)(3) ๐ซถ๐
๐ฆ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 ยท MIT
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms