1: #pragma once 3: typedef struct _PetscHashIJKLKey { 4: PetscInt i, j, k, l; 5: } PetscHashIJKLKey; 7: #define PetscHashIJKLKeyHash(key) PetscHashCombine(PetscHashCombine(PetscHashInt((key).i), PetscHashInt((key).j)), PetscHashCombine(PetscHashInt((key).k), PetscHashInt((key).l))) 9: #define PetscHashIJKLKeyEqual(k1, k2) ((k1).i == (k2).i && (k1).j == (k2).j && (k1).k == (k2).k && (k1).l == (k2).l)