65 logical ,
intent(out) :: found
66 type(
link_node),
pointer :: previous,current
69 previous => links%first
70 current => previous%next
74 if(found .or. (.not.
associated (current)))
return 75 if(obj == current%v)
then 78 previous => previous%next
79 current => current%next
84 previous%next => current%next
93 integer,
intent(in) :: ME
94 type(
link_node),
pointer :: previous,current
97 previous => links%first
98 current => previous%next
102 if(.not.
associated (current))
return 103 if(
myid /= current%v%PID)
then 104 previous%next => current%next
106 current => previous%next
108 previous => previous%next
109 current => current%next
118 type(
link_node),
pointer :: previous,current
121 previous => links%first
122 current => previous%next
125 if(.not.
associated (current))
return 126 if(.not. current%v%found)
then 127 previous%next => current%next
130 previous => previous%next
131 current => current%next
140 type(
link_node),
pointer :: previous,current
142 previous => links%first
143 current => previous%next
146 if( .not.
associated (current) )
exit 147 if( obj < current%v )
exit 149 current => current%next
153 allocate(previous%next)
154 previous%next%v = obj
155 previous%next%next => current
162 t_or_f = .not.
associated (links%first%next)
168 allocate ( obj%first, stat=status)
169 if(status/=0)
CALL fatal_error(
"LinkList: Could not allocate new linklist")
170 nullify(obj%first%next)
178 current => links%first%next
182 if(.not.
associated(current) )
exit 184 current => current%next
188 write(ipt,*)
"! PROC:",
myid,
"; # of local particles:", count
194 current => links%first%next
196 if(.not.
associated(current) )
exit 198 current => current%next
217 current => links%first%next
219 if(.not.
associated(current) )
exit 220 write(*,*)current%v%id
221 current => current%next
229 current => links%first%next
232 if(.not.
associated(current) )
exit 234 current => current%next
239 function listsize (links)
result (counter)
244 current => links%first%next
247 if(.not.
associated(current) )
exit 248 counter = counter + 1
249 current => current%next
257 current => links%first%next
259 if(.not.
associated(current) )
exit 260 current%v%found = .false.
261 current => current%next
subroutine screen_write(p, hprint)
subroutine delete_not_mine(links, ME)
type(link_list) function new_list()
integer function listsize(links)
subroutine shift_pos_list(links)
subroutine print_id_list(links)
logical function empty_list(links)
subroutine node_insert(links, obj)
subroutine delete_not_found(links)
subroutine node_delete(links, obj, found)
subroutine print_list(links)
subroutine particle_print(p)
subroutine set_not_found(links)
subroutine print_data(links)