mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
1104 lines
20 KiB
Groff
1104 lines
20 KiB
Groff
.\"
|
|
.\" 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.
|
|
.\" 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
|
.\"
|
|
.\" @(#) $Revision: 29.12 $
|
|
.\" @(#) $Id: calc.man,v 29.12 2004/02/23 05:21:24 chongo Exp $
|
|
.\" @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.man,v $
|
|
.\"
|
|
.\" Under source code control: 1991/07/23 05:48:26
|
|
.\" File existed as early as: 1991
|
|
.\"
|
|
.\" chongo <was here> /\oo/\ http://www.isthe.com/chongo/
|
|
.\" Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|
|
.\"
|
|
.\" calculator by David I. Bell
|
|
.\" man page by Landon Noll
|
|
.\"
|
|
.TH calc 1 "^..^" "1999-11-30"
|
|
.SH NAME
|
|
calc \- arbitrary precision calculator
|
|
.SH SYNOPSIS
|
|
\fIcalc\fP
|
|
.RB [ \-c ]
|
|
.RB [ \-C ]
|
|
.RB [ \-d ]
|
|
.br
|
|
.in +5n
|
|
.RB [ -D\ \&calc_debug[:resource_debug[:user_debug]] ]
|
|
.br
|
|
.RB [ \-e ]
|
|
.RB [ \-h ]
|
|
.RB [ \-i ]
|
|
.RB [ \-m\ \&mode ]
|
|
.RB [ \-O ]
|
|
.br
|
|
.RB [ \-p ]
|
|
.RB [ \-q ]
|
|
.RB [ \-s ]
|
|
.RB [ \-u ]
|
|
.RB [ \-v ]
|
|
.RB [ calc_cmd\ \&.\|.\|. ]
|
|
.in -5n
|
|
.sp
|
|
\fI#!${BINDIR}/calc\fP\ [other_flags\ \&...] \fB\-f\fP\
|
|
.SH DESCRIPTION
|
|
\&
|
|
.br
|
|
CALC OPTIONS
|
|
.PP
|
|
|
|
.TP
|
|
.B \-c
|
|
Continue reading command lines even after an execution
|
|
error has caused the abandonment of a line.
|
|
.sp 1
|
|
For example:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
calc read many_errors.cal
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
will cause
|
|
.B calc
|
|
to abort on the first error, whereas:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
calc -c read many_errors.cal
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
will
|
|
cause
|
|
.B calc
|
|
to try to process each line being read
|
|
despite the errors that it encounters.
|
|
.sp 1
|
|
By default, calc startup resource files are silently
|
|
ignored if not found.
|
|
This flag will report missing
|
|
startup resource files unless
|
|
.B \-d
|
|
is also given.
|
|
|
|
.TP
|
|
.B \-C
|
|
Permit the execution of custom builtin functions.
|
|
Without
|
|
this flag, calling the custom() builtin function will
|
|
simply generate an error.
|
|
.sp 1
|
|
Use of this flag may cause
|
|
.B calc
|
|
to execute functions
|
|
that are non-standard and that are not portable. Custom builtin
|
|
functions are disabled by default for this reason.
|
|
|
|
.TP
|
|
.B \-d
|
|
Disable the printing of the opening title. The printing
|
|
of resource file debug and informational messages is also disabled
|
|
as if \fBconfig("resource_debug", 0)\fP had been executed.
|
|
.sp 1
|
|
For example:
|
|
.sp 1
|
|
.in +5n
|
|
calc 'read qtime; qtime(2)'
|
|
.in -5n
|
|
.sp 1
|
|
will output something like:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
qtime(utc_hr_offset) defined
|
|
It's nearly ten past six.
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
whereas:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
calc -d 'read qtime; qtime(2)'
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
will just say:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
It's nearly ten past six.
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
This flag disables the reporting of missing calc
|
|
startup resource files.
|
|
|
|
.TP
|
|
.BR -D " calc_debug[:resource_debug[:user_debug]]"
|
|
Force the initial value of config("calc_debug"),
|
|
config("resource_debug") and config("user_debug").
|
|
.sp 1
|
|
The : separated strings are interpreted as signed 32 bit integers.
|
|
After an optional leading sign a leading zero indicates octal
|
|
conversion, and a leading ``0x'' or ``0X'' hexadecimal
|
|
conversion. Otherwise, decimal conversion is assumed.
|
|
.sp 1
|
|
By default,
|
|
.I calc_debug
|
|
is 0,
|
|
.I resource_debug
|
|
is 3 and
|
|
.I user_debug
|
|
is 0.
|
|
.sp 1
|
|
For more information use the following
|
|
.B calc
|
|
command:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
help config
|
|
.fi
|
|
.in -5n
|
|
|
|
.TP
|
|
.B \-e
|
|
Ignore any environment variables on startup.
|
|
The getenv() builtin will still return values, however.
|
|
|
|
.TP
|
|
.B \-h
|
|
Print a help message. This option implies
|
|
.BR \-q .
|
|
This
|
|
is equivalent to the
|
|
.B calc
|
|
command help help.
|
|
The help facility is disabled unless the mode is 5 or 7.
|
|
See
|
|
.BR \-m .
|
|
|
|
.TP
|
|
.B \-i
|
|
Become interactive if possible.
|
|
If
|
|
.I calc_cmd
|
|
args are given,
|
|
.B calc
|
|
by default, calc will execute them and exit.
|
|
This flag causes
|
|
.B calc
|
|
to drop into interactive mode after the commands are executed.
|
|
This flag will cause
|
|
.B calc
|
|
to drop into interactive mode after the
|
|
commands are executed.
|
|
.sp 1
|
|
For example:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
calc 2+5
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
will print the value 7 and exit whereas:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
calc -i 2+5
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
will print the value 7 and prompt the user for more
|
|
.B calc
|
|
commands.
|
|
|
|
.TP
|
|
.BR \-m " mode"
|
|
This flag sets the permission mode of
|
|
.BR calc .
|
|
It controls the ability for
|
|
.B calc
|
|
to open files and execute programs.
|
|
.I Mode
|
|
may be a number from 0 to 7.
|
|
.sp 1
|
|
The mode value is interpreted in a way similar to that
|
|
of the
|
|
.BR chmod (1)
|
|
octal mode:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
0 do not open any file, do not execute progs
|
|
1 do not open any file
|
|
2 do not open files for reading, do not execute progs
|
|
3 do not open files for reading
|
|
4 do not open files for writing, do not execute progs
|
|
5 do not open files for writing
|
|
6 do not execute any program
|
|
7 allow everything (default mode)
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
If one wished to run
|
|
.B calc
|
|
from a privileged user, one might want to use
|
|
.BR \-m " 0"
|
|
in an effort to make
|
|
.B calc
|
|
somewhat more secure.
|
|
.sp 1
|
|
Mode bits for reading and writing apply only on an
|
|
open.
|
|
Files already open are not effected.
|
|
Thus if one wanted to use the
|
|
.BR \-m " 0"
|
|
in an effort to make
|
|
.B calc
|
|
somewhat more secure, but still wanted to read and write a specific
|
|
file, one might want to do in
|
|
.BR sh (1),
|
|
.BR ksh (1),
|
|
.BR bash (1)-like
|
|
shells:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
calc -m 0 3<a.file
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
Files presented to
|
|
.B calc
|
|
in this way are opened in an
|
|
unknown mode.
|
|
.B Calc
|
|
will attempt to read or write them if directed.
|
|
.sp 1
|
|
If the mode disables opening of files for reading, then
|
|
the startup resource files are disabled as if
|
|
.B \-q
|
|
was given.
|
|
The reading of key bindings is also disabled
|
|
when the mode disables opening of files for reading.
|
|
|
|
.TP
|
|
.B \-O
|
|
Use the old classic defaults instead of the
|
|
default configuration.
|
|
This flag as the same effect
|
|
as executing \fBconfig("all", "oldcfg")\fP at startup time.
|
|
.sp 1
|
|
NOTE: Older versions of calc used
|
|
.B \-n
|
|
to setup a modified form of the default calc configuration.
|
|
The
|
|
.B \-n
|
|
flag currently does nothing.
|
|
Use of the
|
|
.B \-n
|
|
flag is now deprecated and may be used for
|
|
something else in the future.
|
|
|
|
.TP
|
|
.B \-p
|
|
Pipe processing is enabled by use of
|
|
.BR \-p .
|
|
For example:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
calc -p '2^21701-1' | fizzbin
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
In pipe mode,
|
|
.B calc
|
|
does not prompt, does not print leading
|
|
tabs and does not print the initial header.
|
|
The
|
|
.B \-p
|
|
flag overrides
|
|
.BR \-i .
|
|
|
|
.TP
|
|
.B \-q
|
|
Disable the reading of the startup scripts.
|
|
|
|
.TP
|
|
.B \-s
|
|
By default, all
|
|
.I calc_cmd
|
|
args are evaluated and executed.
|
|
This flag will disable their evaluation and instead make
|
|
them available as strings for the argv() builtin function.
|
|
|
|
.TP
|
|
.B \-u
|
|
Disable buffering of stdin and stdout.
|
|
|
|
.TP
|
|
.B \-v
|
|
Print the
|
|
.B calc
|
|
version number and exit.
|
|
.PP
|
|
|
|
\&
|
|
.br
|
|
CALC COMMAND LINE
|
|
.PP
|
|
With no
|
|
.I calc_cmd
|
|
arguments,
|
|
.B calc
|
|
operates interactively.
|
|
If one or more
|
|
arguments are given on the command line and
|
|
.B \-s
|
|
is NOT given, then
|
|
.B calc
|
|
will read and execute them and either attempt
|
|
to go interactive according as the
|
|
.B \-i
|
|
flag was present or absent.
|
|
.sp
|
|
If
|
|
.B \-s
|
|
is given,
|
|
.B calc
|
|
will not evaluate any
|
|
.I calc_cmd
|
|
arguments but instead make them available
|
|
as strings to the argv() builtin function.
|
|
|
|
Sufficiently simple commands with no no characters like
|
|
parentheses, brackets, semicolons, '*', which have special
|
|
interpretations in UNIX shells may be entered, possibly with
|
|
spaces, until the terminating newline.
|
|
For example:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
calc 23 + 47
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
should respond with display of 70, but
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
calc 23 * 47
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
may fail.
|
|
Such cases can usually be made to work as expected by
|
|
enclosing the command between single marks as in:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
calc '23 * 47'
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
and
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
calc 'print sqrt(2), exp(1)'
|
|
.fi
|
|
.in -5n
|
|
.sp
|
|
If '!' is to be used to indicate the factorial function, for
|
|
shells like
|
|
.BI csh (1)
|
|
for which '!' followed by a non-space character
|
|
is used for history substitution, it may be necessary to
|
|
include a space or use a backslash to escape the special
|
|
meaning of '!'.
|
|
For example, the command:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
print 27!^2
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
may have to be replaced by:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
print 27! ^2 or print 27\!^2
|
|
.fi
|
|
.in -5n
|
|
|
|
\&
|
|
.br
|
|
CALC STARTUP FILES
|
|
.PP
|
|
Normally on startup,
|
|
if the environment variable
|
|
.B $CALCRC
|
|
is undefined and
|
|
.B calc
|
|
is invoked without the
|
|
.B \-q
|
|
flag, or if
|
|
.B $CALCRC
|
|
is defined and calc is invoked with
|
|
.BR \-e ,
|
|
.B calc
|
|
looks for a file "startup" in the calc resource directory
|
|
.B .calcrc
|
|
in the user's home directory, and
|
|
.B .calcinit in the current directory.
|
|
If one or more of these are found, they are read in succession as
|
|
.B calc
|
|
scripts and their commands executed.
|
|
When defined,
|
|
.B $CALCRC
|
|
is to contain a ':' separated list of names of files,
|
|
and if calc is then invoked without either the
|
|
.B \-q
|
|
or
|
|
.B \-e
|
|
flags, these files are read in succession and their commands executed.
|
|
No error condition is produced if a listed file is not found.
|
|
.sp
|
|
If the mode specified by
|
|
.B \-m
|
|
disables opening of files for reading, then the reading of startup
|
|
files is also disabled as if
|
|
.B \-q
|
|
was given.
|
|
|
|
\&
|
|
.br
|
|
CALC FILE SEARCH PATH
|
|
.PP
|
|
If the environment variable
|
|
.B $CALCPATH
|
|
is undefined, or if it
|
|
is defined and
|
|
.B calc
|
|
is invoked with the
|
|
.B \-e
|
|
flag, when a file name not beginning with
|
|
.BR / ,
|
|
.B ~
|
|
or
|
|
.BR ./ ,
|
|
is specified as in:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
calc read myfile
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
.B calc
|
|
searches in succession:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
./myfile
|
|
./myfile.cal
|
|
${LIBDIR}/myfile
|
|
${LIBDIR}/myfile.cal
|
|
${CUSTOMCALDIR}/myfile
|
|
${CUSTOMCALDIR}/myfile.cal
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
If the file is found, the
|
|
search stops and the commands in the file are executed.
|
|
It is an error if no readable file with the specified name is found.
|
|
An alternative search path can be specified by defining
|
|
.B $CALCPATH
|
|
in the same way as PATH is defined, as a ':' separated
|
|
list of directories, and then invoking
|
|
.B calc
|
|
without the
|
|
.B \-e
|
|
flag.
|
|
.PP
|
|
.B Calc
|
|
treats all open files, other than stdin, stdout and
|
|
stderr as files available for reading and writing.
|
|
One may
|
|
present
|
|
.B calc
|
|
with an already open file using
|
|
.BR sh (1),
|
|
.BR ksh (1),
|
|
.BR bash (1)-like
|
|
shells is to:
|
|
.sp 1
|
|
.in +5n
|
|
calc 3<open_file 4<open_file2
|
|
.in -5n
|
|
.sp 1
|
|
For more information use the following
|
|
.B calc
|
|
commands:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
help help
|
|
help overview
|
|
help usage
|
|
help environment
|
|
help config
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
.PP
|
|
|
|
\&
|
|
.br
|
|
SHELL SCRIPT MODE
|
|
.PP
|
|
If first line of an executable file begins
|
|
.B #!
|
|
followed by the absolute pathname of the
|
|
.B calc
|
|
program and the flag
|
|
.B \-f
|
|
as in:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
\fI#!${BINDIR}/calc\fP\ [other_flags\ \&...] \fB\-f\fP\
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
the rest of the file will be processed in
|
|
.BR "shell script mode" .
|
|
Note that
|
|
.B \-f
|
|
must be the first \-flag on the ``#!'' line.
|
|
Any other optional
|
|
.B "other_flags"
|
|
must come after
|
|
the
|
|
.BR \-f .
|
|
.sp 1
|
|
In
|
|
.B "shell script mode"
|
|
the contents of the file are read and
|
|
executed as if they were in a file being processed by a read
|
|
command, except that a "command" beginning with '#' followed by
|
|
whitespace and ending at the next newline is treated as a comment.
|
|
Any optional
|
|
.B "other_flags"
|
|
will be parsed first followed by
|
|
the later lines within the script itself.
|
|
.sp 1
|
|
In
|
|
.BR "shell script mode" ,
|
|
.B \-s
|
|
(lower case
|
|
.BR \-s )
|
|
is always assumed.
|
|
In addition,
|
|
.B \-d
|
|
and
|
|
.B \-p
|
|
are automatically set if
|
|
.B \-i
|
|
is not given.
|
|
.sp 1
|
|
For example, if
|
|
the file
|
|
.BR /tmp/mersenne :
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
\fI#!${BINDIR}/calc\fP\ \&\fB\-q\fP \fB\-f\fP\
|
|
#
|
|
# mersenne - an example of a calc \fBshell script file\fP
|
|
|
|
/* parse args */
|
|
if (argv() != 1) {
|
|
fprintf(files(2), "usage: %s exp\\n", config("program"));
|
|
abort "must give one exponent arg";
|
|
}
|
|
|
|
/* print the mersenne number */
|
|
print "2^": argv(0) : "-1 =", 2^eval(argv(0))-1;
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
is made an executable file by:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
chmod +x /tmp/mersenne
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
then the command line:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
/tmp/mersenne 127
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
will print:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
2^127-1 = 170141183460469231731687303715884105727
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
Note that because
|
|
.B \-s
|
|
is assumed in
|
|
.B "shell script mode"
|
|
and non-dashed args are made available as
|
|
strings via the
|
|
.BR argv ()
|
|
builtin function.
|
|
Therefore:
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
2^eval(argv(0))-1
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
will print the decimal value of 2^n-1
|
|
but
|
|
.sp 1
|
|
.in +5n
|
|
.nf
|
|
2^argv(0)-1
|
|
.fi
|
|
.in -5n
|
|
.sp 1
|
|
will not.
|
|
.PP
|
|
|
|
\&
|
|
.br
|
|
DATA TYPES
|
|
.PP
|
|
Fundamental builtin data types include integers, real numbers,
|
|
rational numbers, complex numbers and strings.
|
|
.PP
|
|
By use of an object, one may define an arbitrarily complex
|
|
data types.
|
|
One may define how such objects behave a wide range of
|
|
operations such as addition, subtraction,
|
|
multiplication, division, negation, squaring, modulus,
|
|
rounding, exponentiation, equality, comparison, printing
|
|
and so on.
|
|
.PP
|
|
For more information use the following
|
|
.B calc
|
|
commands:
|
|
.PP
|
|
.in 1.0i
|
|
help types
|
|
.br
|
|
help obj
|
|
.br
|
|
show objfuncs
|
|
.in -1.0i
|
|
.PP
|
|
|
|
\&
|
|
.br
|
|
VARIABLES
|
|
.PP
|
|
Variables in \fIcalc\fP are typeless.
|
|
In other words, the fundamental type of a variable is determined by its content.
|
|
Before a variable is assigned a value it has the value of zero.
|
|
.PP
|
|
The scope of a variable may be global, local to a file, or local to a
|
|
procedure.
|
|
Values may be grouped together in a matrix, or into a
|
|
a list that permits stack and queue style operations.
|
|
.PP
|
|
For more information use the following
|
|
.B calc
|
|
commands:
|
|
.PP
|
|
.in 1.0i
|
|
help variable
|
|
.br
|
|
help mat
|
|
.br
|
|
help list
|
|
.br
|
|
show globals
|
|
.in -1.0i
|
|
.PP
|
|
|
|
\&
|
|
.br
|
|
INPUT/OUTPUT
|
|
.PP
|
|
A leading ``0x'' implies a hexadecimal value,
|
|
a leading ``0b'' implies a binary value,
|
|
and a ``0'' followed by a digit implies an octal value.
|
|
Complex numbers are indicated by a trailing ``i'' such as in ``3+4i''.
|
|
Strings may be delimited by either a pair of single or double quotes.
|
|
By default, \fIcalc\fP prints values as if they were floating point numbers.
|
|
One may change the default to print values in a number of modes
|
|
including fractions, integers and exponentials.
|
|
.PP
|
|
A number of stdio-like file I/O operations are provided.
|
|
One may open, read, write, seek and close files.
|
|
Filenames are subject to ``\~'' expansion to home directories
|
|
in a way similar to that of the Korn or C-Shell.
|
|
.PP
|
|
For example:
|
|
.PP
|
|
.in 1.0i
|
|
~/.calcrc
|
|
.br
|
|
~chongo/lib/fft_multiply.cal
|
|
.in -1.0i
|
|
.PP
|
|
For more information use the following
|
|
.B calc
|
|
command:
|
|
.PP
|
|
.in 1.0i
|
|
help file
|
|
.in -1.0i
|
|
.PP
|
|
|
|
\&
|
|
.br
|
|
CALC LANGUAGE
|
|
.PP
|
|
The \fIcalc\fP language is a C-like language.
|
|
The language includes commands such as variable declarations,
|
|
expressions, tests, labels, loops, file operations, function calls.
|
|
These commands are very similar to their counterparts in C.
|
|
.PP
|
|
The language also include a number of commands particular
|
|
to \fIcalc\fP itself.
|
|
These include commands such as function definition, help,
|
|
reading in resource files, dump files to a file, error notification,
|
|
configuration control and status.
|
|
.PP
|
|
For more information use the following
|
|
.B calc
|
|
command:
|
|
.PP
|
|
.in 1.0i
|
|
help command
|
|
.br
|
|
help statement
|
|
.br
|
|
help expression
|
|
.br
|
|
help operator
|
|
.br
|
|
help config
|
|
.in -1.0i
|
|
.PP
|
|
.SH FILES
|
|
\&
|
|
.br
|
|
.PD 0
|
|
.TP 5
|
|
${BINDIR}/calc
|
|
calc binary
|
|
.sp 1
|
|
.TP 5
|
|
${SCRIPTDIR}/*
|
|
calc shell scripts
|
|
.sp 1
|
|
.TP 5
|
|
${LIBDIR}/*.cal
|
|
calc standard resource files
|
|
.sp 1
|
|
.TP 5
|
|
${LIBDIR}/help/*
|
|
help files
|
|
.sp 1
|
|
.TP 5
|
|
${LIBDIR}/bindings
|
|
non-GNU-readline command line editor bindings
|
|
.sp 1
|
|
.TP 5
|
|
${CALC_INCDIR}/*.h
|
|
include files for C interface use
|
|
.sp 1
|
|
.TP 5
|
|
${LIBDIR}/libcalc.a
|
|
calc binary link library
|
|
.sp 1
|
|
.TP 5
|
|
${LIBDIR}/libcustcalc.a
|
|
custom binary link library
|
|
.sp 1
|
|
.TP 5
|
|
${CUSTOMCALDIR}/*.cal
|
|
custom resource files
|
|
.sp 1
|
|
.TP 5
|
|
${CUSTOMHELPDIR}/*
|
|
custom help files
|
|
.sp 1
|
|
.SH ENVIRONMENT
|
|
\&
|
|
.br
|
|
.PD 0
|
|
.TP 5
|
|
CALCPATH
|
|
A :-separated list of directories used to search for calc
|
|
resource filenames that do not begin with /, ./ or ~.
|
|
.br
|
|
.sp
|
|
Default value: ${CALCPATH}
|
|
.br
|
|
.sp
|
|
.TP 5
|
|
CALCRC
|
|
On startup (unless \-h or \-q was given on the command
|
|
line),
|
|
.B calc
|
|
searches for files along this :-separated
|
|
environment variable.
|
|
.br
|
|
.sp
|
|
Default value: ${CALCRC}
|
|
.br
|
|
.sp
|
|
.TP 5
|
|
CALCBINDINGS
|
|
On startup (unless \fI\-h\fP or \fI\-q\fP was given on the command
|
|
line, or \fI\-m\fP disallows opening files for reading),
|
|
.B calc
|
|
reads
|
|
key bindings from the filename specified
|
|
by this environment variable.
|
|
The key binding file is searched for along the $CALCPATH list
|
|
of directories.
|
|
.sp
|
|
Default value: binding
|
|
.sp
|
|
This variable is not used if calc was compiled with GNU-readline support.
|
|
In that case, the standard readline mechanisms (see readline(3)) are used.
|
|
.sp
|
|
.SH CREDIT
|
|
\&
|
|
.br
|
|
The main chunk of
|
|
.B calc
|
|
was written by David I. Bell.
|
|
.sp
|
|
The
|
|
.B calc
|
|
primary mirror, calc mailing list and calc bug report
|
|
processing is performed by Landon Curt Noll.
|
|
.sp
|
|
Landon Curt Noll maintains the master reference source, performs
|
|
release control functions as well as other calc maintenance functions.
|
|
.sp
|
|
Thanks for suggestions and encouragement from Peter Miller,
|
|
Neil Justusson, and Landon Noll.
|
|
.sp
|
|
Thanks to Stephen Rothwell for writing the original version of
|
|
hist.c which is used to do the command line editing.
|
|
.sp
|
|
Thanks to Ernest W. Bowen for supplying many improvements in
|
|
accuracy and generality for some numeric functions. Much of
|
|
this was in terms of actual code which I gratefully accepted.
|
|
Ernest also supplied the original text for many of the help files.
|
|
.sp
|
|
Portions of this program are derived from an earlier set of
|
|
public domain arbitrarily precision routines which was posted
|
|
to the net around 1984.
|
|
By now, there is almost no recognizable
|
|
code left from that original source.
|
|
.sp
|
|
.SH "COPYING / CALC GNU LESSER GENERAL PUBLIC LICENSE"
|
|
\&
|
|
.sp
|
|
Calc is open software, and is
|
|
covered under version 2.1 of the GNU Lesser General Public License.
|
|
You are
|
|
welcome to change it and/or distribute copies of it under certain
|
|
conditions.
|
|
The calc commands:
|
|
.sp
|
|
.in +0.5i
|
|
.nf
|
|
help copyright
|
|
help copying
|
|
help copying-lgpl
|
|
.fi
|
|
.in -0.5i
|
|
.sp
|
|
should display the contents of the COPYING and COPYING-LGPL files.
|
|
Those files contain information about the calc's GNU Lesser General
|
|
Public License, and in particular the conditions under which you
|
|
are allowed to change it and/or distribute copies of it.
|
|
.sp
|
|
You should have received a copy of the version 2.1 of the GNU Lesser General
|
|
Public License.
|
|
If you do not have these files, write to:
|
|
.sp
|
|
.in +0.5i
|
|
.nf
|
|
Free Software Foundation, Inc.
|
|
59 Temple Place
|
|
Suite 330
|
|
Boston, MA 02111-1307
|
|
USA
|
|
.fi
|
|
.in -0.5i
|
|
.sp
|
|
Calc is copyrighted in several different ways.
|
|
These ways include:
|
|
.sp
|
|
.in +0.5i
|
|
.nf
|
|
Copyright (C) year David I. Bell
|
|
Copyright (C) year David I. Bell and Landon Curt Noll
|
|
Copyright (C) year David I. Bell and Ernest Bowen
|
|
Copyright (C) year David I. Bell, Landon Curt Noll and Ernest Bowen
|
|
Copyright (C) year Landon Curt Noll
|
|
Copyright (C) year Ernest Bowen and Landon Curt Noll
|
|
Copyright (C) year Ernest Bowen
|
|
.fi
|
|
.in -0.5i
|
|
.sp
|
|
This man page is:
|
|
.sp
|
|
.in +0.5i
|
|
.nf
|
|
Copyright (C) 1999 Landon Curt Noll
|
|
.fi
|
|
.in -0.5i
|
|
.sp
|
|
and is covered under version 2.1 GNU Lesser General
|
|
Public License.
|
|
.sp
|
|
.SH "CALC MAILING LIST / CALC UPDATES / ENHANCEMENTS"
|
|
\&
|
|
.br
|
|
.sp
|
|
To contribute comments, suggestions, enhancements
|
|
and interesting
|
|
.B calc
|
|
resource files, and
|
|
shell scripts please join the low volume calc mailing list.
|
|
.sp
|
|
To join the low volume calc mailing list, send EMail to:
|
|
.sp
|
|
.in +0.5i
|
|
.nf
|
|
calc-tester-request at asthe dot com
|
|
.fi
|
|
.in -0.5i
|
|
.sp
|
|
Your subject must contain the words:
|
|
.sp
|
|
.in +0.5i
|
|
.nf
|
|
calc mailing list subscription
|
|
.fi
|
|
.in -0.5i
|
|
.sp
|
|
You may have additional words in your subject line.
|
|
.sp
|
|
Your message body must contain:
|
|
.sp
|
|
.in +0.5i
|
|
.nf
|
|
subscribe calc-tester address
|
|
end
|
|
name your_full_name
|
|
.fi
|
|
.in -0.5i
|
|
.sp
|
|
where
|
|
.B address
|
|
s your EMail address and
|
|
.B your_full_name
|
|
is your full name.
|
|
Feel free to follow the
|
|
.B name
|
|
line with additional EMail text as desired.
|
|
.sp
|
|
.SH "BUG REPORTS / BUG FIXES"
|
|
\&
|
|
.br
|
|
.sp
|
|
Send bug reports and bug fixes to:
|
|
.sp
|
|
.in +0.5i
|
|
.nf
|
|
calc-bugs at asthe dot com
|
|
|
|
[[ NOTE: Replace 'at' with @, 'dot' is with . and remove the spaces ]]
|
|
[[ NOTE: The EMail address uses 'asthe' and the web site URL uses 'isthe' ]]
|
|
.fi
|
|
.in -0.5i
|
|
.sp
|
|
Your subject must contain the words:
|
|
.sp
|
|
.in +0.5i
|
|
.nf
|
|
calc bug report
|
|
.fi
|
|
.in -0.5i
|
|
.sp
|
|
You may have additional words in your subject line.
|
|
.sp
|
|
See the
|
|
.I BUGS
|
|
source file or use the
|
|
.I calc
|
|
command:
|
|
.sp
|
|
.in +0.5i
|
|
.nf
|
|
help bugs
|
|
.fi
|
|
.in -0.5i
|
|
.sp
|
|
for more information about bug reporting.
|
|
.sp
|
|
.SH "CALC WEB SITE"
|
|
\&
|
|
.br
|
|
Landon Noll maintains the the
|
|
.B calc
|
|
web site is located at:
|
|
.sp
|
|
.in +0.5i
|
|
www.isthe.com/chongo/tech/comp/calc/
|
|
.in -0.5i
|
|
.sp
|
|
Share and Enjoy! :\-)
|