Actual source code: arpackp.h
slepc-3.10.1 2018-10-23
Report Typos and Errors

      1: /*
      2:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      3:    SLEPc - Scalable Library for Eigenvalue Problem Computations
      4:    Copyright (c) 2002-2018, 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: */

     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: PETSC_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: PETSC_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: PETSC_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: PETSC_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: PETSC_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: PETSC_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