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 <was here> /\oo/\	http://www.isthe.com/chongo/
## Share and enjoy!  :-)	http://www.isthe.com/chongo/tech/comp/calc/
