std:: abs (std::valarray)
From cppreference.net
|
ヘッダーで定義
<valarray>
|
||
|
template
<
class
T
>
valarray < T > abs ( const valarray < T > & va ) ; |
||
値配列の各要素の絶対値を計算します。
目次 |
パラメータ
| va | - | 操作を適用する値配列 |
戻り値
va 内の値の絶対値を含む値配列。
注記
修飾されていない関数 ( abs ) が計算の実行に使用されます。そのような関数が利用できない場合、 std :: abs が 実引数依存の名前検索 により使用されます。
この関数は、戻り値の型が std::valarray と異なる型で実装される場合があります。この場合、置換型は以下の特性を持ちます:
-
- const メンバ関数の全てが std::valarray に対して提供される。
- std::valarray , std::slice_array , std::gslice_array , std::mask_array および std::indirect_array は置換型から構築可能である。
- const std:: valarray < T > & を引数に取る全ての関数 ( begin() および end() を除く (C++11以降) )に対して、置換型を取る同一の関数が追加される;
- 2つの const std:: valarray < T > & 引数を取る全ての関数に対して、 const std:: valarray < T > & と置換型のあらゆる組み合わせを取る同一の関数が追加される。
- 戻り値の型は、最も深くネストされた引数型に対して2レベルを超えるテンプレートのネストを追加しない。
実装例
template<class T> valarray<T> abs(const valarray<T>& va) { valarray<T> other = va; for (T& i : other) i = abs(i); return other; // プロキシオブジェクトが返される可能性あり } |
例
このコードを実行
#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'; }
出力:
1 2 3 4 5 6 7 8
関連項目
|
(C++11)
|
整数値の絶対値を計算する (
|x|
)
(関数) |
|
(C++11)
(C++11)
|
浮動小数点値の絶対値 (
|x|
)
(関数) |
|
複素数の絶対値を返す
(関数テンプレート) |