LCOV - code coverage report
Current view: top level - src/elpa1/legacy_interface - elpa1_c_interface_template.F90 (source / functions) Hit Total Coverage
Test: coverage_50ab7a7628bba174fc62cee3ab72b26e81f87fe5.info Lines: 6 7 85.7 %
Date: 2018-01-10 09:29:53 Functions: 2 4 50.0 %

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

Generated by: LCOV version 1.12