This file is indexed.

/usr/share/doc/libplplot11/examples/f77/x25f.f is in libplplot-dev 5.9.9-2ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
c     $Id: x25f.fm4 11507 2011-01-27 00:38:36Z airwin $
c     
c     Filling and clipping polygons.
c     
c     
c     --------------------------------------------------------------------------
c     main
c     
c     Test program for filling polygons and proper clipping
c     --------------------------------------------------------------------------

      program x25f

      implicit none

      include 'plplot_parameters.h'

      integer i,j,k
      integer npts
      real*8 xextreme(2,10)
      real*8 yextreme(2,10)
      real*8 x0(10)
      real*8 y0(10)

      data ( xextreme(1,i), xextreme(2,i), yextreme(1,i), yextreme(2,i),
     &     i=1,9) /
     &     -120.0,         120.0,        -120.0,         120.0,
     &     -120.0,         120.0,          20.0,         120.0,
     &     -120.0,         120.0,         -20.0,         120.0,
     &     -80.0,          80.0,         -20.0,         120.0,
     &     -220.0,        -120.0,        -120.0,         120.0,
     &     -20.0,          20.0,        -120.0,         120.0,
     &     -20.0,          20.0,         -20.0,          20.0,
     &     -80.0,          80.0,         -80.0,          80.0,
     &     20.0,         120.0,        -120.0,         120.0/

      npts = 0

c     Parse and process command line arguments

      call plparseopts(PL_PARSE_FULL)

c     Initialize plplot

      call plssub(3,3)
      call plinit()


      do k = 1,2
         do j = 1,4

            if ( j .eq. 1 ) then
c              Polygon 1: a diamond
               x0(1) =    0 ; y0(1) = -100
               x0(2) = -100 ; y0(2) =    0
               x0(3) =    0 ; y0(3) =  100
               x0(4) =  100 ; y0(4) =    0
               npts = 4
            endif
            if ( j .eq. 2 ) then
c              Polygon 1: a diamond - reverse direction
               x0(4) =    0 ; y0(4) = -100
               x0(3) = -100 ; y0(3) =    0
               x0(2) =    0 ; y0(2) =  100
               x0(1) =  100 ; y0(1) =    0
               npts = 4
            endif
            if ( j .eq. 3 ) then
c              Polygon 2: a square with punctures
               x0(1)  = -100 ; y0(1)  = -100
               x0(2)  = -100 ; y0(2)  =  -80
               x0(3)  =   80 ; y0(3)  =    0
               x0(4)  = -100 ; y0(4)  =   80
               x0(5)  = -100 ; y0(5)  =  100
               x0(6)  =  -80 ; y0(6)  =  100
               x0(7)  =    0 ; y0(7)  =   80
               x0(8)  =   80 ; y0(8)  =  100
               x0(9)  =  100 ; y0(9)  =  100
               x0(10) =  100 ; y0(10) = -100
               npts = 10
            endif
            if ( j .eq. 4 ) then
c              Polygon 2: a square with punctures - reversed direction 
               x0(10) = -100 ; y0(10) = -100
               x0(9)  = -100 ; y0(9)  =  -80
               x0(8)  =   80 ; y0(8)  =    0
               x0(7)  = -100 ; y0(7)  =   80
               x0(6)  = -100 ; y0(6)  =  100
               x0(5)  =  -80 ; y0(5)  =  100
               x0(4)  =    0 ; y0(4)  =   80
               x0(3)  =   80 ; y0(3)  =  100
               x0(2)  =  100 ; y0(2)  =  100
               x0(1)  =  100 ; y0(1)  = -100
               npts = 10
            endif

            do i = 1,9
               call pladv(0)
               call plvsta()
               call plwind(xextreme(1,i), xextreme(2,i),
     &              yextreme(1,i), yextreme(2,i))

               call plcol0(2)
               call plbox('bc', 1.0d0, 0, 'bcnv', 10.0d0, 0)
               call plcol0(1)
               call plpsty(0)
               if(k.eq.1) then
                  call plfill(npts,x0,y0)
               else
                  call plgradient(npts,x0,y0,45.d0)
               endif
               call plcol0(2)
               call pllsty(1)
               call plline(npts,x0,y0)
            enddo
	 enddo
      enddo

c     Don't forget to call plend() to finish off!

      call plend()
      end