NAME
    base - set default output base

SYNOPSIS
    base([mode])

TYPES
    mode        real

    return      real

DESCRIPTION
    The base function allows one to specify how numbers should be
    printed.  The base function provides a numeric shorthand to the
    config("mode") interface.  With no args, base() will return the
    current mode.  With 1 arg, base(val) will set the mode according to
    the arg and return the previous mode.

    The following convention is used to declare modes:

             base       equivalent
                      config("mode")'s

               2        "binary"        base 2 fractions
                        "bin"

               8        "octal"         base 8 fractions
                        "oct"

              10        "real"          base 10 floating point
                        "float"
                        "default"

             -10        "integer"       base 10 integers
                        "int"

              16        "hexadecimal"   base 16 fractions
                        "hex"

             1/3        "fraction"      base 10 fractions
                        "frac"

            1e20        "scientific"    base 10 scientific notation
                        "sci"
                        "exp"

            1000        "engineering"   base 10 notation with exponent
                        "eng"           multiple of 3

    For convenience, any non-integer value is assumed to mean base 10
    fractions and any integer >= 2^64 is assumed to mean base 10
    scientific notation.

    These base() calls have the same meaning as config("mode", "fraction"):

        base(1/3)       base(0.1415)    base(16/37)

    These base() calls have the same meaning as config("mode", "scientific"):

        base(1e20)      base(2^64)      base(2^8191-1)

    However the base() function will only return one of the base values
    listed in the table above.

EXAMPLE
    ; base()
            10

    ; base(8)
            012

    ; print 10
    012

LIMITS
    none

LINK LIBRARY
    int math_setmode(int newmode)

    NOTE: newmode must be one of MODE_DEFAULT, MODE_FRAC, MODE_INT,
          MODE_REAL, MODE_EXP, MODE_ENG, MODE_HEX, MODE_OCTAL, MODE_BINARY

SEE ALSO
    base2, config, str

## 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.
##
## Under source code control:   1994/09/30 00:09:39
## 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/
