File: register

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 (78 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
78
NAME
    register - set or print a custom register value

SYNOPSIS
    custom("register", regnum[, value])

TYPES
    regnum      int
    value       any, &any

    return      any

DESCRIPTION
    This custom function reads or sets a value of a custom register.
    A custom register can hold any calc value.

    Without a value arg, the register value is return.  With a value
    arg, the register is set with that value and the previous value
    is returned.

    The number of custom registers is defined at compile time.
    There will be at least 32 registers although there could be more
    added in the future.  It may be determined by:

                custom("sysinfo", "REGNUM_MAX")

    The custom registers are initialized to 0 by the internal
    function libcalc_call_me_first() during calc startup.

    This custom interface is intended to make it easier to interface
    with special purpose hardware.

EXAMPLE
    > custom("register", 3)
        0
    > custom("register", 3, 45)
        0
    > custom("register", 3)
        45

    > custom("register", 7, 2i),
    > custom("register", 8, 3i),
    > custom("register", 7) * custom("register", 8)
        -6

LIMITS
    calc must be built with ALLOW_CUSTOM= -DCUSTOM
    calc must be executed with a -C arg.
    The regnum number bee an integer >= 0 and < REGNUM_MAX where
        REGNUM_MAX is a compile time constant that is >= 32.

LIBRARY
    none

SEE ALSO
    custom

## Copyright (C) 2007,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.
## 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA.
##
## Under source code control:   2005/02/04 22:39:50
## File existed as early as:    2005
##
## chongo <was here> /\oo/\     http://www.isthe.com/chongo/
## Share and enjoy!  :-)        http://www.isthe.com/chongo/tech/comp/calc/