5 |
private :: increment , dtt, itt, ltt, stt, & |
private :: increment , dtt, itt, ltt, stt, & |
6 |
init, dump_tapestats, & |
init, dump_tapestats, & |
7 |
dt_grow, it_grow, lt_grow, st_grow, & |
dt_grow, it_grow, lt_grow, st_grow, & |
8 |
push_i0, push_d1, push_i1, & |
push_d0, push_i0, push_d1, push_i1, & |
9 |
pop_i0, pop_d1, pop_i1, & |
pop_d0, pop_i0, pop_d1, pop_i1, & |
10 |
push_d4, push_d6, & |
push_d4, push_d6, & |
11 |
pop_d4, pop_d6 |
pop_d4, pop_d6 |
12 |
|
|
56 |
end interface |
end interface |
57 |
|
|
58 |
interface oad_tape_push |
interface oad_tape_push |
59 |
module procedure push_i0 |
module procedure push_d0, push_i0 |
60 |
module procedure push_d1, push_i1 |
module procedure push_d1, push_i1 |
61 |
module procedure push_d4, push_d6 |
module procedure push_d4, push_d6 |
62 |
end interface |
end interface |
63 |
|
|
64 |
interface oad_tape_pop |
interface oad_tape_pop |
65 |
module procedure pop_i0 |
module procedure pop_d0, pop_i0 |
66 |
module procedure pop_d1, pop_i1 |
module procedure pop_d1, pop_i1 |
67 |
module procedure pop_d4, pop_d6 |
module procedure pop_d4, pop_d6 |
68 |
end interface |
end interface |
187 |
oad_st_sz=oad_st_sz+increment |
oad_st_sz=oad_st_sz+increment |
188 |
end subroutine st_grow |
end subroutine st_grow |
189 |
|
|
190 |
|
subroutine push_d0(v) |
191 |
|
implicit none |
192 |
|
double precision :: v |
193 |
|
if(oad_dt_sz .lt. oad_dt_ptr+1) call oad_dt_grow() |
194 |
|
oad_dt(oad_dt_ptr)=v; oad_dt_ptr=oad_dt_ptr+1 |
195 |
|
end subroutine push_d0 |
196 |
|
|
197 |
subroutine push_i0(v) |
subroutine push_i0(v) |
198 |
implicit none |
implicit none |
199 |
integer :: v |
integer :: v |
201 |
oad_it(oad_it_ptr)=v; oad_it_ptr=oad_it_ptr+1 |
oad_it(oad_it_ptr)=v; oad_it_ptr=oad_it_ptr+1 |
202 |
end subroutine push_i0 |
end subroutine push_i0 |
203 |
|
|
|
subroutine pop_i0(v) |
|
|
implicit none |
|
|
integer :: v |
|
|
oad_it_ptr=oad_it_ptr-1 |
|
|
v=oad_it(oad_it_ptr) |
|
|
end subroutine pop_i0 |
|
|
|
|
204 |
subroutine push_d1(v) |
subroutine push_d1(v) |
205 |
implicit none |
implicit none |
206 |
double precision :: v(:) |
double precision :: v(:) |
245 |
oad_dt_ptr=oad_dt_ptr+chunk(1) |
oad_dt_ptr=oad_dt_ptr+chunk(1) |
246 |
end subroutine push_d6 |
end subroutine push_d6 |
247 |
|
|
248 |
|
subroutine pop_d0(v) |
249 |
|
implicit none |
250 |
|
double precision :: v |
251 |
|
oad_dt_ptr=oad_dt_ptr-1 |
252 |
|
v=oad_dt(oad_dt_ptr) |
253 |
|
end subroutine pop_d0 |
254 |
|
|
255 |
|
subroutine pop_i0(v) |
256 |
|
implicit none |
257 |
|
integer :: v |
258 |
|
oad_it_ptr=oad_it_ptr-1 |
259 |
|
v=oad_it(oad_it_ptr) |
260 |
|
end subroutine pop_i0 |
261 |
|
|
262 |
subroutine pop_d1(v) |
subroutine pop_d1(v) |
263 |
implicit none |
implicit none |
264 |
double precision :: v(:) |
double precision :: v(:) |