type, public :: clock_t
    Used for measuring performance.
    
    
    
    
    
    
    
    
    Components
    
| Type | Visibility | 
Attributes |  | Name |  | Initial |  | 
  
  
  
  
  
  | logical, | 
  
  public | 
   | :: | 
  active |  = | .true. |  | 
  
  
  
  
  
  
  | integer, | 
  
  public | 
   | :: | 
  level |  = | 0 |  | 
  
  
  
  
  
  
  | integer(kind=i8), | 
  
  public, | 
  allocatable | :: | 
  timestamps(:) |  |  |  | 
  
  
  
  
  
  
  | integer(kind=i8), | 
  
  public, | 
  allocatable | :: | 
  counts(:) |  |  |  | 
  
  
  
  
  
  
  | integer, | 
  
  public, | 
  allocatable | :: | 
  levels(:) |  |  |  | 
  
    
    
    
    
    
    
    
    
     
    
    Type-Bound Procedures
    
     
  
procedure, public :: init  => clock_init 
    
  
  
  
    
      - 
      
        
          
    
    
private subroutine clock_init(this, n)
    
    
   
    
    
    Arguments
    
      
      
| Type | 
Intent | Optional | 
Attributes |  | Name |  | 
  
  
  
  
  
  | class(clock_t), | 
  intent(inout) | 
   | 
  
   | :: | 
  this |  | 
  
  
  
  
  
  
  | integer, | 
  intent(in) | 
   | 
  
   | :: | 
  n |  | 
  
      
    
    
        
      
       
    
  
 
    
     
  
procedure, public :: clock  => clock_clock 
    
  
  
  
    
      - 
      
        
          
    
    
private subroutine clock_clock(this, id)
    
    
   
    
    
    Arguments
    
      
      
| Type | 
Intent | Optional | 
Attributes |  | Name |  | 
  
  
  
  
  
  | class(clock_t), | 
  intent(inout) | 
   | 
  
   | :: | 
  this |  | 
  
  
  
  
  
  
  | integer, | 
  intent(in) | 
   | 
  
   | :: | 
  id |  | 
  
      
    
    
        
      
       
    
  
 
    
     
  
procedure, public :: print  => clock_print 
    
  
  
  
    
      - 
      
        
          
    
    
private subroutine clock_print(this)
    
    
   
    
    
    Arguments
    
      
      
| Type | 
Intent | Optional | 
Attributes |  | Name |  | 
  
  
  
  
  
  | class(clock_t), | 
  intent(inout) | 
   | 
  
   | :: | 
  this |  |