/[MITgcm]/MITgcm/tools/OAD_support/OAD_tape.F90
ViewVC logotype

Diff of /MITgcm/tools/OAD_support/OAD_tape.F90

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.2 by utke, Wed Dec 18 20:01:00 2013 UTC revision 1.3 by utke, Thu Jan 16 15:15:23 2014 UTC
# Line 5  module OAD_tape Line 5  module OAD_tape
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            
# Line 56  module OAD_tape Line 56  module OAD_tape
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
# Line 187  contains Line 187  contains
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
# Line 194  contains Line 201  contains
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(:)
# Line 245  contains Line 245  contains
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(:)

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22