From d9ae95f962b45187c294af01de12d48855299af4 Mon Sep 17 00:00:00 2001 From: Francesco Lannutti Date: Mon, 12 Mar 2012 19:20:20 +0100 Subject: [PATCH] Added UMFPACK as new experimental linear solver, (#2 changed files) Some files modified due to UMFPACK integration Some bugs and minor/cosmetic fixed TODO: Correct cktacct.c to let it print fill-ins properly using UMFPACK or SuperLU --- configure.ac | 25 +++++++++++++++-- src/Makefile.am | 12 +++++++++ src/include/ngspice/devdefs.h | 2 +- src/include/ngspice/smpdefs.h | 23 +++++++++++++++- src/maths/Makefile.am | 23 ++++++++++------ src/maths/SuperLU/superlusmp.c | 4 +-- src/maths/ni/niinit.c | 19 +++++++++++++ src/maths/sparse/Makefile.am | 4 +++ src/spicelib/analysis/cktop.c | 27 +++++++++++++++++++ src/spicelib/analysis/cktsetup.c | 3 +++ src/spicelib/devices/asrc/asrcinit.c | 2 +- src/spicelib/devices/bjt/Makefile.am | 4 +++ src/spicelib/devices/bjt/bjtext.h | 2 +- src/spicelib/devices/bjt/bjtinit.c | 2 +- src/spicelib/devices/bsim1/Makefile.am | 4 +++ src/spicelib/devices/bsim1/bsim1ext.h | 2 +- src/spicelib/devices/bsim1/bsim1init.c | 2 +- src/spicelib/devices/bsim2/Makefile.am | 4 +++ src/spicelib/devices/bsim2/bsim2ext.h | 2 +- src/spicelib/devices/bsim2/bsim2init.c | 2 +- src/spicelib/devices/bsim3/Makefile.am | 4 +++ src/spicelib/devices/bsim3/bsim3ext.h | 2 +- src/spicelib/devices/bsim3/bsim3init.c | 2 +- src/spicelib/devices/bsim3soi_dd/Makefile.am | 4 +++ src/spicelib/devices/bsim3soi_dd/b3soiddext.h | 2 +- .../devices/bsim3soi_dd/b3soiddinit.c | 2 +- src/spicelib/devices/bsim3soi_fd/Makefile.am | 4 +++ src/spicelib/devices/bsim3soi_fd/b3soifdext.h | 2 +- .../devices/bsim3soi_fd/b3soifdinit.c | 2 +- src/spicelib/devices/bsim3soi_pd/Makefile.am | 4 +++ src/spicelib/devices/bsim3soi_pd/b3soipdext.h | 2 +- .../devices/bsim3soi_pd/b3soipdinit.c | 2 +- src/spicelib/devices/bsim3v0/Makefile.am | 4 +++ src/spicelib/devices/bsim3v0/bsim3v0ext.h | 2 +- src/spicelib/devices/bsim3v0/bsim3v0init.c | 2 +- src/spicelib/devices/bsim3v1/Makefile.am | 4 +++ src/spicelib/devices/bsim3v1/bsim3v1ext.h | 2 +- src/spicelib/devices/bsim3v1/bsim3v1init.c | 2 +- src/spicelib/devices/bsim3v32/Makefile.am | 4 +++ src/spicelib/devices/bsim3v32/bsim3v32ext.h | 2 +- src/spicelib/devices/bsim3v32/bsim3v32init.c | 2 +- src/spicelib/devices/bsim4/Makefile.am | 4 +++ src/spicelib/devices/bsim4/bsim4ext.h | 2 +- src/spicelib/devices/bsim4/bsim4init.c | 2 +- src/spicelib/devices/bsim4v4/Makefile.am | 4 +++ src/spicelib/devices/bsim4v4/bsim4v4ext.h | 2 +- src/spicelib/devices/bsim4v4/bsim4v4init.c | 2 +- src/spicelib/devices/bsim4v5/Makefile.am | 4 +++ src/spicelib/devices/bsim4v5/bsim4v5ext.h | 2 +- src/spicelib/devices/bsim4v5/bsim4v5init.c | 2 +- src/spicelib/devices/bsim4v6/Makefile.am | 4 +++ src/spicelib/devices/bsim4v6/bsim4v6ext.h | 2 +- src/spicelib/devices/bsim4v6/bsim4v6init.c | 2 +- src/spicelib/devices/bsimsoi/Makefile.am | 4 +++ src/spicelib/devices/bsimsoi/b4soiext.h | 2 +- src/spicelib/devices/bsimsoi/b4soiinit.c | 2 +- src/spicelib/devices/cap/Makefile.am | 4 +++ src/spicelib/devices/cap/capext.h | 2 +- src/spicelib/devices/cap/capinit.c | 2 +- src/spicelib/devices/cccs/Makefile.am | 4 +++ src/spicelib/devices/cccs/cccsext.h | 2 +- src/spicelib/devices/cccs/cccsinit.c | 2 +- src/spicelib/devices/ccvs/Makefile.am | 4 +++ src/spicelib/devices/ccvs/ccvsext.h | 2 +- src/spicelib/devices/ccvs/ccvsinit.c | 2 +- src/spicelib/devices/cpl/cplinit.c | 2 +- src/spicelib/devices/csw/Makefile.am | 4 +++ src/spicelib/devices/csw/cswext.h | 2 +- src/spicelib/devices/csw/cswinit.c | 2 +- src/spicelib/devices/dio/Makefile.am | 4 +++ src/spicelib/devices/dio/dioext.h | 2 +- src/spicelib/devices/dio/dioinit.c | 2 +- src/spicelib/devices/hfet1/Makefile.am | 4 +++ src/spicelib/devices/hfet1/hfetext.h | 2 +- src/spicelib/devices/hfet1/hfetinit.c | 2 +- src/spicelib/devices/hfet2/Makefile.am | 4 +++ src/spicelib/devices/hfet2/hfet2ext.h | 2 +- src/spicelib/devices/hfet2/hfet2init.c | 2 +- src/spicelib/devices/hisim2/Makefile.am | 4 +++ src/spicelib/devices/hisim2/hsm2ext.h | 2 +- src/spicelib/devices/hisim2/hsm2init.c | 2 +- src/spicelib/devices/hisimhv1/Makefile.am | 4 +++ src/spicelib/devices/hisimhv1/hsmhvext.h | 2 +- src/spicelib/devices/hisimhv1/hsmhvinit.c | 2 +- src/spicelib/devices/ind/Makefile.am | 4 +++ src/spicelib/devices/ind/indext.h | 2 +- src/spicelib/devices/ind/indinit.c | 4 +-- src/spicelib/devices/isrc/isrcinit.c | 2 +- src/spicelib/devices/jfet/Makefile.am | 4 +++ src/spicelib/devices/jfet/jfetext.h | 2 +- src/spicelib/devices/jfet/jfetinit.c | 2 +- src/spicelib/devices/jfet2/Makefile.am | 4 +++ src/spicelib/devices/jfet2/jfet2ext.h | 2 +- src/spicelib/devices/jfet2/jfet2init.c | 2 +- src/spicelib/devices/ltra/Makefile.am | 4 +++ src/spicelib/devices/ltra/ltraext.h | 2 +- src/spicelib/devices/ltra/ltrainit.c | 2 +- src/spicelib/devices/mes/Makefile.am | 4 +++ src/spicelib/devices/mes/mesext.h | 2 +- src/spicelib/devices/mes/mesinit.c | 2 +- src/spicelib/devices/mesa/Makefile.am | 4 +++ src/spicelib/devices/mesa/mesaext.h | 2 +- src/spicelib/devices/mesa/mesainit.c | 2 +- src/spicelib/devices/mos1/Makefile.am | 4 +++ src/spicelib/devices/mos1/mos1ext.h | 2 +- src/spicelib/devices/mos1/mos1init.c | 2 +- src/spicelib/devices/mos2/Makefile.am | 4 +++ src/spicelib/devices/mos2/mos2ext.h | 2 +- src/spicelib/devices/mos2/mos2init.c | 2 +- src/spicelib/devices/mos3/Makefile.am | 4 +++ src/spicelib/devices/mos3/mos3ext.h | 2 +- src/spicelib/devices/mos3/mos3init.c | 2 +- src/spicelib/devices/mos6/Makefile.am | 4 +++ src/spicelib/devices/mos6/mos6ext.h | 2 +- src/spicelib/devices/mos6/mos6init.c | 2 +- src/spicelib/devices/mos9/Makefile.am | 4 +++ src/spicelib/devices/mos9/mos9ext.h | 2 +- src/spicelib/devices/mos9/mos9init.c | 2 +- src/spicelib/devices/res/Makefile.am | 4 +++ src/spicelib/devices/res/resext.h | 2 +- src/spicelib/devices/res/resinit.c | 2 +- src/spicelib/devices/soi3/Makefile.am | 4 +++ src/spicelib/devices/soi3/soi3ext.h | 2 +- src/spicelib/devices/soi3/soi3init.c | 2 +- src/spicelib/devices/sw/Makefile.am | 4 +++ src/spicelib/devices/sw/swext.h | 2 +- src/spicelib/devices/sw/swinit.c | 2 +- src/spicelib/devices/tra/Makefile.am | 4 +++ src/spicelib/devices/tra/traext.h | 2 +- src/spicelib/devices/tra/trainit.c | 2 +- src/spicelib/devices/txl/Makefile.am | 4 +++ src/spicelib/devices/txl/txlext.h | 2 +- src/spicelib/devices/txl/txlinit.c | 2 +- src/spicelib/devices/urc/urcinit.c | 2 +- src/spicelib/devices/vbic/Makefile.am | 4 +++ src/spicelib/devices/vbic/vbicext.h | 2 +- src/spicelib/devices/vbic/vbicinit.c | 2 +- src/spicelib/devices/vccs/Makefile.am | 4 +++ src/spicelib/devices/vccs/vccsext.h | 2 +- src/spicelib/devices/vccs/vccsinit.c | 2 +- src/spicelib/devices/vcvs/Makefile.am | 4 +++ src/spicelib/devices/vcvs/vcvsext.h | 2 +- src/spicelib/devices/vcvs/vcvsinit.c | 2 +- src/spicelib/devices/vsrc/Makefile.am | 4 +++ src/spicelib/devices/vsrc/vsrcext.h | 2 +- src/spicelib/devices/vsrc/vsrcinit.c | 2 +- 146 files changed, 397 insertions(+), 107 deletions(-) diff --git a/configure.ac b/configure.ac index e431178d4..1ea34f9f0 100644 --- a/configure.ac +++ b/configure.ac @@ -1093,9 +1093,27 @@ if test "$enable_superlu" = "yes"; then fi AM_CONDITIONAL([SuperLU_WANTED], [test "$enable_superlu" = "yes"]) -#REMOVE THIS TEST IN THE FUTURE WHEN BOTH KLU AND SuperLU ARE SUPPORTED IN THE MEAN TIME -if test "$enable_klu" = "yes" && test "$enable_superlu" = "yes" ; then +# --enable-umfpack: Use UMFPACK linear systems solver +AC_ARG_ENABLE(umfpack, + AS_HELP_STRING([--enable-umfpack],[Use UMFPACK linear systems solver])) + +# Add UMFPACK solver to ngspice +if test "$enable_umfpack" = "yes"; then + AC_MSG_RESULT(Checking for ATLAS library...) + AC_CHECK_LIB(atlas, ATL_buildinfo, [], AC_MSG_ERROR([ERROR!!! You must have ATLAS installed])) + AC_CHECK_LIB(f77blas, dgemm_, [], AC_MSG_ERROR([ERROR!!! You must have ATLAS installed])) + AC_DEFINE(UMFPACK,[],[Define if we want UMFPACK linear systems solver]) + AC_MSG_RESULT(WARNING: UMFPACK solver enabled) +fi +AM_CONDITIONAL([UMFPACK_WANTED], [test "$enable_umfpack" = "yes"]) + +#REMOVE THIS TEST IN THE FUTURE WHEN KLU, SuperLU AND UMFPACK ARE SUPPORTED IN THE MEAN TIME +if (test "$enable_klu" = "yes" && test "$enable_superlu" = "yes") ; then AC_MSG_ERROR(ERROR: KLU and SuperLU can't be enabled together at the moment) +elif (test "$enable_klu" = "yes" && test "$enable_umfpack" = "yes") ; then + AC_MSG_ERROR(ERROR: KLU and UMFPACK can't be enabled together at the moment) +elif (test "$enable_superlu" = "yes" && test "$enable_umfpack" = "yes") ; then + AC_MSG_ERROR(ERROR: SuperLU and UMFPACK can't be enabled together at the moment) fi if test "$enable_pss" = "yes"; then @@ -1111,6 +1129,9 @@ AM_COND_IF([KLU_WANTED], AM_COND_IF([SuperLU_WANTED], [AC_CONFIG_FILES([src/maths/SuperLU/Makefile])]) +AM_COND_IF([UMFPACK_WANTED], + [AC_CONFIG_FILES([src/maths/UMFPACK/Makefile])]) + AC_CONFIG_FILES([Makefile man/Makefile man/man1/Makefile diff --git a/src/Makefile.am b/src/Makefile.am index bbc22b905..bba586a3c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -178,6 +178,10 @@ if SuperLU_WANTED ngspice_LDADD += maths/SuperLU/libSuperLU.la endif +if UMFPACK_WANTED +ngspice_LDADD += maths/UMFPACK/libUMFPACK.la +endif + ngspice_LDADD += \ maths/sparse/libsparse.la \ misc/libmisc.la @@ -288,6 +292,10 @@ if SuperLU_WANTED ngmultidec_LDADD += maths/SuperLU/libSuperLU.la endif +if UMFPACK_WANTED +ngmultidec_LDADD += maths/UMFPACK/libUMFPACK.la +endif + ## ngmakeidx: ngmakeidx_SOURCES = makeidx.c @@ -427,6 +435,10 @@ if SuperLU_WANTED libspice_la_LIBADD += maths/SuperLU/libSuperLU.la endif +if UMFPACK_WANTED +libspice_la_LIBADD += maths/UMFPACK/libUMFPACK.la +endif + libspice_la_LIBADD += \ maths/deriv/libderiv.la \ maths/cmaths/libcmaths.la \ diff --git a/src/include/ngspice/devdefs.h b/src/include/ngspice/devdefs.h index 3d0b8089e..3a0a7409f 100644 --- a/src/include/ngspice/devdefs.h +++ b/src/include/ngspice/devdefs.h @@ -101,7 +101,7 @@ typedef struct SPICEdev { int *DEVinstSize; /* size of an instance */ int *DEVmodSize; /* size of a model */ -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) int (*DEVbindCSC)(GENmodel*, CKTcircuit*); int (*DEVbindCSCComplex)(GENmodel*, CKTcircuit*); #endif diff --git a/src/include/ngspice/smpdefs.h b/src/include/ngspice/smpdefs.h index 59c327d43..6f9de6934 100644 --- a/src/include/ngspice/smpdefs.h +++ b/src/include/ngspice/smpdefs.h @@ -22,6 +22,8 @@ Modified: 2000 AlansFixes #include "ngspice/klu.h" #elif defined(SuperLU) #include "ngspice/slu_ddefs.h" +#elif defined(UMFPACK) +#include "ngspice/umfpack.h" #endif struct SMPmatrix { @@ -70,6 +72,25 @@ struct SMPmatrix { int CKTsuperluMODE ; #define CKTsuperluON 1 /* SuperLU MODE ON definition */ #define CKTsuperluOFF 0 /* SuperLU MODE OFF definition */ +#elif defined(UMFPACK) + int *CKTumfpackAp ; + int *CKTumfpackAi ; + double *CKTumfpackAx ; + void *CKTumfpackSymbolic ; + void *CKTumfpackNumeric ; + double *CKTumfpackControl ; + double *CKTumfpackInfo ; + double *CKTumfpackIntermediate ; + double *CKTumfpackX ; + double **CKTbind_Sparse ; + double **CKTbind_CSC ; + double **CKTbind_CSC_Complex ; + double **CKTdiag_CSC ; + int CKTumfpackN ; + int CKTumfpacknz ; + int CKTumfpackMODE ; + #define CKTumfpackON 1 /* UMFPACK MODE ON definition */ + #define CKTumfpackOFF 0 /* UMFPACK MODE OFF definition */ #endif }; @@ -78,7 +99,7 @@ struct SMPmatrix { typedef struct SMPmatrix SMPmatrix ; -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) void SMPmatrix_CSC ( SMPmatrix * ) ; void SMPnnz ( SMPmatrix * ) ; #endif diff --git a/src/maths/Makefile.am b/src/maths/Makefile.am index 81b37c29b..de3e2c90a 100644 --- a/src/maths/Makefile.am +++ b/src/maths/Makefile.am @@ -13,16 +13,23 @@ SUBDIRS += SuperLU DIST_SUBDIRS += SuperLU endif +if UMFPACK_WANTED +SUBDIRS += UMFPACK +DIST_SUBDIRS += UMFPACK +endif + MAINTAINERCLEANFILES = Makefile.in +if !UMFPACK_WANTED if !KLU_WANTED -if SuperLU_WANTED -MAINTAINERCLEANFILES += KLU/Makefile.in -else +if !SuperLU_WANTED #SPARSE_WANTED +MAINTAINERCLEANFILES += KLU/Makefile.in SuperLU/Makefile.in UMFPACK/Makefile.in +else #SuperLU_WANTED +MAINTAINERCLEANFILES += KLU/Makefile.in UMFPACK/Makefile.in +endif +else #KLU_WANTED +MAINTAINERCLEANFILES += SuperLU/Makefile.in UMFPACK/Makefile.in +endif +else #UMFPACK_WANTED MAINTAINERCLEANFILES += KLU/Makefile.in SuperLU/Makefile.in endif -else -if !SuperLU_WANTED -MAINTAINERCLEANFILES += SuperLU/Makefile.in -endif -endif diff --git a/src/maths/SuperLU/superlusmp.c b/src/maths/SuperLU/superlusmp.c index 31cceb9e1..6ca5d079d 100644 --- a/src/maths/SuperLU/superlusmp.c +++ b/src/maths/SuperLU/superlusmp.c @@ -307,7 +307,7 @@ SMPcSolve (SMPmatrix *Matrix, double RHS[], double iRHS[], double Spare[], doubl */ void -SMPsolve(SMPmatrix *Matrix, double RHS[], double Spare[]) +SMPsolve (SMPmatrix *Matrix, double RHS[], double Spare[]) {//printf("Solve\n"); int i, *pExtOrder ; @@ -344,7 +344,7 @@ SMPmatSize (SMPmatrix *Matrix) * SMPnewMatrix() */ int -SMPnewMatrix(SMPmatrix *Matrix) +SMPnewMatrix (SMPmatrix *Matrix) { int Error; Matrix->SPmatrix = spCreate (0, 1, &Error) ; diff --git a/src/maths/ni/niinit.c b/src/maths/ni/niinit.c index 45cb8035c..0c60e89ff 100644 --- a/src/maths/ni/niinit.c +++ b/src/maths/ni/niinit.c @@ -66,6 +66,25 @@ NIinit(CKTcircuit *ckt) ckt->CKTmatrix->CKTsuperluN = 0 ; ckt->CKTmatrix->CKTsuperlunz = 0 ; ckt->CKTmatrix->CKTsuperluMODE = CKTsuperluON ; /* TO BE SUBSTITUTED WITH THE HEURISTICS */ + +#elif defined(UMFPACK) + ckt->CKTmatrix->CKTumfpackAp = NULL ; + ckt->CKTmatrix->CKTumfpackAi = NULL ; + ckt->CKTmatrix->CKTumfpackAx = NULL ; + ckt->CKTmatrix->CKTumfpackSymbolic = NULL ; + ckt->CKTmatrix->CKTumfpackNumeric = NULL ; + ckt->CKTmatrix->CKTumfpackControl = NULL ; + ckt->CKTmatrix->CKTumfpackInfo = NULL ; + ckt->CKTmatrix->CKTumfpackIntermediate = NULL ; + ckt->CKTmatrix->CKTumfpackX = NULL ; + ckt->CKTmatrix->CKTbind_Sparse = NULL ; + ckt->CKTmatrix->CKTbind_CSC = NULL ; + ckt->CKTmatrix->CKTbind_CSC_Complex = NULL ; + ckt->CKTmatrix->CKTdiag_CSC = NULL ; + ckt->CKTmatrix->CKTumfpackN = 0 ; + ckt->CKTmatrix->CKTumfpacknz = 0 ; + ckt->CKTmatrix->CKTumfpackMODE = CKTumfpackON ; /* TO BE SUBSTITUTED WITH THE HEURISTICS */ + #endif ckt->CKTniState = NIUNINITIALIZED; diff --git a/src/maths/sparse/Makefile.am b/src/maths/sparse/Makefile.am index 81e7c3c42..a5e03b65c 100644 --- a/src/maths/sparse/Makefile.am +++ b/src/maths/sparse/Makefile.am @@ -20,9 +20,13 @@ else if SuperLU_WANTED libsparse_la_SOURCES += spCSC.c else +if UMFPACK_WANTED +libsparse_la_SOURCES += spCSC.c +else libsparse_la_SOURCES += spsmp.c endif endif +endif AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include diff --git a/src/spicelib/analysis/cktop.c b/src/spicelib/analysis/cktop.c index 98ba54297..9bc57a6ea 100644 --- a/src/spicelib/analysis/cktop.c +++ b/src/spicelib/analysis/cktop.c @@ -83,6 +83,33 @@ ckt->CKTmode = firstmode; if (DEVices [i] && DEVices [i]->DEVbindCSC) DEVices [i]->DEVbindCSC (ckt->CKThead [i], ckt) ; } +#elif defined(UMFPACK) + if (ckt->CKTmatrix->CKTumfpackMODE) + { + int i ; + int n = ckt->CKTmatrix->CKTumfpackN ; + int nz = ckt->CKTmatrix->CKTumfpacknz ; + ckt->CKTmatrix->CKTumfpackAp = TMALLOC (int, n + 1) ; + ckt->CKTmatrix->CKTumfpackAi = TMALLOC (int, nz) ; + ckt->CKTmatrix->CKTumfpackAx = TMALLOC (double, nz) ; + ckt->CKTmatrix->CKTumfpackControl = TMALLOC (double, UMFPACK_CONTROL) ; + ckt->CKTmatrix->CKTumfpackInfo = TMALLOC (double, UMFPACK_INFO) ; + + ckt->CKTmatrix->CKTumfpackIntermediate = TMALLOC (double, n) ; + + ckt->CKTmatrix->CKTumfpackX = TMALLOC (double, n) ; + + ckt->CKTmatrix->CKTbind_Sparse = TMALLOC (double *, nz) ; + ckt->CKTmatrix->CKTbind_CSC = TMALLOC (double *, nz) ; + + ckt->CKTmatrix->CKTdiag_CSC = TMALLOC (double *, n) ; + + SMPmatrix_CSC (ckt->CKTmatrix) ; + + for (i = 0 ; i < DEVmaxnum ; i++) + if (DEVices [i] && DEVices [i]->DEVbindCSC) + DEVices [i]->DEVbindCSC (ckt->CKThead [i], ckt) ; + } #endif if (!ckt->CKTnoOpIter){ diff --git a/src/spicelib/analysis/cktsetup.c b/src/spicelib/analysis/cktsetup.c index 95dd9c622..f1a1c09f9 100644 --- a/src/spicelib/analysis/cktsetup.c +++ b/src/spicelib/analysis/cktsetup.c @@ -84,6 +84,9 @@ CKTsetup(CKTcircuit *ckt) #elif defined(SuperLU) if (ckt->CKTmatrix->CKTsuperluMODE) SMPnnz (ckt->CKTmatrix) ; +#elif defined(UMFPACK) + if (ckt->CKTmatrix->CKTumfpackMODE) + SMPnnz (ckt->CKTmatrix) ; #endif for(i=0;i<=MAX(2,ckt->CKTmaxOrder)+1;i++) { /* dctran needs 3 states as minimum */ diff --git a/src/spicelib/devices/asrc/asrcinit.c b/src/spicelib/devices/asrc/asrcinit.c index df33f64a0..430e54716 100644 --- a/src/spicelib/devices/asrc/asrcinit.c +++ b/src/spicelib/devices/asrc/asrcinit.c @@ -74,7 +74,7 @@ SPICEdev ASRCinfo = { #endif /* DEVinstSize */ &ASRCiSize, /* DEVmodSize */ &ASRCmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ NULL, /* DEVbindCSCComplex */ NULL, #endif diff --git a/src/spicelib/devices/bjt/Makefile.am b/src/spicelib/devices/bjt/Makefile.am index cb338a242..a778542d7 100644 --- a/src/spicelib/devices/bjt/Makefile.am +++ b/src/spicelib/devices/bjt/Makefile.am @@ -43,6 +43,10 @@ if SuperLU_WANTED libbjt_la_SOURCES += bjtbindCSC.c endif +if UMFPACK_WANTED +libbjt_la_SOURCES += bjtbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bjt/bjtext.h b/src/spicelib/devices/bjt/bjtext.h index 4c20fea7c..e4755154f 100644 --- a/src/spicelib/devices/bjt/bjtext.h +++ b/src/spicelib/devices/bjt/bjtext.h @@ -34,7 +34,7 @@ extern int BJTdSetup(GENmodel*, register CKTcircuit*); #endif -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int BJTbindCSC(GENmodel*, CKTcircuit*); extern int BJTbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bjt/bjtinit.c b/src/spicelib/devices/bjt/bjtinit.c index ee6ee678e..e6d8c5e13 100644 --- a/src/spicelib/devices/bjt/bjtinit.c +++ b/src/spicelib/devices/bjt/bjtinit.c @@ -73,7 +73,7 @@ SPICEdev BJTinfo = { /* description from struct IFdevice */ #endif /* DEVinstSize */ &BJTiSize, /* DEVmodSize */ &BJTmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ BJTbindCSC, /* DEVbindCSCComplex */ BJTbindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim1/Makefile.am b/src/spicelib/devices/bsim1/Makefile.am index f8e3cf75d..d544e4b67 100644 --- a/src/spicelib/devices/bsim1/Makefile.am +++ b/src/spicelib/devices/bsim1/Makefile.am @@ -39,6 +39,10 @@ if SuperLU_WANTED libbsim1_la_SOURCES += b1bindCSC.c endif +if UMFPACK_WANTED +libbsim1_la_SOURCES += b1bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim1/bsim1ext.h b/src/spicelib/devices/bsim1/bsim1ext.h index 1e056d442..af26125df 100644 --- a/src/spicelib/devices/bsim1/bsim1ext.h +++ b/src/spicelib/devices/bsim1/bsim1ext.h @@ -30,7 +30,7 @@ extern int B1trunc(GENmodel*,CKTcircuit*,double*); extern int B1disto(int,GENmodel*,CKTcircuit*); extern int B1dSetup(GENmodel*, register CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int B1bindCSC(GENmodel*, CKTcircuit*); extern int B1bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim1/bsim1init.c b/src/spicelib/devices/bsim1/bsim1init.c index 7ad4e5682..4e65c8f77 100644 --- a/src/spicelib/devices/bsim1/bsim1init.c +++ b/src/spicelib/devices/bsim1/bsim1init.c @@ -73,7 +73,7 @@ SPICEdev B1info = { #endif /* DEVinstSize */ &B1iSize, /* DEVmodSize */ &B1mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ B1bindCSC, /* DEVbindCSCComplex */ B1bindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim2/Makefile.am b/src/spicelib/devices/bsim2/Makefile.am index a86e3ceb3..13d50b7b0 100644 --- a/src/spicelib/devices/bsim2/Makefile.am +++ b/src/spicelib/devices/bsim2/Makefile.am @@ -37,6 +37,10 @@ if SuperLU_WANTED libbsim2_la_SOURCES += b2bindCSC.c endif +if UMFPACK_WANTED +libbsim2_la_SOURCES += b2bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim2/bsim2ext.h b/src/spicelib/devices/bsim2/bsim2ext.h index 31b3a8a28..94fe03b45 100644 --- a/src/spicelib/devices/bsim2/bsim2ext.h +++ b/src/spicelib/devices/bsim2/bsim2ext.h @@ -26,7 +26,7 @@ extern int B2unsetup(GENmodel*,CKTcircuit*); extern int B2temp(GENmodel*,CKTcircuit*); extern int B2trunc(GENmodel*,CKTcircuit*,double*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int B2bindCSC(GENmodel*, CKTcircuit*); extern int B2bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim2/bsim2init.c b/src/spicelib/devices/bsim2/bsim2init.c index cbe19a373..55b23232f 100644 --- a/src/spicelib/devices/bsim2/bsim2init.c +++ b/src/spicelib/devices/bsim2/bsim2init.c @@ -73,7 +73,7 @@ SPICEdev B2info = { #endif /* DEVinstSize */ &B2iSize, /* DEVmodSize */ &B2mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ B2bindCSC, /* DEVbindCSCComplex */ B2bindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim3/Makefile.am b/src/spicelib/devices/bsim3/Makefile.am index 3342ef859..b3c02d946 100644 --- a/src/spicelib/devices/bsim3/Makefile.am +++ b/src/spicelib/devices/bsim3/Makefile.am @@ -36,6 +36,10 @@ if SuperLU_WANTED libbsim3_la_SOURCES += b3bindCSC.c endif +if UMFPACK_WANTED +libbsim3_la_SOURCES += b3bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim3/bsim3ext.h b/src/spicelib/devices/bsim3/bsim3ext.h index 35a3a901b..18048f9a7 100644 --- a/src/spicelib/devices/bsim3/bsim3ext.h +++ b/src/spicelib/devices/bsim3/bsim3ext.h @@ -29,7 +29,7 @@ extern int BSIM3trunc(GENmodel*,CKTcircuit*,double*); extern int BSIM3noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int BSIM3unsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int BSIM3bindCSC(GENmodel*, CKTcircuit*); extern int BSIM3bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim3/bsim3init.c b/src/spicelib/devices/bsim3/bsim3init.c index a9a1206b4..10018ea78 100644 --- a/src/spicelib/devices/bsim3/bsim3init.c +++ b/src/spicelib/devices/bsim3/bsim3init.c @@ -72,7 +72,7 @@ SPICEdev BSIM3info = { #endif /* DEVinstSize */ &BSIM3iSize, /* DEVmodSize */ &BSIM3mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ BSIM3bindCSC, /* DEVbindCSCComplex */ BSIM3bindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim3soi_dd/Makefile.am b/src/spicelib/devices/bsim3soi_dd/Makefile.am index 48d65a3b2..1c9a830d9 100644 --- a/src/spicelib/devices/bsim3soi_dd/Makefile.am +++ b/src/spicelib/devices/bsim3soi_dd/Makefile.am @@ -36,6 +36,10 @@ if SuperLU_WANTED libbsim3soidd_la_SOURCES += b3soiddbindCSC.c endif +if UMFPACK_WANTED +libbsim3soidd_la_SOURCES += b3soiddbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim3soi_dd/b3soiddext.h b/src/spicelib/devices/bsim3soi_dd/b3soiddext.h index 6089eaea1..c44ef830f 100644 --- a/src/spicelib/devices/bsim3soi_dd/b3soiddext.h +++ b/src/spicelib/devices/bsim3soi_dd/b3soiddext.h @@ -29,7 +29,7 @@ extern int B3SOIDDtrunc(GENmodel*,CKTcircuit*,double*); extern int B3SOIDDnoise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int B3SOIDDunsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int B3SOIDDbindCSC(GENmodel*, CKTcircuit*); extern int B3SOIDDbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim3soi_dd/b3soiddinit.c b/src/spicelib/devices/bsim3soi_dd/b3soiddinit.c index 8000021ef..c9896a5b3 100644 --- a/src/spicelib/devices/bsim3soi_dd/b3soiddinit.c +++ b/src/spicelib/devices/bsim3soi_dd/b3soiddinit.c @@ -70,7 +70,7 @@ SPICEdev B3SOIDDinfo = { #endif /* DEVinstSize */ &B3SOIDDiSize, /* DEVmodSize */ &B3SOIDDmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ B3SOIDDbindCSC, /* DEVbindCSCComplex */ B3SOIDDbindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim3soi_fd/Makefile.am b/src/spicelib/devices/bsim3soi_fd/Makefile.am index 36580e21f..c3e94a1d3 100644 --- a/src/spicelib/devices/bsim3soi_fd/Makefile.am +++ b/src/spicelib/devices/bsim3soi_fd/Makefile.am @@ -36,6 +36,10 @@ if SuperLU_WANTED libbsim3soifd_la_SOURCES += b3soifdbindCSC.c endif +if UMFPACK_WANTED +libbsim3soifd_la_SOURCES += b3soifdbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim3soi_fd/b3soifdext.h b/src/spicelib/devices/bsim3soi_fd/b3soifdext.h index bdeb9d40f..29186ed9d 100644 --- a/src/spicelib/devices/bsim3soi_fd/b3soifdext.h +++ b/src/spicelib/devices/bsim3soi_fd/b3soifdext.h @@ -30,7 +30,7 @@ extern int B3SOIFDnoise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int B3SOIFDunsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int B3SOIFDbindCSC(GENmodel*, CKTcircuit*); extern int B3SOIFDbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim3soi_fd/b3soifdinit.c b/src/spicelib/devices/bsim3soi_fd/b3soifdinit.c index 01267aaeb..21c69a62a 100644 --- a/src/spicelib/devices/bsim3soi_fd/b3soifdinit.c +++ b/src/spicelib/devices/bsim3soi_fd/b3soifdinit.c @@ -71,7 +71,7 @@ SPICEdev B3SOIFDinfo = { #endif /* DEVinstSize*/ &B3SOIFDiSize, /* DEVmodSize*/ &B3SOIFDmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ B3SOIFDbindCSC, /* DEVbindCSCComplex */ B3SOIFDbindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim3soi_pd/Makefile.am b/src/spicelib/devices/bsim3soi_pd/Makefile.am index abf8b3ac8..dbcd2869c 100644 --- a/src/spicelib/devices/bsim3soi_pd/Makefile.am +++ b/src/spicelib/devices/bsim3soi_pd/Makefile.am @@ -36,6 +36,10 @@ if SuperLU_WANTED libbsim3soipd_la_SOURCES += b3soipdbindCSC.c endif +if UMFPACK_WANTED +libbsim3soipd_la_SOURCES += b3soipdbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim3soi_pd/b3soipdext.h b/src/spicelib/devices/bsim3soi_pd/b3soipdext.h index 4294f7fa6..a82e95833 100644 --- a/src/spicelib/devices/bsim3soi_pd/b3soipdext.h +++ b/src/spicelib/devices/bsim3soi_pd/b3soipdext.h @@ -29,7 +29,7 @@ extern int B3SOIPDtrunc(GENmodel*,CKTcircuit*,double*); extern int B3SOIPDnoise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int B3SOIPDunsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int B3SOIPDbindCSC(GENmodel*, CKTcircuit*); extern int B3SOIPDbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim3soi_pd/b3soipdinit.c b/src/spicelib/devices/bsim3soi_pd/b3soipdinit.c index 893f4bbab..40570ab07 100644 --- a/src/spicelib/devices/bsim3soi_pd/b3soipdinit.c +++ b/src/spicelib/devices/bsim3soi_pd/b3soipdinit.c @@ -72,7 +72,7 @@ SPICEdev B3SOIPDinfo = { #endif /* DEVinstSize*/ &B3SOIPDiSize, /* DEVmodSize*/ &B3SOIPDmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ B3SOIPDbindCSC, /* DEVbindCSCComplex */ B3SOIPDbindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim3v0/Makefile.am b/src/spicelib/devices/bsim3v0/Makefile.am index 938947554..5a953f630 100644 --- a/src/spicelib/devices/bsim3v0/Makefile.am +++ b/src/spicelib/devices/bsim3v0/Makefile.am @@ -35,6 +35,10 @@ if SuperLU_WANTED libbsim3v0_la_SOURCES += b3v0bindCSC.c endif +if UMFPACK_WANTED +libbsim3v0_la_SOURCES += b3v0bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim3v0/bsim3v0ext.h b/src/spicelib/devices/bsim3v0/bsim3v0ext.h index d6588a811..ecb512bab 100644 --- a/src/spicelib/devices/bsim3v0/bsim3v0ext.h +++ b/src/spicelib/devices/bsim3v0/bsim3v0ext.h @@ -29,7 +29,7 @@ extern int BSIM3v0noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int BSIM3v0unsetup(GENmodel *, CKTcircuit *); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int BSIM3v0bindCSC(GENmodel*, CKTcircuit*); extern int BSIM3v0bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim3v0/bsim3v0init.c b/src/spicelib/devices/bsim3v0/bsim3v0init.c index ac5eb4906..e35b69371 100644 --- a/src/spicelib/devices/bsim3v0/bsim3v0init.c +++ b/src/spicelib/devices/bsim3v0/bsim3v0init.c @@ -71,7 +71,7 @@ SPICEdev B3v0info = { #endif /* DEVinstSize */ &BSIM3v0iSize, /* DEVmodSize */ &BSIM3v0mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ BSIM3v0bindCSC, /* DEVbindCSCComplex */ BSIM3v0bindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim3v1/Makefile.am b/src/spicelib/devices/bsim3v1/Makefile.am index 7c77ccad5..ff7ae9f81 100644 --- a/src/spicelib/devices/bsim3v1/Makefile.am +++ b/src/spicelib/devices/bsim3v1/Makefile.am @@ -36,6 +36,10 @@ if SuperLU_WANTED libbsim3v1_la_SOURCES += b3v1bindCSC.c endif +if UMFPACK_WANTED +libbsim3v1_la_SOURCES += b3v1bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim3v1/bsim3v1ext.h b/src/spicelib/devices/bsim3v1/bsim3v1ext.h index c8ac66621..e7fe707fc 100644 --- a/src/spicelib/devices/bsim3v1/bsim3v1ext.h +++ b/src/spicelib/devices/bsim3v1/bsim3v1ext.h @@ -30,7 +30,7 @@ extern int BSIM3v1noise(int, int, GENmodel *, CKTcircuit *, Ndata *, double *); extern int BSIM3v1unsetup(GENmodel *, CKTcircuit *); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int BSIM3v1bindCSC(GENmodel*, CKTcircuit*); extern int BSIM3v1bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim3v1/bsim3v1init.c b/src/spicelib/devices/bsim3v1/bsim3v1init.c index 6d5aa9ab4..8b8e67312 100644 --- a/src/spicelib/devices/bsim3v1/bsim3v1init.c +++ b/src/spicelib/devices/bsim3v1/bsim3v1init.c @@ -71,7 +71,7 @@ SPICEdev BSIM3v1info = { #endif /* DEVinstSize */ &BSIM3v1iSize, /* DEVmodSize */ &BSIM3v1mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ BSIM3v1bindCSC, /* DEVbindCSCComplex */ BSIM3v1bindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim3v32/Makefile.am b/src/spicelib/devices/bsim3v32/Makefile.am index 15b36a7e0..0bc8be73f 100644 --- a/src/spicelib/devices/bsim3v32/Makefile.am +++ b/src/spicelib/devices/bsim3v32/Makefile.am @@ -36,6 +36,10 @@ if SuperLU_WANTED libbsim3v32_la_SOURCES += b3v32bindCSC.c endif +if UMFPACK_WANTED +libbsim3v32_la_SOURCES += b3v32bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim3v32/bsim3v32ext.h b/src/spicelib/devices/bsim3v32/bsim3v32ext.h index 7556020ab..c8cb1e31c 100644 --- a/src/spicelib/devices/bsim3v32/bsim3v32ext.h +++ b/src/spicelib/devices/bsim3v32/bsim3v32ext.h @@ -30,7 +30,7 @@ extern int BSIM3v32trunc(GENmodel*,CKTcircuit*,double*); extern int BSIM3v32noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int BSIM3v32unsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int BSIM3v32bindCSC(GENmodel*, CKTcircuit*); extern int BSIM3v32bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim3v32/bsim3v32init.c b/src/spicelib/devices/bsim3v32/bsim3v32init.c index 3ed236352..c453695b4 100644 --- a/src/spicelib/devices/bsim3v32/bsim3v32init.c +++ b/src/spicelib/devices/bsim3v32/bsim3v32init.c @@ -72,7 +72,7 @@ SPICEdev BSIM3v32info = { #endif /* DEVinstSize */ &BSIM3v32iSize, /* DEVmodSize */ &BSIM3v32mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ BSIM3v32bindCSC, /* DEVbindCSCComplex */ BSIM3v32bindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim4/Makefile.am b/src/spicelib/devices/bsim4/Makefile.am index d279e4c43..7a8421f5e 100644 --- a/src/spicelib/devices/bsim4/Makefile.am +++ b/src/spicelib/devices/bsim4/Makefile.am @@ -37,6 +37,10 @@ if SuperLU_WANTED libbsim4_la_SOURCES += b4bindCSC.c endif +if UMFPACK_WANTED +libbsim4_la_SOURCES += b4bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim4/bsim4ext.h b/src/spicelib/devices/bsim4/bsim4ext.h index 5c5470485..443b1ed6b 100644 --- a/src/spicelib/devices/bsim4/bsim4ext.h +++ b/src/spicelib/devices/bsim4/bsim4ext.h @@ -29,7 +29,7 @@ extern int BSIM4trunc(GENmodel*,CKTcircuit*,double*); extern int BSIM4noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int BSIM4unsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int BSIM4bindCSC(GENmodel*, CKTcircuit*); extern int BSIM4bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim4/bsim4init.c b/src/spicelib/devices/bsim4/bsim4init.c index 69a7133db..5a1177317 100644 --- a/src/spicelib/devices/bsim4/bsim4init.c +++ b/src/spicelib/devices/bsim4/bsim4init.c @@ -73,7 +73,7 @@ SPICEdev BSIM4info = { #endif &BSIM4iSize, /* DEVinstSize */ &BSIM4mSize, /* DEVmodSize */ -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ BSIM4bindCSC, /* DEVbindCSCComplex */ BSIM4bindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim4v4/Makefile.am b/src/spicelib/devices/bsim4v4/Makefile.am index 9e75f81d4..45348b25c 100644 --- a/src/spicelib/devices/bsim4v4/Makefile.am +++ b/src/spicelib/devices/bsim4v4/Makefile.am @@ -37,6 +37,10 @@ if SuperLU_WANTED libbsim4v4_la_SOURCES += b4v4bindCSC.c endif +if UMFPACK_WANTED +libbsim4v4_la_SOURCES += b4v4bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim4v4/bsim4v4ext.h b/src/spicelib/devices/bsim4v4/bsim4v4ext.h index 22d8ad741..d63f207dd 100644 --- a/src/spicelib/devices/bsim4v4/bsim4v4ext.h +++ b/src/spicelib/devices/bsim4v4/bsim4v4ext.h @@ -32,7 +32,7 @@ extern int BSIM4v4unsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int BSIM4v4bindCSC(GENmodel*, CKTcircuit*); extern int BSIM4v4bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim4v4/bsim4v4init.c b/src/spicelib/devices/bsim4v4/bsim4v4init.c index 36fbe2f24..f1321ef33 100644 --- a/src/spicelib/devices/bsim4v4/bsim4v4init.c +++ b/src/spicelib/devices/bsim4v4/bsim4v4init.c @@ -73,7 +73,7 @@ SPICEdev BSIM4v4info = { #endif &BSIM4v4iSize, /* DEVinstSize */ &BSIM4v4mSize, /* DEVmodSize */ -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ BSIM4v4bindCSC, /* DEVbindCSCComplex */ BSIM4v4bindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim4v5/Makefile.am b/src/spicelib/devices/bsim4v5/Makefile.am index 7a01dadb6..87cc8be1d 100644 --- a/src/spicelib/devices/bsim4v5/Makefile.am +++ b/src/spicelib/devices/bsim4v5/Makefile.am @@ -37,6 +37,10 @@ if SuperLU_WANTED libbsim4v5_la_SOURCES += b4v5bindCSC.c endif +if UMFPACK_WANTED +libbsim4v5_la_SOURCES += b4v5bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim4v5/bsim4v5ext.h b/src/spicelib/devices/bsim4v5/bsim4v5ext.h index e78d5877a..d21f8ff6c 100644 --- a/src/spicelib/devices/bsim4v5/bsim4v5ext.h +++ b/src/spicelib/devices/bsim4v5/bsim4v5ext.h @@ -29,7 +29,7 @@ extern int BSIM4v5trunc(GENmodel*,CKTcircuit*,double*); extern int BSIM4v5noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int BSIM4v5unsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int BSIM4v5bindCSC(GENmodel*, CKTcircuit*); extern int BSIM4v5bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim4v5/bsim4v5init.c b/src/spicelib/devices/bsim4v5/bsim4v5init.c index ff8f506c8..5947299a4 100644 --- a/src/spicelib/devices/bsim4v5/bsim4v5init.c +++ b/src/spicelib/devices/bsim4v5/bsim4v5init.c @@ -73,7 +73,7 @@ SPICEdev BSIM4v5info = { #endif &BSIM4v5iSize, /* DEVinstSize */ &BSIM4v5mSize, /* DEVmodSize */ -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ BSIM4v5bindCSC, /* DEVbindCSCComplex */ BSIM4v5bindCSCComplex, #endif diff --git a/src/spicelib/devices/bsim4v6/Makefile.am b/src/spicelib/devices/bsim4v6/Makefile.am index eb9be0fc0..fe53eee52 100644 --- a/src/spicelib/devices/bsim4v6/Makefile.am +++ b/src/spicelib/devices/bsim4v6/Makefile.am @@ -36,6 +36,10 @@ if SuperLU_WANTED libbsim4v6_la_SOURCES += b4v6bindCSC.c endif +if UMFPACK_WANTED +libbsim4v6_la_SOURCES += b4v6bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsim4v6/bsim4v6ext.h b/src/spicelib/devices/bsim4v6/bsim4v6ext.h index a99767ab4..fe3e5e7a2 100644 --- a/src/spicelib/devices/bsim4v6/bsim4v6ext.h +++ b/src/spicelib/devices/bsim4v6/bsim4v6ext.h @@ -29,7 +29,7 @@ extern int BSIM4v6trunc(GENmodel*,CKTcircuit*,double*); extern int BSIM4v6noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int BSIM4v6unsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int BSIM4v6bindCSC(GENmodel*, CKTcircuit*); extern int BSIM4v6bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsim4v6/bsim4v6init.c b/src/spicelib/devices/bsim4v6/bsim4v6init.c index 211114e1b..910b6894a 100644 --- a/src/spicelib/devices/bsim4v6/bsim4v6init.c +++ b/src/spicelib/devices/bsim4v6/bsim4v6init.c @@ -73,7 +73,7 @@ SPICEdev BSIM4v6info = { #endif &BSIM4v6iSize, /* DEVinstSize */ &BSIM4v6mSize, /* DEVmodSize */ -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) BSIM4v6bindCSC, /* DEVbindklu */ BSIM4v6bindCSCComplex, /* DEVbindkluComplex */ #endif diff --git a/src/spicelib/devices/bsimsoi/Makefile.am b/src/spicelib/devices/bsimsoi/Makefile.am index df71097bc..6c57b7bdc 100644 --- a/src/spicelib/devices/bsimsoi/Makefile.am +++ b/src/spicelib/devices/bsimsoi/Makefile.am @@ -36,6 +36,10 @@ if SuperLU_WANTED libbsim4soi_la_SOURCES += b4soibindCSC.c endif +if UMFPACK_WANTED +libbsim4soi_la_SOURCES += b4soibindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/bsimsoi/b4soiext.h b/src/spicelib/devices/bsimsoi/b4soiext.h index 71c748355..cd2e3e052 100644 --- a/src/spicelib/devices/bsimsoi/b4soiext.h +++ b/src/spicelib/devices/bsimsoi/b4soiext.h @@ -31,7 +31,7 @@ extern int B4SOItrunc(GENmodel*,CKTcircuit*,double*); extern int B4SOInoise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int B4SOIunsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int B4SOIbindCSC(GENmodel*, CKTcircuit*); extern int B4SOIbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/bsimsoi/b4soiinit.c b/src/spicelib/devices/bsimsoi/b4soiinit.c index c8d7621ce..959d04fb2 100644 --- a/src/spicelib/devices/bsimsoi/b4soiinit.c +++ b/src/spicelib/devices/bsimsoi/b4soiinit.c @@ -71,7 +71,7 @@ SPICEdev B4SOIinfo = { #endif /* DEVinstSize */ &B4SOIiSize, /* DEVmodSize */ &B4SOImSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ B4SOIbindCSC, /* DEVbindCSCComplex */ B4SOIbindCSCComplex, #endif diff --git a/src/spicelib/devices/cap/Makefile.am b/src/spicelib/devices/cap/Makefile.am index 27f63647f..b84dc02b8 100644 --- a/src/spicelib/devices/cap/Makefile.am +++ b/src/spicelib/devices/cap/Makefile.am @@ -37,6 +37,10 @@ if SuperLU_WANTED libcap_la_SOURCES += capbindCSC.c endif +if UMFPACK_WANTED +libcap_la_SOURCES += capbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/cap/capext.h b/src/spicelib/devices/cap/capext.h index 852087272..3b0e6d76b 100644 --- a/src/spicelib/devices/cap/capext.h +++ b/src/spicelib/devices/cap/capext.h @@ -23,7 +23,7 @@ extern int CAPsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int CAPtemp(GENmodel*,CKTcircuit*); extern int CAPtrunc(GENmodel*,CKTcircuit*,double*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int CAPbindCSC(GENmodel*, CKTcircuit*); extern int CAPbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/cap/capinit.c b/src/spicelib/devices/cap/capinit.c index cea919a11..65f233ce7 100644 --- a/src/spicelib/devices/cap/capinit.c +++ b/src/spicelib/devices/cap/capinit.c @@ -72,7 +72,7 @@ SPICEdev CAPinfo = { #endif /* DEVinstSize */ &CAPiSize, /* DEVmodSize */ &CAPmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindklu */ CAPbindCSC, /* DEVbindkluComplex */ CAPbindCSCComplex, #endif diff --git a/src/spicelib/devices/cccs/Makefile.am b/src/spicelib/devices/cccs/Makefile.am index e12b34766..19e270d36 100644 --- a/src/spicelib/devices/cccs/Makefile.am +++ b/src/spicelib/devices/cccs/Makefile.am @@ -31,6 +31,10 @@ if SuperLU_WANTED libcccs_la_SOURCES += cccsbindCSC.c endif +if UMFPACK_WANTED +libcccs_la_SOURCES += cccsbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) MAINTAINERCLEANFILES = Makefile.in diff --git a/src/spicelib/devices/cccs/cccsext.h b/src/spicelib/devices/cccs/cccsext.h index 4212ecc9d..9ed0396a6 100644 --- a/src/spicelib/devices/cccs/cccsext.h +++ b/src/spicelib/devices/cccs/cccsext.h @@ -18,7 +18,7 @@ extern int CCCSsSetup(SENstruct*,GENmodel*); extern int CCCSsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int CCCSbindCSC(GENmodel*, CKTcircuit*); extern int CCCSbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/cccs/cccsinit.c b/src/spicelib/devices/cccs/cccsinit.c index 7a9eb7d65..e3af75017 100644 --- a/src/spicelib/devices/cccs/cccsinit.c +++ b/src/spicelib/devices/cccs/cccsinit.c @@ -72,7 +72,7 @@ SPICEdev CCCSinfo = { #endif /* DEVinstSize */ &CCCSiSize, /* DEVmodSize */ &CCCSmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ CCCSbindCSC, /* DEVbindCSCComplex */ CCCSbindCSCComplex, #endif diff --git a/src/spicelib/devices/ccvs/Makefile.am b/src/spicelib/devices/ccvs/Makefile.am index bf3f7b6c9..a60f9db7b 100644 --- a/src/spicelib/devices/ccvs/Makefile.am +++ b/src/spicelib/devices/ccvs/Makefile.am @@ -32,6 +32,10 @@ if SuperLU_WANTED libccvs_la_SOURCES += ccvsbindCSC.c endif +if UMFPACK_WANTED +libccvs_la_SOURCES += ccvsbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/ccvs/ccvsext.h b/src/spicelib/devices/ccvs/ccvsext.h index fcc0a9070..1c95de781 100644 --- a/src/spicelib/devices/ccvs/ccvsext.h +++ b/src/spicelib/devices/ccvs/ccvsext.h @@ -18,7 +18,7 @@ extern int CCVSsSetup(SENstruct*,GENmodel*); extern int CCVSsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int CCVSunsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int CCVSbindCSC(GENmodel*, CKTcircuit*); extern int CCVSbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/ccvs/ccvsinit.c b/src/spicelib/devices/ccvs/ccvsinit.c index 30b0affb5..e1114b01b 100644 --- a/src/spicelib/devices/ccvs/ccvsinit.c +++ b/src/spicelib/devices/ccvs/ccvsinit.c @@ -73,7 +73,7 @@ SPICEdev CCVSinfo = { #endif /* DEVinstSize */ &CCVSiSize, /* DEVmodSize */ &CCVSmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ CCVSbindCSC, /* DEVbindCSCComplex */ CCVSbindCSCComplex, #endif diff --git a/src/spicelib/devices/cpl/cplinit.c b/src/spicelib/devices/cpl/cplinit.c index 85155af73..4f4c0897d 100644 --- a/src/spicelib/devices/cpl/cplinit.c +++ b/src/spicelib/devices/cpl/cplinit.c @@ -73,7 +73,7 @@ SPICEdev CPLinfo = { #endif /* DEVinstSize */ &CPLiSize, /* DEVmodSize */ &CPLmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ NULL, /* DEVbindCSCComplex */ NULL, #endif diff --git a/src/spicelib/devices/csw/Makefile.am b/src/spicelib/devices/csw/Makefile.am index ef5526aab..16cd4f7e3 100644 --- a/src/spicelib/devices/csw/Makefile.am +++ b/src/spicelib/devices/csw/Makefile.am @@ -32,6 +32,10 @@ if SuperLU_WANTED libcsw_la_SOURCES += cswbindCSC.c endif +if UMFPACK_WANTED +libcsw_la_SOURCES += cswbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) MAINTAINERCLEANFILES = Makefile.in diff --git a/src/spicelib/devices/csw/cswext.h b/src/spicelib/devices/csw/cswext.h index 131f639c4..fe69218c9 100644 --- a/src/spicelib/devices/csw/cswext.h +++ b/src/spicelib/devices/csw/cswext.h @@ -18,7 +18,7 @@ extern int CSWsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int CSWnoise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int CSWtrunc(GENmodel*,CKTcircuit*,double*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int CSWbindCSC(GENmodel*, CKTcircuit*); extern int CSWbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/csw/cswinit.c b/src/spicelib/devices/csw/cswinit.c index d4216e9ce..8418da8a2 100644 --- a/src/spicelib/devices/csw/cswinit.c +++ b/src/spicelib/devices/csw/cswinit.c @@ -75,7 +75,7 @@ SPICEdev CSWinfo = { #endif /* DEVinstSize */ &CSWiSize, /* DEVmodSize */ &CSWmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ CSWbindCSC, /* DEVbindCSCComplex */ CSWbindCSCComplex, #endif diff --git a/src/spicelib/devices/dio/Makefile.am b/src/spicelib/devices/dio/Makefile.am index c63a73202..e5c6bc32f 100644 --- a/src/spicelib/devices/dio/Makefile.am +++ b/src/spicelib/devices/dio/Makefile.am @@ -42,6 +42,10 @@ if SuperLU_WANTED libdio_la_SOURCES += diobindCSC.c endif +if UMFPACK_WANTED +libdio_la_SOURCES += diobindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/dio/dioext.h b/src/spicelib/devices/dio/dioext.h index a96f8ab1c..f6ff4baf9 100644 --- a/src/spicelib/devices/dio/dioext.h +++ b/src/spicelib/devices/dio/dioext.h @@ -29,7 +29,7 @@ extern int DIOdisto(int,GENmodel*,CKTcircuit*); extern int DIOnoise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int DIOdSetup(DIOmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int DIObindCSC(GENmodel*, CKTcircuit*); extern int DIObindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/dio/dioinit.c b/src/spicelib/devices/dio/dioinit.c index e215b3183..22e4a5f93 100644 --- a/src/spicelib/devices/dio/dioinit.c +++ b/src/spicelib/devices/dio/dioinit.c @@ -74,7 +74,7 @@ SPICEdev DIOinfo = { #endif /* DEVinstSize */ &DIOiSize, /* DEVmodSize */ &DIOmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ DIObindCSC, /* DEVbindCSCComplex */ DIObindCSCComplex, #endif diff --git a/src/spicelib/devices/hfet1/Makefile.am b/src/spicelib/devices/hfet1/Makefile.am index 9bb207924..d8ec0b15f 100644 --- a/src/spicelib/devices/hfet1/Makefile.am +++ b/src/spicelib/devices/hfet1/Makefile.am @@ -33,6 +33,10 @@ if SuperLU_WANTED libhfet_la_SOURCES += hfetbindCSC.c endif +if UMFPACK_WANTED +libhfet_la_SOURCES += hfetbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/hfet1/hfetext.h b/src/spicelib/devices/hfet1/hfetext.h index b93f8906f..653227948 100644 --- a/src/spicelib/devices/hfet1/hfetext.h +++ b/src/spicelib/devices/hfet1/hfetext.h @@ -19,7 +19,7 @@ extern int HFETAtemp(GENmodel*,CKTcircuit*); extern int HFETAtrunc(GENmodel*,CKTcircuit*,double*); extern int HFETAunsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int HFETAbindCSC(GENmodel*, CKTcircuit*); extern int HFETAbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/hfet1/hfetinit.c b/src/spicelib/devices/hfet1/hfetinit.c index b6ef13450..ec9b381cb 100644 --- a/src/spicelib/devices/hfet1/hfetinit.c +++ b/src/spicelib/devices/hfet1/hfetinit.c @@ -73,7 +73,7 @@ SPICEdev HFETAinfo = { #endif /* DEVinstSize */ &HFETAiSize, /* DEVmodSize */ &HFETAmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ HFETAbindCSC, /* DEVbindCSCComplex */ HFETAbindCSC, #endif diff --git a/src/spicelib/devices/hfet2/Makefile.am b/src/spicelib/devices/hfet2/Makefile.am index 8d0b5ba36..32910a47f 100644 --- a/src/spicelib/devices/hfet2/Makefile.am +++ b/src/spicelib/devices/hfet2/Makefile.am @@ -33,6 +33,10 @@ if SuperLU_WANTED libhfet2_la_SOURCES += hfet2bindCSC.c endif +if UMFPACK_WANTED +libhfet2_la_SOURCES += hfet2bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/hfet2/hfet2ext.h b/src/spicelib/devices/hfet2/hfet2ext.h index 192429b38..51b83107f 100644 --- a/src/spicelib/devices/hfet2/hfet2ext.h +++ b/src/spicelib/devices/hfet2/hfet2ext.h @@ -19,7 +19,7 @@ extern int HFET2temp(GENmodel*,CKTcircuit*); extern int HFET2trunc(GENmodel*,CKTcircuit*,double*); extern int HFET2unsetup( GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int HFET2bindCSC(GENmodel*, CKTcircuit*); extern int HFET2bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/hfet2/hfet2init.c b/src/spicelib/devices/hfet2/hfet2init.c index f53231c78..725ddbcd0 100644 --- a/src/spicelib/devices/hfet2/hfet2init.c +++ b/src/spicelib/devices/hfet2/hfet2init.c @@ -73,7 +73,7 @@ SPICEdev HFET2info = { #endif /* DEVinstSize */ &HFET2iSize, /* DEVmodSize */ &HFET2mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ HFET2bindCSC, /* DEVbindCSCComplex */ HFET2bindCSCComplex, #endif diff --git a/src/spicelib/devices/hisim2/Makefile.am b/src/spicelib/devices/hisim2/Makefile.am index d766c0db4..85bb5c429 100644 --- a/src/spicelib/devices/hisim2/Makefile.am +++ b/src/spicelib/devices/hisim2/Makefile.am @@ -39,6 +39,10 @@ if SuperLU_WANTED libhisim2_la_SOURCES += hsm2bindCSC.c endif +if UMFPACK_WANTED +libhisim2_la_SOURCES += hsm2bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/hisim2/hsm2ext.h b/src/spicelib/devices/hisim2/hsm2ext.h index d86b666d4..8b0540566 100644 --- a/src/spicelib/devices/hisim2/hsm2ext.h +++ b/src/spicelib/devices/hisim2/hsm2ext.h @@ -38,7 +38,7 @@ extern int HSM2temp(GENmodel*,CKTcircuit*); extern int HSM2trunc(GENmodel*,CKTcircuit*,double*); extern int HSM2noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int HSM2bindCSC(GENmodel*, CKTcircuit*); extern int HSM2bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/hisim2/hsm2init.c b/src/spicelib/devices/hisim2/hsm2init.c index 2b6520322..e34c05267 100644 --- a/src/spicelib/devices/hisim2/hsm2init.c +++ b/src/spicelib/devices/hisim2/hsm2init.c @@ -71,7 +71,7 @@ SPICEdev HSM2info = { #endif /* DEVinstSize */ &HSM2iSize, /* DEVmodSize */ &HSM2mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ HSM2bindCSC, /* DEVbindCSCComplex */ HSM2bindCSCComplex, #endif diff --git a/src/spicelib/devices/hisimhv1/Makefile.am b/src/spicelib/devices/hisimhv1/Makefile.am index f4b3421c5..6a5dfe079 100644 --- a/src/spicelib/devices/hisimhv1/Makefile.am +++ b/src/spicelib/devices/hisimhv1/Makefile.am @@ -40,6 +40,10 @@ if SuperLU_WANTED libhisimhv1_la_SOURCES += hsmhvbindCSC.c endif +if UMFPACK_WANTED +libhisimhv1_la_SOURCES += hsmhvbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/hisimhv1/hsmhvext.h b/src/spicelib/devices/hisimhv1/hsmhvext.h index 148dbb294..69d4ff561 100644 --- a/src/spicelib/devices/hisimhv1/hsmhvext.h +++ b/src/spicelib/devices/hisimhv1/hsmhvext.h @@ -38,7 +38,7 @@ extern int HSMHVtemp(GENmodel*,CKTcircuit*); extern int HSMHVtrunc(GENmodel*,CKTcircuit*,double*); extern int HSMHVnoise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int HSMHVbindCSC(GENmodel*, CKTcircuit*); extern int HSMHVbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/hisimhv1/hsmhvinit.c b/src/spicelib/devices/hisimhv1/hsmhvinit.c index 96cb63bb9..7374b0a67 100644 --- a/src/spicelib/devices/hisimhv1/hsmhvinit.c +++ b/src/spicelib/devices/hisimhv1/hsmhvinit.c @@ -71,7 +71,7 @@ SPICEdev HSMHVinfo = { #endif /* DEVinstSize */ &HSMHViSize, /* DEVmodSize */ &HSMHVmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ HSMHVbindCSC, /* DEVbindCSCComplex */ HSMHVbindCSCComplex, #endif diff --git a/src/spicelib/devices/ind/Makefile.am b/src/spicelib/devices/ind/Makefile.am index ef81f5086..55b5bb562 100644 --- a/src/spicelib/devices/ind/Makefile.am +++ b/src/spicelib/devices/ind/Makefile.am @@ -48,6 +48,10 @@ if SuperLU_WANTED libind_la_SOURCES += indMUTbindCSC.c endif +if UMFPACK_WANTED +libind_la_SOURCES += indMUTbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/ind/indext.h b/src/spicelib/devices/ind/indext.h index f49889c61..a587fb50f 100644 --- a/src/spicelib/devices/ind/indext.h +++ b/src/spicelib/devices/ind/indext.h @@ -37,7 +37,7 @@ extern int MUTsSetup(SENstruct*,GENmodel*); extern int MUTsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int MUTtemp(GENmodel *inModel, CKTcircuit *ckt); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int INDbindCSC(GENmodel*, CKTcircuit*); extern int INDbindCSCComplex(GENmodel*, CKTcircuit*); extern int MUTbindCSC(GENmodel*, CKTcircuit*); diff --git a/src/spicelib/devices/ind/indinit.c b/src/spicelib/devices/ind/indinit.c index f6a080466..5b6775711 100644 --- a/src/spicelib/devices/ind/indinit.c +++ b/src/spicelib/devices/ind/indinit.c @@ -72,7 +72,7 @@ SPICEdev INDinfo = { #endif /* DEVinstSize */ &INDiSize, /* DEVmodSize */ &INDmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ INDbindCSC, /* DEVbindCSCComplex */ INDbindCSCComplex, #endif @@ -145,7 +145,7 @@ SPICEdev MUTinfo = { #endif &MUTiSize, &MUTmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ MUTbindCSC, /* DEVbindCSCComplex */ MUTbindCSCComplex, #endif diff --git a/src/spicelib/devices/isrc/isrcinit.c b/src/spicelib/devices/isrc/isrcinit.c index d35000dc6..00888925e 100644 --- a/src/spicelib/devices/isrc/isrcinit.c +++ b/src/spicelib/devices/isrc/isrcinit.c @@ -73,7 +73,7 @@ SPICEdev ISRCinfo = { #endif /* DEVinstSize */ &ISRCiSize, /* DEVmodSize */ &ISRCmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ NULL, /* DEVbindCSCComplex */ NULL, #endif diff --git a/src/spicelib/devices/jfet/Makefile.am b/src/spicelib/devices/jfet/Makefile.am index 75aa1b01e..a7e31a217 100644 --- a/src/spicelib/devices/jfet/Makefile.am +++ b/src/spicelib/devices/jfet/Makefile.am @@ -36,6 +36,10 @@ if SuperLU_WANTED libjfet_la_SOURCES += jfetbindCSC.c endif +if UMFPACK_WANTED +libjfet_la_SOURCES += jfetbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/jfet/jfetext.h b/src/spicelib/devices/jfet/jfetext.h index 84e275c15..d3d558aa1 100644 --- a/src/spicelib/devices/jfet/jfetext.h +++ b/src/spicelib/devices/jfet/jfetext.h @@ -23,7 +23,7 @@ extern int JFETdisto(int,GENmodel*,CKTcircuit*); extern int JFETnoise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int JFETdSetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int JFETbindCSC(GENmodel*, CKTcircuit*); extern int JFETbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/jfet/jfetinit.c b/src/spicelib/devices/jfet/jfetinit.c index 4601dcfee..91f98501b 100644 --- a/src/spicelib/devices/jfet/jfetinit.c +++ b/src/spicelib/devices/jfet/jfetinit.c @@ -73,7 +73,7 @@ SPICEdev JFETinfo = { #endif /* DEVinstSize */ &JFETiSize, /* DEVmodSize */ &JFETmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ JFETbindCSC, /* DEVbindCSCComplex */ JFETbindCSCComplex, #endif diff --git a/src/spicelib/devices/jfet2/Makefile.am b/src/spicelib/devices/jfet2/Makefile.am index 45ba29c47..eecc662df 100644 --- a/src/spicelib/devices/jfet2/Makefile.am +++ b/src/spicelib/devices/jfet2/Makefile.am @@ -36,6 +36,10 @@ if SuperLU_WANTED libjfet2_la_SOURCES += jfet2bindCSC.c endif +if UMFPACK_WANTED +libjfet2_la_SOURCES += jfet2bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/jfet2/jfet2ext.h b/src/spicelib/devices/jfet2/jfet2ext.h index 1947872ba..d2b60b7c0 100644 --- a/src/spicelib/devices/jfet2/jfet2ext.h +++ b/src/spicelib/devices/jfet2/jfet2ext.h @@ -23,7 +23,7 @@ extern int JFET2temp(GENmodel*,CKTcircuit*); extern int JFET2trunc(GENmodel*,CKTcircuit*,double*); extern int JFET2noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int JFET2bindCSC(GENmodel*, CKTcircuit*); extern int JFET2bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/jfet2/jfet2init.c b/src/spicelib/devices/jfet2/jfet2init.c index 49d4a73aa..ef005667c 100644 --- a/src/spicelib/devices/jfet2/jfet2init.c +++ b/src/spicelib/devices/jfet2/jfet2init.c @@ -73,7 +73,7 @@ SPICEdev JFET2info = { #endif /* DEVinstSize */ &JFET2iSize, /* DEVmodSize */ &JFET2mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ JFET2bindCSC, /* DEVbindCSCComplex */ JFET2bindCSCComplex, #endif diff --git a/src/spicelib/devices/ltra/Makefile.am b/src/spicelib/devices/ltra/Makefile.am index af95b43e1..ed8d21e4c 100644 --- a/src/spicelib/devices/ltra/Makefile.am +++ b/src/spicelib/devices/ltra/Makefile.am @@ -33,6 +33,10 @@ if SuperLU_WANTED libltra_la_SOURCES += ltrabindCSC.c endif +if UMFPACK_WANTED +libltra_la_SOURCES += ltrabindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/ltra/ltraext.h b/src/spicelib/devices/ltra/ltraext.h index 01d08a29d..af6ad02c4 100644 --- a/src/spicelib/devices/ltra/ltraext.h +++ b/src/spicelib/devices/ltra/ltraext.h @@ -45,7 +45,7 @@ extern void LTRArcCoeffsSetup(double*,double*,double*,double*,double*,double*,in extern void LTRArlcCoeffsSetup(double*,double*,double*,double*,double*,double*,int,double,double,double,double,double*,int,double,int*); extern int LTRAstraightLineCheck(double,double,double,double,double,double,double,double); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int LTRAbindCSC(GENmodel*, CKTcircuit*); extern int LTRAbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/ltra/ltrainit.c b/src/spicelib/devices/ltra/ltrainit.c index 50d9750e7..214f3bf12 100644 --- a/src/spicelib/devices/ltra/ltrainit.c +++ b/src/spicelib/devices/ltra/ltrainit.c @@ -73,7 +73,7 @@ SPICEdev LTRAinfo = { #endif /* DEVinstSize */ <RAiSize, /* DEVmodSize */ <RAmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ LTRAbindCSC, /* DEVbindCSCComplex */ LTRAbindCSCComplex, #endif diff --git a/src/spicelib/devices/mes/Makefile.am b/src/spicelib/devices/mes/Makefile.am index 58feabcb9..521751738 100644 --- a/src/spicelib/devices/mes/Makefile.am +++ b/src/spicelib/devices/mes/Makefile.am @@ -36,6 +36,10 @@ if SuperLU_WANTED libmes_la_SOURCES += mesbindCSC.c endif +if UMFPACK_WANTED +libmes_la_SOURCES += mesbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/mes/mesext.h b/src/spicelib/devices/mes/mesext.h index bd3c15f7a..9d02dce89 100644 --- a/src/spicelib/devices/mes/mesext.h +++ b/src/spicelib/devices/mes/mesext.h @@ -24,7 +24,7 @@ extern int MESnoise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int MESdSetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int MESbindCSC(GENmodel*, CKTcircuit*); extern int MESbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/mes/mesinit.c b/src/spicelib/devices/mes/mesinit.c index 23db49c75..fb5b08afd 100644 --- a/src/spicelib/devices/mes/mesinit.c +++ b/src/spicelib/devices/mes/mesinit.c @@ -73,7 +73,7 @@ SPICEdev MESinfo = { #endif /* DEVinstSize */ &MESiSize, /* DEVmodSize */ &MESmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ MESbindCSC, /* DEVbindCSCComplex */ MESbindCSCComplex, #endif diff --git a/src/spicelib/devices/mesa/Makefile.am b/src/spicelib/devices/mesa/Makefile.am index ec6a3aa4e..825485bff 100644 --- a/src/spicelib/devices/mesa/Makefile.am +++ b/src/spicelib/devices/mesa/Makefile.am @@ -33,6 +33,10 @@ if SuperLU_WANTED libmesa_la_SOURCES += mesabindCSC.c endif +if UMFPACK_WANTED +libmesa_la_SOURCES += mesabindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/mesa/mesaext.h b/src/spicelib/devices/mesa/mesaext.h index 9adde60ab..5441f29a7 100644 --- a/src/spicelib/devices/mesa/mesaext.h +++ b/src/spicelib/devices/mesa/mesaext.h @@ -19,7 +19,7 @@ extern int MESAtemp(GENmodel*,CKTcircuit*); extern int MESAtrunc(GENmodel*,CKTcircuit*,double*); extern int MESAunsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int MESAbindCSC(GENmodel*, CKTcircuit*); extern int MESAbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/mesa/mesainit.c b/src/spicelib/devices/mesa/mesainit.c index 5754bcf3f..86c33bf17 100644 --- a/src/spicelib/devices/mesa/mesainit.c +++ b/src/spicelib/devices/mesa/mesainit.c @@ -73,7 +73,7 @@ SPICEdev MESAinfo = { #endif /* DEVinstSize */ &MESAiSize, /* DEVmodSize */ &MESAmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ MESAbindCSC, /* DEVbindCSCComplex */ MESAbindCSCComplex, #endif diff --git a/src/spicelib/devices/mos1/Makefile.am b/src/spicelib/devices/mos1/Makefile.am index 6a55c7113..3a6e4725c 100644 --- a/src/spicelib/devices/mos1/Makefile.am +++ b/src/spicelib/devices/mos1/Makefile.am @@ -42,6 +42,10 @@ if SuperLU_WANTED libmos1_la_SOURCES += mos1bindCSC.c endif +if UMFPACK_WANTED +libmos1_la_SOURCES += mos1bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/mos1/mos1ext.h b/src/spicelib/devices/mos1/mos1ext.h index 0cb684cbf..86f6c77a6 100644 --- a/src/spicelib/devices/mos1/mos1ext.h +++ b/src/spicelib/devices/mos1/mos1ext.h @@ -29,7 +29,7 @@ extern int MOS1disto(int,GENmodel*,CKTcircuit*); extern int MOS1noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int MOS1dSetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int MOS1bindCSC(GENmodel*, CKTcircuit*); extern int MOS1bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/mos1/mos1init.c b/src/spicelib/devices/mos1/mos1init.c index 96bc1f048..c8b41444b 100644 --- a/src/spicelib/devices/mos1/mos1init.c +++ b/src/spicelib/devices/mos1/mos1init.c @@ -73,7 +73,7 @@ SPICEdev MOS1info = { #endif /* DEVinstSize */ &MOS1iSize, /* DEVmodSize */ &MOS1mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ MOS1bindCSC, /* DEVbindCSCComplex */ MOS1bindCSCComplex, #endif diff --git a/src/spicelib/devices/mos2/Makefile.am b/src/spicelib/devices/mos2/Makefile.am index 9aaa9ff6c..dd8e1f409 100644 --- a/src/spicelib/devices/mos2/Makefile.am +++ b/src/spicelib/devices/mos2/Makefile.am @@ -42,6 +42,10 @@ if SuperLU_WANTED libmos2_la_SOURCES += mos2bindCSC.c endif +if UMFPACK_WANTED +libmos2_la_SOURCES += mos2bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/mos2/mos2ext.h b/src/spicelib/devices/mos2/mos2ext.h index 86f6e677d..5a8a6fd6b 100644 --- a/src/spicelib/devices/mos2/mos2ext.h +++ b/src/spicelib/devices/mos2/mos2ext.h @@ -30,7 +30,7 @@ extern int MOS2noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int MOS2dSetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int MOS2bindCSC(GENmodel*, CKTcircuit*); extern int MOS2bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/mos2/mos2init.c b/src/spicelib/devices/mos2/mos2init.c index 759f110e0..5289e7280 100644 --- a/src/spicelib/devices/mos2/mos2init.c +++ b/src/spicelib/devices/mos2/mos2init.c @@ -73,7 +73,7 @@ SPICEdev MOS2info = { #endif /* DEVinstSize */ &MOS2iSize, /* DEVmodSize */ &MOS2mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ MOS2bindCSC, /* DEVbindCSCComplex */ MOS2bindCSCComplex, #endif diff --git a/src/spicelib/devices/mos3/Makefile.am b/src/spicelib/devices/mos3/Makefile.am index 08fbc33b9..32776ab94 100644 --- a/src/spicelib/devices/mos3/Makefile.am +++ b/src/spicelib/devices/mos3/Makefile.am @@ -42,6 +42,10 @@ if SuperLU_WANTED libmos3_la_SOURCES += mos3bindCSC.c endif +if UMFPACK_WANTED +libmos3_la_SOURCES += mos3bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/mos3/mos3ext.h b/src/spicelib/devices/mos3/mos3ext.h index c14940a4b..32288d0de 100644 --- a/src/spicelib/devices/mos3/mos3ext.h +++ b/src/spicelib/devices/mos3/mos3ext.h @@ -29,7 +29,7 @@ extern int MOS3disto(int,GENmodel*,CKTcircuit*); extern int MOS3noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int MOS3dSetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int MOS3bindCSC(GENmodel*, CKTcircuit*); extern int MOS3bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/mos3/mos3init.c b/src/spicelib/devices/mos3/mos3init.c index a986b41b2..68944bd9e 100644 --- a/src/spicelib/devices/mos3/mos3init.c +++ b/src/spicelib/devices/mos3/mos3init.c @@ -73,7 +73,7 @@ SPICEdev MOS3info = { #endif /* DEVinstSize */ &MOS3iSize, /* DEVmodSize */ &MOS3mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ MOS3bindCSC, /* DEVbindCSCComplex */ MOS3bindCSCComplex, #endif diff --git a/src/spicelib/devices/mos6/Makefile.am b/src/spicelib/devices/mos6/Makefile.am index 6cf3dbfb9..bfef9b3df 100644 --- a/src/spicelib/devices/mos6/Makefile.am +++ b/src/spicelib/devices/mos6/Makefile.am @@ -30,6 +30,10 @@ if SuperLU_WANTED libmos6_la_SOURCES += mos6bindCSC.c endif +if UMFPACK_WANTED +libmos6_la_SOURCES += mos6bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/mos6/mos6ext.h b/src/spicelib/devices/mos6/mos6ext.h index 67ff3b5ba..2834c4ad8 100644 --- a/src/spicelib/devices/mos6/mos6ext.h +++ b/src/spicelib/devices/mos6/mos6ext.h @@ -20,7 +20,7 @@ extern int MOS6temp(GENmodel*,CKTcircuit*); extern int MOS6trunc(GENmodel*,CKTcircuit*,double*); extern int MOS6convTest(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int MOS6bindCSC(GENmodel*, CKTcircuit*); extern int MOS6bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/mos6/mos6init.c b/src/spicelib/devices/mos6/mos6init.c index d96e892ea..873b89102 100644 --- a/src/spicelib/devices/mos6/mos6init.c +++ b/src/spicelib/devices/mos6/mos6init.c @@ -73,7 +73,7 @@ SPICEdev MOS6info = { #endif /* DEVinstSize */ &MOS6iSize, /* DEVmodSize */ &MOS6mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ MOS6bindCSC, /* DEVbindCSCComplex */ MOS6bindCSCComplex, #endif diff --git a/src/spicelib/devices/mos9/Makefile.am b/src/spicelib/devices/mos9/Makefile.am index 19838c973..561720493 100644 --- a/src/spicelib/devices/mos9/Makefile.am +++ b/src/spicelib/devices/mos9/Makefile.am @@ -42,6 +42,10 @@ if SuperLU_WANTED libmos9_la_SOURCES += mos9bindCSC.c endif +if UMFPACK_WANTED +libmos9_la_SOURCES += mos9bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/mos9/mos9ext.h b/src/spicelib/devices/mos9/mos9ext.h index 2ebbf3a68..b229e9b50 100644 --- a/src/spicelib/devices/mos9/mos9ext.h +++ b/src/spicelib/devices/mos9/mos9ext.h @@ -29,7 +29,7 @@ extern int MOS9disto(int,GENmodel*,CKTcircuit*); extern int MOS9noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int MOS9dSetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int MOS9bindCSC(GENmodel*, CKTcircuit*); extern int MOS9bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/mos9/mos9init.c b/src/spicelib/devices/mos9/mos9init.c index 920958829..490a5273d 100644 --- a/src/spicelib/devices/mos9/mos9init.c +++ b/src/spicelib/devices/mos9/mos9init.c @@ -73,7 +73,7 @@ SPICEdev MOS9info = { #endif /* DEVinstSize */ &MOS9iSize, /* DEVmodSize */ &MOS9mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ MOS9bindCSC, /* DEVbindCSCComplex */ MOS9bindCSCComplex, #endif diff --git a/src/spicelib/devices/res/Makefile.am b/src/spicelib/devices/res/Makefile.am index 2580d468e..f5cc36087 100644 --- a/src/spicelib/devices/res/Makefile.am +++ b/src/spicelib/devices/res/Makefile.am @@ -35,6 +35,10 @@ if SuperLU_WANTED libres_la_SOURCES += resbindCSC.c endif +if UMFPACK_WANTED +libres_la_SOURCES += resbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/res/resext.h b/src/spicelib/devices/res/resext.h index 188fd6381..2521c74df 100644 --- a/src/spicelib/devices/res/resext.h +++ b/src/spicelib/devices/res/resext.h @@ -21,7 +21,7 @@ extern int RESsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int REStemp(GENmodel*,CKTcircuit*); extern int RESnoise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int RESbindCSC(GENmodel*, CKTcircuit*); extern int RESbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/res/resinit.c b/src/spicelib/devices/res/resinit.c index 3183af020..fbd940c94 100644 --- a/src/spicelib/devices/res/resinit.c +++ b/src/spicelib/devices/res/resinit.c @@ -73,7 +73,7 @@ SPICEdev RESinfo = { #endif /* DEVinstSize */ &RESiSize, /* DEVmodSize */ &RESmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ RESbindCSC, /* DEVbindCSCComplex */ RESbindCSCComplex, #endif diff --git a/src/spicelib/devices/soi3/Makefile.am b/src/spicelib/devices/soi3/Makefile.am index 486aab49e..105890491 100644 --- a/src/spicelib/devices/soi3/Makefile.am +++ b/src/spicelib/devices/soi3/Makefile.am @@ -35,6 +35,10 @@ if SuperLU_WANTED libsoi3_la_SOURCES += soi3bindCSC.c endif +if UMFPACK_WANTED +libsoi3_la_SOURCES += soi3bindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/soi3/soi3ext.h b/src/spicelib/devices/soi3/soi3ext.h index e9ef8fd31..13a0363dd 100644 --- a/src/spicelib/devices/soi3/soi3ext.h +++ b/src/spicelib/devices/soi3/soi3ext.h @@ -66,7 +66,7 @@ extern int SOI3convTest(GENmodel*,CKTcircuit*); /* extern int SOI3disto(int,GENmodel*,CKTcircuit*); */ extern int SOI3noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int SOI3bindCSC(GENmodel*, CKTcircuit*); extern int SOI3bindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/soi3/soi3init.c b/src/spicelib/devices/soi3/soi3init.c index 6725acd69..8f15397fd 100644 --- a/src/spicelib/devices/soi3/soi3init.c +++ b/src/spicelib/devices/soi3/soi3init.c @@ -73,7 +73,7 @@ SPICEdev SOI3info = { #endif /* DEVinstSize */ &SOI3iSize, /* DEVmodSize */ &SOI3mSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ SOI3bindCSC, /* DEVbindCSCComplex */ SOI3bindCSCComplex, #endif diff --git a/src/spicelib/devices/sw/Makefile.am b/src/spicelib/devices/sw/Makefile.am index f7277027d..0d4939dfd 100644 --- a/src/spicelib/devices/sw/Makefile.am +++ b/src/spicelib/devices/sw/Makefile.am @@ -32,6 +32,10 @@ if SuperLU_WANTED libsw_la_SOURCES += swbindCSC.c endif +if UMFPACK_WANTED +libsw_la_SOURCES += swbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/sw/swext.h b/src/spicelib/devices/sw/swext.h index b8b38d55c..10c60d010 100644 --- a/src/spicelib/devices/sw/swext.h +++ b/src/spicelib/devices/sw/swext.h @@ -18,7 +18,7 @@ extern int SWsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int SWnoise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); extern int SWtrunc(GENmodel*,CKTcircuit*,double*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int SWbindCSC(GENmodel*, CKTcircuit*); extern int SWbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/sw/swinit.c b/src/spicelib/devices/sw/swinit.c index 9d2350acb..23b6fd414 100644 --- a/src/spicelib/devices/sw/swinit.c +++ b/src/spicelib/devices/sw/swinit.c @@ -74,7 +74,7 @@ SPICEdev SWinfo = { #endif /* CIDER */ /* DEVinstSize */ &SWiSize, /* DEVmodSize */ &SWmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ SWbindCSC, /* DEVbindCSCComplex */ SWbindCSCComplex, #endif diff --git a/src/spicelib/devices/tra/Makefile.am b/src/spicelib/devices/tra/Makefile.am index ffc2640c1..3e2161eef 100644 --- a/src/spicelib/devices/tra/Makefile.am +++ b/src/spicelib/devices/tra/Makefile.am @@ -30,6 +30,10 @@ if SuperLU_WANTED libtra_la_SOURCES += trabindCSC.c endif +if UMFPACK_WANTED +libtra_la_SOURCES += trabindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/tra/traext.h b/src/spicelib/devices/tra/traext.h index 0138ad32a..2f02f4772 100644 --- a/src/spicelib/devices/tra/traext.h +++ b/src/spicelib/devices/tra/traext.h @@ -17,7 +17,7 @@ extern int TRAunsetup(GENmodel*,CKTcircuit*); extern int TRAtemp(GENmodel*,CKTcircuit*); extern int TRAtrunc(GENmodel*,CKTcircuit*,double*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int TRAbindCSC(GENmodel*, CKTcircuit*); extern int TRAbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/tra/trainit.c b/src/spicelib/devices/tra/trainit.c index af81214e2..ddf6ffa82 100644 --- a/src/spicelib/devices/tra/trainit.c +++ b/src/spicelib/devices/tra/trainit.c @@ -73,7 +73,7 @@ SPICEdev TRAinfo = { #endif /* DEVinstSize */ &TRAiSize, /* DEVmodSize */ &TRAmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ TRAbindCSC, /* DEVbindCSCComplex */ TRAbindCSCComplex, #endif diff --git a/src/spicelib/devices/txl/Makefile.am b/src/spicelib/devices/txl/Makefile.am index 2d827ec29..54258332d 100644 --- a/src/spicelib/devices/txl/Makefile.am +++ b/src/spicelib/devices/txl/Makefile.am @@ -30,6 +30,10 @@ if SuperLU_WANTED libtxl_la_SOURCES += txlbindCSC.c endif +if UMFPACK_WANTED +libtxl_la_SOURCES += txlbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/txl/txlext.h b/src/spicelib/devices/txl/txlext.h index 6b68bf7e2..d1f80c67b 100644 --- a/src/spicelib/devices/txl/txlext.h +++ b/src/spicelib/devices/txl/txlext.h @@ -13,7 +13,7 @@ extern int TXLparam(int,IFvalue*,GENinstance*,IFvalue*); extern int TXLsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int TXLunsetup(GENmodel*, CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int TXLbindCSC(GENmodel*, CKTcircuit*); extern int TXLbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/txl/txlinit.c b/src/spicelib/devices/txl/txlinit.c index c9e2d9591..da661e85f 100644 --- a/src/spicelib/devices/txl/txlinit.c +++ b/src/spicelib/devices/txl/txlinit.c @@ -78,7 +78,7 @@ SPICEdev TXLinfo = { #endif &TXLiSize, &TXLmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ TXLbindCSC, /* DEVbindCSCComplex */ TXLbindCSCComplex, #endif diff --git a/src/spicelib/devices/urc/urcinit.c b/src/spicelib/devices/urc/urcinit.c index 2e9db6fc2..b4a5c8851 100644 --- a/src/spicelib/devices/urc/urcinit.c +++ b/src/spicelib/devices/urc/urcinit.c @@ -73,7 +73,7 @@ SPICEdev URCinfo = { #endif /* DEVinstSize */ &URCiSize, /* DEVmodSize */ &URCmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ NULL, /* DEVbindCSCComplex */ NULL, #endif diff --git a/src/spicelib/devices/vbic/Makefile.am b/src/spicelib/devices/vbic/Makefile.am index 7154f5147..09e93b51c 100644 --- a/src/spicelib/devices/vbic/Makefile.am +++ b/src/spicelib/devices/vbic/Makefile.am @@ -35,6 +35,10 @@ if SuperLU_WANTED libvbic_la_SOURCES += vbicbindCSC.c endif +if UMFPACK_WANTED +libvbic_la_SOURCES += vbicbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/vbic/vbicext.h b/src/spicelib/devices/vbic/vbicext.h index de157cc8c..91ad38ed5 100644 --- a/src/spicelib/devices/vbic/vbicext.h +++ b/src/spicelib/devices/vbic/vbicext.h @@ -28,7 +28,7 @@ extern int VBICnoise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*); #endif -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int VBICbindCSC(GENmodel*, CKTcircuit*); extern int VBICbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/vbic/vbicinit.c b/src/spicelib/devices/vbic/vbicinit.c index de1391ee5..4e0f840bb 100644 --- a/src/spicelib/devices/vbic/vbicinit.c +++ b/src/spicelib/devices/vbic/vbicinit.c @@ -78,7 +78,7 @@ SPICEdev VBICinfo = { #endif &VBICiSize, /* DEVinstSize */ &VBICmSize, /* DEVmodSize */ -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ VBICbindCSC, /* DEVbindCSCComplex */ VBICbindCSCComplex, #endif diff --git a/src/spicelib/devices/vccs/Makefile.am b/src/spicelib/devices/vccs/Makefile.am index 84bfe6303..a1aea0377 100644 --- a/src/spicelib/devices/vccs/Makefile.am +++ b/src/spicelib/devices/vccs/Makefile.am @@ -31,6 +31,10 @@ if SuperLU_WANTED libvccs_la_SOURCES += vccsbindCSC.c endif +if UMFPACK_WANTED +libvccs_la_SOURCES += vccsbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/vccs/vccsext.h b/src/spicelib/devices/vccs/vccsext.h index 8029f6a3c..de002b97c 100644 --- a/src/spicelib/devices/vccs/vccsext.h +++ b/src/spicelib/devices/vccs/vccsext.h @@ -16,7 +16,7 @@ extern int VCCSsSetup(SENstruct*,GENmodel*); extern void VCCSsPrint(GENmodel*,CKTcircuit*); extern int VCCSsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int VCCSbindCSC(GENmodel*, CKTcircuit*); extern int VCCSbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/vccs/vccsinit.c b/src/spicelib/devices/vccs/vccsinit.c index b8fd47618..d4fd62074 100644 --- a/src/spicelib/devices/vccs/vccsinit.c +++ b/src/spicelib/devices/vccs/vccsinit.c @@ -73,7 +73,7 @@ SPICEdev VCCSinfo = { #endif /* DEVinstSize */ &VCCSiSize, /* DEVmodSize */ &VCCSmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ VCCSbindCSC, /* DEVbindCSCComplex */ VCCSbindCSCComplex, #endif diff --git a/src/spicelib/devices/vcvs/Makefile.am b/src/spicelib/devices/vcvs/Makefile.am index 99cdf2243..f68a4dfaf 100644 --- a/src/spicelib/devices/vcvs/Makefile.am +++ b/src/spicelib/devices/vcvs/Makefile.am @@ -32,6 +32,10 @@ if SuperLU_WANTED libvcvs_la_SOURCES += vcvsbindCSC.c endif +if UMFPACK_WANTED +libvcvs_la_SOURCES += vcvsbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/vcvs/vcvsext.h b/src/spicelib/devices/vcvs/vcvsext.h index 603a8e898..33a9cf353 100644 --- a/src/spicelib/devices/vcvs/vcvsext.h +++ b/src/spicelib/devices/vcvs/vcvsext.h @@ -18,7 +18,7 @@ extern void VCVSsPrint(GENmodel*,CKTcircuit*); extern int VCVSsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int VCVSunsetup(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int VCVSbindCSC(GENmodel*, CKTcircuit*); extern int VCVSbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/vcvs/vcvsinit.c b/src/spicelib/devices/vcvs/vcvsinit.c index 492b19006..1fc9a2401 100644 --- a/src/spicelib/devices/vcvs/vcvsinit.c +++ b/src/spicelib/devices/vcvs/vcvsinit.c @@ -73,7 +73,7 @@ SPICEdev VCVSinfo = { #endif /* DEVinstSize */ &VCVSiSize, /* DEVmodSize */ &VCVSmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindCSC */ VCVSbindCSC, /* DEVbindCSCComplex */ VCVSbindCSCComplex, #endif diff --git a/src/spicelib/devices/vsrc/Makefile.am b/src/spicelib/devices/vsrc/Makefile.am index 6edde9af4..d2468036c 100644 --- a/src/spicelib/devices/vsrc/Makefile.am +++ b/src/spicelib/devices/vsrc/Makefile.am @@ -31,6 +31,10 @@ if SuperLU_WANTED libvsrc_la_SOURCES += vsrcbindCSC.c endif +if UMFPACK_WANTED +libvsrc_la_SOURCES += vsrcbindCSC.c +endif + AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include AM_CFLAGS = $(STATIC) diff --git a/src/spicelib/devices/vsrc/vsrcext.h b/src/spicelib/devices/vsrc/vsrcext.h index a22efd079..8ba57766e 100644 --- a/src/spicelib/devices/vsrc/vsrcext.h +++ b/src/spicelib/devices/vsrc/vsrcext.h @@ -19,7 +19,7 @@ extern int VSRCunsetup(GENmodel*,CKTcircuit*); extern int VSRCpzSetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int VSRCtemp(GENmodel*,CKTcircuit*); -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) extern int VSRCbindCSC(GENmodel*, CKTcircuit*); extern int VSRCbindCSCComplex(GENmodel*, CKTcircuit*); #endif diff --git a/src/spicelib/devices/vsrc/vsrcinit.c b/src/spicelib/devices/vsrc/vsrcinit.c index 38874ae6c..8cdebcbcf 100644 --- a/src/spicelib/devices/vsrc/vsrcinit.c +++ b/src/spicelib/devices/vsrc/vsrcinit.c @@ -73,7 +73,7 @@ SPICEdev VSRCinfo = { #endif /* DEVinstSize */ &VSRCiSize, /* DEVmodSize */ &VSRCmSize, -#if defined(KLU) || defined(SuperLU) +#if defined(KLU) || defined(SuperLU) || defined(UMFPACK) /* DEVbindklu */ VSRCbindCSC, /* DEVbindkluComplex */ VSRCbindCSCComplex, #endif