Actual source code: freespace.h
1: #ifndef PETSC_FREESPACE_H
2: #define PETSC_FREESPACE_H
4: #include <petscsys.h>
6: typedef struct _n_PetscFreeSpaceList *PetscFreeSpaceList;
8: struct _n_PetscFreeSpaceList {
9: PetscFreeSpaceList more_space;
10: PetscInt *array;
11: PetscInt *array_head;
12: PetscInt total_array_size;
13: PetscInt local_used;
14: PetscInt local_remaining;
15: };
17: PetscErrorCode PetscFreeSpaceGet(PetscInt, PetscFreeSpaceList *);
18: PetscErrorCode PetscFreeSpaceContiguous(PetscFreeSpaceList *, PetscInt *);
19: PetscErrorCode PetscFreeSpaceContiguous_LU(PetscFreeSpaceList *, PetscInt *, PetscInt, PetscInt *, PetscInt *);
20: PetscErrorCode PetscFreeSpaceContiguous_Cholesky(PetscFreeSpaceList *, PetscInt *, PetscInt, PetscInt *, PetscInt *);
21: PetscErrorCode PetscFreeSpaceDestroy(PetscFreeSpaceList);
23: #endif // PETSC_FREESPACE_H