20 #ifndef GEOS_LINEARALGEBRA_INTERFACES_PETSCUTILS_HPP
21 #define GEOS_LINEARALGEBRA_INTERFACES_PETSCUTILS_HPP
36 "PetscInt and geos::globalIndex must have the same size" );
38 static_assert( std::is_signed< PetscInt >::value == std::is_signed< geos::globalIndex >::value,
39 "PetscInt and geoex::globalIndex must both be signed or unsigned" );
41 static_assert( std::is_same< PetscScalar, geos::real64 >::value,
42 "PetscScalar and geos::real64 must be the same type" );
51 return reinterpret_cast< PetscInt *
>(index);
61 return reinterpret_cast< PetscInt
const *
>(index);
PetscInt * toPetscInt(globalIndex *const index)
Converts a non-const array from GEOSX globalIndex type to PetscInt.
GEOS_GLOBALINDEX_TYPE globalIndex
Global index type (for indexing objects across MPI partitions).