This file is indexed.

/usr/share/plplot_octave/griddata.m is in octave-plplot 5.13.0+dfsg-6ubuntu2.

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
## Copyright (C) 2003 Joao Cardoso.
##
## This program is free software; you can redistribute it and/or modify it
## under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2, or (at your option)
## any later version.
##
## This program is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
## General Public License for more details.
##
## This file is part of plplot_octave.

## usage: zg = griddata(x, y, z, xg, yg [,method [, arg]])
##
## griddata takes irregularly sampled data from three input arrays
##    x[npts], y[npts], and z[npts], reads the desired grid location from
##   input arrays xg[nptsx] and yg[nptsy], and returns the gridded data
##   into output array zg[nptsx][nptsy].
##
##   The algorithm used to grid the data is specified with the argument
##   method. The algorithm  can use argument arg.
##   The available(*) algorithms are:
##
##         GRID_CSA: Bivariate Cubic Spline approximation
##         GRID_DTLI: Delaunay Triangulation Linear Interpolation
##         GRID_NNI: Natural Neighbors Interpolation
##         GRID_NNIDW: Nearest Neighbors Inverse Distance Weighted
##         GRID_NNLI: Nearest Neighbors Linear Interpolation
##         GRID_NNAIDW:  Nearest Neighbors Around Inverse Distance Weighted (default)
##
##   Some algorithms can generate NaNs, and as PLplot is not NaN aware the
##   returned data must be treated before being plotted, e.g., zg(isnan (zg)) = 0;
##
##   (*) Some algorithms might not be present in your system, depending
##    on the availability of the QHull library.
##    GRID_CSA, GRID_DTLI and GRID_NNI use the csa and nn library from
##    Pavel Sakof, http://www.marine.csiro.au/~sakov/

function  zg = griddata(x, y, z, xg, yg, method, arg)

  __pl_init;

  global GRID_CSA GRID_DTLI GRID_NNI GRID_NNIDW GRID_NNLI GRID_NNAIDW

  if (nargin < 5)
    help griddata
    return;
  endif

  if (isvector(x) && isvector(y) && isvector(z) &&
      isvector(xg) && isvector(yg))

    [err, x, y, z] = common_size(x, y, z);
    if (err)
      help griddata
      return;
    endif

    if (nargin == 5)
      method = GRID_NNAIDW;
      arg = 15;
    elseif (nargin == 6)
      arg = 0;
    endif

    if (! any(method == [GRID_CSA GRID_DTLI GRID_NNI GRID_NNIDW GRID_NNLI GRID_NNAIDW]))
      help griddata
      return
    endif

    if (rows(xg) == 1)
      xg = xg';
    endif

    if (rows(yg) == 1)
      yg = yg';
    endif

    zg = plgriddata(x, y, z, xg, yg, method, arg);
    ##if (any(any(isnan(zg))))
    ##  warning("griddata: NaNs returned.");
    ##endif

  else
    help griddata
    return
  endif

endfunction