LCOV - code coverage report
Current view: top level - src/xc - cp_linked_list_xc_deriv.F (source / functions) Hit Total Coverage
Test: CP2K Regtests (git:34ef472) Lines: 1 2 50.0 %
Date: 2024-04-26 08:30:29 Functions: 6 19 31.6 %

          Line data    Source code
       1             : !--------------------------------------------------------------------------------------------------!
       2             : !   CP2K: A general program to perform molecular dynamics simulations                              !
       3             : !   Copyright 2000-2024 CP2K developers group <https://cp2k.org>                                   !
       4             : !                                                                                                  !
       5             : !   SPDX-License-Identifier: GPL-2.0-or-later                                                      !
       6             : !--------------------------------------------------------------------------------------------------!
       7             : 
       8             : #:include '../common/cp_linked_list.fypp'
       9             : 
      10             : MODULE cp_linked_list_xc_deriv
      11             :    USE xc_derivative_types, ONLY: xc_derivative_type, xc_derivative_p_type
      12             : #include "../base/base_uses.f90"
      13             : 
      14             :    #:mute
      15             :       #:set nametype1 = ['xc_deriv']
      16             :       #:set type1 = ['TYPE(xc_derivative_type), POINTER']
      17             :       #:set type1in = type1
      18             :       #:set type1out = type1
      19             : 
      20             :       #:set eq = ['=>']
      21             :       #:set arrayeq = eq
      22             :       #:set type1arrayEl = ['type(xc_derivative_p_type)']
      23             :       #:set arrayEl = ['%deriv']
      24             : 
      25             :       #:def get_private_routines()
      26             : ! **************************************************************************************************
      27             : !> \brief private compare function
      28             : !> \param el1 ...
      29             : !> \param el2 ...
      30             : !> \return ...
      31             : ! **************************************************************************************************
      32             :          function cp_sll_deriv_less_q(el1, el2) result(res)
      33             :             type(xc_derivative_type), INTENT(IN) :: el1, el2
      34             :             logical :: res
      35             : 
      36             :             integer :: i
      37             : 
      38             :             res = size(el1%split_desc) < size(el2%split_desc)
      39             :             if (size(el1%split_desc) == size(el2%split_desc)) then
      40             :                do i = 1, size(el1%split_desc)
      41             :                   if (el1%split_desc(i) /= el2%split_desc(i)) then
      42             :                      res = el1%split_desc(i) < el2%split_desc(i)
      43             :                      exit
      44             :                   end if
      45             :                end do
      46             :             end if
      47             :          end function
      48             :       #:enddef
      49             : 
      50             :       #:set private_routines = get_private_routines()
      51             :       #:set default_init = [' => NULL()']
      52             :    #:endmute
      53             : 
      54    14025546 :    $:inst(nametype1, type1, type1in, type1out, eq, arrayeq, type1arrayEl, arrayEl, private_routines, default_init)
      55           0 : END MODULE

Generated by: LCOV version 1.15