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