Common Library  0.9.5
KahanSumOp< std::pair< T, U > > クラステンプレート

Kahanの加算アルゴリズムを使って和を計算するための関数オブジェクト(std::pair用) [詳解]

公開メンバ関数

 KahanSumOp ()
 デフォルト・コンストラクタ
 
void reset ()
 加算結果の初期化 [詳解]
 
std::pair< T, U > operator() (std::pair< T, U > init, std::pair< T, U > value)
 加算を行う [詳解]
 

詳解

template<class T, class U>
class KahanSumOp< std::pair< T, U > >

Kahanの加算アルゴリズムを使って和を計算するための関数オブジェクト(std::pair用)

渡された std::pair の first, second それぞれを加算して返す。 誤差を軽減するために Kahan の加算アルゴリズムを利用

ループ処理により和の計算を行うことを想定した関数オブジェクトであり、例えば

std::accumulate( s, e, T(), KahanSumOp< T >() );
Kahanの加算アルゴリズムを使って和を計算するための関数オブジェクト
Definition: math_library.h:968

とすれば、T の型が std::pair であっても処理できる。

関数詳解

◆ reset()

template<class T , class U >
void KahanSumOp< std::pair< T, U > >::reset ( )
inline

加算結果の初期化

戻り値
なし

◆ operator()()

template<class T , class U >
std::pair< T, U > KahanSumOp< std::pair< T, U > >::operator() ( std::pair< T, U >  init,
std::pair< T, U >  value 
)
inline

加算を行う

引数
init被加算値
value加算する値
戻り値
加算結果

このクラス詳解は次のファイルから抽出されました: