mirror of
https://github.com/lcn2/calc.git
synced 2025-08-19 01:13:27 +03:00
82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
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/
|