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 object value
    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,2021  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/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/
