sp_cconvert.c

来自「SuperLU is a general purpose library for」· C语言 代码 · 共 43 行

C
43
字号
/* * -- SuperLU routine (version 2.0) -- * Univ. of California Berkeley, Xerox Palo Alto Research Center, * and Lawrence Berkeley National Lab. * November 15, 1997 * */#include "slu_cdefs.h"/* * Convert a full matrix into a sparse matrix format.  */intsp_cconvert(int m, int n, complex *A, int lda, int kl, int ku,	   complex *a, int *asub, int *xa, int *nnz){    int     lasta = 0;    int     i, j, ilow, ihigh;    int     *row;    complex  *val;    for (j = 0; j < n; ++j) {	xa[j] = lasta;	val = &a[xa[j]];	row = &asub[xa[j]];	ilow = SUPERLU_MAX(0, j - ku);	ihigh = SUPERLU_MIN(n-1, j + kl);	for (i = ilow; i <= ihigh; ++i) {	    val[i-ilow] = A[i + j*lda];	    row[i-ilow] = i;	}	lasta += ihigh - ilow + 1;    }    xa[n] = *nnz = lasta;    return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?