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