blob: 8ba4338c4eb3d3883ef9e1dc960727a04de1db15 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
diff --git a/linalg/slepc.hpp b/linalg/slepc.hpp
index 7f8911ba2..5b1f1c686 100644
--- a/linalg/slepc.hpp
+++ b/linalg/slepc.hpp
@@ -19,12 +19,15 @@
#include "petsc.hpp"
-// Forward declarations
-typedef struct _p_EPS *EPS;
+// Forward declaration of SLEPc's internal struct _p_EPS:
+struct _p_EPS;
namespace mfem
{
+// Declare an alias of SLEPc's EPS type, mfem::slepc::EPS:
+namespace slepc { typedef struct ::_p_EPS *EPS; }
+
void MFEMInitializeSlepc();
void MFEMInitializeSlepc(int*,char***);
void MFEMInitializeSlepc(int*,char***,const char[],const char[]);
@@ -37,7 +40,7 @@ private:
mutable bool clcustom;
/// SLEPc linear eigensolver object
- EPS eps;
+ slepc::EPS eps;
/// Real and imaginary part of eigenvector
mutable PetscParVector *VR, *VC;
@@ -102,7 +105,7 @@ public:
void SetSpectralTransformation(SpectralTransformation transformation);
/// Conversion function to SLEPc's EPS type.
- operator EPS() const { return eps; }
+ operator slepc::EPS() const { return eps; }
/// Conversion function to PetscObject
operator PetscObject() const {return (PetscObject)eps; }
|