xref: /petsc/include/petscmatelemental.h (revision bfe80ac4a46d58cb7760074b25f5e81b2f541d8a)
1 #pragma once
2 
3 #include <petscmat.h>
4 
5 /* SUBMANSEC = Mat */
6 
7 #if defined(PETSC_HAVE_ELEMENTAL) && defined(__cplusplus)
8   #if defined(__clang__)
9     #pragma clang diagnostic push
10     #pragma clang diagnostic ignored "-Wunknown-warning-option"
11     #pragma clang diagnostic ignored "-Wunused-parameter"
12     #pragma clang diagnostic ignored "-Wunused-but-set-variable"
13     #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
14     #pragma clang diagnostic ignored "-Wextra-semi"
15   #elif defined(__GNUC__) || defined(__GNUG__)
16     #pragma GCC diagnostic push
17     #pragma GCC diagnostic ignored "-Wunused-parameter"
18     #pragma GCC diagnostic ignored "-Wunused-but-set-variable"
19     #pragma GCC diagnostic ignored "-Wextra-semi"
20   #endif
21   #include <El.hpp>
22   #if defined(__clang__)
23     #pragma clang diagnostic pop
24   #elif defined(__GNUC__) || defined(__GNUG__)
25     #pragma GCC diagnostic pop
26   #endif
27   #if defined(PETSC_USE_COMPLEX)
28 typedef El::Complex<PetscReal> PetscElemScalar;
29   #else
30 typedef PetscScalar PetscElemScalar;
31   #endif
32 #endif
33