Actual source code: arpackp.h

slepc-3.11.2 2019-07-30
Report Typos and Errors
  1: /*
  2:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  3:    SLEPc - Scalable Library for Eigenvalue Problem Computations
  4:    Copyright (c) 2002-2019, Universitat Politecnica de Valencia, Spain

  6:    This file is part of SLEPc.
  7:    SLEPc is distributed under a 2-clause BSD license (see LICENSE).
  8:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  9: */
 10: /*
 11:    Private data structure used by the ARPACK interface
 12: */

 14: #if !defined(SLEPC_ARPACK_H)
 15: #define SLEPC_ARPACK_H

 17: typedef struct {
 18:   PetscBool    *select;
 19:   PetscScalar  *workev;
 20:   PetscScalar  *workd;
 21:   PetscScalar  *workl;
 22:   PetscBLASInt lworkl;
 23:   PetscReal    *rwork;
 24: } EPS_ARPACK;

 26: /*
 27:    Definition of routines from the ARPACK package
 28: */

 30: #if defined(PETSC_HAVE_MPIUNI)

 32: #if defined(PETSC_USE_COMPLEX)

 34: #if defined(PETSC_USE_REAL_SINGLE)

 36: #if defined(SLEPC_ARPACK_HAVE_UNDERSCORE)
 37: #define SLEPC_ARPACK(lcase,ucase) c##lcase##_
 38: #elif defined(SLEPC_ARPACK_HAVE_CAPS)
 39: #define SLEPC_ARPACK(lcase,ucase) C##ucase
 40: #else
 41: #define SLEPC_ARPACK(lcase,ucase) c##lcase
 42: #endif

 44: #else

 46: #if defined(SLEPC_ARPACK_HAVE_UNDERSCORE)
 47: #define SLEPC_ARPACK(lcase,ucase) z##lcase##_
 48: #elif defined(SLEPC_ARPACK_HAVE_CAPS)
 49: #define SLEPC_ARPACK(lcase,ucase) Z##ucase
 50: #else
 51: #define SLEPC_ARPACK(lcase,ucase) z##lcase
 52: #endif

 54: #endif

 56: #else

 58: #if defined(PETSC_USE_REAL_SINGLE)

 60: #if defined(SLEPC_ARPACK_HAVE_UNDERSCORE)
 61: #define SLEPC_ARPACK(lcase,ucase) s##lcase##_
 62: #elif defined(SLEPC_ARPACK_HAVE_CAPS)
 63: #define SLEPC_ARPACK(lcase,ucase) S##ucase
 64: #else
 65: #define SLEPC_ARPACK(lcase,ucase) s##lcase
 66: #endif

 68: #else

 70: #if defined(SLEPC_ARPACK_HAVE_UNDERSCORE)
 71: #define SLEPC_ARPACK(lcase,ucase) d##lcase##_
 72: #elif defined(SLEPC_ARPACK_HAVE_CAPS)
 73: #define SLEPC_ARPACK(lcase,ucase) D##ucase
 74: #else
 75: #define SLEPC_ARPACK(lcase,ucase) d##lcase
 76: #endif

 78: #endif

 80: #endif

 82: #else  /* not MPIUNI */

 84: #if defined(PETSC_USE_COMPLEX)

 86: #if defined(PETSC_USE_REAL_SINGLE)

 88: #if defined(SLEPC_ARPACK_HAVE_UNDERSCORE)
 89: #define SLEPC_ARPACK(lcase,ucase) pc##lcase##_
 90: #elif defined(SLEPC_ARPACK_HAVE_CAPS)
 91: #define SLEPC_ARPACK(lcase,ucase) PC##ucase
 92: #else
 93: #define SLEPC_ARPACK(lcase,ucase) pc##lcase
 94: #endif

 96: #else

 98: #if defined(SLEPC_ARPACK_HAVE_UNDERSCORE)
 99: #define SLEPC_ARPACK(lcase,ucase) pz##lcase##_
100: #elif defined(SLEPC_ARPACK_HAVE_CAPS)
101: #define SLEPC_ARPACK(lcase,ucase) PZ##ucase
102: #else
103: #define SLEPC_ARPACK(lcase,ucase) pz##lcase
104: #endif

106: #endif

108: #else

110: #if defined(PETSC_USE_REAL_SINGLE)

112: #if defined(SLEPC_ARPACK_HAVE_UNDERSCORE)
113: #define SLEPC_ARPACK(lcase,ucase) ps##lcase##_
114: #elif defined(SLEPC_ARPACK_HAVE_CAPS)
115: #define SLEPC_ARPACK(lcase,ucase) PS##ucase
116: #else
117: #define SLEPC_ARPACK(lcase,ucase) ps##lcase
118: #endif

120: #else

122: #if defined(SLEPC_ARPACK_HAVE_UNDERSCORE)
123: #define SLEPC_ARPACK(lcase,ucase) pd##lcase##_
124: #elif defined(SLEPC_ARPACK_HAVE_CAPS)
125: #define SLEPC_ARPACK(lcase,ucase) PD##ucase
126: #else
127: #define SLEPC_ARPACK(lcase,ucase) pd##lcase
128: #endif

130: #endif

132: #endif

134: #endif

136: #if defined(PETSC_HAVE_MPIUNI)

138: #define COMM_ARG

140: #if !defined(PETSC_USE_COMPLEX)

142: #define ARPACKnaupd_(comm,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) SLEPC_ARPACK(naupd,NAUPD) ((a),(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),1,2)
143: #define ARPACKneupd_(comm,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) SLEPC_ARPACK(neupd,NEUPD) ((a),(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s),(t),(u),(v),(w),(x),(y),1,1,2)
144: #define ARPACKsaupd_(comm,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) SLEPC_ARPACK(saupd,SAUPD) ((a),(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),1,2)
145: #define ARPACKseupd_(comm,a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u,v,w) SLEPC_ARPACK(seupd,SEUPD) ((a),(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(o),(p),(q),(r),(s),(t),(u),(v),(w),1,1,2)

147: #else

149: #define ARPACKnaupd_(comm,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) SLEPC_ARPACK(naupd,NAUPD) ((a),(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),1,2)
150: #define ARPACKneupd_(comm,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) SLEPC_ARPACK(neupd,NEUPD) ((a),(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s),(t),(u),(v),(w),(x),1,1,2)

152: #endif

154: #else /* not MPIUNI */

156: #define COMM_ARG MPI_Fint*,

158: #if !defined(PETSC_USE_COMPLEX)

160: #define ARPACKnaupd_(comm,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) SLEPC_ARPACK(naupd,NAUPD) ((comm),(a),(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),1,2)
161: #define ARPACKneupd_(comm,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) SLEPC_ARPACK(neupd,NEUPD) ((comm),(a),(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s),(t),(u),(v),(w),(x),(y),1,1,2)
162: #define ARPACKsaupd_(comm,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) SLEPC_ARPACK(saupd,SAUPD) ((comm),(a),(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),1,2)
163: #define ARPACKseupd_(comm,a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u,v,w) SLEPC_ARPACK(seupd,SEUPD) ((comm),(a),(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(o),(p),(q),(r),(s),(t),(u),(v),(w),1,1,2)

165: #else

167: #define ARPACKnaupd_(comm,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) SLEPC_ARPACK(naupd,NAUPD) ((comm),(a),(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),1,2)
168: #define ARPACKneupd_(comm,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) SLEPC_ARPACK(neupd,NEUPD) ((comm),(a),(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s),(t),(u),(v),(w),(x),1,1,2)

170: #endif

172: #endif

174: SLEPC_EXTERN void   SLEPC_ARPACK(saupd,SAUPD)(COMM_ARG PetscBLASInt*,char*,PetscBLASInt*,const char*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,int,int);
175: SLEPC_EXTERN void   SLEPC_ARPACK(seupd,SEUPD)(COMM_ARG PetscBool*,char*,PetscBool*,PetscReal*,PetscReal*,PetscBLASInt*,PetscReal*,char*,PetscBLASInt*,const char*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,int,int,int);

177: #if !defined(PETSC_USE_COMPLEX)
178: SLEPC_EXTERN void   SLEPC_ARPACK(naupd,NAUPD)(COMM_ARG PetscBLASInt*,char*,PetscBLASInt*,const char*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,int,int);
179: SLEPC_EXTERN void   SLEPC_ARPACK(neupd,NEUPD)(COMM_ARG PetscBool*,char*,PetscBool*,PetscReal*,PetscReal*,PetscReal*,PetscBLASInt*,PetscReal*,PetscReal*,PetscReal*,char*,PetscBLASInt*,const char*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,int,int,int);
180: #else
181: SLEPC_EXTERN void   SLEPC_ARPACK(naupd,NAUPD)(COMM_ARG PetscBLASInt*,char*,PetscBLASInt*,const char*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,int,int);
182: SLEPC_EXTERN void   SLEPC_ARPACK(neupd,NEUPD)(COMM_ARG PetscBool*,char*,PetscBool*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,char*,PetscBLASInt*,const char*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,int,int,int);
183: #endif

185: #endif