Some cosmetics for readability:

replace tabs by spaces
This commit is contained in:
Holger Vogt 2025-02-21 10:23:09 +01:00
parent 7fc4c6b5bd
commit 77131a2a33
1 changed files with 84 additions and 105 deletions

View File

@ -67,7 +67,6 @@
/* /*
* Function declarations * Function declarations
*/ */
@ -78,7 +77,6 @@ static void ExpandTranslationArrays( MatrixPtr, int );
/* /*
* CLEAR MATRIX * CLEAR MATRIX
* *
@ -105,28 +103,28 @@ spClear(MatrixPtr Matrix)
/* Clear matrix. */ /* Clear matrix. */
if (Matrix->PreviousMatrixWasComplex || Matrix->Complex) if (Matrix->PreviousMatrixWasComplex || Matrix->Complex)
{ {
for (I = Matrix->Size; I > 0; I--) for (I = Matrix->Size; I > 0; I--)
{ {
pElement = Matrix->FirstInCol[I]; pElement = Matrix->FirstInCol[I];
while (pElement != NULL) while (pElement != NULL)
{ {
pElement->Real = 0.0; pElement->Real = 0.0;
pElement->Imag = 0.0; pElement->Imag = 0.0;
pElement = pElement->NextInCol; pElement = pElement->NextInCol;
} }
} }
} }
else else
{ {
for (I = Matrix->Size; I > 0; I--) for (I = Matrix->Size; I > 0; I--)
{ {
pElement = Matrix->FirstInCol[I]; pElement = Matrix->FirstInCol[I];
while (pElement != NULL) while (pElement != NULL)
{ {
pElement->Real = 0.0; pElement->Real = 0.0;
pElement = pElement->NextInCol; pElement = pElement->NextInCol;
} }
} }
} }
/* Empty the trash. */ /* Empty the trash. */
@ -225,7 +223,6 @@ ElementPtr pElement;
} }
/* /*
* SINGLE ELEMENT ADDITION TO MATRIX BY INDEX * SINGLE ELEMENT ADDITION TO MATRIX BY INDEX
* *
@ -270,7 +267,7 @@ spGetElement(MatrixPtr Matrix, int Row, int Col)
assert( IS_SPARSE( Matrix ) && Row >= 0 && Col >= 0 ); assert( IS_SPARSE( Matrix ) && Row >= 0 && Col >= 0 );
if ((Row == 0) || (Col == 0)) if ((Row == 0) || (Col == 0))
return &Matrix->TrashCan.Real; return &Matrix->TrashCan.Real;
#if !TRANSLATE #if !TRANSLATE
assert(Matrix->NeedsOrdering); assert(Matrix->NeedsOrdering);
@ -289,8 +286,9 @@ spGetElement(MatrixPtr Matrix, int Row, int Col)
#if EXPANDABLE #if EXPANDABLE
/* Re-size Matrix if necessary. */ /* Re-size Matrix if necessary. */
if ((Row > Matrix->Size) || (Col > Matrix->Size)) if ((Row > Matrix->Size) || (Col > Matrix->Size))
EnlargeMatrix( Matrix, MAX(Row, Col) ); EnlargeMatrix( Matrix, MAX(Row, Col) );
if (Matrix->Error == spNO_MEMORY) return NULL; if (Matrix->Error == spNO_MEMORY)
return NULL;
#endif #endif
#endif #endif
@ -305,12 +303,12 @@ spGetElement(MatrixPtr Matrix, int Row, int Col)
if ((Row != Col) || ((pElement = Matrix->Diag[Row]) == NULL)) if ((Row != Col) || ((pElement = Matrix->Diag[Row]) == NULL))
{ {
/* Element does not exist or does not reside along diagonal. /* Element does not exist or does not reside along diagonal.
* Search column for element. As in the if statement above, * Search column for element. As in the if statement above,
* the pointer to the element which is returned by * the pointer to the element which is returned by
* spcFindElementInCol is cast into a pointer to Real, a * spcFindElementInCol is cast into a pointer to Real, a
* RealNumber. */ * RealNumber. */
pElement = spcFindElementInCol( Matrix, pElement = spcFindElementInCol( Matrix,
&(Matrix->FirstInCol[Col]), &(Matrix->FirstInCol[Col]),
Row, Col, YES ); Row, Col, YES );
} }
@ -321,12 +319,6 @@ spGetElement(MatrixPtr Matrix, int Row, int Col)
/* /*
* FIND ELEMENT BY SEARCHING COLUMN * FIND ELEMENT BY SEARCHING COLUMN
* *
@ -371,36 +363,33 @@ spcFindElementInCol(MatrixPtr Matrix, ElementPtr *LastAddr,
/* Search for element. */ /* Search for element. */
while (pElement != NULL) while (pElement != NULL)
{ {
if (pElement->Row < Row) if (pElement->Row < Row)
{ {
/* Have not reached element yet. */ /* Have not reached element yet. */
LastAddr = &(pElement->NextInCol); LastAddr = &(pElement->NextInCol);
pElement = pElement->NextInCol; pElement = pElement->NextInCol;
} }
else if (pElement->Row == Row) else if (pElement->Row == Row)
{ {
/* Reached element. */ /* Reached element. */
return pElement; return pElement;
} }
else break; /* while loop */ else break; /* while loop */
} }
/* Element does not exist and must be created. */ /* Element does not exist and must be created. */
if (CreateIfMissing) if (CreateIfMissing)
return spcCreateElement( Matrix, Row, Col, LastAddr, NO ); return spcCreateElement( Matrix, Row, Col, LastAddr, NO );
else else
return NULL; return NULL;
} }
#if TRANSLATE #if TRANSLATE
/* /*
* TRANSLATE EXTERNAL INDICES TO INTERNAL * TRANSLATE EXTERNAL INDICES TO INTERNAL
* *
@ -457,7 +446,7 @@ Translate(MatrixPtr Matrix, int *Row, int *Col)
/* Translate external row or node number to internal row or node number. */ /* Translate external row or node number to internal row or node number. */
if ((IntRow = Matrix->ExtToIntRowMap[ExtRow]) == -1) if ((IntRow = Matrix->ExtToIntRowMap[ExtRow]) == -1)
{ {
Matrix->ExtToIntRowMap[ExtRow] = ++Matrix->CurrentSize; Matrix->ExtToIntRowMap[ExtRow] = ++Matrix->CurrentSize;
Matrix->ExtToIntColMap[ExtRow] = Matrix->CurrentSize; Matrix->ExtToIntColMap[ExtRow] = Matrix->CurrentSize;
IntRow = Matrix->CurrentSize; IntRow = Matrix->CurrentSize;
@ -466,7 +455,7 @@ Translate(MatrixPtr Matrix, int *Row, int *Col)
#endif #endif
#if EXPANDABLE #if EXPANDABLE
/* Re-size Matrix if necessary. */ /* Re-size Matrix if necessary. */
if (IntRow > Matrix->Size) if (IntRow > Matrix->Size)
EnlargeMatrix( Matrix, IntRow ); EnlargeMatrix( Matrix, IntRow );
if (Matrix->Error == spNO_MEMORY) return; if (Matrix->Error == spNO_MEMORY) return;
@ -479,7 +468,7 @@ Translate(MatrixPtr Matrix, int *Row, int *Col)
/* Translate external column or node number to internal column or node number.*/ /* Translate external column or node number to internal column or node number.*/
if ((IntCol = Matrix->ExtToIntColMap[ExtCol]) == -1) if ((IntCol = Matrix->ExtToIntColMap[ExtCol]) == -1)
{ {
Matrix->ExtToIntRowMap[ExtCol] = ++Matrix->CurrentSize; Matrix->ExtToIntRowMap[ExtCol] = ++Matrix->CurrentSize;
Matrix->ExtToIntColMap[ExtCol] = Matrix->CurrentSize; Matrix->ExtToIntColMap[ExtCol] = Matrix->CurrentSize;
IntCol = Matrix->CurrentSize; IntCol = Matrix->CurrentSize;
@ -488,7 +477,7 @@ Translate(MatrixPtr Matrix, int *Row, int *Col)
#endif #endif
#if EXPANDABLE #if EXPANDABLE
/* Re-size Matrix if necessary. */ /* Re-size Matrix if necessary. */
if (IntCol > Matrix->Size) if (IntCol > Matrix->Size)
EnlargeMatrix( Matrix, IntCol ); EnlargeMatrix( Matrix, IntCol );
if (Matrix->Error == spNO_MEMORY) return; if (Matrix->Error == spNO_MEMORY) return;
@ -508,7 +497,6 @@ Translate(MatrixPtr Matrix, int *Row, int *Col)
#if QUAD_ELEMENT #if QUAD_ELEMENT
/* /*
* ADDITION OF ADMITTANCE TO MATRIX BY INDEX * ADDITION OF ADMITTANCE TO MATRIX BY INDEX
@ -573,7 +561,6 @@ spGetAdmittance(MatrixPtr Matrix, int Node1, int Node2,
#if QUAD_ELEMENT #if QUAD_ELEMENT
/* /*
* ADDITION OF FOUR ELEMENTS TO MATRIX BY INDEX * ADDITION OF FOUR ELEMENTS TO MATRIX BY INDEX
@ -656,7 +643,6 @@ spGetQuad(MatrixPtr Matrix, int Row1, int Row2, int Col1, int Col2,
#if QUAD_ELEMENT #if QUAD_ELEMENT
/* /*
* ADDITION OF FOUR STRUCTURAL ONES TO MATRIX BY INDEX * ADDITION OF FOUR STRUCTURAL ONES TO MATRIX BY INDEX
@ -723,7 +709,6 @@ spGetOnes(MatrixPtr Matrix, int Pos, int Neg, int Eqn,
/* /*
* *
* CREATE AND SPLICE ELEMENT INTO MATRIX * CREATE AND SPLICE ELEMENT INTO MATRIX
@ -778,21 +763,22 @@ spcCreateElement(MatrixPtr Matrix, int Row, int Col,
/* Row pointers cannot be ignored. */ /* Row pointers cannot be ignored. */
if (Fillin) if (Fillin)
{ {
pElement = spcGetFillin( Matrix ); pElement = spcGetFillin( Matrix );
Matrix->Fillins++; Matrix->Fillins++;
} }
else else
{ {
pElement = spcGetElement( Matrix ); pElement = spcGetElement( Matrix );
Matrix->Originals++; Matrix->Originals++;
Matrix->NeedsOrdering = YES; Matrix->NeedsOrdering = YES;
} }
if (pElement == NULL) return NULL; if (pElement == NULL) return NULL;
/* If element is on diagonal, store pointer in Diag. */ /* If element is on diagonal, store pointer in Diag. */
if (Row == Col) Matrix->Diag[Row] = pElement; if (Row == Col)
Matrix->Diag[Row] = pElement;
/* Initialize Element. */ /* Initialize Element. */
pCreatedElement = pElement; pCreatedElement = pElement;
pElement->Row = Row; pElement->Row = Row;
pElement->Col = Col; pElement->Col = Col;
@ -802,55 +788,54 @@ spcCreateElement(MatrixPtr Matrix, int Row, int Col,
pElement->pInitInfo = NULL; pElement->pInitInfo = NULL;
#endif #endif
/* Splice element into column. */ /* Splice element into column. */
pElement->NextInCol = *LastAddr; pElement->NextInCol = *LastAddr;
*LastAddr = pElement; *LastAddr = pElement;
/* Search row for proper element position. */ /* Search row for proper element position. */
pElement = Matrix->FirstInRow[Row]; pElement = Matrix->FirstInRow[Row];
pLastElement = NULL; pLastElement = NULL;
while (pElement != NULL) while (pElement != NULL)
{ {
/* Search for element row position. */ /* Search for element row position. */
if (pElement->Col < Col) if (pElement->Col < Col)
{ {
/* Have not reached desired element. */ /* Have not reached desired element. */
pLastElement = pElement; pLastElement = pElement;
pElement = pElement->NextInRow; pElement = pElement->NextInRow;
} }
else pElement = NULL; else pElement = NULL;
} }
/* Splice element into row. */ /* Splice element into row. */
pElement = pCreatedElement; pElement = pCreatedElement;
if (pLastElement == NULL) if (pLastElement == NULL)
{ {
/* Element is first in row. */ /* Element is first in row. */
pElement->NextInRow = Matrix->FirstInRow[Row]; pElement->NextInRow = Matrix->FirstInRow[Row];
Matrix->FirstInRow[Row] = pElement; Matrix->FirstInRow[Row] = pElement;
} }
else else
{ {
/* Element is not first in row. */ /* Element is not first in row. */
pElement->NextInRow = pLastElement->NextInRow; pElement->NextInRow = pLastElement->NextInRow;
pLastElement->NextInRow = pElement; pLastElement->NextInRow = pElement;
} }
} }
else else
{ {
/* Matrix has not been factored yet. Thus get element rather /* Matrix has not been factored yet. Thus get element rather
* than fill-in. Also, row pointers can be ignored. */ * than fill-in. Also, row pointers can be ignored. */
/* Allocate memory for Element. */ /* Allocate memory for Element. */
pElement = spcGetElement( Matrix ); pElement = spcGetElement( Matrix );
Matrix->Originals++; Matrix->Originals++;
if (pElement == NULL) return NULL; if (pElement == NULL) return NULL;
/* If element is on diagonal, store pointer in Diag. */ /* If element is on diagonal, store pointer in Diag. */
if (Row == Col) Matrix->Diag[Row] = pElement; if (Row == Col) Matrix->Diag[Row] = pElement;
/* Initialize Element. */ /* Initialize Element. */
pCreatedElement = pElement; pCreatedElement = pElement;
pElement->Row = Row; pElement->Row = Row;
#if DEBUG #if DEBUG
@ -862,7 +847,7 @@ spcCreateElement(MatrixPtr Matrix, int Row, int Col,
pElement->pInitInfo = NULL; pElement->pInitInfo = NULL;
#endif #endif
/* Splice element into column. */ /* Splice element into column. */
pElement->NextInCol = *LastAddr; pElement->NextInCol = *LastAddr;
*LastAddr = pElement; *LastAddr = pElement;
} }
@ -876,8 +861,6 @@ spcCreateElement(MatrixPtr Matrix, int Row, int Col,
/* /*
* *
* LINK ROWS * LINK ROWS
@ -915,12 +898,12 @@ spcLinkRows(MatrixPtr Matrix)
FirstInRowArray = Matrix->FirstInRow; FirstInRowArray = Matrix->FirstInRow;
for (Col = Matrix->Size; Col >= 1; Col--) for (Col = Matrix->Size; Col >= 1; Col--)
{ {
/* Generate row links for the elements in the Col'th column. */ /* Generate row links for the elements in the Col'th column. */
pElement = Matrix->FirstInCol[Col]; pElement = Matrix->FirstInCol[Col];
while (pElement != NULL) while (pElement != NULL)
{ {
pElement->Col = Col; pElement->Col = Col;
FirstInRowEntry = &FirstInRowArray[pElement->Row]; FirstInRowEntry = &FirstInRowArray[pElement->Row];
pElement->NextInRow = *FirstInRowEntry; pElement->NextInRow = *FirstInRowEntry;
*FirstInRowEntry = pElement; *FirstInRowEntry = pElement;
@ -937,7 +920,6 @@ spcLinkRows(MatrixPtr Matrix)
/* /*
* ENLARGE MATRIX * ENLARGE MATRIX
* *
@ -971,27 +953,27 @@ EnlargeMatrix(MatrixPtr Matrix, int NewSize)
if (( SP_REALLOC(Matrix->IntToExtColMap, int, NewSize+1)) == NULL) if (( SP_REALLOC(Matrix->IntToExtColMap, int, NewSize+1)) == NULL)
{ {
Matrix->Error = spNO_MEMORY; Matrix->Error = spNO_MEMORY;
return; return;
} }
if (( SP_REALLOC(Matrix->IntToExtRowMap, int, NewSize+1)) == NULL) if (( SP_REALLOC(Matrix->IntToExtRowMap, int, NewSize+1)) == NULL)
{ {
Matrix->Error = spNO_MEMORY; Matrix->Error = spNO_MEMORY;
return; return;
} }
if (( SP_REALLOC(Matrix->Diag, ElementPtr, NewSize+1)) == NULL) if (( SP_REALLOC(Matrix->Diag, ElementPtr, NewSize+1)) == NULL)
{ {
Matrix->Error = spNO_MEMORY; Matrix->Error = spNO_MEMORY;
return; return;
} }
if (( SP_REALLOC(Matrix->FirstInCol, ElementPtr, NewSize+1)) == NULL) if (( SP_REALLOC(Matrix->FirstInCol, ElementPtr, NewSize+1)) == NULL)
{ {
Matrix->Error = spNO_MEMORY; Matrix->Error = spNO_MEMORY;
return; return;
} }
if (( SP_REALLOC(Matrix->FirstInRow, ElementPtr, NewSize+1)) == NULL) if (( SP_REALLOC(Matrix->FirstInRow, ElementPtr, NewSize+1)) == NULL)
{ {
Matrix->Error = spNO_MEMORY; Matrix->Error = spNO_MEMORY;
return; return;
} }
@ -1008,7 +990,7 @@ EnlargeMatrix(MatrixPtr Matrix, int NewSize)
/* Initialize the new portion of the vectors. */ /* Initialize the new portion of the vectors. */
for (I = OldAllocatedSize+1; I <= NewSize; I++) for (I = OldAllocatedSize+1; I <= NewSize; I++)
{ {
Matrix->IntToExtColMap[I] = I; Matrix->IntToExtColMap[I] = I;
Matrix->IntToExtRowMap[I] = I; Matrix->IntToExtRowMap[I] = I;
Matrix->Diag[I] = NULL; Matrix->Diag[I] = NULL;
Matrix->FirstInRow[I] = NULL; Matrix->FirstInRow[I] = NULL;
@ -1026,7 +1008,6 @@ EnlargeMatrix(MatrixPtr Matrix, int NewSize)
#if TRANSLATE #if TRANSLATE
/* /*
* EXPAND TRANSLATION ARRAYS * EXPAND TRANSLATION ARRAYS
* *
@ -1061,19 +1042,19 @@ ExpandTranslationArrays(MatrixPtr Matrix, int NewSize)
if (( SP_REALLOC(Matrix->ExtToIntRowMap, int, NewSize+1)) == NULL) if (( SP_REALLOC(Matrix->ExtToIntRowMap, int, NewSize+1)) == NULL)
{ {
Matrix->Error = spNO_MEMORY; Matrix->Error = spNO_MEMORY;
return; return;
} }
if (( SP_REALLOC(Matrix->ExtToIntColMap, int, NewSize+1)) == NULL) if (( SP_REALLOC(Matrix->ExtToIntColMap, int, NewSize+1)) == NULL)
{ {
Matrix->Error = spNO_MEMORY; Matrix->Error = spNO_MEMORY;
return; return;
} }
/* Initialize the new portion of the vectors. */ /* Initialize the new portion of the vectors. */
for (I = OldAllocatedSize+1; I <= NewSize; I++) for (I = OldAllocatedSize+1; I <= NewSize; I++)
{ {
Matrix->ExtToIntRowMap[I] = -1; Matrix->ExtToIntRowMap[I] = -1;
Matrix->ExtToIntColMap[I] = -1; Matrix->ExtToIntColMap[I] = -1;
} }
@ -1087,8 +1068,6 @@ ExpandTranslationArrays(MatrixPtr Matrix, int NewSize)
#if INITIALIZE #if INITIALIZE
/* /*
* INITIALIZE MATRIX * INITIALIZE MATRIX
@ -1154,12 +1133,12 @@ spInitialize(MatrixPtr Matrix, int (*pInit)(RealNumber*, void *InitInfo, int , i
/* Clear imaginary part of matrix if matrix is real but was complex. */ /* Clear imaginary part of matrix if matrix is real but was complex. */
if (Matrix->PreviousMatrixWasComplex && !Matrix->Complex) if (Matrix->PreviousMatrixWasComplex && !Matrix->Complex)
{ {
for (J = Matrix->Size; J > 0; J--) for (J = Matrix->Size; J > 0; J--)
{ {
pElement = Matrix->FirstInCol[J]; pElement = Matrix->FirstInCol[J];
while (pElement != NULL) while (pElement != NULL)
{ {
pElement->Imag = 0.0; pElement->Imag = 0.0;
pElement = pElement->NextInCol; pElement = pElement->NextInCol;
} }
} }
@ -1168,22 +1147,22 @@ spInitialize(MatrixPtr Matrix, int (*pInit)(RealNumber*, void *InitInfo, int , i
/* Initialize the matrix. */ /* Initialize the matrix. */
for (J = Matrix->Size; J > 0; J--) for (J = Matrix->Size; J > 0; J--)
{ {
pElement = Matrix->FirstInCol[J]; pElement = Matrix->FirstInCol[J];
Col = Matrix->IntToExtColMap[J]; Col = Matrix->IntToExtColMap[J];
while (pElement != NULL) while (pElement != NULL)
{ {
if (pElement->pInitInfo == NULL) if (pElement->pInitInfo == NULL)
{ {
pElement->Real = 0.0; pElement->Real = 0.0;
pElement->Imag = 0.0; pElement->Imag = 0.0;
} }
else else
{ {
Error = pInit (& pElement->Real, pElement->pInitInfo, Error = pInit (& pElement->Real, pElement->pInitInfo,
Matrix->IntToExtRowMap[pElement->Row], Col); Matrix->IntToExtRowMap[pElement->Row], Col);
if (Error) if (Error)
{ {
Matrix->Error = spFATAL; Matrix->Error = spFATAL;
return Error; return Error;
} }