Closed mzy2240 closed 1 year ago
Create, destroy, and analyze seem work fine.
It looks that you passed a zero dimension when calling CKTSO_L_Analyze (CKTSO_L_Analyze(a[], Bool(false), Clonglong(0), ...). Zero dimension means an empty matrix and the following functions cannot continue.
you mean the third argument? I thought 0 means it will destroy previous matrix instance and only keep this current one
The 3rd argument of CKTSO_L_Analyze is the only parameter for the solver to know the matrix dimension. 0 will only free the previous matrix. Nonzero will first free the previous matrix and create the new matrix.
Can we have a function to directly accept input option array as one of the argument, instead of only exposing the pointer? I managed to directly call the module from Julia, all the functions work as expected except retrieving the input and output options. It would be much easier if the input option could be passed into the function as a normal argument. I am wrapping it in Julia so those pointer are quite difficult to operate.
I do not use Julia so I do not know what the problem is. The input and output options are pointers to pointers, which are similar to the handle. If the handle can work, the input and output options should also work. Could you elaborate your problem?
The biggest headache is, in Julia I have to instantiate an object first to obtain the pointer (and of course the pointer to pointer). According to the header file, it is eventually pointing to a Cint, which means I could only obtain a Cint after dereferencing. Can we just have a method like CreateSolverWithOption
so that we could directly put the option array as one of the argument? Like how we pass ax, ai. It will be much easier for many developers who are working on language with limited access to pointers.
Thank you for providing the information. I will consider this.
I'm trying to directly use the dll from Julia, however the factorization function always return -8, while others seem work fine (return 0). Here is my script: