- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 gnu 科学图书馆 (GSL)。假设我有一个像这样的 gsl_vector
:7 0 -6 5 8 0 10 -2
这是一个包含正数、负数和零作为元素的 vector 。
我想统计这个gsl_vector
中非零元素或零元素的个数。我知道 C++ Vector 有一个名为 count_if
的函数。但是我搜索了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中是否已经有这样一个效率更高的函数。
或者 gsl_array
有一个 count_if
函数?
最佳答案
您可以使用gsl_vector_ptr
获取数据指针,然后在指针上使用std::count_if
:
struct Predicate{
inline bool operator()(double x) const {
return fabs(x) < 0.5 ;
}
} ;
int res = std::count_if(
gsl_vector_ptr(y,0), gsl_vector_ptr(y,0) + size,
Predicate()
) ;
关于c++ - gsl_vector 有 count_if 函数吗? C/C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13582243/
我想通过重载几个运算符来增强 gsl 函数(例如 gls_vector)。我的想法是在单独的命名空间中创建一个新类: namespace gsl { class gsl_vector : pu
有人可以帮我解决这个问题吗?我有这个简单的代码: #include "prova.h" #include #include #include #include #include #inclu
当我用 C++ 编写线性代数程序时,我使用 Armadillo 库。它基于模板,它为我提供了一种定义任意长度的 vector 的方法,这些 vector 不一定需要额外的内存分配,因为它们在编译时静态
我的结构类似于: typedef struct FOO { int m,n; int * am; gsl_vector * bn; } foo; 为了分配这个结构,我这样做: foo *
我最喜欢的方面之一 unique_ptr是它提供的自动内存管理。我想使用 unique_ptr用类似 GSL vector 的东西。 然而,gsl_vector有自己的内存释放机制(gsl_vecto
我正在考虑实现一个类似于容器的数组,但我不确定是使用 gsl::gsl_vector 还是 std::vector。容器需要节省空间,但在调用值时也非常快。该容器将在主程序中不断引用,例如,将值输入张
我正在使用 gnu 科学图书馆 (GSL)。假设我有一个像这样的 gsl_vector:7 0 -6 5 8 0 10 -2 这是一个包含正数、负数和零作为元素的 vector 。 我想统计这个gsl
我是一名优秀的程序员,十分优秀!