Actual source code: stimpl.h
2: #ifndef _STIMPL
3: #define _STIMPL
5: #include slepceps.h
7: typedef struct _STOps *STOps;
9: struct _STOps {
10: int (*setup)(ST);
11: int (*apply)(ST,Vec,Vec);
12: int (*applyB)(ST,Vec,Vec);
13: int (*applynoB)(ST,Vec,Vec);
14: int (*setshift)(ST,PetscScalar);
15: int (*setfromoptions)(ST);
16: int (*presolve)(ST);
17: int (*postsolve)(ST);
18: int (*backtr)(ST,PetscScalar*,PetscScalar*);
19: int (*destroy)(ST);
20: int (*view)(ST,PetscViewer);
21: };
23: struct _p_ST {
24: PETSCHEADER(struct _STOps)
25: /*------------------------- User parameters --------------------------*/
26: Mat A,B; /* Matrices which define the eigensystem */
27: PetscScalar sigma; /* Value of the shift */
29: /*------------------------- Misc data --------------------------*/
30: Vec vec;
31: KSP ksp;
32: void *data;
33: int setupcalled;
34: int numberofshifts;
35: int lineariterations;
36: };
38: extern int STDefaultApplyB( ST, Vec, Vec );
40: #endif