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