2 #include <../../nrnconf.h>
52 "Sparse1.3: Copyright (c) 1985,86,87,88 by Kenneth S. Kundert";
72 #define spINSIDE_SPARSE
207 if ((Row == 0)
OR (Col == 0))
383 register int IntRow, IntCol, ExtRow, ExtCol;
581 int Row1, Row2, Col1, Col2;
785 if (pLastElement ==
NULL)
833 return pCreatedElement;
923 register int NewSize;
930 if (NewSize <= OldAllocatedSize)
934 NewSize =
MAX( NewSize, EXPANSION_FACTOR * OldAllocatedSize );
971 for (
I = OldAllocatedSize+1;
I <= NewSize;
I++)
1012 register int NewSize;
1019 if (NewSize <= OldAllocatedSize)
1023 NewSize =
MAX( NewSize, EXPANSION_FACTOR * OldAllocatedSize );
1036 for (
I = OldAllocatedSize+1;
I <= NewSize;
I++)
ElementPtr spcGetFillin(MatrixPtr Matrix)
ElementPtr spcGetElement(MatrixPtr Matrix)
ElementPtr spcFindElementInCol(MatrixPtr Matrix, ElementPtr *LastAddr, int Row, int Col, BOOLEAN CreateIfMissing)
void spcLinkRows(MatrixPtr Matrix)
int spGetAdmittance(char *Matrix, int Node1, int Node2, struct spTemplate *Template)
static void EnlargeMatrix()
void spClear(char *eMatrix)
int spGetQuad(char *Matrix, int Row1, int Row2, int Col1, int Col2, struct spTemplate *Template)
RealNumber * spGetElement(char *eMatrix, int Row, int Col)
int spGetOnes(char *Matrix, int Pos, int Neg, int Eqn, struct spTemplate *Template)
ElementPtr spcCreateElement(MatrixPtr Matrix, int Row, int Col, ElementPtr *LastAddr, BOOLEAN Fillin)
static void ExpandTranslationArrays()
#define REALLOC(ptr, type, number)
struct MatrixFrame * MatrixPtr
struct MatrixElement * ElementPtr
#define ASSERT(condition)
#define IS_SPARSE(matrix)
#define spADD_REAL_QUAD(template, real)
register ElementPtr pElement
struct MatrixElement * NextInCol
struct MatrixElement * NextInRow
BOOLEAN InternalVectorsAllocated
BOOLEAN PreviousMatrixWasComplex
ArrayOfElementPtrs FirstInCol
ArrayOfElementPtrs FirstInRow
struct MatrixElement TrashCan