forked from mirror/waf
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			28 lines
		
	
	
		
			561 B
		
	
	
	
		
			Fortran
		
	
			
		
		
	
	
			28 lines
		
	
	
		
			561 B
		
	
	
	
		
			Fortran
		
	
submodule (parent) container
 | 
						|
  implicit none
 | 
						|
 | 
						|
contains
 | 
						|
 | 
						|
    module procedure init
 | 
						|
      p%mother = mother
 | 
						|
      p%father = father
 | 
						|
    end procedure init
 | 
						|
 | 
						|
    module subroutine harmonize(p)
 | 
						|
      type(parent_type), intent(inout) :: p
 | 
						|
      real :: avg
 | 
						|
 | 
						|
      avg = 0.5 * (p%father + p%mother)
 | 
						|
      p%father = avg
 | 
						|
      p%mother = avg
 | 
						|
    end subroutine harmonize
 | 
						|
 | 
						|
    module function parent_weight(p) result(w)
 | 
						|
      type(parent_type), intent(in) :: p
 | 
						|
      real :: w
 | 
						|
 | 
						|
      w = p%mother**2 + p%father**2
 | 
						|
    end function parent_weight
 | 
						|
 | 
						|
end submodule container
 |