Line data Source code
1 : !--------------------------------------------------------------------------------------------------! 2 : ! CP2K: A general program to perform molecular dynamics simulations ! 3 : ! Copyright 2000-2025 CP2K developers group <https://cp2k.org> ! 4 : ! ! 5 : ! SPDX-License-Identifier: GPL-2.0-or-later ! 6 : !--------------------------------------------------------------------------------------------------! 7 : 8 : ! ************************************************************************************************** 9 : !> \brief a module to allow simple internal preprocessing in input files. 10 : !> \par History 11 : !> - standalone proof-of-concept implementation (20.02.2008,AK) 12 : !> - integration into cp2k (22.02.2008,tlaino) 13 : !> - variables added (25.02.2008,AK) 14 : !> \author Axel Kohlmeyer [AK] - CMM/UPenn Philadelphia 15 : !> \date 25.02.2008 16 : ! ************************************************************************************************** 17 : MODULE cp_parser_ilist_types 18 : 19 : #include "../base/base_uses.f90" 20 : IMPLICIT NONE 21 : PRIVATE 22 : 23 : TYPE ilist_type 24 : LOGICAL :: in_use = .FALSE. 25 : INTEGER :: nel_list = HUGE(0) 26 : INTEGER :: istart = HUGE(0), iend = HUGE(0) 27 : INTEGER :: ipresent = HUGE(0) 28 : END TYPE ilist_type 29 : 30 : PUBLIC :: ilist_type, create_ilist_type, release_ilist_type 31 : CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'cp_parser_ilist_types' 32 : 33 : CONTAINS 34 : 35 : ! **************************************************************************** 36 : !> \brief creates the integer listing type 37 : !> \param ilist ... 38 : !> \date 08.2008 39 : !> \author Teodoro Laino [tlaino] - University of Zurich 40 : ! ************************************************************************************************** 41 53735 : SUBROUTINE create_ilist_type(ilist) 42 : TYPE(ilist_type), POINTER :: ilist 43 : 44 53735 : CPASSERT(.NOT. ASSOCIATED(ilist)) 45 53735 : ALLOCATE (ilist) 46 : 47 53735 : END SUBROUTINE create_ilist_type 48 : 49 : ! **************************************************************************** 50 : !> \brief creates the integer listing type 51 : !> \param ilist ... 52 : !> \date 08.2008 53 : !> \author Teodoro Laino [tlaino] - University of Zurich 54 : ! ************************************************************************************************** 55 53735 : SUBROUTINE release_ilist_type(ilist) 56 : TYPE(ilist_type), POINTER :: ilist 57 : 58 53735 : CPASSERT(ASSOCIATED(ilist)) 59 53735 : DEALLOCATE (ilist) 60 53735 : END SUBROUTINE release_ilist_type 61 : 62 0 : END MODULE cp_parser_ilist_types