 |
FrontISTR
5.7.0
Large-scale structural analysis program with finit element method
|
Go to the documentation of this file.
12 public :: hecmwst_varray_int
30 type hecmwst_varray_int
32 integer(kind=kint) :: nitem
33 integer(kind=kint),
allocatable :: items(:)
34 end type hecmwst_varray_int
39 type( hecmwst_varray_int ),
intent(inout) :: ilist
40 integer(kind=kint),
intent(in) :: n_init_in
42 integer(kind=kint) :: n_init
44 n_init = max(n_init_in,1)
47 allocate( ilist%items(n_init) )
52 type( hecmwst_varray_int ),
allocatable,
intent(inout) :: ilists(:)
53 integer(kind=kint),
intent(in) :: nlists
54 integer(kind=kint),
intent(in) :: n_init_in
56 integer(kind=kint) :: i
58 allocate(ilists(nlists))
65 type( hecmwst_varray_int ),
intent(inout) :: ilist
68 deallocate( ilist%items )
72 type( hecmwst_varray_int ),
allocatable,
intent(inout) :: ilists(:)
74 integer(kind=kint) :: i
78 deallocate( ilists(i)%items )
84 type( hecmwst_varray_int ),
intent(inout) :: ilist
90 subroutine hecmw_varray_int_enlarge( ilist )
91 type( hecmwst_varray_int ),
intent(inout) :: ilist
93 integer(kind=kint) :: i, size_ilist
94 integer(kind=kint),
allocatable :: tmp(:)
96 size_ilist =
size(ilist%items)
97 allocate(tmp(size_ilist))
99 tmp(i) = ilist%items(i)
102 deallocate(ilist%items)
103 allocate(ilist%items(size_ilist*2))
107 ilist%items(i) = tmp(i)
109 end subroutine hecmw_varray_int_enlarge
112 type( hecmwst_varray_int ),
intent(inout) :: ilist
113 integer(kind=kint),
intent(in) :: ival
115 if( ilist%nitem ==
size(ilist%items) ) &
116 &
call hecmw_varray_int_enlarge( ilist )
118 ilist%nitem = ilist%nitem + 1
119 ilist%items(ilist%nitem) = ival
123 type( hecmwst_varray_int ),
intent(inout) :: ilist
124 integer(kind=kint),
intent(in) :: ival
126 integer(kind=kint) :: i
129 if( ilist%items(i) == ival )
return
136 type( hecmwst_varray_int ),
intent(inout) :: ilist
137 integer(kind=kint),
intent(in) :: ival
139 integer(kind=kint) :: i, cval, tmpval
143 if( ilist%items(i) < cval ) cycle
144 tmpval = ilist%items(i)
145 ilist%items(i) = cval
153 type( hecmwst_varray_int ),
intent(inout) :: ilist
154 integer(kind=kint),
intent(in) :: ival
156 integer(kind=kint) :: i
159 if( ilist%items(i) == ival )
return
166 type( hecmwst_varray_int ),
intent(inout) :: ilist
167 integer(kind=kint),
intent(in) :: n
168 integer(kind=kint),
intent(in) :: vals(:)
170 do while( ilist%nitem + n >
size(ilist%items) )
171 call hecmw_varray_int_enlarge( ilist )
174 ilist%items(ilist%nitem+1:ilist%nitem+n) = vals(1:n)
175 ilist%nitem = ilist%nitem + n
179 type( hecmwst_varray_int ),
intent(inout) :: ilist
181 write(*,*)
'n, maxn:', ilist%nitem,
size(ilist%items)
182 write(*,*)
'items:', ilist%items(1:ilist%nitem)
186 type( hecmwst_varray_int ),
allocatable,
intent(inout) :: ilists(:)
188 integer(kind=kint) :: i
191 write(*,*)
"i, n, maxn: ", i, ilists(i)%nitem,
size(ilists(i)%items)
192 write(*,*)
'items:', ilists(i)%items(1:ilists(i)%nitem)
197 type( hecmwst_varray_int ),
intent(in) :: ilist
198 integer(kind=kint),
intent(in) :: ival
200 integer(kind=kint) :: i
209 type( hecmwst_varray_int),
intent(in) :: ilist
215 type( hecmwst_varray_int),
intent(in) :: ilist
216 integer(kind=kint),
intent(in) :: n
222 type( hecmwst_varray_int),
intent(in) :: ilist
223 integer(kind=kint),
intent(inout) :: array(:)
225 array(1:ilist%nitem) = ilist%items(1:ilist%nitem)
subroutine, public hecmw_varray_int_print(ilist)
integer(kind=4), parameter kint
subroutine, public hecmw_varray_int_get_item_all(ilist, array)
subroutine, public hecmw_varray_int_clear(ilist)
subroutine, public hecmw_varray_int_initialize_all(ilists, nlists, n_init_in)
subroutine, public hecmw_varray_int_insert(ilist, ival)
integer(kind=kint) function, public hecmw_varray_int_get_item(ilist, n)
subroutine, public hecmw_varray_int_finalize_all(ilists)
subroutine, public hecmw_varray_int_print_all(ilists)
subroutine, public hecmw_varray_int_add_if_not_exits(ilist, ival)
integer(kind=kint) function, public hecmw_varray_int_find(ilist, ival)
subroutine, public hecmw_varray_int_add(ilist, ival)
subroutine, public hecmw_varray_int_expand(ilist, n, vals)
subroutine, public hecmw_varray_int_initialize(ilist, n_init_in)
subroutine, public hecmw_varray_int_insert_if_not_exists(ilist, ival)
integer(kind=kint) function, public hecmw_varray_int_get_nitem(ilist)
subroutine, public hecmw_varray_int_finalize(ilist)