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);