anchor.diff:    current_polygon%max_xp = -99999999.d0
     current_polygon%min_yp = 99999999.d0
     current_polygon%max_yp = -99999999.d0
  +
  +  current_polygon%including_np = .false.
  +  current_polygon%including_np = .false.
  +
   
   end subroutine init_polygon
   
  
positive.code:         ye = this_polygon%point(pe)%ptr%y
  
          if (abs(xe-xs) < 180.d0) then
            delta_x = (xe-xs)/100.d0
          else
            if (xs>=xe) then
              delta_x = (xe-xs+360.d0)/100.d0
            else
              delta_x = (xe-xs-360.d0)/100.d0
            end if
          end if
  
          delta_y = (ye-ys)/100.d0
  
         current_polygon => this_polygon%point(p)%ptr%target_polygon
         if (.not.associated(current_polygon)) cycle ! next ploop
  
negative.code:     !integer :: num_of_monte_carlo_point
      !type(monte_carlo_point_type), pointer :: monte_carlo_point(:)
      logical :: is_included !< flag whether this polygon is included in the target polygon
      logical :: including_np
      logical :: including_sp
    end type polygon_type
  
    type(polygon_type), private, pointer :: current_polygon
  