gpt4 book ai didi

cholmod 长版本函数返回空指针 — C 编程

转载 作者:行者123 更新时间:2023-11-30 17:31:17 24 4
gpt4 key购买 nike

我正在使用通过 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长版本的结构不起作用,但整数版本效果很好。有谁知道发生这种情况的原因吗?

最佳答案

您必须在 cholmod_common 结构 c 中设置正确的 itype。

c.itype=CHOLMOD_LONG;

/* Common->itype and Common->dtype are used to define the types of all
* sparse matrices, triplet matrices, dense matrices, and factors
* created using this Common struct. The itypes and dtypes of all
* parameters to all CHOLMOD routines must match. */

关于cholmod 长版本函数返回空指针 — C 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24707307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com