我正在使用通过 macports 安装的 SuiteSparse @4.2.1_3 并希望分配一个 cholmod_dense 结构。考虑以下代码:
/* start CHOLMOD */
cholmod_common c;
cholmod_dense* myv;
cholmod_dense* myv2;
cholmod_start (&c);
myv = cholmod_l_allocate_dense( 4,1,4,CHOLMOD_REAL,&c);
myv2 = cholmod_allocate_dense(4,1,4,CHOLMOD_REAL,&c);
printf("myv=%p\n",myv);
printf("myv2=%p\n",myv2);
/* finish CHOLMOD */
cholmod_finish (&c) ;
我得到以下输出:
myv=0x0
myv2=0x7fb86ac0c060
这意味着长版本中的分配cholmod_dense
结构不起作用,但整数版本效果很好。有谁知道发生这种情况的原因?