1eb9c0419SKris Buschelman #if !defined(_FreeSpace_h_) 2eb9c0419SKris Buschelman #define _FreeSpace_h_ 3eb9c0419SKris Buschelman 470f19b1fSKris Buschelman #include "petsc.h" 570f19b1fSKris Buschelman 670f19b1fSKris Buschelman typedef struct _Space *FreeSpaceList; 770f19b1fSKris Buschelman 870f19b1fSKris Buschelman typedef struct _Space { 970f19b1fSKris Buschelman FreeSpaceList more_space; 10*2e111b49SBarry Smith PetscInt *array; 11*2e111b49SBarry Smith PetscInt *array_head; 12*2e111b49SBarry Smith PetscInt total_array_size; 13*2e111b49SBarry Smith PetscInt local_used; 14*2e111b49SBarry Smith PetscInt local_remaining; 1570f19b1fSKris Buschelman } FreeSpace; 1670f19b1fSKris Buschelman 17*2e111b49SBarry Smith PetscErrorCode GetMoreSpace(PetscInt,FreeSpaceList*); 18*2e111b49SBarry Smith PetscErrorCode MakeSpaceContiguous(FreeSpaceList*,PetscInt *); 19eb9c0419SKris Buschelman 20eb9c0419SKris Buschelman #endif 21