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 counding 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		numer of octets of data it currently holds
	octet		1
	named block	numer 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

LIBRARY
    none

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