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