gnu Scientific Library (GSL) を使用しています。次のようなものがあるgsl_vectorとします: 7 0 -6 5 8 0 10 -2
これは、要素として正の数、負の数、ゼロを含むベクトルです。
this の非ゼロ要素またはゼロ要素の数をカウントしたいgsl_vector。count_ifC++ ベクトルに対して呼び出される関数があることは知っています。しかし、 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ますか?