PageRenderTime 48ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/src/lapack_prototypes.h

https://github.com/certik/openmx
C Header | 97 lines | 79 code | 18 blank | 0 comment | 0 complexity | 7f7f0a7b0b2fd9ab11167e22b4f77add MD5 | raw file
  1. #include "f77func.h"
  2. #ifdef blaswrap
  3. #define zgemm_ f2c_zgemm
  4. #define zcopy_ f2c_zcopy
  5. #endif
  6. #ifndef ___INTEGER_definition___
  7. typedef int INTEGER; /* for fortran integer */
  8. #define ___INTEGER_definition___
  9. #endif
  10. #ifndef ___logical_definition___
  11. typedef long int logical;
  12. #define ___logical_definition___
  13. #endif
  14. #ifndef ___dcomplex_definition___
  15. typedef struct { double r,i; } dcomplex;
  16. #define ___dcomplex_definition___
  17. #endif
  18. int dgesv_(INTEGER *n, INTEGER *nrhs, double *a, INTEGER *lda, INTEGER *ipiv, double *b,
  19. INTEGER *ldb, INTEGER *info);
  20. void dsyev_(char *JOBZ, char *UPLO,INTEGER *N,double *A,INTEGER *LDA,double *W,
  21. double *WORK,INTEGER *LWORK, INTEGER *INFO);
  22. void dsbev_(char *JOBZ, char *UPLO, INTEGER *N, INTEGER *KD, double *AB, INTEGER *LDAB,
  23. double *W, double *Z,
  24. INTEGER * LDZ,double *WORK, INTEGER *INFO );
  25. void dgesvd_(char *JOBU, char *JOBVT, INTEGER *M, INTEGER *N, double *A, INTEGER *LDA, double *S, double *U,
  26. INTEGER *LDU, double *VT, INTEGER *LDVT, double *WORK, INTEGER *LWORK, INTEGER *INFO );
  27. void dsyevx_(char *JOBZ, char *RANGE, char *UPLO, INTEGER *N, double *A, INTEGER *LDA,
  28. double *VL, double *VU,
  29. INTEGER *IL, INTEGER *IU, double *ABSTOL, INTEGER *M, double *W, double *Z,
  30. INTEGER *LDZ, double *WORK,
  31. INTEGER *LWORK, INTEGER *IWORK, INTEGER *IFAIL, INTEGER *INFO);
  32. void dsyevd_(char *JOBZ, char *UPLO, INTEGER *N, double *A, INTEGER *LDA, double *W, double *WORK,
  33. INTEGER *LWORK, INTEGER *IWORK,
  34. INTEGER *LIWORK, INTEGER *INFO);
  35. void dsyevr_(char *JOBZ, char *RANGE, char *UPLO, INTEGER *N, double *A, INTEGER *LDA, double *VL, double *VU,
  36. INTEGER *IL, INTEGER *IU,
  37. double *ABSTOL, INTEGER *M, double *W, double *Z,INTEGER *LDZ, INTEGER *ISUPPZ, double *WORK,
  38. INTEGER *LWORK, INTEGER *IWORK, INTEGER *LIWORK, INTEGER *INFO);
  39. int dstevx_(char *JOBZ, char *RANGE, INTEGER *N, double *D, double *E, double *VL, double *VU, INTEGER *IL, INTEGER *IU, double *ABSTOL,
  40. INTEGER *M, double *W, double *Z, INTEGER *LDZ, double *WORK, INTEGER *IWORK, INTEGER *IFAIL, INTEGER *INFO);
  41. void dgetrf_(INTEGER *M, INTEGER *N,double *A, INTEGER *LDA, INTEGER *IPIV, INTEGER *INFO);
  42. void dgetri_( INTEGER *N, double *A, INTEGER *LDA, INTEGER *IPIV, double *WORK, INTEGER *LWORK, INTEGER *INFO);
  43. int dsysv_(char *UPLO, INTEGER *N, INTEGER *NRHS, double *A, INTEGER *LDA, INTEGER *IPIV, double *B, INTEGER *LDB, double *WORK,
  44. INTEGER *LWORK, INTEGER *INFO);
  45. int dstedc_(char *COMPZ , INTEGER *N , double *D , double *E , double *Z ,
  46. INTEGER *LDZ , double *WORK , INTEGER *LWORK , INTEGER *IWORK , INTEGER *LIWORK ,
  47. INTEGER *INFO);
  48. int dstegr_(char *JOBZ , char *RANGE , INTEGER *N , double *D , double *E ,
  49. double *VL , double *VU , INTEGER *IL , INTEGER *IU , double *ABSTOL ,
  50. INTEGER *M , double *W , double *Z , INTEGER *LDZ , INTEGER *ISUPPZ ,
  51. double *WORK , INTEGER *LWORK , INTEGER *IWORK , INTEGER *LIWORK , INTEGER *INFO
  52. );
  53. int dsteqr_(char *compz, INTEGER *n, double *d__,
  54. double *e, double *z__, INTEGER *ldz, double *work, INTEGER *info);
  55. void zheev_(char *JOBZ, char *UPLO, INTEGER *N, dcomplex *A, INTEGER *LDA, double *W, dcomplex *WORK, INTEGER *LWORK,
  56. double *RWORK, INTEGER *INFO);
  57. void zheevx_(char *JOBZ, char *RANGE, char *UPLO, INTEGER *N, dcomplex *A, INTEGER *LDA, double *VL, double *VU, INTEGER *IL, INTEGER *IU,
  58. double *ABSTOL, INTEGER *M, double *W, dcomplex *Z, INTEGER *LDZ, dcomplex *WORK, INTEGER *LWORK, double *RWORK,
  59. INTEGER *IWORK, INTEGER *IFAIL, INTEGER *INFO);
  60. void zheev_(char *JOBZ, char *UPLO, int *N, dcomplex *A, int *LDA, double *W, dcomplex *WORK, int *LWORK, double *RWORK,
  61. int *INFO);
  62. void zheevx_(char *JOBZ, char *RANGE, char *UPLO, int *N, dcomplex *A, int *LDA, double *VL, double *VU, int *IL, int *IU,
  63. double *ABSTOL, int *M, double *W, dcomplex *Z, int *LDZ, dcomplex *WORK, int *LWORK, double *RWORK,
  64. int *IWORK, int *IFAIL, int *INFO);
  65. void zgemm_(char* TRANSA, char* TRANSB, int * M, int * N,int *K, dcomplex *alpha,
  66. dcomplex *A, int *LDA, dcomplex *B, int*LDB, dcomplex *beta, dcomplex *C, int *LDC);
  67. void zgetrf_(int *m, int *n, dcomplex *a,int *lda,int *ipvt, int *info );
  68. void zgetri_(int *n,dcomplex *a,int *lda, int *ipvt, dcomplex *work, int *lwork, int *info);
  69. int zcopy_(int *n, dcomplex *zx, int *incx, dcomplex *zy, int *incy);
  70. void dpotrf_(char *uplo, INTEGER *n, double *a, INTEGER *lda, INTEGER *info);
  71. void dpotri_(char *uplo, INTEGER *n, double *a, INTEGER *lda, INTEGER *info);
  72. void dggevx_(char *balanc, char *jobvl, char *jobvr, char *sense,
  73. INTEGER *n, double *a, INTEGER *lda, double *b,
  74. INTEGER *ldb, double *alphar, double *alphai, double *beta,
  75. double *vl, INTEGER *ldvl, double *vr, INTEGER *ldvr,
  76. INTEGER *ilo, INTEGER *ihi, double *lscale, double *rscale,
  77. double *abnrm, double *bbnrm, double *rconde, double *rcondv,
  78. double *work, INTEGER *lwork, INTEGER *iwork, logical *bwork,
  79. INTEGER *info);