/* * varargs - example of a varargs-like use * * Copyright (C) 1999 David I. Bell * * 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.1 $ * @(#) $Id: varargs.cal,v 29.1 1999/12/14 09:15:34 chongo Exp $ * @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/varargs.cal,v $ * * Under source code control: 1991/05/22 21:56:34 * File existed as early as: 1991 * * Share and enjoy! :-) http://reality.sgi.com/chongo/tech/comp/calc/ */ /* * Example program to use 'varargs'. * * Program to sum the cubes of all the specified numbers. */ define sc() { local s, i; s = 0; for (i = 1; i <= param(0); i++) { if (!isnum(param(i))) { print "parameter",i,"is not a number"; continue; } s += param(i)^3; } return s; } if (config("resource_debug") & 3) { print "sc(a, b, ...) defined"; }