EigenvalueSoLversforPetaflop-Applications(ELPA)  2016.05.001
elpa_generated_fortran_interfaces.h
Go to the documentation of this file.
1 #ifdef HAVE_AVX
2  interface
3  subroutine single_hh_trafo_complex_avx_avx2_1hv(q, hh, pnb, pnq, pldq) bind(C, name="single_hh_trafo_complex_avx_avx2_1hv")
4  use, intrinsic :: iso_c_binding
5  integer(kind=c_int) :: pnb, pnq, pldq
6  complex(kind=c_double) :: q(*)
7  complex(kind=c_double) :: hh(pnb,2)
8  end subroutine
9  end interface
10 #endif
11 #ifdef HAVE_AVX
12  interface
13  subroutine double_hh_trafo_complex_avx_avx2_2hv(q, hh, pnb, pnq, pldq, pldh) bind(C, name="double_hh_trafo_complex_avx_avx2_2hv")
14  use, intrinsic :: iso_c_binding
15  integer(kind=c_int) :: pnb, pnq, pldq, pldh
16  complex(kind=c_double) :: q(*)
17  complex(kind=c_double) :: hh(pnb,2)
18  end subroutine
19  end interface
20 #endif
21 #ifdef HAVE_SSE_INTRINSICS
22  interface
23  subroutine single_hh_trafo_complex_sse_1hv(q, hh, pnb, pnq, pldq) bind(C, name="single_hh_trafo_complex_sse_1hv")
24  use, intrinsic :: iso_c_binding
25  integer(kind=c_int) :: pnb, pnq, pldq
26  complex(kind=c_double) :: q(*)
27  complex(kind=c_double) :: hh(pnb,2)
28  end subroutine
29  end interface
30 #endif
31 #ifdef HAVE_SSE_INTRINSICS
32  interface
33  subroutine double_hh_trafo_complex_sse_2hv(q, hh, pnb, pnq, pldq, pldh) bind(C, name="double_hh_trafo_complex_sse_2hv")
34  use, intrinsic :: iso_c_binding
35  integer(kind=c_int) :: pnb, pnq, pldq, pldh
36  complex(kind=c_double) :: q(*)
37  complex(kind=c_double) :: hh(pnb,2)
38  end subroutine
39  end interface
40 #endif
41 #ifdef HAVE_AVX
42  interface
43  subroutine double_hh_trafo_real_avx_avx2_2hv(q, hh, pnb, pnq, pldq, pldh) bind(C, name="double_hh_trafo_real_avx_avx2_2hv")
44  use, intrinsic :: iso_c_binding
45  integer(kind=c_int) :: pnb, pnq, pldq, pldh
46  real(kind=c_double) :: q(*)
47  real(kind=c_double) :: hh(pnb,6)
48  end subroutine
49  end interface
50 #endif
51 #ifdef HAVE_AVX
52  interface
53  subroutine quad_hh_trafo_real_avx_avx2_4hv(q, hh, pnb, pnq, pldq, pldh) bind(C, name="quad_hh_trafo_real_avx_avx2_4hv")
54  use, intrinsic :: iso_c_binding
55  integer(kind=c_int) :: pnb, pnq, pldq, pldh
56  real(kind=c_double) :: q(*)
57  real(kind=c_double) :: hh(pnb,6)
58  end subroutine
59  end interface
60 #endif
61 #ifdef HAVE_AVX
62  interface
63  subroutine hexa_hh_trafo_real_avx_avx2_6hv(q, hh, pnb, pnq, pldq, pldh) bind(C, name="hexa_hh_trafo_real_avx_avx2_6hv")
64  use, intrinsic :: iso_c_binding
65  integer(kind=c_int) :: pnb, pnq, pldq, pldh
66  real(kind=c_double) :: q(*)
67  real(kind=c_double) :: hh(pnb,6)
68  end subroutine
69  end interface
70 #endif
71 #ifdef HAVE_SSE_INTRINSICS
72  interface
73  subroutine double_hh_trafo_real_sse_2hv(q, hh, pnb, pnq, pldq, pldh) bind(C, name="double_hh_trafo_real_sse_2hv")
74  use, intrinsic :: iso_c_binding
75  integer(kind=c_int) :: pnb, pnq, pldq, pldh
76  real(kind=c_double) :: q(*)
77  real(kind=c_double) :: hh(pnb,6)
78  end subroutine
79  end interface
80 #endif
81 #ifdef HAVE_SSE_INTRINSICS
82  interface
83  subroutine quad_hh_trafo_real_sse_4hv(q, hh, pnb, pnq, pldq, pldh) bind(C, name="quad_hh_trafo_real_sse_4hv")
84  use, intrinsic :: iso_c_binding
85  integer(kind=c_int) :: pnb, pnq, pldq, pldh
86  real(kind=c_double) :: q(*)
87  real(kind=c_double) :: hh(pnb,6)
88  end subroutine
89  end interface
90 #endif
91 #ifdef HAVE_SSE_INTRINSICS
92  interface
93  subroutine hexa_hh_trafo_real_sse_6hv(q, hh, pnb, pnq, pldq, pldh) bind(C, name="hexa_hh_trafo_real_sse_6hv")
94  use, intrinsic :: iso_c_binding
95  integer(kind=c_int) :: pnb, pnq, pldq, pldh
96  real(kind=c_double) :: q(*)
97  real(kind=c_double) :: hh(pnb,6)
98  end subroutine
99  end interface
100 #endif