⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spextra.c

📁 spice中支持多层次元件模型仿真的可单独运行的插件源码
💻 C
字号:
/* *  MATRIX UTILITY MODULE * *  This file contains new routines for Spice3f * *  >>> User accessible functions contained in this file: *  spConstMul * *  >>> Other functions contained in this file: *//* *  IMPORTS * *  >>> Import descriptions: *  spConfig.h *      Macros that customize the sparse matrix routines. *  spMatrix.h *      Macros and declarations to be imported by the user. *  spDefs.h *      Matrix type and macro definitions for the sparse matrix routines. */#define spINSIDE_SPARSE#include "spconfig.h"#include "spmatrix.h"#include "spdefs.h"/* *  Function declarations */#ifdef __STDC__#if spSEPARATED_COMPLEX_VECTORS#else#endif#else /* __STDC__ */#endif /* __STDC__ */spConstMult(matrix, constant)	MatrixPtr	matrix;	double		constant;{	ElementPtr	e;	int		i;	int		size = matrix->Size;	for (i = 1; i <= size; i++) {		for (e = matrix->FirstInCol[i]; e; e = e->NextInCol) {			e->Real *= constant;			e->Imag *= constant;		}	}}#ifdef notdefint	spccc = 0;int	spccc_hold = -1;int	spccc_h1 = 1;int	spccc_h2 = 1;int	spccc_h3 = 1;int	spccc_h4 = 1;int	spccc_h5 = 1;int	spccc_h11 = 1;int	spccc_h12 = 1;int	spccc_h13 = 1;int	spccc_h15 = 1;int	spccc_h99 = 1;spCheck(matrix, key)	MatrixPtr	matrix;	int		key;{	ElementPtr	e;	int		i, n, k;	int		size = matrix->Size;	spccc += 1;	if (spccc == spccc_hold)		hold_matrix99( );	for (i = 1; i <= size; i++) {		k = -1;		if (!(key & 2)) {			for (n = 0, e = matrix->FirstInCol[i]; e && n <= size;				e = e->NextInCol)			{				if (k >= e->Row)					hold_matrix2( );				if (e->Col != i)					hold_matrix3( );				if (e->NextInRow && e->Col >= e->NextInRow->Col)					hold_matrix5( );				k = e->Row;				n += 1;			}			if (n > size)				hold_matrix1( );		}		k = -1;		if (matrix->RowsLinked && !(key & 1)) {			for (n = 0, e = matrix->FirstInRow[i]; e && n <= size;				e = e->NextInRow)			{				if (k >= e->Col)					hold_matrix12( );				if (e->Row != i)					hold_matrix13( );				if (e->NextInCol && e->Row >= e->NextInCol->Row)					hold_matrix15( );				k = e->Col;				n += 1;			}			if (n > size)				hold_matrix11( );		}	}}hold_matrix1( ){	if (spccc_h1) {		printf("BAD MATRIX");		fflush(stdout);	}}hold_matrix2( ){	if (spccc_h2) {		printf("BAD MATRIX 2");		fflush(stdout);	}}hold_matrix3( ){	if (spccc_h3) {		printf("BAD MATRIX 3");		fflush(stdout);	}}hold_matrix4( ){	if (spccc_h4) {		printf("BAD MATRIX 3");		fflush(stdout);	}}hold_matrix5( ){	if (spccc_h5) {		printf("BAD MATRIX 5");		fflush(stdout);	}}hold_matrix11( ){	if (spccc_h11) {		printf("BAD MATRIX 11");		fflush(stdout);	}}hold_matrix12( ){	if (spccc_h12) {		printf("BAD MATRIX 12");		fflush(stdout);	}}hold_matrix13( ){	if (spccc_h13) {		printf("BAD MATRIX 13");		fflush(stdout);	}}hold_matrix15( ){	if (spccc_h15) {		printf("BAD MATRIX 15");		fflush(stdout);	}}hold_matrix99( ){	if (spccc_h99) {		printf("BAD MATRIX 99");		fflush(stdout);	}}#endif

⌨️ 快捷键说明

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