NAME
    scale - scale a number or numbers in a value by a power of 2

SYNOPSIS
    scale(x, n)

TYPES
    If x is an xx-object, scale(x, n) requires xx_scale() to have been
    defined; conditions on x and n and the type of value returned are
    determined by the definition of xx_scale().

    For other x:

    x           number (real or complex) or matrix
    n           integer

    return      same type as x

DESCRIPTION
    Returns the value of 2^n * x.

    scale(x,n) returns the same as x << n and x >> -n if x is an integer
    for which 2^n * x is an integer.

EXAMPLE
    ; print scale(3, 2), scale(3,1), scale(3,0), scale(3,-1), scale(3,-2)
    12 6 3 1.5 0.75

LIMITS
    For non-object x, abs(n) < 2^31

LINK LIBRARY
    NUMBER *qscale(NUMBER *x, long n)
    COMPLEX *c_scale(COMPLEX *x, long n)
    MATRIX *matscale(MATRIX *x, long n)

SEE ALSO
    obj

## 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:   1995/12/18 12:34:58
## 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/
