📄 test2300.cal
字号:
/* * 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. * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * @(#) $Revision: 29.2 $ * @(#) $Id: test2300.cal,v 29.2 2000/06/07 14:02:25 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;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -