TABLE OF CONTENTS


ABINIT/m_dynarray [ Modules ]

[ Top ] [ Modules ]

NAME

 m_dynarray

FUNCTION

 Module for int and real(dp) array which allocate memory dynamically
 real_array_type for real(dp) and int_array_type for integer.
 they have push (but no pop) and finalize methods.
 TODO hexu: Is this already implemented somewhere in abinit.
 If not, should this file be moved to the place to make it more general usable?

 MG: Yes, this module should be moved to a lower level directory so that one can reuse it in other
 parts of the code.

COPYRIGHT

 Copyright (C) 2010-2024 ABINIT group (hexu)
 This file is distributed under the terms of the
 GNU General Public Licence, see ~abinit/COPYING
 or http://www.gnu.org/copyleft/gpl.txt .
 For the initials of contributors, see ~abinit/doc/developers/contributors.txt .

SOURCE

27 #if defined HAVE_CONFIG_H
28 #include "config.h"
29 #endif
30 #include "abi_common.h"
31 
32 module m_dynamic_array
33 
34   use defs_basis
35   use m_abicore
36   use m_errors
37   use m_mathfuncs, only: array_morethan, binsearch_left_integerlist,binsearch_left_integer
38   use m_mergesort, only: MergeSort, MergeSort2D
39 
40   implicit none
41   private

defs_abitypes/int2d_array_type [ Types ]

[ Top ] [ defs_abitypes ] [ Types ]

NAME

 int2d_array_type

FUNCTION

 datatype of integer array which the dim=2 can be dynamically allocated

SOURCE

 89   type , public::int2d_array_type
 90      integer:: size=0, capacity=0, size1=-1
 91      logical :: sorted=.False.
 92      integer, allocatable :: data(:,:)
 93    CONTAINS
 94      procedure :: push => int2d_array_type_push
 95      procedure :: concate => int2d_array_type_concate
 96      procedure :: tostatic => int2d_array_type_tostatic
 97      procedure :: push_unique => int2d_array_type_push_unique
 98      procedure :: sort => int2d_array_type_sort
 99      procedure :: binsearch =>int2d_array_type_binsearch
100      procedure :: finalize => int2d_array_type_finalize
101   end type int2d_array_type

m_dynarray/int_array_type [ Types ]

[ Top ] [ m_dynarray ] [ Types ]

NAME

 int_array_type

FUNCTION

 datatype of real(dp) array which can be dynamically allocated

SOURCE

71   type , public::int_array_type
72     integer:: size=0, capacity=0
73     integer, allocatable :: data(:)
74   CONTAINS
75     procedure :: push => int_array_type_push
76     procedure :: finalize => int_array_type_finalize
77     procedure :: sort => int_array_type_sort
78   end type int_array_type

m_dynarray/real_array_type [ Types ]

[ Top ] [ m_dynarray ] [ Types ]

NAME

 real_array_type

FUNCTION

 datatype of real(dp) array which can be dynamically allocated

SOURCE

52   type, public:: real_array_type
53     integer:: size=0, capacity=0
54     real(dp), allocatable :: data(:)
55   CONTAINS
56     procedure :: push => real_array_type_push
57     procedure :: finalize => real_array_type_finalize
58   end type real_array_type