NAME:
  interior
 PURPOSE:   (one line only)
  Compute if a point is interior to a polygon
 DESCRIPTION:
 CATEGORY:
  Miscellaneous
 CALLING SEQUENCE:
  result = interior(xpoly,ypoly,x,y)
 INPUTS:
   xpoly - X coordinates of polygon verticies, must be a vector and really
             only makes sense if it has four or more points.  Note that the
             first and last points must be identical so that the shape is
             closed (this is not checked).  No check are performed to ensure
             a sensible polygon.
   ypoly - Y coordinates of polygon verticies, length of this vector must
             match xpoly and the first and last points must also match.
   x     - X coordinate of a point to test.  May be either a scalar or vector
   y     - Y coordinate of a point to test.  May be either a scalar or vector
 OPTIONAL INPUT PARAMETERS:
 KEYWORD INPUT PARAMETERS:
 OUTPUTS:
   return is a byte-type variable with the same rank and size as the input
      x,y values.  1B indicates point is interior to polygon and 0 indicates
      point is outside the polygon.  Critical cases are treated as interior.
 KEYWORD OUTPUT PARAMETERS:
 CONFIGURATION:
 COMMON BLOCKS:
 SIDE EFFECTS:
 RESTRICTIONS:
 PROCEDURE:
 MODIFICATION HISTORY:
  Written by Marc W. Buie, Southwest Research Institute, 2022/01/29
   This program is based on the approach implemented by David Fanning
           http://www.idlcoyote.com/programs/inside.pro
   with stylistic changes to conform to my library as well as some feature
   enhancements for performance improvements, most notably applying a
   check for trivial cases before doing the full calculation.