This file is indexed.

/usr/share/calc/test2300.cal is in apcalc-common 2.12.4.4-2.

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
/*
 * test2300 - 2300 series of the regress.cal test suite
 *
 * Copyright (C) 1999  Landon Curt Noll
 *
 * Calc is open software; you can redistribute it and/or modify it under
 * the terms of the version 2.1 of the GNU Lesser General Public License
 * as published by the Free Software Foundation.
 *
 * Calc 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 Lesser General
 * Public License for more details.
 *
 * A copy of version 2.1 of the GNU Lesser General Public License is
 * distributed with calc under the filename COPYING-LGPL.  You should have
 * received a copy with calc; if not, write to Free Software Foundation, Inc.
 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 *
 * @(#) $Revision: 30.1 $
 * @(#) $Id: test2300.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
 * @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/test2300.cal,v $
 *
 * Under source code control:	1995/07/09 06:12:13
 * File existed as early as:	1995
 *
 * chongo <was here> /\oo/\	http://www.isthe.com/chongo/
 * Share and enjoy!  :-)	http://www.isthe.com/chongo/tech/comp/calc/
 */


obj matrix {m}


/*
 * matrix_inc - increment the matrix inside the object
 */
define matrix_inc(a)
{
	local i;

	/* increment each matrix member */
	for (i= 0; i < size(a.m); i++)
		++a.m[[i]];
	return a;
}

/*
 * matrix_dec - decrement the matrix inside the object
 */
define matrix_dec(a)
{
	local i;

	/* decrement each matrix member */
	for (i= 0; i < size(a.m); i++)
		--a.m[[i]];
	return a;
}

/*
 * mkmat - load the matrix inside the object
 */
define mkmat()
{
	local s, M, i, v;

	/* firewall */
	s = param(0);
	if (s == 0)
		quit "Need at least one argument";

	/* create the matrix */
	mat M[s];

	/* load the matrix with the args */
	for (i = 0; i < s; i++)
		M[i] = param(i + 1);

	/* create the object with the matrix */
	obj matrix v;
	v.m = M;
	return v;
}

/*
 * ckmat - check if the matrix inside an object has a set of given values
 */
define ckmat()
{
	local s, a, i;

	/* firewall */
	s = param(0);
	if (s < 2)
		quit "Need at least two arguments";

	/* get the object to test */
	a = param(1);

	/* verify the matrix in the object is the right size */
	if (size(a.m) != s-1) {
		return 0;
	}

	/* check each matrix element with the args passed */
	for (i = 2; i <= s; i++) {
		if (a.m[i-2] != param(i)) {
			/* args do not match */
			return 0;
		}
	}

	/* args match the matrix in the object */
	return 1;
}