gnu Scientific Library (GSL) を使用しています。次のようなものがあるgsl_vector
とします: 7 0 -6 5 8 0 10 -2
これは、要素として正の数、負の数、ゼロを含むベクトルです。
this の非ゼロ要素またはゼロ要素の数をカウントしたいgsl_vector
。count_if
C++ ベクトルに対して呼び出される関数があることは知っています。しかし、 and を検索するgsl_vector.h
と、それにgsl_blas.h
等しい関数はありません。ただし、すべての要素を評価してgsl_vector_get()
、if の質問をすることができます。
int counter = 0;
for(int i = 0;i<length_of_the_gsl_vector;++i){
if(fabs(gsl_vector_get(y,i))<0.5) ++counter;
}
return counter;
しかし、私は、GSL にもっと効率的な関数が既に存在するかどうかについて、ほぼ 1 日疑問に思っていました。
または多分count_if
機能がありgsl_array
ますか?