(git:e7e05ae)
cp_parser_ilist_types.F
Go to the documentation of this file.
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 ! **************************************************************************************************
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 ! **************************************************************************************************
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  SUBROUTINE create_ilist_type(ilist)
42  TYPE(ilist_type), POINTER :: ilist
43 
44  cpassert(.NOT. ASSOCIATED(ilist))
45  ALLOCATE (ilist)
46 
47  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  SUBROUTINE release_ilist_type(ilist)
56  TYPE(ilist_type), POINTER :: ilist
57 
58  cpassert(ASSOCIATED(ilist))
59  DEALLOCATE (ilist)
60  END SUBROUTINE release_ilist_type
61 
62 END MODULE cp_parser_ilist_types
a module to allow simple internal preprocessing in input files.
subroutine, public release_ilist_type(ilist)
creates the integer listing type
subroutine, public create_ilist_type(ilist)
creates the integer listing type