如何使用GMP lib初始化多维数组

时间:2018-04-23 18:10:16

标签: java c arrays multidimensional-array

这是使用BigInterger lib的java代码。我想在C中重写,我提到了GMP文档但是找不到逻辑,任何人都可以帮助我吗?

BigInteger X[][] = new BigInteger[4][4];

1 个答案:

答案 0 :(得分:0)

以下是gmp中多dim数组的基本方法:

mpz_t **A;
size_t n;

A=malloc(n*sizeof(mpz_t*));
a[0]=malloc(n*n*sizeof(mpz_t));
for(int i=1;i<n;i++)
   A[i]=A[i-1]+(n*sizeof(mpz_t));

更好的是,将其嵌入结构中以携带圆形尺寸信息

struct GMPMatrix
{
   unsigned int m_size;
   mpz_t  **m_data;
};

并为矩阵编写初始化例程。

如果您只是在寻找一个强大的矩阵库,请查看:

https://cs.uwaterloo.ca/~astorjoh/iml.html

使用gmp和atlas