Line data Source code
1 : ! This file is part of ELPA.
2 : !
3 : ! The ELPA library was originally created by the ELPA consortium,
4 : ! consisting of the following organizations:
5 : !
6 : ! - Max Planck Computing and Data Facility (MPCDF), formerly known as
7 : ! Rechenzentrum Garching der Max-Planck-Gesellschaft (RZG),
8 : ! - Bergische Universität Wuppertal, Lehrstuhl für angewandte
9 : ! Informatik,
10 : ! - Technische Universität München, Lehrstuhl für Informatik mit
11 : ! Schwerpunkt Wissenschaftliches Rechnen ,
12 : ! - Fritz-Haber-Institut, Berlin, Abt. Theorie,
13 : ! - Max-Plack-Institut für Mathematik in den Naturwissenschaften,
14 : ! Leipzig, Abt. Komplexe Strukutren in Biologie und Kognition,
15 : ! and
16 : ! - IBM Deutschland GmbH
17 : !
18 : ! This particular source code file contains additions, changes and
19 : ! enhancements authored by Intel Corporation which is not part of
20 : ! the ELPA consortium.
21 : !
22 : ! More information can be found here:
23 : ! http://elpa.mpcdf.mpg.de/
24 : !
25 : ! ELPA is free software: you can redistribute it and/or modify
26 : ! it under the terms of the version 3 of the license of the
27 : ! GNU Lesser General Public License as published by the Free
28 : ! Software Foundation.
29 : !
30 : ! ELPA is distributed in the hope that it will be useful,
31 : ! but WITHOUT ANY WARRANTY; without even the implied warranty of
32 : ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 : ! GNU Lesser General Public License for more details.
34 : !
35 : ! You should have received a copy of the GNU Lesser General Public License
36 : ! along with ELPA. If not, see <http://www.gnu.org/licenses/>
37 : !
38 : ! ELPA reflects a substantial effort on the part of the original
39 : ! ELPA consortium, and we ask you to respect the spirit of the
40 : ! license that we chose: i.e., please contribute any changes you
41 : ! may have back to the original ELPA library distribution, and keep
42 : ! any derivatives of ELPA under the same license that we chose for
43 : ! the original distribution, the GNU Lesser General Public License.
44 : !
45 : !
46 : ! ELPA1 -- Faster replacements for ScaLAPACK symmetric eigenvalue routines
47 : !
48 : ! Copyright of the original code rests with the authors inside the ELPA
49 : ! consortium. The copyright of any additional modifications shall rest
50 : ! with their original authors, but shall adhere to the licensing terms
51 : ! distributed along with the original code in the file "COPYING".
52 : !
53 : ! Author: A. Marek, MPCDF
54 :
55 :
56 0 : function elpa_mult_at_b_&
57 : &MATH_DATATYPE&
58 : &_wrapper_&
59 : &PRECISION&
60 0 : & (uplo_a, uplo_c, na, ncb, a, lda, ldaCols, b, ldb, ldbCols, nblk, mpi_comm_rows, mpi_comm_cols, c, ldc, ldcCols) &
61 : bind(C,name="elpa_mult_at_b_&
62 : &MATH_DATATYPE&
63 : &_&
64 : &PRECISION&
65 : &") result(success)
66 : use, intrinsic :: iso_c_binding
67 : use elpa1_auxiliary, only : elpa_mult_at_b_&
68 : &MATH_DATATYPE&
69 : &_&
70 : &PRECISION
71 :
72 : implicit none
73 :
74 : character(1,C_CHAR), value :: uplo_a, uplo_c
75 : integer(kind=c_int), value :: na, ncb, lda, ldb, nblk, mpi_comm_rows, mpi_comm_cols, ldc, &
76 : ldaCols, ldbCols, ldcCols
77 : integer(kind=c_int) :: success
78 : #ifdef USE_ASSUMED_SIZE
79 : real(kind=C_DATATYPE_KIND) :: a(lda,*), b(ldb,*), c(ldc,*)
80 : #else
81 : real(kind=C_DATATYPE_KIND) :: a(lda,ldaCols), b(ldb,ldbCols), c(ldc,ldcCols)
82 : #endif
83 : logical :: successFortran
84 :
85 : successFortran = elpa_mult_at_b_&
86 : &MATH_DATATYPE&
87 : &_&
88 : &PRECISION&
89 0 : & (uplo_a, uplo_c, na, ncb, a, lda, ldaCols, b, ldb, ldbCols, nblk, mpi_comm_rows, mpi_comm_cols, c, ldc, ldcCols)
90 :
91 0 : if (successFortran) then
92 0 : success = 1
93 : else
94 0 : success = 0
95 : endif
96 :
97 0 : end function
98 :
99 :
|