internal cs CreateSparse(CompressedColumnStorage<T> matrix, List<GCHandle> handles)
        {
            var A = new cs();

            A.m = matrix.RowCount;
            A.n = matrix.ColumnCount;
            A.nz = -1; // CSC format.
            A.nzmax = matrix.NonZerosCount;
            A.p = InteropHelper.Pin(matrix.ColumnPointers, handles);
            A.i = InteropHelper.Pin(matrix.RowIndices, handles);
            A.x = InteropHelper.Pin(matrix.Values, handles);

            return A;
        }
 public static extern int cs_di_sprealloc(ref cs A, int nzmax);
 public static extern IntPtr /* css* */ cs_ci_schol(int order, ref cs A);
 public static extern IntPtr /* csn* */ cs_ci_lu(ref cs A, ref css S, double tol);
 public static extern int cs_ci_lusol(int order, ref cs A, IntPtr /* double* */ b, double tol);
 public static extern IntPtr /* csd* */ cs_di_ddone(ref csd D, ref cs C, IntPtr /* void* */ w, int ok);
 public static extern IntPtr /* int* */ cs_di_idone(IntPtr /* int* */ p, ref cs C, IntPtr /* void* */ w, int ok);
 public static extern int cs_di_spsolve(ref cs L, ref cs B, int k, IntPtr /* int* */ xi, IntPtr /* double* */ x, IntPtr /* int* */ pinv, int lo);
 public static extern IntPtr /* cs* */ cs_di_symperm(ref cs A, IntPtr /* int* */ pinv, int values);
Exemple #10
0
 public static extern IntPtr /* cs* */ cs_di_permute(ref cs A, IntPtr /* int* */ pinv, IntPtr /* int* */ q, int values);
Exemple #11
0
 public static extern int cs_di_dropzeros(ref cs A);
Exemple #12
0
 public static extern int cs_di_droptol(ref cs A, double tol);
Exemple #13
0
 public static extern IntPtr /* csd* */ cs_di_dmperm(ref cs A, int seed);
Exemple #14
0
 public static extern IntPtr /* csn* */ cs_di_chol(ref cs A, ref css S);
Exemple #15
0
 public static extern IntPtr /* int* */ cs_di_amd(int order, ref cs A);
Exemple #16
0
 public static extern int cs_di_scatter(ref cs A, int j, double beta, IntPtr /* int* */ w, IntPtr /* double* */ x, int mark, ref cs C, int nz);
Exemple #17
0
 public static extern int cs_di_reach(ref cs G, ref cs B, int k, IntPtr /* int* */ xi, IntPtr /* int* */ pinv);
Exemple #18
0
 public static extern int cs_di_updown(ref cs L, int sigma, ref cs C, IntPtr /* int* */ parent);
Exemple #19
0
 public static extern int cs_di_ereach(ref cs A, int k, IntPtr /* int* */ parent, IntPtr /* int* */ s, IntPtr /* int* */ w);
Exemple #20
0
 public static extern IntPtr /* int* */ cs_di_counts(ref cs A, IntPtr /* int* */ parent, IntPtr /* int* */ post, int ata);
Exemple #21
0
 public static extern IntPtr /* csn* */ cs_di_ndone(ref csn N, ref cs C, IntPtr /* void* */ w, IntPtr /* void* */ x, int ok);
Exemple #22
0
 public static extern int cs_di_dfs(int j, ref cs G, int top, IntPtr /* int* */ xi, IntPtr /* int* */ pstack, IntPtr /* int* */ pinv);
Exemple #23
0
 public static extern IntPtr /* cs* */ cs_ci_transpose(ref cs A, int values);
Exemple #24
0
 public static extern IntPtr /* int* */ cs_di_etree(ref cs A, int ata);
Exemple #25
0
 public static extern int cs_ci_qrsol(int order, ref cs A, IntPtr /* double* */ b);
Exemple #26
0
 public static extern int cs_di_fkeep(ref cs A, [MarshalAs(UnmanagedType.FunctionPtr)] dfkeep fkeep, IntPtr /* void* */ other);
Exemple #27
0
 public static extern IntPtr /* csn* */ cs_ci_qr(ref cs A, ref css S);
Exemple #28
0
 public static extern IntPtr /* int* */ cs_di_maxtrans(ref cs A, int seed);
Exemple #29
0
 public static extern IntPtr /* css* */ cs_ci_sqr(int order, ref cs A, int qr);
Exemple #30
0
 public static extern IntPtr /* csd* */ cs_di_scc(ref cs A);