This file is indexed.

/usr/share/octave/packages/control-2.6.2/@iddata/display.m is in octave-control 2.6.2-1build1.

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
## Copyright (C) 2009-2014   Lukas F. Reichlin
##
## This file is part of LTI Syncope.
##
## LTI Syncope 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 3 of the License, or
## (at your option) any later version.
##
## LTI Syncope 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.
##
## You should have received a copy of the GNU General Public License
## along with LTI Syncope.  If not, see <http://www.gnu.org/licenses/>.

## -*- texinfo -*-
## Display routine for iddata objects.

## Author: Lukas Reichlin <lukas.reichlin@gmail.com>
## Created: February 2012
## Version: 0.1

function display (dat)

  datname = inputname (1);
  [outname, p] = __labels__ (dat.outname, "y");
  [inname, m] = __labels__ (dat.inname, "u");
  [expname, e] = __labels__ (dat.expname, "exp");
  
  [n, p, m, e] = size (dat);
  
  if (dat.timedomain)
    domain = "Time";
    sf = "Samples";
  else
    domain = "Frequency";
    sf = "Frequencies";
  endif
  
  str = [domain, " domain dataset '", datname, "' containing ", num2str(sum(n)), " ", lower(sf)];

  disp ("");
  disp (str);
  disp ("");
  
  disp (__horzcat__ (__col2str__ (expname, "Experiment"), ...
                     __vec2str__ (n, sf), ...
                     __vec2str__ (cell2mat (dat.tsam), "Sampling Interval")));
  disp ("");
  disp (__horzcat__ (__col2str__ (outname, "Outputs"), ...
                     __col2str__ (dat.outunit, "Unit (if specified)")));
  disp ("");
  disp (__horzcat__ (__col2str__ (inname, "Inputs"), ...
                     __col2str__ (dat.inunit, "Unit (if specified)")));
  disp ("");

endfunction


function str = __horzcat__ (col, varargin)

  len = rows (col);
  sp2 = repmat ("  ", len, 1);
  sp4 = repmat ("    ", len, 1);
  str = [sp2, col];
  
  for k = 2 : nargin
    str = [str, sp4, varargin{k-1}];
  endfor

endfunction


function str = __col2str__ (col, title)

  len = rows (col);
  str = strjust (strvcat (col), "left");
  if (columns (str) == 0)
    str = repmat (" ", len, 1);
  endif
  line = repmat ("-", 1, max (columns (str), columns (title)));
  str = strvcat (title, line, str);

endfunction


function str = __vec2str__ (vec, title)

  vec = vec(:);
  tmp = isfinite (vec);
  tmp = abs (vec(tmp & vec != 0));
  if (isempty (tmp) || min (tmp) < 1e-3 || max (tmp) > 1e4)
    str = arrayfun (@(x) sprintf ("%.3e", x), vec, "uniformoutput", false);
  elseif (all (floor (tmp) == tmp))
    str = arrayfun (@(x) sprintf ("%d", x), vec, "uniformoutput", false);
  else
    str = arrayfun (@(x) sprintf ("%.4f", x), vec, "uniformoutput", false);
  endif
  str = strjust (char (str), "right");
  line = repmat ("-", 1, max (columns (str), columns (title)));
  %str = strvcat (title, str)
  str = strvcat (title, line, str);

endfunction