Actual source code: tcqmrimpl.h

      1: #pragma once
      2: /*
      3:    Private include for tcqmr package
      4:  */

      6: #include <petsc/private/kspimpl.h>

      8: /* vector names */
      9: #define VEC_OFFSET 0
     10: #define VEC_SOLN   ksp->vec_sol
     11: #define VEC_RHS    ksp->vec_rhs
     12: #define b          VEC_RHS
     13: #define x          VEC_SOLN
     14: #define r          ksp->work[VEC_OFFSET + 1]
     15: #define um1        ksp->work[VEC_OFFSET + 2]
     16: #define u          ksp->work[VEC_OFFSET + 3]
     17: #define vm1        ksp->work[VEC_OFFSET + 4]
     18: #define v          ksp->work[VEC_OFFSET + 5]
     19: #define v0         ksp->work[VEC_OFFSET + 6]
     20: #define pvec1      ksp->work[VEC_OFFSET + 7]
     21: #define pvec2      ksp->work[VEC_OFFSET + 8]
     22: #define p          ksp->work[VEC_OFFSET + 9]
     23: #define y          ksp->work[VEC_OFFSET + 10]
     24: #define z          ksp->work[VEC_OFFSET + 11]
     25: #define utmp       ksp->work[VEC_OFFSET + 12]
     26: #define up1        ksp->work[VEC_OFFSET + 13]
     27: #define vp1        ksp->work[VEC_OFFSET + 14]
     28: #define pvec       ksp->work[VEC_OFFSET + 15]
     29: #define vtmp       ksp->work[VEC_OFFSET + 16]
     30: #define TCQMR_VECS 17