假设我有一些gsl_matrix * A
。我想写一个函数,检索例如行数在这个矩阵,没有访问任何其他除了对象a本身。
的例子:
int num_rows(gsl_matrix * A){
//some operation(s) on A that find the number of rows in the matrix
//store that number in an int r
return r;
}
我能写些什么来帮我做到这一点?
From https://www.gnu.org/software/gsl/manual/html_node/Matrices.html
gsl_matrix
定义为:
typedef struct
{
size_t size1;
size_t size2;
size_t tda;
double * data;
gsl_block * block;
int owner;
} gsl_matrix;
和
行数为size1。有效的行索引范围从0到size1-1。类似地,size2是列数。有效列索引的范围从0到size2-1。物理行维tda,或尾维,指定在内存中布局的矩阵的行大小。
如果你想要A
的行数,那么你可以使用:
int num_rows(gsl_matrix * A){
int r = A->size1;
return r;
}