File: modify

package info (click to toggle)
calc 2.15.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 7,848 kB
  • sloc: ansic: 62,147; makefile: 7,664; sh: 503; awk: 74; sed: 7
file content (77 lines) | stat: -rw-r--r-- 2,456 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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/