mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
rename regression test calc resource files
To make the meaning a bit more clear in cal/regress.cal, we have renamed the following test calc resource files that are related to the calc regression test suite: cal/test1700.cal -> cal/test8000.read.cal cal/test2300.cal -> cal/test2300.obj_incdec.cal cal/test2600.cal -> cal/test2600.numfunc.cal cal/test2700.cal -> cal/test2700.isqrt.cal cal/test3100.cal -> cal/test3100.matobj.cal cal/test3400.cal -> cal/test3400.trig.cal cal/test4000.cal -> cal/test4000.ptest.cal cal/test4100.cal -> cal/test4100.redc.cal cal/test4600.cal -> cal/test4600.fileop.cal cal/test5100.cal -> cal/test5100.newdecl.cal cal/test5200.cal -> cal/test5200.globstat.cal cal/test8400.cal -> cal/test8400.quit.cal cal/test8500.cal -> cal/test8500.divmod.cal cal/test8600.cal -> cal/test8600.maxargs.cal cal/set8700.cal -> cal/test8700.dotest.cal cal/test8900.cal -> cal/test8900.special.cal cal/test9300.cal -> cal/test9300.frem.cal Added to test 94dd, read of a number of new calc resource files that are not already read as a result of the calc regression test suite.
This commit is contained in:
112
cal/test2300.obj_incdec.cal
Normal file
112
cal/test2300.obj_incdec.cal
Normal file
@@ -0,0 +1,112 @@
|
||||
/*
|
||||
* test_obj_incdec.2300 - test object increment/decrement for test 23dd
|
||||
*
|
||||
* Copyright (C) 1999,2023 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.
|
||||
*
|
||||
* 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;
|
||||
}
|
Reference in New Issue
Block a user