File: size

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 (80 lines) | stat: -rw-r--r-- 2,383 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
79
80
NAME
    size - number of elements in value

SYNOPSIS
    size(x)

TYPES
    x           any

    return      integer

DESCRIPTION
    For the different types of value x may have, size(x) is defined as follows:

        null            0
        real number     1
        complex number  1
        string          length of string (not including the trailing \0)
        matrix          number of elements
        list            number of members
        association     number of (elements, value) pairs
        object          value returned by xx_size(x) if x of type xx
        file            length of the file in octets
        rand state      1
        random state    1
        config state    1
        hash state      1
        block           number of octets of data it currently holds
        octet           1
        named block     number of octets of data it currently holds

EXAMPLE
    ; print size(null()), size(3), size(2 - 7i), size("abc")
    0 1 1 1

    ; mat M[2,3]
    ; print size(M), size(list()), size(list(2,3,4))
    6 0 3

    ; A = assoc()
    ; A[1] = 3, A[1,2] = 6, A["three"] = 5
    ; print size(A)
    3

    ; obj point {x,y}
    ; obj point P = {4,-5}
    ; define point_size(a) = abs(a.x) + abs(a.y)
    ; print size(P)
    9

LIMITS
    none

LINK LIBRARY
    none

SEE ALSO
     list, mat, assoc, obj, sizeof, memsize

## Copyright (C) 1999-2006,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:   1994/03/19 03:13:22
## File existed as early as:    1994
##
## chongo <was here> /\oo/\     http://www.isthe.com/chongo/
## Share and enjoy!  :-)        http://www.isthe.com/chongo/tech/comp/calc/