NAME modify - modify a list or matrix by changing the values of its elements SYNOPSIS modify(A, fname) TYPES A lvalue with list, matrix or objectvalue fname string, the name of a user-defined function return null value if successful, otherwise an error value DESCRIPTION The value of each element of A is replaced by the value at that value of the user-defined function with name fname. Thus, modify(A, "f") has the effect of for (i = 0; i < size(A); i++) A[[i]] = f(A[[i]]); An error value is returned if A is not of acceptable type, if A has no-change protection, or if there is no user-defined function with name fname. The assignments are executed even if the protection status of some elements A[[i]] would normally prevent the assignment of f(A[[i]]) to A[[i]]. The modified elements retain whatever kinds of protection they had as well as gaining any other kinds of protection in the values returned by the function. To obtain a modified copy of A without changing values in A, one may use Amod = A; modify(A, fname) or more simply modify(Amod = A, fname). EXAMPLE ; define f(x) = x^2 ; A = list(2,4,6) ; modify(A, "f") ; print A list (3 elements, 3 nonzero): [[0]] = 4 [[1]] = 16 [[3]] = 36 LIMITS none LINK LIBRARY none SEE ALSO makelist ## 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: modify,v 30.1 2007/03/16 11:10:42 chongo Exp $ ## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/modify,v $ ## ## Under source code control: 1995/07/10 02:09:31 ## File existed as early as: 1995 ## ## chongo /\oo/\ http://www.isthe.com/chongo/ ## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/