Actual source code: freespace.h
1: #pragma once
3: #include <petscsys.h>
5: typedef struct _n_PetscFreeSpaceList *PetscFreeSpaceList;
7: struct _n_PetscFreeSpaceList {
8: PetscFreeSpaceList more_space;
9: PetscInt *array;
10: PetscInt *array_head;
11: PetscInt total_array_size;
12: PetscInt local_used;
13: PetscInt local_remaining;
14: };
16: PetscErrorCode PetscFreeSpaceGet(PetscInt, PetscFreeSpaceList *);
17: PetscErrorCode PetscFreeSpaceContiguous(PetscFreeSpaceList *, PetscInt *);
18: PetscErrorCode PetscFreeSpaceContiguous_LU(PetscFreeSpaceList *, PetscInt *, PetscInt, PetscInt *, PetscInt *);
19: PetscErrorCode PetscFreeSpaceContiguous_Cholesky(PetscFreeSpaceList *, PetscInt *, PetscInt, PetscInt *, PetscInt *);
20: PetscErrorCode PetscFreeSpaceDestroy(PetscFreeSpaceList);