NAME
    segment - segment from and to specified elements of a list

SYNOPSIS
    segment(x, y, z)

TYPES
    x		list
    y, z	int

    return	list

DESCRIPTION
    For 0 <= y < size(x) and 0 <= z < size(x), segment(x, y, z)
    returns a list for which the values of the elements are those
    of the segment of x from x[[y]] to x[[z]].	If y < z, the
    new list is in the same order as x; if y > z, the order is
    reversed.

    If y < z, x == join(head(x,y), segment(x,y,z), tail(x, size(x) - z - 1)).

EXAMPLE
    ; A = list(2, 3, 5, 7, 11)
    ; segment(A, 1, 3)

    list (3 members, 3 nonzero):
	  [[0]] = 3
	  [[1]] = 5
	  [[2]] = 7

    ; segment(A, 3, 1)

    list (3 members, 3 nonzero):
	  [[0]] = 7
	  [[1]] = 5
	  [[2]] = 3

LIMITS
    0 <= y < size(x)
    0 <= z < size(x)

LINK LIBRARY
    none

SEE ALSO
    head, tail

## 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: segment,v 30.1 2007/03/16 11:10:42 chongo Exp $
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/segment,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/
