#include "spconfig.h"
#include "spmatrix.h"
Go to the source code of this file.
Defines | |
#define | spINSIDE_SPARSE |
#define | spNO_MEMORY 4 |
Functions | |
static void | AllocateBlockOfAllocationList (MatrixPtr Matrix) |
static void | InitializeElementBlocks (MatrixPtr Matrix, int InitialNumberOfElements, int NumberOfFillinsExpected) |
static void | RecordAllocation (MatrixPtr Matrix, char *AllocatedPtr) |
ElementPtr | spcGetElement (MatrixPtr Matrix) |
ElementPtr | spcGetFillin (MatrixPtr Matrix) |
MatrixPtr | spCreate (int Size, int *pError) |
void | spDestroy (MatrixPtr Matrix) |
int | spElementCount (MatrixPtr Matrix) |
int | spError (MatrixPtr Matrix) |
int | spGetSize (MatrixPtr Matrix, int External) |
void | spWhereSingular (MatrixPtr Matrix, int *pRow, int *pCol) |
#define spINSIDE_SPARSE |
Definition at line 80 of file spallocate.cpp.
#define spNO_MEMORY 4 |
Definition at line 65 of file spallocate.cpp.
Referenced by AllocateBlockOfAllocationList(), CreateInternalVectors(), EnlargeMatrix(), InitializeElementBlocks(), PrintMatrixErrorMessage(), RealRowColElimination(), RecordAllocation(), spcGetElement(), spcGetFillin(), spCondition(), spCreate(), spError(), spGetElement(), and spPrint().
static void AllocateBlockOfAllocationList | ( | MatrixPtr | Matrix | ) | [static] |
Definition at line 84 of file spallocate.cpp.
References ALLOC, AllocationRecord::AllocatedPtr, ELEMENTS_PER_ALLOCATION, MatrixFrame::Error, AllocationRecord::NextRecord, MatrixFrame::RecordsRemaining, spNO_MEMORY, and MatrixFrame::TopOfAllocationList.
Referenced by RecordAllocation().
static void InitializeElementBlocks | ( | MatrixPtr | Matrix, | |
int | InitialNumberOfElements, | |||
int | NumberOfFillinsExpected | |||
) | [static] |
Definition at line 353 of file spallocate.cpp.
References ALLOC, MatrixFrame::ElementsRemaining, MatrixFrame::Error, MatrixFrame::FillinsRemaining, MatrixFrame::FirstFillinListNode, MatrixFrame::LastFillinListNode, FillinListNodeStruct::Next, MatrixFrame::NextAvailElement, MatrixFrame::NextAvailFillin, FillinListNodeStruct::NumberOfFillinsInList, FillinListNodeStruct::pFillinList, RecordAllocation(), and spNO_MEMORY.
Referenced by spCreate().
static void RecordAllocation | ( | MatrixPtr | Matrix, | |
char * | AllocatedPtr | |||
) | [static] |
Definition at line 469 of file spallocate.cpp.
References AllocateBlockOfAllocationList(), MatrixFrame::Error, FREE, MatrixFrame::RecordsRemaining, spNO_MEMORY, and MatrixFrame::TopOfAllocationList.
Referenced by InitializeElementBlocks(), spcGetElement(), spcGetFillin(), and spCreate().
ElementPtr spcGetElement | ( | MatrixPtr | Matrix | ) |
Definition at line 307 of file spallocate.cpp.
References ALLOC, ELEMENTS_PER_ALLOCATION, MatrixFrame::ElementsRemaining, MatrixFrame::Error, MatrixFrame::NextAvailElement, RecordAllocation(), and spNO_MEMORY.
Referenced by spcCreateElement(), and spcGetFillin().
ElementPtr spcGetFillin | ( | MatrixPtr | Matrix | ) |
Definition at line 404 of file spallocate.cpp.
References ALLOC, ELEMENTS_PER_ALLOCATION, MatrixFrame::Error, MatrixFrame::FillinsRemaining, MatrixFrame::LastFillinListNode, FillinListNodeStruct::Next, MatrixFrame::NextAvailFillin, FillinListNodeStruct::NumberOfFillinsInList, FillinListNodeStruct::pFillinList, RecordAllocation(), spcGetElement(), and spNO_MEMORY.
Referenced by spcCreateElement().
MatrixPtr spCreate | ( | int | Size, | |
int * | pError | |||
) |
Definition at line 152 of file spallocate.cpp.
References MatrixFrame::AbsThreshold, ALLOC, MatrixFrame::AllocatedExtSize, MatrixFrame::AllocatedSize, CALLOC, MatrixFrame::Complex, MatrixFrame::CurrentSize, DEFAULT_THRESHOLD, MatrixFrame::DoCmplxDirect, MatrixFrame::DoRealDirect, MatrixFrame::Elements, MatrixFrame::ElementsRemaining, MatrixFrame::Error, MatrixFrame::ExtSize, MatrixFrame::ExtToIntColMap, MatrixFrame::ExtToIntRowMap, MatrixFrame::Factored, MatrixFrame::Fillins, MatrixFrame::FillinsRemaining, MatrixFrame::ID, InitializeElementBlocks(), MatrixFrame::Intermediate, MatrixFrame::InternalVectorsAllocated, MatrixFrame::IntToExtColMap, MatrixFrame::IntToExtRowMap, MatrixFrame::MarkowitzCol, MatrixFrame::MarkowitzProd, MatrixFrame::MarkowitzRow, Matrix, MAX, MINIMUM_ALLOCATED_SIZE, MatrixFrame::NeedsOrdering, MatrixFrame::NumberOfInterchangesIsOdd, MatrixFrame::Partitioned, MatrixFrame::PreviousMatrixWasComplex, RecordAllocation(), MatrixFrame::RecordsRemaining, MatrixFrame::RelThreshold, MatrixFrame::Reordered, MatrixFrame::RowsLinked, MatrixFrame::SingularCol, MatrixFrame::SingularRow, MatrixFrame::Size, SPACE_FOR_ELEMENTS, SPACE_FOR_FILL_INS, SPARSE_ID, spDestroy(), spNO_MEMORY, and MatrixFrame::TopOfAllocationList.
Referenced by main().
void spDestroy | ( | MatrixPtr | Matrix | ) |
Definition at line 514 of file spallocate.cpp.
References AllocationRecord::AllocatedPtr, ASSERT, MatrixFrame::Diag, MatrixFrame::DoCmplxDirect, MatrixFrame::DoRealDirect, MatrixFrame::ExtToIntColMap, MatrixFrame::ExtToIntRowMap, MatrixFrame::FirstInCol, MatrixFrame::FirstInRow, FREE, MatrixFrame::Intermediate, MatrixFrame::IntToExtColMap, MatrixFrame::IntToExtRowMap, IS_SPARSE, MatrixFrame::MarkowitzCol, MatrixFrame::MarkowitzProd, MatrixFrame::MarkowitzRow, AllocationRecord::NextRecord, and MatrixFrame::TopOfAllocationList.
Referenced by main(), and spCreate().
int spElementCount | ( | MatrixPtr | Matrix | ) |
Definition at line 620 of file spallocate.cpp.
References ASSERT, MatrixFrame::Elements, and IS_SPARSE.
Referenced by main().
int spError | ( | MatrixPtr | Matrix | ) |
Definition at line 558 of file spallocate.cpp.
References ASSERT, MatrixFrame::Error, MatrixFrame::ID, SPARSE_ID, and spNO_MEMORY.
Referenced by novaMatice(), and ReadMatrixFromFile().
int spGetSize | ( | MatrixPtr | Matrix, | |
int | External | |||
) |
Definition at line 607 of file spallocate.cpp.
References ASSERT, MatrixFrame::ExtSize, IS_SPARSE, and MatrixFrame::Size.
Referenced by main(), and ReadMatrixFromFile().
void spWhereSingular | ( | MatrixPtr | Matrix, | |
int * | pRow, | |||
int * | pCol | |||
) |
Definition at line 581 of file spallocate.cpp.
References ASSERT, MatrixFrame::Error, IS_SPARSE, MatrixFrame::SingularCol, and MatrixFrame::SingularRow.
Referenced by PrintMatrixErrorMessage().