mirror of
https://github.com/lcn2/calc.git
synced 2025-08-19 01:13:27 +03:00
Compare commits
7 Commits
2.11.5t4.5
...
2.11.6.1
Author | SHA1 | Date | |
---|---|---|---|
|
bb5c624382 | ||
|
8aedcf801a | ||
|
b60eec99bb | ||
|
383290a844 | ||
|
7e40db44e3 | ||
|
a57ee19ca5 | ||
|
a6e226fa80 |
51
BUGS
51
BUGS
@@ -74,6 +74,53 @@ Known bugs:
|
||||
|
||||
Problems with known work-a-rounds:
|
||||
|
||||
* The gcc as shipped with Redhat 7 perhaps other Linux distributions
|
||||
has a bug causes calc to dump core on startup when calc is:
|
||||
|
||||
compiled optimized (-O, -O1, -O2 or -O3)
|
||||
|
||||
AND
|
||||
|
||||
compiled with debugging (-g or -g3)
|
||||
|
||||
AND
|
||||
|
||||
when calc is compiled with readline (see USE_READLINE,
|
||||
READLINE_LIB and READLINE_INCLUDE in the Makefile)
|
||||
|
||||
On Redhat, the gcc -v which has this problem is:
|
||||
|
||||
gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-85)
|
||||
|
||||
there may be other gcc versions that also suffer this fate.
|
||||
|
||||
The readlines associated with problem are:
|
||||
|
||||
readline-4.1-5
|
||||
readline2.2.1-2.2.1-2
|
||||
readline-devel-4.1-5
|
||||
|
||||
One work-a-round is to compile calc WITHOUT readline. In the
|
||||
Makefile be sure that:
|
||||
|
||||
USE_READLINE=
|
||||
READLINE_LIB=
|
||||
READLINE_INCLUDE=
|
||||
|
||||
i.e., these Makefile vars are empty.
|
||||
|
||||
If you must use readline, then an alternate work-a-round is to
|
||||
change the DEBUG Makefile variable to either:
|
||||
|
||||
compile for speed: -O3 (or -O2 if you do not have -O3)
|
||||
compile to debug: -g3 (or -g if you do not have -g3)
|
||||
|
||||
but not both.
|
||||
|
||||
See RH bug #57889 for details:
|
||||
|
||||
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=57889
|
||||
|
||||
* There is a bug in gcc-2.95 that causes calc, when compiled with -O2,
|
||||
to fail the regression test. The work-a-round is to compile with -O
|
||||
or to use gcc-2.96 or later.
|
||||
@@ -241,8 +288,8 @@ Problems with known work-a-rounds:
|
||||
## 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: BUGS,v 29.12 2001/06/01 11:32:01 chongo Exp $
|
||||
## @(#) $Revision: 29.17 $
|
||||
## @(#) $Id: BUGS,v 29.17 2001/12/31 22:12:35 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/RCS/BUGS,v $
|
||||
##
|
||||
## Under source code control: 1994/03/18 14:06:13
|
||||
|
162
CHANGES
162
CHANGES
@@ -1,4 +1,152 @@
|
||||
The following are the changes from calc version 2.11.5t4.1 to date:
|
||||
The following are the changes from calc version 2.11.6.0 to date:
|
||||
|
||||
Clarified remark in lucas.cal about use of n mod 2^n == 0.
|
||||
|
||||
Fixed help typos reported by Marc Mezzarobba <mm at mm dot ovh dot org>.
|
||||
|
||||
Forced system("") to return 0 under windoz.
|
||||
|
||||
The direct.h include file is not used when compiling under Cygwin.
|
||||
|
||||
Fixed bug where random(10,11) caused calc to dump core when issued
|
||||
the 2nd time.
|
||||
|
||||
Moved the setting of the Makefile variable ${CALC_INCDIR} to
|
||||
the section where things like ${BINDIR} and ${LIBDIR} are set.
|
||||
Idea from Clifford Kite <kite_public1 at ev1 dot net>.
|
||||
|
||||
The Makefile is shipped mode 0644 since a number of folks
|
||||
edit it (to build and check calc) as a non-root user and later
|
||||
on su to root to install. Idea from Clifford Kite <kite_public1
|
||||
at ev1 dot net>.
|
||||
|
||||
Added base2() builtin function to calc. Normally calc prints
|
||||
values according to base(). Frequently some users want to see
|
||||
a value in two bases. Flipping back and forth between to bases
|
||||
is a bit of a pain. With base2(), calc will output a value twice:
|
||||
|
||||
; 234567
|
||||
234567
|
||||
; base2(16),
|
||||
; 234567
|
||||
234567 /* 0x39447 */
|
||||
; 131072
|
||||
131072 /* 0x20000 */
|
||||
; base2(0),
|
||||
; 131072
|
||||
131072
|
||||
|
||||
By default, base2() is disabled. Calling base2(0) will also turn
|
||||
off the double base mode. Thanks goes to Erik Anggard
|
||||
<erik dot anggard at packetfront dot com> for his idea and
|
||||
his initial patch.
|
||||
|
||||
Added repeat.cal as a calc resource file script:
|
||||
|
||||
repeat(digit_set, repeat_count)
|
||||
|
||||
Return the value of the digit_set repeated repeat_count times.
|
||||
Both digit_set and repeat_count must be integers > 0.
|
||||
|
||||
For example repeat(423,5) returns the value 423423423423423,
|
||||
which is the digit_set 423 repeated 5 times.
|
||||
|
||||
Makefile no longer makes a direct reference to Red Hat 6.0.
|
||||
|
||||
Added missing math_setmode2() prototype to zmath.h.
|
||||
|
||||
Fixed some implicit declarations of functions by either making
|
||||
them explicit or by including the proper system .h files.
|
||||
|
||||
Makefile no longer uses -Wno-implicit flag, by default, for
|
||||
gcc based compiles on calc source. Makefile now attempts to
|
||||
compile no_implicit.c with an explicit -Wno-implicit arg in an
|
||||
effort to determine of -Wno-implicit is a valid compiler flag.
|
||||
If no_implicit.c is compiled with -Wno-implicit, then
|
||||
the file no_implicit.arg is created with the contents
|
||||
of the -Wno-implicit flag. Otherwise no_implicit.arg
|
||||
is created as an empty file.
|
||||
|
||||
Added the Makefile variable ${HAVE_NO_IMPLICIT}, which if
|
||||
not set to YES will prevent no_implicit.c from being
|
||||
compiled and prevent the -Wno-implicit flag from being used.
|
||||
If ${HAVE_NO_IMPLICIT} is not YES, then an empty no_implicit.arg
|
||||
file is created and no_implicit.c is not compiled.
|
||||
|
||||
The seed.c file, because the pseudo_seed() function contains
|
||||
calls to a number of various system functions, attempts to
|
||||
compile with the -Wno-implicit flag (if allowed by the
|
||||
formation of the no_implicit.arg file).
|
||||
|
||||
Misc make depend fixes and cleanup.
|
||||
|
||||
Fixed formation of the custom/.all file.
|
||||
|
||||
|
||||
The following are the changes from calc version 2.11.5.5 to 2.11.5.9:
|
||||
|
||||
Now using version numbers of one of these forms:
|
||||
|
||||
x.y.z.w
|
||||
x.y.z
|
||||
x.y
|
||||
|
||||
Changed the READLINE_LIB Makefile variable to not link with -lreadline
|
||||
by default. If you do have readline, we recommend that you use it.
|
||||
If you can install the GNU readline:
|
||||
|
||||
http://freshmeat.net/projects/gnureadline/
|
||||
http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
|
||||
|
||||
we recommend it. But if not, you should set the USE_READLINE,
|
||||
READLINE_LIB, and READLINE_INCLUDE Makefile variables to empty.
|
||||
NOTE: See the BUGS file for a Linux issue when compiling calc
|
||||
with -O (or -O2 or -O3) AND with -g (or -g3) AND with readline.
|
||||
|
||||
Removed an obsolete reference to TOPDIR. This was fixed thanks to
|
||||
a bug report by Clifford Kite <kite_public1 at ev1 dot net>.
|
||||
Fixed other inconsistencies related to things like BINDIR.
|
||||
|
||||
Fixed calc man page so that is refers to -f instead of the old -S flag.
|
||||
Fixed thanks to Clifford Kite <kite_public1 at ev1 dot net> for
|
||||
point this out.
|
||||
|
||||
All for loops end with /dev/null to avoid any problems related
|
||||
to systems that cannot grok empty for loops.
|
||||
|
||||
Changed the libcalc functions creal and cimag to c_real and c_imag
|
||||
to about conflicts with new libc such as those used by gcc v3.
|
||||
Thanks Eli Zaretskii <eliz at is dot elta dot co dot il> and
|
||||
Martin Buck <m at rtin-buck dot de> for alerting us to this conflict.
|
||||
|
||||
The Makefile no longer hard code's /usr/include. Instead it uses
|
||||
the ${INCDIR} Makefile variable. Thanks goes to Eli Zaretskii
|
||||
<eliz at is dot elta dot co dot il> for pointing out this inconsistency.
|
||||
|
||||
Added mods to support compilation under DJGPP. DJGPP runs on 386
|
||||
and newer PCs running DOS or dos-compatible operating systems.
|
||||
See http://www.delorie.com/djgpp/. Thanks goes to Eli Zaretskii
|
||||
<eliz at is dot elta dot co dot il> for sending in these mods.
|
||||
|
||||
Updated README.WINDOWS to include information on building with DJGPP.
|
||||
|
||||
The pld folks are building RPMs based on our calc distrbutions.
|
||||
See: ftp://ftp.pld.org.pl/dists/ra/PLD/i686/PLD/RPMS or
|
||||
http://ftp.pld.org.pl/dists/ra/PLD/i686/PLD/RPMS more information.
|
||||
We appreciate their work in this regard. In the next release, we
|
||||
plan to also build and release our own RPMs based on their efforts.
|
||||
|
||||
Changed the Makefile variable CUSTOMLIBDIR to CUSTOMCALDIR.
|
||||
Changed the Makefile variable CSHAREDIR to CALC_SHAREDIR.
|
||||
Changed the Makefile variable INCDIRCALC to CALC_INCDIR.
|
||||
Removed the Makefile variable SHAREDIR.
|
||||
|
||||
Updated the HOWTO.INSTALL and README.WINDOWS files.
|
||||
|
||||
Fixed definition of MAXUFULL. Thanks to a bus report from
|
||||
Jill Poland <jpoland at cadence dot com>.
|
||||
|
||||
The following are the changes from calc version 2.11.5t4.1 to 2.11.5t4.4:
|
||||
|
||||
Updated dependency rules in Makefiles.
|
||||
|
||||
@@ -60,9 +208,9 @@ The following are the changes from calc version 2.11.5t4.1 to date:
|
||||
Makefile has not changed. The Makefile.linux only in minor ways
|
||||
needed to build calc rpms.
|
||||
|
||||
Added $T Makefile variable, top level directory under which calc
|
||||
will be installed. The calc install is performed under $T, the
|
||||
calc build is performed under /. The purpose for $T is to allow
|
||||
Added $T Makefile variable. $T is the top level directory under
|
||||
which calc will be installed. The calc install is performed under $T,
|
||||
the calc build is performed under /. The purpose for $T is to allow
|
||||
someone to install calc somewhere other than into the system area.
|
||||
For examplewhen forming the calc rpm, the Makefile is called with
|
||||
T=$RPM_BUILD_ROOT. If $T is empty, calc is installed under /.
|
||||
@@ -204,7 +352,7 @@ The following are the changes from calc version 2.11.5t0 to 2.11.5t1.1:
|
||||
|
||||
An effort was made to make calc easier to build under Windoz
|
||||
using the Cygwin project (http://sources.redhat.com/cygwin/).
|
||||
Thanks to the work of Thomas Jones-Low (tjoneslo and softstart
|
||||
Thanks to the work of Thomas Jones-Low (tjoneslo at softstart
|
||||
dot com), a number of #if defined(_WIN32)'s have been added
|
||||
to calc source. These changes should not effect Windoz
|
||||
free system such as GNU/Linux, Solaris, POSIX-like, etc ...
|
||||
@@ -5358,8 +5506,8 @@ Following is a list of visible changes to calc from version 1.24.7 to 1.26.1:
|
||||
## 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.39 $
|
||||
## @(#) $Id: CHANGES,v 29.39 2001/06/08 22:32:42 chongo Exp $
|
||||
## @(#) $Revision: 29.53 $
|
||||
## @(#) $Id: CHANGES,v 29.53 2003/01/14 02:33:58 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/RCS/CHANGES,v $
|
||||
##
|
||||
## Under source code control: 1993/06/02 18:12:57
|
||||
|
122
HOWTO.INSTALL
122
HOWTO.INSTALL
@@ -1,34 +1,105 @@
|
||||
Installing calc in 4 easy steps:
|
||||
|
||||
1) Look at the makefile, and adjust it to suit your needs.
|
||||
1) Look at the makefile, and adjust it to suit your needs.
|
||||
|
||||
Here are some Makefile hints:
|
||||
The Makefile, as shipped, is suitable for installation under
|
||||
Linux and Un*x-like environments. For the most part, the default
|
||||
values should work. If in doubt, follow the 'When in doubt'
|
||||
suggestion.
|
||||
|
||||
Select a compiler set by commenting in the appropriate set
|
||||
of cc options. As shipped the Makefile assumes a gcc-like
|
||||
environment such as Linux. If a more appropriate cc set if
|
||||
found below, comment out the Linux set and comment in that
|
||||
set or edit the gcc set or the common cc set as needed.
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
! If you are building under Windoz or a Windoz-like environment !
|
||||
! (such as Cygwin or DJGPP), read the README.WINDOWS file. !
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
You may or may not need RANLIB when building libraries.
|
||||
As shipped the Makefile assumes RANLIB is needed.
|
||||
Comment the in/out the RANLIB value if ranlib does
|
||||
not work or does not exist.
|
||||
You should determine if these Makefile variables are reasonable:
|
||||
|
||||
You may want to change the default pager used by calc.
|
||||
As shipped the Makefile assumes 'more'. On your system
|
||||
you may find 'less' to be a better pager.
|
||||
INCDIR Where the system include (.h) files are kept.
|
||||
BINDIR Where to install calc binary files.
|
||||
LIBDIR Where to install calc link library (*.a) files.
|
||||
CALC_SHAREDIR Where to install calc help, .cal, startup, and
|
||||
config files.
|
||||
|
||||
Set TOPDIR to be the place under which help files, calc,
|
||||
include files and calc libs are to be installed. As shipped
|
||||
the Makefile assumes a TOPDIR of /usr/local/lib.
|
||||
You may want to change the default installation locations for
|
||||
these values, which are based on the 4 values listed above:
|
||||
|
||||
Set BINDIR to the place where calc is installed. As shipped
|
||||
the Makefile assumes a BINDIR /usr/local/bin.
|
||||
HELPDIR where the help directory is installed
|
||||
CALC_INCDIR where the calc include files are installed
|
||||
CUSTOMCALDIR where custom *.cal files are installed
|
||||
CUSTOMHELPDIR where custom help files are installed
|
||||
CUSTOMINCPDIR where custom .h files are installed
|
||||
SCRIPTDIR where calc shell scripts are installed
|
||||
|
||||
If you want to install calc files under a top level directory,
|
||||
then set the T value:
|
||||
|
||||
The calc install is performed under $T, the calc build is
|
||||
performed under /. The purpose for $T is to allow someone
|
||||
to install calc somewhere other than into the system area.
|
||||
|
||||
For example, if:
|
||||
|
||||
BINDIR= /usr/bin
|
||||
LIBDIR= /usr/lib
|
||||
CALC_SHAREDIR= /usr/share/calc
|
||||
|
||||
and if:
|
||||
|
||||
T= /var/tmp/testing
|
||||
|
||||
Then the installation locations will be:
|
||||
|
||||
calc binary files: /var/tmp/testing/usr/bin
|
||||
calc link library: /var/tmp/testing/usr/lib
|
||||
calc help, .cal ...: /var/tmp/testing/usr/share/calc
|
||||
... etc ... /var/tmp/testing/...
|
||||
|
||||
If $T is empty, calc is installed under /, which is the same
|
||||
top of tree for which it was built. If $T is non-empty, then
|
||||
calc is installed under $T, as if one had to chroot under
|
||||
$T for calc to operate.
|
||||
|
||||
Look for the section that starts:
|
||||
|
||||
################
|
||||
# compiler set #
|
||||
################
|
||||
|
||||
Select a compiler set by commenting in the appropriate set
|
||||
of cc options. As shipped the Makefile assumes a gcc-like
|
||||
environment such as Linux. If a more appropriate cc set if
|
||||
found below, comment out the Linux set and comment in that
|
||||
set or edit the gcc set or the common cc set as needed.
|
||||
|
||||
You may want to change these Makrfile variables from their defaults:
|
||||
|
||||
RANLIB
|
||||
|
||||
You may or may not need RANLIB when building libraries.
|
||||
As shipped the Makefile assumes RANLIB is needed.
|
||||
Comment the in/out the RANLIB value if ranlib does
|
||||
not work or does not exist.
|
||||
|
||||
CALCPAGER
|
||||
|
||||
You may want to change the default pager used by calc.
|
||||
As shipped the Makefile assumes 'more'. On your system
|
||||
you may find 'less' to be a better pager.
|
||||
|
||||
DEBUG
|
||||
|
||||
Some compilers (to put it mildly) have bugs. Sometimes the
|
||||
DEBUG Makefile variable causes the compiler / optimizer to
|
||||
produce bad code. Other compilers do just fine.
|
||||
|
||||
If possible try to use DEBUG=-O3 -g3 (maximum optimization
|
||||
and debug symbols). If the calc test fails (see step 3),
|
||||
try lowering either the -O value and/or the -g3. Also try
|
||||
using -Osomething without -g.
|
||||
|
||||
Adjust other Makefile variables as needed.
|
||||
|
||||
2) build calc:
|
||||
2) build calc:
|
||||
|
||||
make all
|
||||
|
||||
@@ -36,13 +107,14 @@ Installing calc in 4 easy steps:
|
||||
you may find. See the BUGS file if you find any compiler
|
||||
warning or errors.
|
||||
|
||||
3) test calc:
|
||||
3) test calc:
|
||||
|
||||
make check
|
||||
|
||||
==> If you run into problems, follow the BUGS file instructions.
|
||||
==> If you run into problems, read the BUGS file and follow
|
||||
the instructions found in there.
|
||||
|
||||
4) install calc:
|
||||
4) install calc:
|
||||
|
||||
make install
|
||||
|
||||
@@ -65,8 +137,8 @@ the calc help subsystem. See the README file for details.
|
||||
## 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.2 $
|
||||
## @(#) $Id: HOWTO.INSTALL,v 29.2 2000/06/07 14:02:13 chongo Exp $
|
||||
## @(#) $Revision: 29.6 $
|
||||
## @(#) $Id: HOWTO.INSTALL,v 29.6 2002/03/14 00:28:28 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/RCS/HOWTO.INSTALL,v $
|
||||
##
|
||||
## Under source code control: 1999/09/27 20:48:44
|
||||
|
4974
Makefile.linux
4974
Makefile.linux
File diff suppressed because it is too large
Load Diff
@@ -3,15 +3,6 @@ Dear calc user on a Windoz based system,
|
||||
See the HOWTO.INSTALL file for information on how to build and install calc.
|
||||
See also the README file.
|
||||
|
||||
NOTE: The Windoz port is extremely experimental, untested and perhaps
|
||||
incomplete. We are in the process of making it easier. The
|
||||
following should help anyone who is trying to make a go of this
|
||||
under the current code conditions.
|
||||
|
||||
NOTE: We are currently ONLY making an effort to support building under
|
||||
Windoz using the Cygwin project (http://sources.redhat.com/cygwin/)
|
||||
with the GCC compiler and Un*x tools for Windows.
|
||||
|
||||
NOTE: The main developers do not have access to a Windoz based platform.
|
||||
While we will make an effort to not break calc Windoz based system,
|
||||
our lack of a Windoz test environment will mean we will make mistakes
|
||||
@@ -19,7 +10,68 @@ NOTE: The main developers do not have access to a Windoz based platform.
|
||||
Of course you are welcome to send us any patches that fix your
|
||||
Windoz build environment.
|
||||
|
||||
=-=
|
||||
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||
=-= compiling under DJGPP =-=
|
||||
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||
|
||||
You might want to try using the DJGPP system to compile calc. See:
|
||||
|
||||
http://www.delorie.com/djgpp/
|
||||
|
||||
for DJGPP details and availability.
|
||||
|
||||
To compile with DJGPP, one needs to select a number of Makefile
|
||||
variable changes. Eli Zaretskii <eliz at is dot elta dot co dot il>
|
||||
recommends the following settings:
|
||||
|
||||
TERMCONTROL= -DUSE_TERMIOS
|
||||
BYTE_ORDER= -DLITTLE_ENDIAN
|
||||
LONG_BITS= 32
|
||||
LONGLONG_BITS= 64
|
||||
HAVE_FPOS_POS= -DHAVE_NO_FPOS_POS
|
||||
FPOS_BITS= 32
|
||||
OFF_T_BITS= 32
|
||||
DEV_BITS= 32
|
||||
INODE_BITS= 32
|
||||
HAVE_USTAT= -DHAVE_NO_USTAT
|
||||
HAVE_GETSID= -DHAVE_NO_GETSID
|
||||
HAVE_GETPGID= -DHAVE_NO_GETPGID
|
||||
HAVE_GETTIME= -DHAVE_NO_GETTIME
|
||||
HAVE_GETPRID= -DHAVE_NO_GETPRID
|
||||
HAVE_URANDOM_H= NO
|
||||
ALIGN32= -UMUST_ALIGN32
|
||||
HAVE_MALLOC_H= YES
|
||||
HAVE_STDLIB_H= YES
|
||||
HAVE_STRING_H= YES
|
||||
HAVE_TIMES_H= NO
|
||||
HAVE_SYS_TIMES_H= YES
|
||||
HAVE_TIME_H= YES
|
||||
HAVE_SYS_TIME_H= YES
|
||||
HAVE_UNISTD_H= YES
|
||||
BINDIR= /dev/env/DJDIR/bin
|
||||
INCDIR= /dev/env/DJDIR/include
|
||||
LIBDIR= /dev/env/DJDIR/lib
|
||||
MANDIR= /dev/env/DJDIR/man/man1
|
||||
CATDIR= /dev/env/DJDIR/man/cat1
|
||||
NROFF= groff
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR}
|
||||
CALCRC= ${CALC_SHAREDIR}/startup;~/.calcrc;./.calcinit
|
||||
CALCPAGER= less.exe -ci
|
||||
DEBUG= -O2 -gstabs+
|
||||
|
||||
The 'Linux set' or 'gcc set' (see the Select your compiler type section)
|
||||
should work for DJGPP systems if you set the above Makefile variables.
|
||||
|
||||
Look for Makefile comments of the form:
|
||||
|
||||
# Select ...something... for DJGPP.
|
||||
|
||||
Follow those recommendations. In cases where they conflict with
|
||||
the above Makefile list, follow the recommendation in the Makefile.
|
||||
|
||||
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||
=-= compiling with Cygwin =-=
|
||||
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||
|
||||
An effort is being made to allow windows users to compile calc using the
|
||||
Cygwin project (http://sources.redhat.com/cygwin/) with the GCC compiler
|
||||
@@ -61,8 +113,6 @@ needs. Just copy the win32/*.[ch] files up into the top level calc
|
||||
source directory, edited (if needed) and build using the Cygwin GCC
|
||||
compiler.
|
||||
|
||||
=-=
|
||||
|
||||
People who maintain calc need to keep in mind the following:
|
||||
|
||||
The following was added to opcodes.h, config.h, zmath.h and value.h:
|
||||
@@ -89,7 +139,7 @@ was changed to:
|
||||
DLL extern int configtype(char*);
|
||||
|
||||
|
||||
## Copyright (C) 2001 Landon Curt Noll and Thomas Jones-Low
|
||||
## Copyright (C) 2002 Landon Curt Noll and Thomas Jones-Low
|
||||
##
|
||||
## 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
|
||||
@@ -105,8 +155,8 @@ was changed to:
|
||||
## 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.6 $
|
||||
## @(#) $Id: README.WINDOWS,v 29.6 2001/04/08 22:13:38 chongo Exp $
|
||||
## @(#) $Revision: 29.8 $
|
||||
## @(#) $Id: README.WINDOWS,v 29.8 2002/03/14 00:28:28 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/RCS/README.WINDOWS,v $
|
||||
##
|
||||
## Under source code control: 2001/02/25 14:00:05
|
||||
|
169
cal/Makefile
169
cal/Makefile
@@ -18,8 +18,8 @@
|
||||
# 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: Makefile,v 29.12 2001/06/08 22:38:53 chongo Exp $
|
||||
# @(#) $Revision: 29.15 $
|
||||
# @(#) $Id: Makefile,v 29.15 2003/01/05 08:10:56 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/Makefile,v $
|
||||
#
|
||||
# Under source code control: 1991/07/21 05:00:54
|
||||
@@ -36,23 +36,111 @@
|
||||
SHELL = /bin/sh
|
||||
MAKE_FILE = Makefile
|
||||
|
||||
####
|
||||
# Normally, the upper level makefile will set these values. We provide
|
||||
# a default here just in case you want to build from this directory.
|
||||
#
|
||||
# where to install things
|
||||
#SHAREDIR= /usr/local/lib
|
||||
#SHAREDIR= /usr/lib
|
||||
SHAREDIR= /usr/share
|
||||
#SHAREDIR= /usr/libdata
|
||||
####
|
||||
|
||||
CSHAREDIR= ${SHAREDIR}/calc
|
||||
# Where the system include (.h) files are kept
|
||||
#
|
||||
# For DJGPP, select:
|
||||
#
|
||||
# INCDIR= /dev/env/DJDIR/include
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# INCDIR= /usr/include
|
||||
#
|
||||
|
||||
#INCDIR= /usr/local/include
|
||||
#INCDIR= /dev/env/DJDIR/include
|
||||
INCDIR= /usr/include
|
||||
|
||||
# where to install calc realted things
|
||||
#
|
||||
# ${BINDIR} where to install calc binary files
|
||||
# ${LIBDIR} where calc link library (*.a) files are installed
|
||||
# ${CALC_SHAREDIR} where to install calc help, .cal, startup, config files
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with $T, which
|
||||
# by default is empty. If $T is non-empty, then installation
|
||||
# locations will be relative to the $T directory.
|
||||
#
|
||||
# For DJGPP, select:
|
||||
#
|
||||
# BINDIR= /dev/env/DJDIR/bin
|
||||
# LIBDIR= /dev/env/DJDIR/lib
|
||||
# CALC_SHAREDIR= /dev/env/DJDIR/share/calc
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# BINDIR= /usr/bin
|
||||
# LIBDIR= /usr/lib
|
||||
# CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
#BINDIR= /usr/local/bin
|
||||
#BINDIR= /dev/env/DJDIR/bin
|
||||
BINDIR= /usr/bin
|
||||
|
||||
#LIBDIR= /usr/local/lib
|
||||
#LIBDIR= /dev/env/DJDIR/lib
|
||||
LIBDIR= /usr/lib
|
||||
|
||||
#CALC_SHAREDIR= /usr/local/lib/calc
|
||||
#CALC_SHAREDIR= /dev/env/DJDIR/share/calc
|
||||
CALC_SHAREDIR= /usr/share/calc
|
||||
|
||||
# By default, these values are based CALC_SHAREDIR, INCDIR, BINDIR
|
||||
# ---------------------------------------------------------------
|
||||
# ${HELPDIR} where the help directory is installed
|
||||
# ${CALC_INCDIR} where the calc include files are installed
|
||||
# ${CUSTOMCALDIR} where custom *.cal files are installed
|
||||
# ${CUSTOMHELPDIR} where custom help files are installed
|
||||
# ${CUSTOMINCPDIR} where custom .h files are installed
|
||||
# ${SCRIPTDIR} where calc shell scripts are installed
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with $T, which
|
||||
# by default is empty. If $T is non-empty, then installation
|
||||
# locations will be relative to the $T directory.
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# HELPDIR= ${CALC_SHAREDIR}/help
|
||||
# CALC_INCDIR= ${INCDIR}/calc
|
||||
# CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
# CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
# CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
# SCRIPTDIR= ${BINDIR}/cscript
|
||||
#
|
||||
HELPDIR= ${CALC_SHAREDIR}/help
|
||||
CALC_INCDIR= ${INCDIR}/calc
|
||||
CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
SCRIPTDIR= ${BINDIR}/cscript
|
||||
|
||||
# T - top level directory under which calc will be installed
|
||||
#
|
||||
# The calc install is performed under $T, the calc build is
|
||||
# performed under /. The purpose for $T is to allow someone to
|
||||
# install calc somewhere other than into the system area. For example
|
||||
# when forming the calc rpm, the Makefile is called with T=$RPM_BUILD_ROOT.
|
||||
# performed under /. The purpose for $T is to allow someone
|
||||
# to install calc somewhere other than into the system area.
|
||||
#
|
||||
# For example, if:
|
||||
#
|
||||
# BINDIR= /usr/bin
|
||||
# LIBDIR= /usr/lib
|
||||
# CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
# and if:
|
||||
#
|
||||
# T= /var/tmp/testing
|
||||
#
|
||||
# Then the installation locations will be:
|
||||
#
|
||||
# calc binary files: /var/tmp/testing/usr/bin
|
||||
# calc link library: /var/tmp/testing/usr/lib
|
||||
# calc help, .cal ...: /var/tmp/testing/usr/share/calc
|
||||
# ... etc ... /var/tmp/testing/...
|
||||
#
|
||||
# If $T is empty, calc is installed under /, which is the same
|
||||
# top of tree for which it was built. If $T is non-empty, then
|
||||
@@ -87,8 +175,8 @@ CALC_FILES= README bigprime.cal deg.cal ellip.cal lucas.cal lucas_chk.cal \
|
||||
test2700.cal test3100.cal test3300.cal test3400.cal prompt.cal \
|
||||
test3500.cal seedrandom.cal test4000.cal test4100.cal test4600.cal \
|
||||
beer.cal hello.cal test5100.cal test5200.cal randombitrun.cal \
|
||||
randomrun.cal xx_print.cal natnumset.cal qtime.cal test8400.cal \
|
||||
test8500.cal test8600.cal chi.cal intfile.cal
|
||||
randomrun.cal repeat.cal xx_print.cal natnumset.cal qtime.cal \
|
||||
test8400.cal test8500.cal test8600.cal chi.cal intfile.cal
|
||||
|
||||
# These files are found (but not built) in the distribution
|
||||
#
|
||||
@@ -120,8 +208,10 @@ all: ${CALC_FILES} ${MAKE_FILE} .all
|
||||
##
|
||||
|
||||
distlist: ${DISTLIST}
|
||||
${Q}for i in ${DISTLIST}; do \
|
||||
${Q}for i in ${DISTLIST} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo cal/$$i; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
distdir:
|
||||
@@ -141,8 +231,10 @@ calcliblist:
|
||||
##
|
||||
|
||||
echo_inst_files:
|
||||
${Q}for i in ${CALC_FILES}; do \
|
||||
echo __file__ ${CSHAREDIR}/$$i; \
|
||||
${Q}for i in ${CALC_FILES} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo __file__ ${CALC_SHAREDIR}/$$i; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
##
|
||||
@@ -157,38 +249,29 @@ clobber:
|
||||
rm -f .all
|
||||
|
||||
install: all
|
||||
-${Q}if [ ! -d $T${SHAREDIR} ]; then \
|
||||
echo mkdir $T${SHAREDIR}; \
|
||||
mkdir $T${SHAREDIR}; \
|
||||
if [ ! -d "$T${SHAREDIR}" ]; then \
|
||||
echo mkdir -p "$T${SHAREDIR}"; \
|
||||
mkdir -p "$T${SHAREDIR}"; \
|
||||
-${Q}if [ ! -d $T${CALC_SHAREDIR} ]; then \
|
||||
echo mkdir $T${CALC_SHAREDIR}; \
|
||||
mkdir $T${CALC_SHAREDIR}; \
|
||||
if [ ! -d "$T${CALC_SHAREDIR}" ]; then \
|
||||
echo mkdir -p "$T${CALC_SHAREDIR}"; \
|
||||
mkdir -p "$T${CALC_SHAREDIR}"; \
|
||||
fi; \
|
||||
echo ${CHMOD} 0755 $T${SHAREDIR}; \
|
||||
${CHMOD} 0755 $T${SHAREDIR}; \
|
||||
echo ${CHMOD} 0755 $T${CALC_SHAREDIR}; \
|
||||
${CHMOD} 0755 $T${CALC_SHAREDIR}; \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
-${Q}if [ ! -d $T${CSHAREDIR} ]; then \
|
||||
echo mkdir $T${CSHAREDIR}; \
|
||||
mkdir $T${CSHAREDIR}; \
|
||||
if [ ! -d "$T${CSHAREDIR}" ]; then \
|
||||
echo mkdir -p "$T${CSHAREDIR}"; \
|
||||
mkdir -p "$T${CSHAREDIR}"; \
|
||||
${Q}for i in ${CALC_FILES} /dev/null; do \
|
||||
if [ "$$i" = "/dev/null" ]; then \
|
||||
continue; \
|
||||
fi; \
|
||||
echo ${CHMOD} 0755 $T${CSHAREDIR}; \
|
||||
${CHMOD} 0755 $T${CSHAREDIR}; \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
${Q}for i in ${CALC_FILES}; do \
|
||||
if ${CMP} -s $$i $T${CSHAREDIR}/$$i; then \
|
||||
if ${CMP} -s $$i $T${CALC_SHAREDIR}/$$i; then \
|
||||
true; \
|
||||
else \
|
||||
rm -f $T${CSHAREDIR}/$$i.new; \
|
||||
cp -f $$i $T${CSHAREDIR}/$$i.new; \
|
||||
${CHMOD} 0444 $T${CSHAREDIR}/$$i.new; \
|
||||
mv -f $T${CSHAREDIR}/$$i.new $T${CSHAREDIR}/$$i; \
|
||||
echo "installed $T${CSHAREDIR}/$$i"; \
|
||||
rm -f $T${CALC_SHAREDIR}/$$i.new; \
|
||||
cp -f $$i $T${CALC_SHAREDIR}/$$i.new; \
|
||||
${CHMOD} 0444 $T${CALC_SHAREDIR}/$$i.new; \
|
||||
mv -f $T${CALC_SHAREDIR}/$$i.new $T${CALC_SHAREDIR}/$$i; \
|
||||
echo "installed $T${CALC_SHAREDIR}/$$i"; \
|
||||
fi; \
|
||||
done
|
||||
|
14
cal/README
14
cal/README
@@ -480,6 +480,16 @@ randrun.cal
|
||||
|
||||
This tests the a55 generator.
|
||||
|
||||
repeat.cal
|
||||
|
||||
repeat(digit_set, repeat_count)
|
||||
|
||||
Return the value of the digit_set repeated repeat_count times.
|
||||
Both digit_set and repeat_count must be integers > 0.
|
||||
|
||||
For example repeat(423,5) returns the value 423423423423423,
|
||||
which is the digit_set 423 repeated 5 times.
|
||||
|
||||
|
||||
regress.cal
|
||||
|
||||
@@ -815,8 +825,8 @@ xx_print.cal
|
||||
## 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.8 $
|
||||
## @(#) $Id: README,v 29.8 2001/03/31 16:26:23 chongo Exp $
|
||||
## @(#) $Revision: 29.9 $
|
||||
## @(#) $Id: README,v 29.9 2003/01/05 08:10:56 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/README,v $
|
||||
##
|
||||
## Under source code control: 1990/02/15 01:50:32
|
||||
|
@@ -17,8 +17,8 @@
|
||||
* 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.5 $
|
||||
* @(#) $Id: lucas.cal,v 29.5 2001/06/08 20:07:29 chongo Exp $
|
||||
* @(#) $Revision: 29.6 $
|
||||
* @(#) $Id: lucas.cal,v 29.6 2002/07/10 09:43:46 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/lucas.cal,v $
|
||||
*
|
||||
* Under source code control: 1990/05/03 16:49:51
|
||||
@@ -90,7 +90,7 @@
|
||||
*
|
||||
* test numbers of the form h*2^n-1
|
||||
* fix a value of n and vary the value h
|
||||
* n mod 128 == 0
|
||||
* n mod 2^x == 0 for some value of x, say > 7 or more
|
||||
* h*2^n-1 is not divisible by any small prime < 2^40
|
||||
* 0 < h < 2^39
|
||||
* h*2^n+1 is not divisible by any small prime < 2^40
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* regress - calc regression and correctness test suite
|
||||
*
|
||||
* Copyright (C) 1999 David I. Bell
|
||||
* Copyright (C) 1999-2002 David I. Bell and 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
|
||||
@@ -17,8 +17,8 @@
|
||||
* 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.10 $
|
||||
* @(#) $Id: regress.cal,v 29.10 2001/04/14 22:53:57 chongo Exp $
|
||||
* @(#) $Revision: 29.14 $
|
||||
* @(#) $Id: regress.cal,v 29.14 2002/12/29 09:16:07 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/regress.cal,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:50:36
|
||||
@@ -492,7 +492,11 @@ define test_config()
|
||||
vrfy(strlen(config("version")) > 0,
|
||||
'555: strlen(config("version")) > 0');
|
||||
|
||||
print '556: Ending test_config';
|
||||
/* mode2 is off by default */
|
||||
vrfy(config("mode2") == "off",
|
||||
'556: config("mode2") == "off"');
|
||||
|
||||
print '557: Ending test_config';
|
||||
}
|
||||
print '010: parsed test_config()';
|
||||
|
||||
@@ -1793,7 +1797,23 @@ define test_mode()
|
||||
vrfy(str(3e9) == "3000000000", \
|
||||
'1650: str(3e9) == \"3000000000\"');
|
||||
|
||||
print '1651: Ending mode/base test';
|
||||
/* test base2() functionality */
|
||||
vrfy(base2() == 0, '1651: base2() == 0');
|
||||
vrfy(base2(0) == 0, '1652: base2(0) == 0');
|
||||
vrfy(base2() == 0, '1653: base2() == 0');
|
||||
vrfy(base2(16) == 0, '1654: base2(16) == 0');
|
||||
vrfy(base2() == 16, '1655: base2() == 16');
|
||||
vrfy(str(3e9) == "3000000000 /* 0xb2d05e00 */",
|
||||
'1656: str(3e9) == "3000000000 /* 0xb2d05e00 */"');
|
||||
vrfy(base2(1/3) == 16, '1657: base2(16) == 16');
|
||||
vrfy(str(23209) == "23209 /* 23209 */",
|
||||
'1658: str(23209) == "23209 /* 23209 */"');
|
||||
vrfy(str(3/2) == "1.5 /* 3/2 */",
|
||||
'1659: str(3/2) == "1.5 /* 3/2 */"');
|
||||
vrfy(base() == 10, '1660: base() == 10');
|
||||
vrfy(base2(0) == 1/3, '1661: base2(0) == 1/3');
|
||||
|
||||
print '1662: Ending mode/base test';
|
||||
}
|
||||
print '026: parsed test_mode()';
|
||||
|
||||
@@ -4547,7 +4567,14 @@ define test_random()
|
||||
vrfy(seed() < 2^64, '5465: seed() < 2^64');
|
||||
vrfy(israndom(srandom(seed())), '5466: israndom(srandom(seed()))');
|
||||
|
||||
print '5467: Ending test_random';
|
||||
/* verify random(10,11) double bug fix */
|
||||
vrfy(random(10,11) == 10, '5467: random(10,11) == 10');
|
||||
vrfy(random(10,11) == 10, '5468: random(10,11) == 10');
|
||||
vrfy(random(10,11) == 10, '5469: random(10,11) == 10');
|
||||
vrfy(random(0,1) == 0, '5470: random(0,1) == 0');
|
||||
vrfy(random(0,1) == 0, '5471: random(0,1) == 0');
|
||||
|
||||
print '5472: Ending test_random';
|
||||
}
|
||||
print '137: parsed test_random()';
|
||||
|
||||
|
53
cal/repeat.cal
Normal file
53
cal/repeat.cal
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* repeat - return the value of a repeated set of digits
|
||||
*
|
||||
* Copyright (C) 2003 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.2 $
|
||||
* @(#) $Id: repeat.cal,v 29.2 2003/01/14 01:55:22 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/repeat.cal,v $
|
||||
*
|
||||
* Under source code control: 2003/01/05 00:00:01
|
||||
* File existed as early as: 2003
|
||||
*
|
||||
* chongo <was here> /\oo/\ http://www.isthe.com/chongo/
|
||||
* Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* repeat - return the value of a repeated set of digits
|
||||
*
|
||||
* usage:
|
||||
* repeat(digit_set, repeat_count)
|
||||
*/
|
||||
define repeat(digit_set, repeat_count)
|
||||
{
|
||||
local digit_count; /* digits in the digit_set */
|
||||
|
||||
/* firewall */
|
||||
if (!isint(digit_set) || digit_set <= 0) {
|
||||
quit "digit set must be an integer > 0";
|
||||
}
|
||||
if (!isint(repeat_count) || repeat_count <= 0) {
|
||||
quit "repeat count must be an integer > 0";
|
||||
}
|
||||
|
||||
/* return repeated set of digits */
|
||||
digit_count = digits(digit_set);
|
||||
return digit_set * (10^(digit_count*repeat_count)-1) / (10^digit_count-1);
|
||||
}
|
10
calc.h
10
calc.h
@@ -17,8 +17,8 @@
|
||||
* 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.8 $
|
||||
* @(#) $Id: calc.h,v 29.8 2001/06/08 21:00:58 chongo Exp $
|
||||
* @(#) $Revision: 29.10 $
|
||||
* @(#) $Id: calc.h,v 29.10 2002/03/12 09:40:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.h,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:31
|
||||
@@ -60,7 +60,11 @@
|
||||
#define HOMECHAR '~' /* char which indicates home directory */
|
||||
#define DOTCHAR '.' /* char which indicates current directory */
|
||||
#define PATHCHAR '/' /* char which separates path components */
|
||||
#if defined(__MSDOS__) || defined(__WIN32)
|
||||
#define LISTCHAR ';' /* char which separates paths in a list */
|
||||
#else
|
||||
#define LISTCHAR ':' /* char which separates paths in a list */
|
||||
#endif
|
||||
#define MAXCMD 16384 /* maximum length of command invocation */
|
||||
#define MAXERROR 512 /* maximum length of error message string */
|
||||
|
||||
@@ -258,7 +262,7 @@ extern DLL char *run_state_name(run state);
|
||||
extern int calc_major_ver;
|
||||
extern int calc_minor_ver;
|
||||
extern int calc_major_patch;
|
||||
extern char *calc_minor_patch;
|
||||
extern int calc_minor_patch;
|
||||
extern char *Copyright;
|
||||
extern DLL char *version(void);
|
||||
|
||||
|
26
calc.man
26
calc.man
@@ -15,8 +15,8 @@
|
||||
.\" 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.7 $
|
||||
.\" @(#) $Id: calc.man,v 29.7 2001/06/01 11:26:53 chongo Exp $
|
||||
.\" @(#) $Revision: 29.9 $
|
||||
.\" @(#) $Id: calc.man,v 29.9 2002/03/14 00:28:28 chongo Exp $
|
||||
.\" @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.man,v $
|
||||
.\"
|
||||
.\" Under source code control: 1991/07/23 05:48:26
|
||||
@@ -54,7 +54,7 @@ calc \- arbitrary precision calculator
|
||||
.RB [ calc_cmd\ \&.\|.\|. ]
|
||||
.in -5n
|
||||
.sp
|
||||
\fI#!${BINDIR}/calc\fP\ \fB\-S\fP\ [other_flags\ \&...]
|
||||
\fI#!${BINDIR}/calc\fP\ \fB\-f\fP\ [other_flags\ \&...]
|
||||
.SH DESCRIPTION
|
||||
\&
|
||||
.br
|
||||
@@ -514,8 +514,8 @@ searches in succession:
|
||||
./myfile.cal
|
||||
${LIBDIR}/myfile
|
||||
${LIBDIR}/myfile.cal
|
||||
${CUSTOMLIBDIR}/myfile
|
||||
${CUSTOMLIBDIR}/myfile.cal
|
||||
${CUSTOMCALDIR}/myfile
|
||||
${CUSTOMCALDIR}/myfile.cal
|
||||
.fi
|
||||
.in -5n
|
||||
.sp 1
|
||||
@@ -572,27 +572,25 @@ If first line of an executable file begins
|
||||
followed by the absolute pathname of the
|
||||
.B calc
|
||||
program and the flag
|
||||
.B \-S
|
||||
.B \-f
|
||||
as in:
|
||||
.sp 1
|
||||
.in +5n
|
||||
.nf
|
||||
\fI#!${BINDIR}/calc\fP\ \fB\-S\fP\ [other_flags\ \&...]
|
||||
\fI#!${BINDIR}/calc\fP\ \fB\-f\fP\ [other_flags\ \&...]
|
||||
.fi
|
||||
.in -5n
|
||||
.sp 1
|
||||
the rest of the file will be processed in
|
||||
.BR "shell script mode" .
|
||||
Note that
|
||||
.B \-S
|
||||
(UPPER CASE
|
||||
.BR \-S )
|
||||
.B \-f
|
||||
must be the first \-flag on the ``#!'' line.
|
||||
Any other optional
|
||||
.B "other_flags"
|
||||
must come after
|
||||
the
|
||||
.BR \-S .
|
||||
.BR \-f .
|
||||
.sp 1
|
||||
In
|
||||
.B "shell script mode"
|
||||
@@ -625,7 +623,7 @@ the file
|
||||
.sp 1
|
||||
.in +5n
|
||||
.nf
|
||||
\fI#!${BINDIR}/calc\fP\ \fB\-S\fP\ \&\fB\-q\fP
|
||||
\fI#!${BINDIR}/calc\fP\ \fB\-f\fP\ \&\fB\-q\fP
|
||||
#
|
||||
# mersenne - an example of a calc \fBshell script file\fP
|
||||
|
||||
@@ -839,7 +837,7 @@ ${LIBDIR}/bindings
|
||||
non-GNU-readline command line editor bindings
|
||||
.sp 1
|
||||
.TP 5
|
||||
${INCDIRCALC}/*.h
|
||||
${CALC_INCDIR}/*.h
|
||||
include files for C interface use
|
||||
.sp 1
|
||||
.TP 5
|
||||
@@ -851,7 +849,7 @@ ${LIBDIR}/libcustcalc.a
|
||||
custom binary link library
|
||||
.sp 1
|
||||
.TP 5
|
||||
${CUSTOMLIBDIR}/*.cal
|
||||
${CUSTOMCALDIR}/*.cal
|
||||
custom resource files
|
||||
.sp 1
|
||||
.TP 5
|
||||
|
60
calc.spec
60
calc.spec
@@ -1,60 +0,0 @@
|
||||
Summary: C-style arbitrary precision calculator
|
||||
Name: calc
|
||||
Version: 2.11.5
|
||||
Release: 4.5
|
||||
Copyright: LGPL
|
||||
Group: Applications/Engineering
|
||||
Source: http://www.isthe.com/chongo/src/calc/calc-2.11.5t4.5.tar.gz
|
||||
Patch0: rpm.mk.patch
|
||||
BuildRoot: /var/tmp/%{name}-buildroot
|
||||
|
||||
%description
|
||||
Calc is an interactive calculator which provides for easy large numeric
|
||||
calculations, but which also can be easily programmed for difficult or
|
||||
long calculations.
|
||||
|
||||
All numbers are represented as fractions with arbitrarily large numerators
|
||||
and denominators which are always reduced to lowest terms. Real or
|
||||
exponential format numbers are converted to the equivalent fraction.
|
||||
One use enter decinal, hex, octal, binary and complex values.
|
||||
|
||||
Commands are statements in a C-like language, where each input line is
|
||||
treated as the body of a procedure. You can define your own functions
|
||||
by using the 'define' keyword, followed by a function declaration very
|
||||
similar to C. Calc also comes with a rich set of builtin functions
|
||||
and calc shell commands.
|
||||
|
||||
In addition to numeric global, local and static variables, Calc as
|
||||
lists, associated arrays, matrices, byte blocks, dymanic strings and
|
||||
user defined objects.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
make -f Makefile.linux all RPM_OPT_FLAGS="$RPM_OPT_FLAGS"
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
make -f Makefile.linux install RPM_OPT_FLAGS="$RPM_OPT_FLAGS" T="$RPM_BUILD_ROOT"
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files -f install.list
|
||||
%dir /usr/share/calc
|
||||
%dir /usr/share/calc/help
|
||||
%dir /usr/include/calc
|
||||
%dir /usr/share/calc/custom
|
||||
%dir /usr/share/calc/custhelp
|
||||
%dir /usr/include/calc/custom
|
||||
%dir /usr/bin/cscript
|
||||
%defattr(-,root,root)
|
||||
%doc BUGS README COPYING COPYING-LGPL HOWTO.INSTALL
|
||||
%doc README LIBRARY README.WINDOWS calc.1
|
||||
%doc help/resource help/errorcodes help/custom_cal help/new_custom
|
||||
%doc help/cscript help/full
|
||||
|
||||
%changelog
|
||||
* Fri Jun 08 2001 Landon Curt Noll <http://www.isthe.com/chongo/index.html>
|
||||
- calc version 2.11.5t4.5
|
9
cmath.h
9
cmath.h
@@ -17,8 +17,8 @@
|
||||
* 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.5 $
|
||||
* @(#) $Id: cmath.h,v 29.5 2001/06/08 21:00:58 chongo Exp $
|
||||
* @(#) $Revision: 29.6 $
|
||||
* @(#) $Id: cmath.h,v 29.6 2002/03/12 09:38:26 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/cmath.h,v $
|
||||
*
|
||||
* Under source code control: 1993/07/30 19:42:45
|
||||
@@ -62,6 +62,7 @@ extern void cprintfr(COMPLEX *c);
|
||||
/*
|
||||
* Basic numeric routines.
|
||||
*/
|
||||
|
||||
extern COMPLEX *cadd(COMPLEX *c1, COMPLEX *c2);
|
||||
extern COMPLEX *csub(COMPLEX *c1, COMPLEX *c2);
|
||||
extern COMPLEX *cmul(COMPLEX *c1, COMPLEX *c2);
|
||||
@@ -74,8 +75,8 @@ extern COMPLEX *cscale(COMPLEX *c, long i);
|
||||
extern COMPLEX *cshift(COMPLEX *c, long i);
|
||||
extern COMPLEX *csquare(COMPLEX *c);
|
||||
extern COMPLEX *cconj(COMPLEX *c);
|
||||
extern COMPLEX *creal(COMPLEX *c);
|
||||
extern COMPLEX *cimag(COMPLEX *c);
|
||||
extern COMPLEX *c_real(COMPLEX *c);
|
||||
extern COMPLEX *c_imag(COMPLEX *c);
|
||||
extern COMPLEX *cneg(COMPLEX *c);
|
||||
extern COMPLEX *cinv(COMPLEX *c);
|
||||
extern COMPLEX *cint(COMPLEX *c);
|
||||
|
@@ -19,8 +19,8 @@
|
||||
* 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.6 $
|
||||
* @(#) $Id: codegen.c,v 29.6 2001/05/08 06:29:24 chongo Exp $
|
||||
* @(#) $Revision: 29.7 $
|
||||
* @(#) $Id: codegen.c,v 29.7 2002/07/10 11:51:51 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/codegen.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:13
|
||||
@@ -45,7 +45,7 @@
|
||||
#include "func.h"
|
||||
#include "conf.h"
|
||||
|
||||
#if defined(_WIN32)
|
||||
#if defined(_WIN32) && !defined(__CYGWIN__)
|
||||
# include <direct.h>
|
||||
#endif
|
||||
|
||||
|
@@ -17,8 +17,8 @@
|
||||
* 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.2 $
|
||||
* @(#) $Id: commath.c,v 29.2 2000/06/07 14:02:13 chongo Exp $
|
||||
* @(#) $Revision: 29.3 $
|
||||
* @(#) $Id: commath.c,v 29.3 2002/03/12 09:38:26 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/commath.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:10
|
||||
@@ -381,7 +381,7 @@ cconj(COMPLEX *c)
|
||||
* Return the real part of a complex number.
|
||||
*/
|
||||
COMPLEX *
|
||||
creal(COMPLEX *c)
|
||||
c_real(COMPLEX *c)
|
||||
{
|
||||
COMPLEX *r;
|
||||
|
||||
@@ -400,7 +400,7 @@ creal(COMPLEX *c)
|
||||
* Return the imaginary part of a complex number as a real.
|
||||
*/
|
||||
COMPLEX *
|
||||
cimag(COMPLEX *c)
|
||||
c_imag(COMPLEX *c)
|
||||
{
|
||||
COMPLEX *r;
|
||||
|
||||
|
34
config.c
34
config.c
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* config - configuration routines
|
||||
*
|
||||
* Copyright (C) 1999 David I. Bell and Landon Curt Noll
|
||||
* Copyright (C) 1999-2002 David I. Bell and Landon Curt Noll
|
||||
*
|
||||
* Primary author: David I. Bell
|
||||
*
|
||||
@@ -19,8 +19,8 @@
|
||||
* 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.7 $
|
||||
* @(#) $Id: config.c,v 29.7 2001/04/25 07:15:22 chongo Exp $
|
||||
* @(#) $Revision: 29.8 $
|
||||
* @(#) $Id: config.c,v 29.8 2002/12/29 09:20:25 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/config.c,v $
|
||||
*
|
||||
* Under source code control: 1991/07/20 00:21:56
|
||||
@@ -51,6 +51,7 @@
|
||||
NAMETYPE configs[] = {
|
||||
{"all", CONFIG_ALL},
|
||||
{"mode", CONFIG_MODE},
|
||||
{"mode2", CONFIG_MODE2},
|
||||
{"display", CONFIG_DISPLAY},
|
||||
{"epsilon", CONFIG_EPSILON},
|
||||
/*epsilonprec -- tied to epsilon not a configuration type*/
|
||||
@@ -101,6 +102,7 @@ NAMETYPE configs[] = {
|
||||
*/
|
||||
CONFIG oldstd = { /* backward compatible standard configuration */
|
||||
MODE_INITIAL, /* current output mode */
|
||||
MODE2_INITIAL, /* current secondary output mode */
|
||||
20, /* current output digits for float or exp */
|
||||
NULL, /* loaded in at startup - default error for real functions */
|
||||
EPSILONPREC_DEFAULT, /* binary precision of epsilon */
|
||||
@@ -146,6 +148,7 @@ CONFIG oldstd = { /* backward compatible standard configuration */
|
||||
};
|
||||
CONFIG newstd = { /* new non-backward compatible configuration */
|
||||
MODE_INITIAL, /* current output mode */
|
||||
MODE2_INITIAL, /* current output mode */
|
||||
10, /* current output digits for float or exp */
|
||||
NULL, /* loaded in at startup - default error for real functions */
|
||||
NEW_EPSILONPREC_DEFAULT, /* binary precision of epsilon */
|
||||
@@ -212,6 +215,7 @@ static NAMETYPE modes[] = {
|
||||
{"oct", MODE_OCTAL},
|
||||
{"binary", MODE_BINARY},
|
||||
{"bin", MODE_BINARY},
|
||||
{"off", MODE2_OFF},
|
||||
{NULL, 0}
|
||||
};
|
||||
|
||||
@@ -467,6 +471,19 @@ setconfig(int type, VALUE *vp)
|
||||
math_setmode((int) temp);
|
||||
break;
|
||||
|
||||
case CONFIG_MODE2:
|
||||
if (vp->v_type != V_STR) {
|
||||
math_error("Non-string for mode");
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
temp = lookup_long(modes, vp->v_str->s_str);
|
||||
if (temp < 0) {
|
||||
math_error("Unknown mode \"%s\"", vp->v_str);
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
math_setmode2((int) temp);
|
||||
break;
|
||||
|
||||
case CONFIG_EPSILON:
|
||||
if (vp->v_type != V_NUM) {
|
||||
math_error("Non-numeric for epsilon");
|
||||
@@ -1018,6 +1035,16 @@ config_value(CONFIG *cfg, int type, VALUE *vp)
|
||||
vp->v_str = makenewstring(p);
|
||||
return;
|
||||
|
||||
case CONFIG_MODE2:
|
||||
vp->v_type = V_STR;
|
||||
p = lookup_name(modes, cfg->outmode2);
|
||||
if (p == NULL) {
|
||||
math_error("invalid secondary output mode: %d", cfg->outmode2);
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
vp->v_str = makenewstring(p);
|
||||
return;
|
||||
|
||||
case CONFIG_EPSILON:
|
||||
vp->v_num = qlink(cfg->epsilon);
|
||||
return;
|
||||
@@ -1267,6 +1294,7 @@ config_cmp(CONFIG *cfg1, CONFIG *cfg2)
|
||||
return cfg1->traceflags != cfg2->traceflags ||
|
||||
cfg1->outdigits != cfg2->outdigits ||
|
||||
cfg1->outmode != cfg2->outmode ||
|
||||
cfg1->outmode2 != cfg2->outmode2 ||
|
||||
qcmp(cfg1->epsilon, cfg2->epsilon) ||
|
||||
cfg1->epsilonprec != cfg2->epsilonprec ||
|
||||
cfg1->maxprint != cfg2->maxprint ||
|
||||
|
8
config.h
8
config.h
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* config - configuration routines
|
||||
*
|
||||
* Copyright (C) 1999 Landon Curt Noll and David I. Bell
|
||||
* Copyright (C) 1999-2002 Landon Curt Noll and David I. Bell
|
||||
*
|
||||
* Primary author: Landon Curt Noll
|
||||
*
|
||||
@@ -19,8 +19,8 @@
|
||||
* 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.11 $
|
||||
* @(#) $Id: config.h,v 29.11 2001/06/08 21:00:58 chongo Exp $
|
||||
* @(#) $Revision: 29.12 $
|
||||
* @(#) $Id: config.h,v 29.12 2002/12/29 09:20:25 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/config.h,v $
|
||||
*
|
||||
* Under source code control: 1995/11/01 22:20:17
|
||||
@@ -90,6 +90,7 @@
|
||||
#define CONFIG_BASENAME 36
|
||||
#define CONFIG_VERSION 37
|
||||
#define CONFIG_WINDOWS 38
|
||||
#define CONFIG_MODE2 39
|
||||
|
||||
|
||||
/*
|
||||
@@ -118,6 +119,7 @@
|
||||
*/
|
||||
struct config {
|
||||
int outmode; /* current output mode */
|
||||
int outmode2; /* current secondary output mode */
|
||||
LEN outdigits; /* current output digits for float or exp */
|
||||
NUMBER *epsilon; /* default error for real functions */
|
||||
long epsilonprec; /* epsilon binary precision (tied to epsilon) */
|
||||
|
191
cscript/Makefile
191
cscript/Makefile
@@ -17,8 +17,8 @@
|
||||
# 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.18 $
|
||||
# @(#) $Id: Makefile,v 29.18 2001/06/08 22:38:53 chongo Exp $
|
||||
# @(#) $Revision: 29.23 $
|
||||
# @(#) $Id: Makefile,v 29.23 2003/01/14 01:58:18 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/cscript/RCS/Makefile,v $
|
||||
#
|
||||
# Under source code control: 1999/11/29 11:10:26
|
||||
@@ -36,21 +36,111 @@
|
||||
SHELL= /bin/sh
|
||||
MAKE_FILE = Makefile
|
||||
|
||||
####
|
||||
# Normally, the upper level makefile will set these values. We provide
|
||||
# a default here just in case you want to build from this directory.
|
||||
####
|
||||
|
||||
# Where the system include (.h) files are kept
|
||||
#
|
||||
# For DJGPP, select:
|
||||
#
|
||||
# INCDIR= /dev/env/DJDIR/include
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# INCDIR= /usr/include
|
||||
#
|
||||
|
||||
#INCDIR= /usr/local/include
|
||||
#INCDIR= /dev/env/DJDIR/include
|
||||
INCDIR= /usr/include
|
||||
|
||||
# where to install calc realted things
|
||||
#
|
||||
# ${BINDIR} where to install calc binary files
|
||||
# ${LIBDIR} where calc link library (*.a) files are installed
|
||||
# ${CALC_SHAREDIR} where to install calc help, .cal, startup, config files
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with $T, which
|
||||
# by default is empty. If $T is non-empty, then installation
|
||||
# locations will be relative to the $T directory.
|
||||
#
|
||||
# For DJGPP, select:
|
||||
#
|
||||
# BINDIR= /dev/env/DJDIR/bin
|
||||
# LIBDIR= /dev/env/DJDIR/lib
|
||||
# CALC_SHAREDIR= /dev/env/DJDIR/share/calc
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# BINDIR= /usr/bin
|
||||
# LIBDIR= /usr/lib
|
||||
# CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
#BINDIR= /usr/local/bin
|
||||
#BINDIR= /dev/env/DJDIR/bin
|
||||
BINDIR= /usr/bin
|
||||
#BINDIR= /usr/contrib/bin
|
||||
|
||||
#LIBDIR= /usr/local/lib
|
||||
#LIBDIR= /dev/env/DJDIR/lib
|
||||
LIBDIR= /usr/lib
|
||||
|
||||
#CALC_SHAREDIR= /usr/local/lib/calc
|
||||
#CALC_SHAREDIR= /dev/env/DJDIR/share/calc
|
||||
CALC_SHAREDIR= /usr/share/calc
|
||||
|
||||
# By default, these values are based CALC_SHAREDIR, INCDIR, BINDIR
|
||||
# ---------------------------------------------------------------
|
||||
# ${HELPDIR} where the help directory is installed
|
||||
# ${CALC_INCDIR} where the calc include files are installed
|
||||
# ${CUSTOMCALDIR} where custom *.cal files are installed
|
||||
# ${CUSTOMHELPDIR} where custom help files are installed
|
||||
# ${CUSTOMINCPDIR} where custom .h files are installed
|
||||
# ${SCRIPTDIR} where calc shell scripts are installed
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with $T, which
|
||||
# by default is empty. If $T is non-empty, then installation
|
||||
# locations will be relative to the $T directory.
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# HELPDIR= ${CALC_SHAREDIR}/help
|
||||
# CALC_INCDIR= ${INCDIR}/calc
|
||||
# CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
# CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
# CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
# SCRIPTDIR= ${BINDIR}/cscript
|
||||
#
|
||||
HELPDIR= ${CALC_SHAREDIR}/help
|
||||
CALC_INCDIR= ${INCDIR}/calc
|
||||
CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
SCRIPTDIR= ${BINDIR}/cscript
|
||||
|
||||
# T - top level directory under which calc will be installed
|
||||
#
|
||||
# The calc install is performed under $T, the calc build is
|
||||
# performed under /. The purpose for $T is to allow someone to
|
||||
# install calc somewhere other than into the system area. For example
|
||||
# when forming the calc rpm, the Makefile is called with T=$RPM_BUILD_ROOT.
|
||||
# performed under /. The purpose for $T is to allow someone
|
||||
# to install calc somewhere other than into the system area.
|
||||
#
|
||||
# For example, if:
|
||||
#
|
||||
# BINDIR= /usr/bin
|
||||
# LIBDIR= /usr/lib
|
||||
# CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
# and if:
|
||||
#
|
||||
# T= /var/tmp/testing
|
||||
#
|
||||
# Then the installation locations will be:
|
||||
#
|
||||
# calc binary files: /var/tmp/testing/usr/bin
|
||||
# calc link library: /var/tmp/testing/usr/lib
|
||||
# calc help, .cal ...: /var/tmp/testing/usr/share/calc
|
||||
# ... etc ... /var/tmp/testing/...
|
||||
#
|
||||
# If $T is empty, calc is installed under /, which is the same
|
||||
# top of tree for which it was built. If $T is non-empty, then
|
||||
@@ -93,11 +183,11 @@ CMP= cmp
|
||||
#
|
||||
# make detaillist
|
||||
#
|
||||
SCRIPT= 4dsphere fproduct mersenne piforever plus powerterm simple \
|
||||
square
|
||||
SCRIPT= 4dsphere fproduct mersenne piforever plus powerterm \
|
||||
simple square
|
||||
|
||||
SCRIPT_SRC= 4dsphere.calc fproduct.calc mersenne.calc piforever.calc \
|
||||
plus.calc powerterm.calc simple.calc square.calc
|
||||
SCRIPT_SRC= 4dsphere.calc fproduct.calc mersenne.calc \
|
||||
piforever.calc plus.calc powerterm.calc simple.calc square.calc
|
||||
|
||||
# These files are found (but not built) in the distribution
|
||||
#
|
||||
@@ -139,8 +229,10 @@ all: ${TARGETS} .all
|
||||
##
|
||||
|
||||
distlist: ${DISTLIST}
|
||||
${Q}for i in ${DISTLIST}; do \
|
||||
${Q}for i in ${DISTLIST} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo cscript/$$i; \
|
||||
fi; \
|
||||
done | LANG=C ${SORT}
|
||||
|
||||
distdir:
|
||||
@@ -152,23 +244,27 @@ calcliblist:
|
||||
#
|
||||
detaillist:
|
||||
${Q}-(echo "xxxxxxx"; \
|
||||
for i in ${SCRIPT}; do \
|
||||
for i in ${SCRIPT} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
if [ ! -f RCS/$$i.calc,v ]; then \
|
||||
echo "WARNING: $$i.calc not under RCS control" 1>&2; \
|
||||
else \
|
||||
echo $$i; \
|
||||
fi; \
|
||||
fi; \
|
||||
done | LANG=C ${SORT}) | ${FMT} -70 | \
|
||||
${SED} -e '1s/xxxxxxx/SCRIPT=/' -e '2,$$s/^/ /' \
|
||||
-e 's/$$/ \\/' -e '$$s/ \\$$//'
|
||||
${Q}echo
|
||||
${Q}-(echo "xxxxxxxxxxx"; \
|
||||
for i in ${SCRIPT}; do \
|
||||
for i in ${SCRIPT} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
if [ ! -f RCS/$$i.calc,v ]; then \
|
||||
echo "WARNING: $$i.calc not under RCS control" 1>&2; \
|
||||
else \
|
||||
echo $$i.calc; \
|
||||
fi; \
|
||||
fi; \
|
||||
done | LANG=C ${SORT}) | ${FMT} -70 | \
|
||||
${SED} -e '1s/xxxxxxxxxxx/SCRIPT_SRC=/' -e '2,$$s/^/ /' \
|
||||
-e 's/$$/ \\/' -e '$$s/ \\$$//'
|
||||
@@ -197,11 +293,13 @@ depend:
|
||||
${Q}echo "# DO NOT DELETE THIS LINE -- make depend depends on it." > \
|
||||
makedep.out
|
||||
${Q}echo "" >> makedep.out
|
||||
${Q}for i in ${SCRIPT}; do \
|
||||
${Q}for i in ${SCRIPT} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo "$$i: $$i.calc"; \
|
||||
echo ' rm -f $$@'; \
|
||||
echo ' $${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!$${BINDIR}/calc:" $$?>$$@'; \
|
||||
echo ' $${CHMOD} +x $$@'; \
|
||||
echo ' @rm -f $$@'; \
|
||||
echo ' @$${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!$${BINDIR}/calc:" $$?>$$@'; \
|
||||
echo ' @$${CHMOD} +x $$@'; \
|
||||
fi; \
|
||||
done >> makedep.out
|
||||
${Q}echo sample dependency list formed
|
||||
${Q}echo forming new cscript/Makefile
|
||||
@@ -233,8 +331,10 @@ depend:
|
||||
##
|
||||
|
||||
echo_inst_files:
|
||||
${Q}for i in ${SCRIPT}; do \
|
||||
echo __file__ ${SCRIPTDIR}/$$i; \
|
||||
${Q}for i in ${SCRIPT} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo __file__ ${SCRIPTDIR}/$$i; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
##
|
||||
@@ -274,7 +374,10 @@ install: all
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
${Q}for i in ${SCRIPT}; do \
|
||||
${Q}for i in ${SCRIPT} /dev/null; do \
|
||||
if [ "$$i" = "/dev/null" ]; then \
|
||||
continue; \
|
||||
fi; \
|
||||
if ${CMP} -s $$i $T${SCRIPTDIR}/$$i; then \
|
||||
true; \
|
||||
else \
|
||||
@@ -289,34 +392,34 @@ install: all
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
4dsphere: 4dsphere.calc
|
||||
rm -f $@
|
||||
${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
${CHMOD} +x $@
|
||||
@rm -f $@
|
||||
@${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
@${CHMOD} +x $@
|
||||
fproduct: fproduct.calc
|
||||
rm -f $@
|
||||
${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
${CHMOD} +x $@
|
||||
@rm -f $@
|
||||
@${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
@${CHMOD} +x $@
|
||||
mersenne: mersenne.calc
|
||||
rm -f $@
|
||||
${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
${CHMOD} +x $@
|
||||
@rm -f $@
|
||||
@${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
@${CHMOD} +x $@
|
||||
piforever: piforever.calc
|
||||
rm -f $@
|
||||
${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
${CHMOD} +x $@
|
||||
@rm -f $@
|
||||
@${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
@${CHMOD} +x $@
|
||||
plus: plus.calc
|
||||
rm -f $@
|
||||
${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
${CHMOD} +x $@
|
||||
@rm -f $@
|
||||
@${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
@${CHMOD} +x $@
|
||||
powerterm: powerterm.calc
|
||||
rm -f $@
|
||||
${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
${CHMOD} +x $@
|
||||
@rm -f $@
|
||||
@${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
@${CHMOD} +x $@
|
||||
simple: simple.calc
|
||||
rm -f $@
|
||||
${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
${CHMOD} +x $@
|
||||
@rm -f $@
|
||||
@${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
@${CHMOD} +x $@
|
||||
square: square.calc
|
||||
rm -f $@
|
||||
${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
${CHMOD} +x $@
|
||||
@rm -f $@
|
||||
@${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
|
||||
@${CHMOD} +x $@
|
||||
|
@@ -21,14 +21,14 @@ For more info, see:
|
||||
|
||||
4dsphere
|
||||
|
||||
determine if 6 points lie on the surface of a sphere in R^4
|
||||
Determine if 6 points lie on the surface of a 4-dimensional sphere in R^4.
|
||||
|
||||
usage: 4dsphere x0 y0 z0 w0 x1 y1 z1 w1 ... x5 y5 z5 w5
|
||||
4dsphere x0 y0 z0 w0 x1 y1 z1 w1 ... x5 y5 z5 w5
|
||||
|
||||
x0 y0 z0 w0 point 0 in R^4
|
||||
x1 y1 z1 w1 point 1 in R^4
|
||||
... ...
|
||||
x5 y5 z5 w5 point 5 in R^4
|
||||
x0 y0 z0 w0 point 0 in R^4
|
||||
x1 y1 z1 w1 point 1 in R^4
|
||||
... ...
|
||||
x5 y5 z5 w5 point 5 in R^4
|
||||
|
||||
|
||||
fproduct filename term ...
|
||||
@@ -77,8 +77,8 @@ simple
|
||||
## 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.7 $
|
||||
## @(#) $Id: README,v 29.7 2001/05/28 23:08:22 chongo Exp $
|
||||
## @(#) $Revision: 29.10 $
|
||||
## @(#) $Id: README,v 29.10 2001/06/10 19:34:40 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/cscript/RCS/README,v $
|
||||
##
|
||||
## Under source code control: 1999/12/17 10:23:40
|
||||
|
264
custom/Makefile
264
custom/Makefile
@@ -18,8 +18,8 @@
|
||||
# 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.17 $
|
||||
# @(#) $Id: Makefile,v 29.17 2001/06/08 22:38:53 chongo Exp $
|
||||
# @(#) $Revision: 29.20 $
|
||||
# @(#) $Id: Makefile,v 29.20 2003/01/14 02:18:45 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/custom/RCS/Makefile,v $
|
||||
#
|
||||
# Under source code control: 1997/03/09 02:28:54
|
||||
@@ -88,40 +88,111 @@ CUSTOM_OBJ= c_argv.o c_devnull.o c_help.o c_sysinfo.o c_pzasusb8.o
|
||||
#Q=
|
||||
Q=@
|
||||
|
||||
####
|
||||
# Normally, the upper level makefile will set these values. We provide
|
||||
# a default here just in case you want to build from this directory.
|
||||
####
|
||||
|
||||
# Where the system include (.h) files are kept
|
||||
#
|
||||
# where to install things
|
||||
# For DJGPP, select:
|
||||
#
|
||||
# ${SHAREDIR} where most common shared files are kept
|
||||
# ${INCDIR} where most .h files are kept
|
||||
# INCDIR= /dev/env/DJDIR/include
|
||||
#
|
||||
# ${CSHAREDIR} where most common shared calc files are kept
|
||||
# ${HELPDIR} where the help directory is installed.
|
||||
# ${INCDIRCALC} where the calc include files are installed
|
||||
# ${CUSTOMLIBDIR} where custom *.cal files & libcustcalc.a are installed.
|
||||
# ${CUSTOMHELPDIR} where custom help files are installed.
|
||||
# ${CUSTOMINCPDIR} where custom .h files are installed.
|
||||
# If in doubt, set:
|
||||
#
|
||||
#SHAREDIR= /usr/local/lib
|
||||
SHAREDIR= /usr/share
|
||||
# INCDIR= /usr/include
|
||||
#
|
||||
|
||||
#INCDIR= /usr/local/include
|
||||
#INCDIR= /dev/env/DJDIR/include
|
||||
INCDIR= /usr/include
|
||||
|
||||
# where to install calc realted things
|
||||
#
|
||||
CSHAREDIR= ${SHAREDIR}/calc
|
||||
HELPDIR= ${CSHAREDIR}/help
|
||||
INCDIRCALC= ${INCDIR}/calc
|
||||
CUSTOMLIBDIR= ${CSHAREDIR}/custom
|
||||
CUSTOMHELPDIR= ${CSHAREDIR}/custhelp
|
||||
CUSTOMINCDIR= ${INCDIRCALC}/custom
|
||||
# ${BINDIR} where to install calc binary files
|
||||
# ${LIBDIR} where calc link library (*.a) files are installed
|
||||
# ${CALC_SHAREDIR} where to install calc help, .cal, startup, config files
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with $T, which
|
||||
# by default is empty. If $T is non-empty, then installation
|
||||
# locations will be relative to the $T directory.
|
||||
#
|
||||
# For DJGPP, select:
|
||||
#
|
||||
# BINDIR= /dev/env/DJDIR/bin
|
||||
# LIBDIR= /dev/env/DJDIR/lib
|
||||
# CALC_SHAREDIR= /dev/env/DJDIR/share/calc
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# BINDIR= /usr/bin
|
||||
# LIBDIR= /usr/lib
|
||||
# CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
#BINDIR= /usr/local/bin
|
||||
#BINDIR= /dev/env/DJDIR/bin
|
||||
BINDIR= /usr/bin
|
||||
|
||||
#LIBDIR= /usr/local/lib
|
||||
#LIBDIR= /dev/env/DJDIR/lib
|
||||
LIBDIR= /usr/lib
|
||||
|
||||
#CALC_SHAREDIR= /usr/local/lib/calc
|
||||
#CALC_SHAREDIR= /dev/env/DJDIR/share/calc
|
||||
CALC_SHAREDIR= /usr/share/calc
|
||||
|
||||
# By default, these values are based CALC_SHAREDIR, INCDIR, BINDIR
|
||||
# ---------------------------------------------------------------
|
||||
# ${HELPDIR} where the help directory is installed
|
||||
# ${CALC_INCDIR} where the calc include files are installed
|
||||
# ${CUSTOMCALDIR} where custom *.cal files are installed
|
||||
# ${CUSTOMHELPDIR} where custom help files are installed
|
||||
# ${CUSTOMINCPDIR} where custom .h files are installed
|
||||
# ${SCRIPTDIR} where calc shell scripts are installed
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with $T, which
|
||||
# by default is empty. If $T is non-empty, then installation
|
||||
# locations will be relative to the $T directory.
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# HELPDIR= ${CALC_SHAREDIR}/help
|
||||
# CALC_INCDIR= ${INCDIR}/calc
|
||||
# CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
# CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
# CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
# SCRIPTDIR= ${BINDIR}/cscript
|
||||
#
|
||||
HELPDIR= ${CALC_SHAREDIR}/help
|
||||
CALC_INCDIR= ${INCDIR}/calc
|
||||
CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
SCRIPTDIR= ${BINDIR}/cscript
|
||||
|
||||
# T - top level directory under which calc will be installed
|
||||
#
|
||||
# The calc install is performed under $T, the calc build is
|
||||
# performed under /. The purpose for $T is to allow someone to
|
||||
# install calc somewhere other than into the system area. For example
|
||||
# when forming the calc rpm, the Makefile is called with T=$RPM_BUILD_ROOT.
|
||||
# performed under /. The purpose for $T is to allow someone
|
||||
# to install calc somewhere other than into the system area.
|
||||
#
|
||||
# For example, if:
|
||||
#
|
||||
# BINDIR= /usr/bin
|
||||
# LIBDIR= /usr/lib
|
||||
# CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
# and if:
|
||||
#
|
||||
# T= /var/tmp/testing
|
||||
#
|
||||
# Then the installation locations will be:
|
||||
#
|
||||
# calc binary files: /var/tmp/testing/usr/bin
|
||||
# calc link library: /var/tmp/testing/usr/lib
|
||||
# calc help, .cal ...: /var/tmp/testing/usr/share/calc
|
||||
# ... etc ... /var/tmp/testing/...
|
||||
#
|
||||
# If $T is empty, calc is installed under /, which is the same
|
||||
# top of tree for which it was built. If $T is non-empty, then
|
||||
@@ -279,7 +350,7 @@ REQUIRED_SRC= custtbl.c
|
||||
#
|
||||
REQUIRED_OBJ= custtbl.o
|
||||
|
||||
# These .h files are installed under ${CUSTOMLIBDIR} by the install rule.
|
||||
# These .h files are installed under ${CUSTOMCALDIR} by the install rule.
|
||||
#
|
||||
INSTALL_H_SRC= ${CUSTOM_H_SRC}
|
||||
|
||||
@@ -381,8 +452,10 @@ c_sysinfo.o: c_sysinfo.c ${MAKE_FILE}
|
||||
##
|
||||
|
||||
distlist: ${DISTLIST}
|
||||
${Q}for i in ${DISTLIST}; do \
|
||||
${Q}for i in ${DISTLIST} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo custom/$$i; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
distdir:
|
||||
@@ -418,11 +491,13 @@ depend:
|
||||
-${Q}rm -rf skel
|
||||
${Q}mkdir skel
|
||||
${Q}mkdir skel/custom
|
||||
-${Q}for i in ${C_SRC}; do \
|
||||
-${Q}for i in ${C_SRC} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
${SED} -n '/^#[ ]*include[ ]*"/p' \
|
||||
"$$i" > "skel/custom/$$i"; \
|
||||
fi; \
|
||||
done
|
||||
-${Q}for i in /dev/null ${H_SRC}; do \
|
||||
-${Q}for i in ${H_SRC} /dev/null; do \
|
||||
if [ "$$i" = "/dev/null" ]; then \
|
||||
continue; \
|
||||
fi; \
|
||||
@@ -437,7 +512,10 @@ depend:
|
||||
${Q}for i in `cd ..; ${MAKE} h_list 2>&1 | \
|
||||
${SED} -e '/Entering directory/d' \
|
||||
-e '/Nothing to be done/d' \
|
||||
-e '/Leaving directory/d'`; do \
|
||||
-e '/Leaving directory/d'` /dev/null; do \
|
||||
if [ "$$i" = "/dev/null" ]; then \
|
||||
continue; \
|
||||
fi; \
|
||||
tag="`echo $$i | ${SED} 's/[\.+,:]/_/g'`"; \
|
||||
echo "#if !defined($$tag)" > "skel/$$i"; \
|
||||
echo "#define $$tag" >> "skel/$$i"; \
|
||||
@@ -451,8 +529,10 @@ depend:
|
||||
${Q}echo "# DO NOT DELETE THIS LINE -- make depend depends on it." > \
|
||||
skel/custom/makedep.out
|
||||
${Q}cd skel/custom; ${MAKEDEPEND} -w 1 -f makedep.out ${C_SRC}
|
||||
-${Q}for i in ${C_SRC}; do \
|
||||
-${Q}for i in ${C_SRC} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo "$$i" | ${SED} 's/^\(.*\)\.c/\1.o: \1.c/'; \
|
||||
fi; \
|
||||
done >> skel/custom/makedep.out
|
||||
${Q}echo custom dependency list formed
|
||||
${Q}echo forming new custom/Makefile
|
||||
@@ -485,17 +565,25 @@ depend:
|
||||
##
|
||||
|
||||
echo_inst_files:
|
||||
${Q}for i in ${INSTALL_H_SRC}; do \
|
||||
echo __file__ ${CUSTOMINCDIR}/$$i; \
|
||||
${Q}for i in ${INSTALL_H_SRC} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo __file__ ${CUSTOMINCDIR}/$$i; \
|
||||
fi; \
|
||||
done
|
||||
${Q}for i in ${CUSTOM_HELP}; do \
|
||||
echo __file__ ${CUSTOMHELPDIR}/$$i; \
|
||||
${Q}for i in ${CUSTOM_HELP} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo __file__ ${CUSTOMHELPDIR}/$$i; \
|
||||
fi; \
|
||||
done
|
||||
${Q}for i in ${CUSTOM_CALC_FILES}; do \
|
||||
echo __file__ ${CUSTOMLIBDIR}/$$i; \
|
||||
${Q}for i in ${CUSTOM_CALC_FILES} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo __file__ ${CUSTOMCALDIR}/$$i; \
|
||||
fi; \
|
||||
done
|
||||
${Q}for i in ${CALC_LIBCUSTOM}; do \
|
||||
echo __file__ ${CUSTOMLIBDIR}/$$i; \
|
||||
${Q}for i in ${CALC_LIBCUSTOM} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo __file__ ${CUSTOMCALDIR}/$$i; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
##
|
||||
@@ -512,18 +600,6 @@ clobber:
|
||||
rm -f .all Makefile.tmp Makefile.bak
|
||||
|
||||
install: all
|
||||
-${Q}if [ ! -d $T${SHAREDIR} ]; then \
|
||||
echo mkdir $T${SHAREDIR}; \
|
||||
mkdir $T${SHAREDIR}; \
|
||||
if [ ! -d "$T${SHAREDIR}" ]; then \
|
||||
echo mkdir -p "$T${SHAREDIR}"; \
|
||||
mkdir -p "$T${SHAREDIR}"; \
|
||||
fi; \
|
||||
echo ${CHMOD} 0755 $T${SHAREDIR}; \
|
||||
${CHMOD} 0755 $T${SHAREDIR}; \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
-${Q}if [ ! -d $T${INCDIR} ]; then \
|
||||
echo mkdir $T${INCDIR}; \
|
||||
mkdir $T${INCDIR}; \
|
||||
@@ -536,27 +612,27 @@ install: all
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
-${Q}if [ ! -d $T${CSHAREDIR} ]; then \
|
||||
echo mkdir $T${CSHAREDIR}; \
|
||||
mkdir $T${CSHAREDIR}; \
|
||||
if [ ! -d "$T${CSHAREDIR}" ]; then \
|
||||
echo mkdir -p "$T${CSHAREDIR}"; \
|
||||
mkdir -p "$T${CSHAREDIR}"; \
|
||||
-${Q}if [ ! -d $T${CALC_SHAREDIR} ]; then \
|
||||
echo mkdir $T${CALC_SHAREDIR}; \
|
||||
mkdir $T${CALC_SHAREDIR}; \
|
||||
if [ ! -d "$T${CALC_SHAREDIR}" ]; then \
|
||||
echo mkdir -p "$T${CALC_SHAREDIR}"; \
|
||||
mkdir -p "$T${CALC_SHAREDIR}"; \
|
||||
fi; \
|
||||
echo ${CHMOD} 0755 $T${CSHAREDIR}; \
|
||||
${CHMOD} 0755 $T${CSHAREDIR}; \
|
||||
echo ${CHMOD} 0755 $T${CALC_SHAREDIR}; \
|
||||
${CHMOD} 0755 $T${CALC_SHAREDIR}; \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
-${Q}if [ ! -d $T${INCDIRCALC} ]; then \
|
||||
echo mkdir $T${INCDIRCALC}; \
|
||||
mkdir $T${INCDIRCALC}; \
|
||||
if [ ! -d "$T${INCDIRCALC}" ]; then \
|
||||
echo mkdir -p "$T${INCDIRCALC}"; \
|
||||
mkdir -p "$T${INCDIRCALC}"; \
|
||||
-${Q}if [ ! -d $T${CALC_INCDIR} ]; then \
|
||||
echo mkdir $T${CALC_INCDIR}; \
|
||||
mkdir $T${CALC_INCDIR}; \
|
||||
if [ ! -d "$T${CALC_INCDIR}" ]; then \
|
||||
echo mkdir -p "$T${CALC_INCDIR}"; \
|
||||
mkdir -p "$T${CALC_INCDIR}"; \
|
||||
fi; \
|
||||
echo ${CHMOD} 0755 $T${INCDIRCALC}; \
|
||||
${CHMOD} 0755 $T${INCDIRCALC}; \
|
||||
echo ${CHMOD} 0755 $T${CALC_INCDIR}; \
|
||||
${CHMOD} 0755 $T${CALC_INCDIR}; \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
@@ -572,15 +648,15 @@ install: all
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
-${Q}if [ ! -d $T${CUSTOMLIBDIR} ]; then \
|
||||
echo mkdir $T${CUSTOMLIBDIR}; \
|
||||
mkdir $T${CUSTOMLIBDIR}; \
|
||||
if [ ! -d "$T${CUSTOMLIBDIR}" ]; then \
|
||||
echo mkdir -p "$T${CUSTOMLIBDIR}"; \
|
||||
mkdir -p "$T${CUSTOMLIBDIR}"; \
|
||||
-${Q}if [ ! -d $T${CUSTOMCALDIR} ]; then \
|
||||
echo mkdir $T${CUSTOMCALDIR}; \
|
||||
mkdir $T${CUSTOMCALDIR}; \
|
||||
if [ ! -d "$T${CUSTOMCALDIR}" ]; then \
|
||||
echo mkdir -p "$T${CUSTOMCALDIR}"; \
|
||||
mkdir -p "$T${CUSTOMCALDIR}"; \
|
||||
fi; \
|
||||
echo ${CHMOD} 0755 $T${CUSTOMLIBDIR}; \
|
||||
${CHMOD} 0755 $T${CUSTOMLIBDIR}; \
|
||||
echo ${CHMOD} 0755 $T${CUSTOMCALDIR}; \
|
||||
${CHMOD} 0755 $T${CUSTOMCALDIR}; \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
@@ -608,7 +684,10 @@ install: all
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
-${Q}for i in ${INSTALL_H_SRC}; do \
|
||||
-${Q}for i in ${INSTALL_H_SRC} /dev/null; do \
|
||||
if [ "$$i" = "/dev/null" ]; then \
|
||||
continue; \
|
||||
fi; \
|
||||
if ${CMP} -s tmp $T${CUSTOMINCDIR}/$$i; then \
|
||||
true; \
|
||||
else \
|
||||
@@ -620,18 +699,24 @@ install: all
|
||||
fi; \
|
||||
done
|
||||
-${Q}rm -f tmp
|
||||
-${Q}for i in ${CUSTOM_CALC_FILES}; do \
|
||||
if ${CMP} -s $$i $T${CUSTOMLIBDIR}/$$i; then \
|
||||
-${Q}for i in ${CUSTOM_CALC_FILES} /dev/null; do \
|
||||
if [ "$$i" = "/dev/null" ]; then \
|
||||
continue; \
|
||||
fi; \
|
||||
if ${CMP} -s $$i $T${CUSTOMCALDIR}/$$i; then \
|
||||
true; \
|
||||
else \
|
||||
rm -f $T${CUSTOMLIBDIR}/$$i.new; \
|
||||
cp -f $$i $T${CUSTOMLIBDIR}/$$i.new; \
|
||||
${CHMOD} 0444 $T${CUSTOMLIBDIR}/$$i.new; \
|
||||
mv -f $T${CUSTOMLIBDIR}/$$i.new $T${CUSTOMLIBDIR}/$$i; \
|
||||
echo "installed $T${CUSTOMLIBDIR}/$$i"; \
|
||||
rm -f $T${CUSTOMCALDIR}/$$i.new; \
|
||||
cp -f $$i $T${CUSTOMCALDIR}/$$i.new; \
|
||||
${CHMOD} 0444 $T${CUSTOMCALDIR}/$$i.new; \
|
||||
mv -f $T${CUSTOMCALDIR}/$$i.new $T${CUSTOMCALDIR}/$$i; \
|
||||
echo "installed $T${CUSTOMCALDIR}/$$i"; \
|
||||
fi; \
|
||||
done
|
||||
-${Q}for i in ${CUSTOM_HELP}; do \
|
||||
-${Q}for i in ${CUSTOM_HELP} /dev/null; do \
|
||||
if [ "$$i" = "/dev/null" ]; then \
|
||||
continue; \
|
||||
fi; \
|
||||
if ${CMP} -s $$i $T${CUSTOMHELPDIR}/$$i; then \
|
||||
true; \
|
||||
else \
|
||||
@@ -643,16 +728,16 @@ install: all
|
||||
fi; \
|
||||
done
|
||||
-${Q}if [ ! -z ${ALLOW_CUSTOM} ]; then \
|
||||
if ${CMP} -s libcustcalc.a $T${CUSTOMLIBDIR}/libcustcalc.a; then \
|
||||
if ${CMP} -s libcustcalc.a $T${CUSTOMCALDIR}/libcustcalc.a; then \
|
||||
true; \
|
||||
else \
|
||||
rm -f $T${CUSTOMLIBDIR}/libcustcalc.a.new; \
|
||||
cp -f libcustcalc.a $T${CUSTOMLIBDIR}/libcustcalc.a.new; \
|
||||
${CHMOD} 0644 $T${CUSTOMLIBDIR}/libcustcalc.a.new; \
|
||||
mv -f $T${CUSTOMLIBDIR}/libcustcalc.a.new \
|
||||
$T${CUSTOMLIBDIR}/libcustcalc.a; \
|
||||
${RANLIB} $T${CUSTOMLIBDIR}/libcustcalc.a; \
|
||||
echo "installed $T${CUSTOMLIBDIR}/libcustcalc.a"; \
|
||||
rm -f $T${CUSTOMCALDIR}/libcustcalc.a.new; \
|
||||
cp -f libcustcalc.a $T${CUSTOMCALDIR}/libcustcalc.a.new; \
|
||||
${CHMOD} 0644 $T${CUSTOMCALDIR}/libcustcalc.a.new; \
|
||||
mv -f $T${CUSTOMCALDIR}/libcustcalc.a.new \
|
||||
$T${CUSTOMCALDIR}/libcustcalc.a; \
|
||||
${RANLIB} $T${CUSTOMCALDIR}/libcustcalc.a; \
|
||||
echo "installed $T${CUSTOMCALDIR}/libcustcalc.a"; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
@@ -664,7 +749,6 @@ install: all
|
||||
|
||||
# DO NOT DELETE THIS LINE
|
||||
|
||||
|
||||
c_argv.o: ../alloc.h
|
||||
c_argv.o: ../block.h
|
||||
c_argv.o: ../byteswap.h
|
||||
|
9
endian.c
9
endian.c
@@ -17,8 +17,8 @@
|
||||
* 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.3 $
|
||||
* @(#) $Id: endian.c,v 29.3 2001/03/18 02:59:42 chongo Exp $
|
||||
* @(#) $Revision: 29.4 $
|
||||
* @(#) $Id: endian.c,v 29.4 2003/01/14 01:50:01 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/endian.c,v $
|
||||
*
|
||||
* Under source code control: 1993/11/15 04:32:58
|
||||
@@ -36,6 +36,11 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "have_stdlib.h"
|
||||
#if defined(HAVE_STDLIB_H)
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#include "have_unistd.h"
|
||||
#if defined(HAVE_UNISTD_H)
|
||||
#include <unistd.h>
|
||||
|
86
func.c
86
func.c
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* func - built-in functions implemented here
|
||||
*
|
||||
* Copyright (C) 1999 David I. Bell, Landon Curt Noll and Ernest Bowen
|
||||
* Copyright (C) 1999-2002 David I. Bell, Landon Curt Noll and Ernest Bowen
|
||||
*
|
||||
* Primary author: David I. Bell
|
||||
*
|
||||
@@ -19,8 +19,8 @@
|
||||
* 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.10 $
|
||||
* @(#) $Id: func.c,v 29.10 2001/05/29 00:41:22 chongo Exp $
|
||||
* @(#) $Revision: 29.12 $
|
||||
* @(#) $Id: func.c,v 29.12 2002/12/29 09:20:25 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/func.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:15
|
||||
@@ -107,7 +107,7 @@
|
||||
/*
|
||||
* forward declarations
|
||||
*/
|
||||
static NUMBER *base_value(long mode);
|
||||
static NUMBER *base_value(long mode, int defval);
|
||||
static int strscan(char *s, int count, VALUE **vals);
|
||||
static int filescan(FILEID id, int count, VALUE **vals);
|
||||
static VALUE f_eval(VALUE *vp);
|
||||
@@ -6910,9 +6910,9 @@ f_system(VALUE *vp)
|
||||
printf("%s\n", vp->v_str->s_str);
|
||||
}
|
||||
#if defined(_WIN32)
|
||||
/* if the execute length is 0 then use NULL in system call */
|
||||
/* if the execute length is 0 then just return 0 */
|
||||
if (strlen(vp->v_str->s_str) == 0) {
|
||||
result.v_num = itoq((long)system(NULL));
|
||||
result.v_num = itoq((long)0);
|
||||
} else {
|
||||
result.v_num = itoq((long)system(vp->v_str->s_str));
|
||||
}
|
||||
@@ -6978,15 +6978,15 @@ f_base(int count, NUMBER **vals)
|
||||
|
||||
/* deal with just a query */
|
||||
if (count != 1) {
|
||||
return base_value(conf->outmode);
|
||||
return base_value(conf->outmode, conf->outmode);
|
||||
}
|
||||
|
||||
/* deal with the specal modes first */
|
||||
if (qisfrac(vals[0])) {
|
||||
return base_value(math_setmode(MODE_FRAC));
|
||||
return base_value(math_setmode(MODE_FRAC), conf->outmode);
|
||||
}
|
||||
if (vals[0]->num.len > 64/BASEB) {
|
||||
return base_value(math_setmode(MODE_EXP));
|
||||
return base_value(math_setmode(MODE_EXP), conf->outmode);
|
||||
}
|
||||
|
||||
/* set the base, if possible */
|
||||
@@ -7014,7 +7014,61 @@ f_base(int count, NUMBER **vals)
|
||||
}
|
||||
|
||||
/* return the old base */
|
||||
return base_value(oldbase);
|
||||
return base_value(oldbase, conf->outmode);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* set the default secondary output base/mode
|
||||
*/
|
||||
static NUMBER *
|
||||
f_base2(int count, NUMBER **vals)
|
||||
{
|
||||
long base; /* output base/mode */
|
||||
long oldbase=0; /* output base/mode */
|
||||
|
||||
/* deal with just a query */
|
||||
if (count != 1) {
|
||||
return base_value(conf->outmode2, conf->outmode2);
|
||||
}
|
||||
|
||||
/* deal with the specal modes first */
|
||||
if (qisfrac(vals[0])) {
|
||||
return base_value(math_setmode2(MODE_FRAC), conf->outmode2);
|
||||
}
|
||||
if (vals[0]->num.len > 64/BASEB) {
|
||||
return base_value(math_setmode2(MODE_EXP), conf->outmode2);
|
||||
}
|
||||
|
||||
/* set the base, if possible */
|
||||
base = qtoi(vals[0]);
|
||||
switch (base) {
|
||||
case 0:
|
||||
oldbase = math_setmode2(MODE2_OFF);
|
||||
break;
|
||||
case -10:
|
||||
oldbase = math_setmode2(MODE_INT);
|
||||
break;
|
||||
case 2:
|
||||
oldbase = math_setmode2(MODE_BINARY);
|
||||
break;
|
||||
case 8:
|
||||
oldbase = math_setmode2(MODE_OCTAL);
|
||||
break;
|
||||
case 10:
|
||||
oldbase = math_setmode2(MODE_REAL);
|
||||
break;
|
||||
case 16:
|
||||
oldbase = math_setmode2(MODE_HEX);
|
||||
break;
|
||||
default:
|
||||
math_error("Unsupported base");
|
||||
/*NOTREACHED*/
|
||||
break;
|
||||
}
|
||||
|
||||
/* return the old base */
|
||||
return base_value(oldbase, conf->outmode2);
|
||||
}
|
||||
|
||||
|
||||
@@ -7022,14 +7076,14 @@ f_base(int count, NUMBER **vals)
|
||||
* return a numerical 'value' of the mode/base
|
||||
*/
|
||||
static NUMBER *
|
||||
base_value(long mode)
|
||||
base_value(long mode, int defval)
|
||||
{
|
||||
NUMBER *result;
|
||||
|
||||
/* return the old base */
|
||||
switch (mode) {
|
||||
case MODE_DEFAULT:
|
||||
switch (conf->outmode) {
|
||||
switch (defval) {
|
||||
case MODE_DEFAULT:
|
||||
result = itoq(10);
|
||||
break;
|
||||
@@ -7056,6 +7110,9 @@ base_value(long mode)
|
||||
case MODE_BINARY:
|
||||
result = itoq(2);
|
||||
break;
|
||||
case MODE2_OFF:
|
||||
result = itoq(0);
|
||||
break;
|
||||
default:
|
||||
result = itoq(0);
|
||||
break;
|
||||
@@ -7084,6 +7141,9 @@ base_value(long mode)
|
||||
case MODE_BINARY:
|
||||
result = itoq(2);
|
||||
break;
|
||||
case MODE2_OFF:
|
||||
result = itoq(0);
|
||||
break;
|
||||
default:
|
||||
result = itoq(0);
|
||||
break;
|
||||
@@ -7825,6 +7885,8 @@ static CONST struct builtin builtins[] = {
|
||||
"arithmetic mean of values"},
|
||||
{"base", 0, 1, 0, OP_NOP, f_base, 0,
|
||||
"set default output base"},
|
||||
{"base2", 0, 1, 0, OP_NOP, f_base2, 0,
|
||||
"set default secondary output base"},
|
||||
{"bernoulli", 1, 1, 0, OP_NOP, 0, f_bern,
|
||||
"Bernoulli number for index a"},
|
||||
{"bit", 2, 2, 0, OP_BIT, 0, 0,
|
||||
|
7
hash.c
7
hash.c
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* hash - one-way hash routines
|
||||
*
|
||||
* Copyright (C) 1999 Landon Curt Noll
|
||||
* Copyright (C) 1999-2002 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
|
||||
@@ -17,8 +17,8 @@
|
||||
* 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.4 $
|
||||
* @(#) $Id: hash.c,v 29.4 2001/04/14 22:47:21 chongo Exp $
|
||||
* @(#) $Revision: 29.5 $
|
||||
* @(#) $Id: hash.c,v 29.5 2002/12/29 09:20:25 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/hash.c,v $
|
||||
*
|
||||
* Under source code control: 1995/11/23 05:13:11
|
||||
@@ -941,6 +941,7 @@ hash_value(int type, void *v, HASH *state)
|
||||
|
||||
/* hash the CONFIG state */
|
||||
state = hash_int(type, value->v_config->outmode, state);
|
||||
state = hash_int(type, value->v_config->outmode2, state);
|
||||
state = hash_long(type,(long)value->v_config->outdigits, state);
|
||||
state = hash_number(type, value->v_config->epsilon, state);
|
||||
state = hash_long(type,
|
||||
|
186
help/Makefile
186
help/Makefile
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# help - makefile for calc help files
|
||||
#
|
||||
# Copyright (C) 1999 Landon Curt Noll
|
||||
# Copyright (C) 1999-2002 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
|
||||
@@ -18,8 +18,8 @@
|
||||
# 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.18 $
|
||||
# @(#) $Id: Makefile,v 29.18 2001/06/08 22:57:54 chongo Exp $
|
||||
# @(#) $Revision: 29.23 $
|
||||
# @(#) $Id: Makefile,v 29.23 2003/01/14 02:24:48 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/help/RCS/Makefile,v $
|
||||
#
|
||||
# Under source code control: 1991/07/23 06:47:57
|
||||
@@ -36,33 +36,111 @@
|
||||
SHELL= /bin/sh
|
||||
MAKE_FILE = Makefile
|
||||
|
||||
# ${SHAREDIR} where most common shared files are kept
|
||||
# ${INCDIR} where most .h files are kept
|
||||
# ${LIBDIR} where *.a files are installed
|
||||
####
|
||||
# Normally, the upper level makefile will set these values. We provide
|
||||
# a default here just in case you want to build from this directory.
|
||||
####
|
||||
|
||||
# Where the system include (.h) files are kept
|
||||
#
|
||||
# ${CSHAREDIR} where most common shared calc files are kept
|
||||
# ${HELPDIR} where the help directory is installed.
|
||||
# ${INCDIRCALC} where the calc include files are installed
|
||||
# For DJGPP, select:
|
||||
#
|
||||
# INCDIR= /dev/env/DJDIR/include
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# INCDIR= /usr/include
|
||||
#
|
||||
#SHAREDIR= /usr/local/lib
|
||||
SHAREDIR= /usr/share
|
||||
|
||||
#INCDIR= /usr/local/include
|
||||
#INCDIR= /dev/env/DJDIR/include
|
||||
INCDIR= /usr/include
|
||||
|
||||
# where to install calc realted things
|
||||
#
|
||||
# ${BINDIR} where to install calc binary files
|
||||
# ${LIBDIR} where calc link library (*.a) files are installed
|
||||
# ${CALC_SHAREDIR} where to install calc help, .cal, startup, config files
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with $T, which
|
||||
# by default is empty. If $T is non-empty, then installation
|
||||
# locations will be relative to the $T directory.
|
||||
#
|
||||
# For DJGPP, select:
|
||||
#
|
||||
# BINDIR= /dev/env/DJDIR/bin
|
||||
# LIBDIR= /dev/env/DJDIR/lib
|
||||
# CALC_SHAREDIR= /dev/env/DJDIR/share/calc
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# BINDIR= /usr/bin
|
||||
# LIBDIR= /usr/lib
|
||||
# CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
#BINDIR= /usr/local/bin
|
||||
#BINDIR= /dev/env/DJDIR/bin
|
||||
BINDIR= /usr/bin
|
||||
|
||||
#LIBDIR= /usr/local/lib
|
||||
#LIBDIR= /dev/env/DJDIR/lib
|
||||
LIBDIR= /usr/lib
|
||||
|
||||
CSHAREDIR= ${SHAREDIR}/calc
|
||||
HELPDIR= ${CSHAREDIR}/help
|
||||
INCDIRCALC= ${INCDIR}/calc
|
||||
#CALC_SHAREDIR= /usr/local/lib/calc
|
||||
#CALC_SHAREDIR= /dev/env/DJDIR/share/calc
|
||||
CALC_SHAREDIR= /usr/share/calc
|
||||
|
||||
# By default, these values are based CALC_SHAREDIR, INCDIR, BINDIR
|
||||
# ---------------------------------------------------------------
|
||||
# ${HELPDIR} where the help directory is installed
|
||||
# ${CALC_INCDIR} where the calc include files are installed
|
||||
# ${CUSTOMCALDIR} where custom *.cal files are installed
|
||||
# ${CUSTOMHELPDIR} where custom help files are installed
|
||||
# ${CUSTOMINCPDIR} where custom .h files are installed
|
||||
# ${SCRIPTDIR} where calc shell scripts are installed
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with $T, which
|
||||
# by default is empty. If $T is non-empty, then installation
|
||||
# locations will be relative to the $T directory.
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# HELPDIR= ${CALC_SHAREDIR}/help
|
||||
# CALC_INCDIR= ${INCDIR}/calc
|
||||
# CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
# CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
# CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
# SCRIPTDIR= ${BINDIR}/cscript
|
||||
#
|
||||
HELPDIR= ${CALC_SHAREDIR}/help
|
||||
CALC_INCDIR= ${INCDIR}/calc
|
||||
CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
SCRIPTDIR= ${BINDIR}/cscript
|
||||
|
||||
# T - top level directory under which calc will be installed
|
||||
#
|
||||
# The calc install is performed under $T, the calc build is
|
||||
# performed under /. The purpose for $T is to allow someone to
|
||||
# install calc somewhere other than into the system area. For example
|
||||
# when forming the calc rpm, the Makefile is called with T=$RPM_BUILD_ROOT.
|
||||
# performed under /. The purpose for $T is to allow someone
|
||||
# to install calc somewhere other than into the system area.
|
||||
#
|
||||
# For example, if:
|
||||
#
|
||||
# BINDIR= /usr/bin
|
||||
# LIBDIR= /usr/lib
|
||||
# CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
# and if:
|
||||
#
|
||||
# T= /var/tmp/testing
|
||||
#
|
||||
# Then the installation locations will be:
|
||||
#
|
||||
# calc binary files: /var/tmp/testing/usr/bin
|
||||
# calc link library: /var/tmp/testing/usr/lib
|
||||
# calc help, .cal ...: /var/tmp/testing/usr/share/calc
|
||||
# ... etc ... /var/tmp/testing/...
|
||||
#
|
||||
# If $T is empty, calc is installed under /, which is the same
|
||||
# top of tree for which it was built. If $T is non-empty, then
|
||||
@@ -168,11 +246,11 @@ BLT_HELP_FILES= ${BLT_HELP_FILES_3} ${BLT_HELP_FILES_5} \
|
||||
# This list is prodiced by the detaillist rule when no WARNINGS are detected.
|
||||
#
|
||||
DETAIL_HELP= abs access acos acosh acot acoth acsc acsch address agd append \
|
||||
appr arg argv arrow asec asech asin asinh assign atan atan2 atanh avg \
|
||||
base bernoulli bit blk blkcpy blkfree blocks bround btrunc calc_tty \
|
||||
calclevel catalan ceil cfappr cfsim char cmdbuf cmp comb conj cos \
|
||||
cosh cot coth count cp csc csch ctime delete den dereference det \
|
||||
digit digits dp epsilon errcount errmax errno error euler eval \
|
||||
appr arg argv arrow asec asech asin asinh assign atan atan2 atanh \
|
||||
avg base base2 bernoulli bit blk blkcpy blkfree blocks bround btrunc \
|
||||
calc_tty calclevel catalan ceil cfappr cfsim char cmdbuf cmp comb \
|
||||
conj cos cosh cot coth count cp csc csch ctime delete den dereference \
|
||||
det digit digits dp epsilon errcount errmax errno error euler eval \
|
||||
exp fact factor fclose fcnt feof ferror fflush fgetc fgetfield \
|
||||
fgetline fgets fgetstr fib files floor fopen forall fprintf fputc \
|
||||
fputs fputstr frac free freebernoulli freeeuler freeglobals freeredc \
|
||||
@@ -267,7 +345,7 @@ changes: ../CHANGES
|
||||
libcalc: ../LIBRARY
|
||||
rm -f $@
|
||||
${SED} -e 's:$${LIBDIR}:${LIBDIR}:g' \
|
||||
-e 's:$${INCDIRCALC}:${INCDIRCALC}:g' < ../LIBRARY > $@
|
||||
-e 's:$${CALC_INCDIR}:${CALC_INCDIR}:g' < ../LIBRARY > $@
|
||||
${CHMOD} 0444 $@
|
||||
-@if [ -z "${Q}" ]; then \
|
||||
echo ''; \
|
||||
@@ -418,11 +496,13 @@ full: ${FULL_HELP_FILES} ${MAKE_FILE}
|
||||
# Singular files are the same files as their plural form.
|
||||
#
|
||||
${SINGULAR_FILES}: ${PLURAL_FILES}
|
||||
${Q}for i in ${SINGULAR_FILES}; do \
|
||||
echo "rm -f $${i}"; \
|
||||
rm -f $${i}; \
|
||||
echo "cp $${i}s $${i}"; \
|
||||
cp $${i}s $${i}; \
|
||||
${Q}for i in ${SINGULAR_FILES} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo "rm -f $${i}"; \
|
||||
rm -f $${i}; \
|
||||
echo "cp $${i}s $${i}"; \
|
||||
cp $${i}s $${i}; \
|
||||
fi; \
|
||||
done
|
||||
-@if [ -z "${Q}" ]; then \
|
||||
echo ''; \
|
||||
@@ -455,7 +535,8 @@ builtin: builtin.top builtin.end ../func.c funclist.sed
|
||||
-${Q}rm -f funclist.c
|
||||
${Q}${SED} -n -f funclist.sed ../func.c > funclist.c
|
||||
-${Q}rm -f funclist.o funclist
|
||||
${Q}${LCC} ${ICFLAGS} -DFUNCLIST -I/usr/include -I.. funclist.c -c
|
||||
${Q}${LCC} ${ICFLAGS} -DFUNCLIST -I/usr/include \
|
||||
-I.. funclist.c -c 2>/dev/null
|
||||
${Q}${LCC} ${ILDFLAGS} funclist.o -o funclist
|
||||
-${Q}rm -f builtin
|
||||
${Q}cat builtin.top > builtin
|
||||
@@ -482,8 +563,10 @@ builtin: builtin.top builtin.end ../func.c funclist.sed
|
||||
##
|
||||
|
||||
distlist: ${DISTLIST}
|
||||
${Q}for i in ${DISTLIST}; do \
|
||||
${Q}for i in ${DISTLIST} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo help/$$i; \
|
||||
fi; \
|
||||
done | LANG=C ${SORT}
|
||||
|
||||
distdir:
|
||||
@@ -508,12 +591,14 @@ bsdi: all
|
||||
#
|
||||
detaillist:
|
||||
${Q}-(echo "xxxxx"; \
|
||||
for i in ${DETAIL_HELP}; do \
|
||||
for i in ${DETAIL_HELP} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
if [ ! -f RCS/$$i,v ]; then \
|
||||
echo "WARNING: $$i not under RCS control" 1>&2; \
|
||||
else \
|
||||
echo $$i; \
|
||||
fi; \
|
||||
fi; \
|
||||
done | LANG=C ${SORT}) | ${FMT} -70 | \
|
||||
${SED} -e '1s/xxxxx/DETAIL_HELP=/' -e '2,$$s/^/ /' \
|
||||
-e 's/$$/ \\/' -e '$$s/ \\$$//'
|
||||
@@ -526,8 +611,10 @@ detaillist:
|
||||
|
||||
echo_inst_files:
|
||||
${Q}for i in ${STD_HELP_FILES} full ${BLT_HELP_FILES} \
|
||||
builtin ${DETAIL_HELP} ${SINGULAR_FILES}; do \
|
||||
echo __file__ ${HELPDIR}/$$i; \
|
||||
builtin ${DETAIL_HELP} ${SINGULAR_FILES} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo __file__ ${HELPDIR}/$$i; \
|
||||
fi; \
|
||||
done
|
||||
${Q}echo __file__ ${HELPDIR}/obj
|
||||
|
||||
@@ -548,27 +635,15 @@ clobber:
|
||||
rm -f ${SINGULAR_FILES} ${DETAIL_CLONE}
|
||||
|
||||
install: all
|
||||
-${Q}if [ ! -d ${SHAREDIR} ]; then \
|
||||
echo mkdir $T${SHAREDIR}; \
|
||||
mkdir $T${SHAREDIR}; \
|
||||
if [ ! -d "$T${SHAREDIR}" ]; then \
|
||||
echo mkdir -p "$T${SHAREDIR}"; \
|
||||
mkdir -p "$T${SHAREDIR}"; \
|
||||
-${Q}if [ ! -d $T${CALC_SHAREDIR} ]; then \
|
||||
echo mkdir $T${CALC_SHAREDIR}; \
|
||||
mkdir $T${CALC_SHAREDIR}; \
|
||||
if [ ! -d "$T${CALC_SHAREDIR}" ]; then \
|
||||
echo mkdir -p "$T${CALC_SHAREDIR}"; \
|
||||
mkdir -p "$T${CALC_SHAREDIR}"; \
|
||||
fi; \
|
||||
echo ${CHMOD} 0755 $T${SHAREDIR}; \
|
||||
${CHMOD} 0755 $T${SHAREDIR}; \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
-${Q}if [ ! -d $T${CSHAREDIR} ]; then \
|
||||
echo mkdir $T${CSHAREDIR}; \
|
||||
mkdir $T${CSHAREDIR}; \
|
||||
if [ ! -d "$T${CSHAREDIR}" ]; then \
|
||||
echo mkdir -p "$T${CSHAREDIR}"; \
|
||||
mkdir -p "$T${CSHAREDIR}"; \
|
||||
fi; \
|
||||
echo ${CHMOD} 0755 $T${CSHAREDIR}; \
|
||||
${CHMOD} 0755 $T${CSHAREDIR}; \
|
||||
echo ${CHMOD} 0755 $T${CALC_SHAREDIR}; \
|
||||
${CHMOD} 0755 $T${CALC_SHAREDIR}; \
|
||||
else \
|
||||
true; \
|
||||
fi
|
||||
@@ -585,7 +660,10 @@ install: all
|
||||
true; \
|
||||
fi
|
||||
-${Q}for i in ${STD_HELP_FILES} ${BLT_HELP_FILES} builtin \
|
||||
full ${DETAIL_HELP} ${SINGULAR_FILES}; do \
|
||||
full ${DETAIL_HELP} ${SINGULAR_FILES} /dev/null; do \
|
||||
if [ "$$i" = "/dev/null" ]; then \
|
||||
continue; \
|
||||
fi; \
|
||||
if ${CMP} -s $$i $T${HELPDIR}/$$i; then \
|
||||
true; \
|
||||
else \
|
||||
|
14
help/address
14
help/address
@@ -23,7 +23,7 @@ DESCRIPTION
|
||||
0 <= i < sizeof(B). &B[i] then returns the address at which this
|
||||
octet is located until the block is freed or relocated. Freeing
|
||||
of an unnamed block B occurs when a new value is assigned to B or
|
||||
when B ceases to exist; a named block B is freed by blkfree(B().
|
||||
when B ceases to exist; a named block B is freed by blkfree(B).
|
||||
A block is relocated when an operation like copying to B requires
|
||||
a change of sizeof(B).
|
||||
|
||||
@@ -70,18 +70,18 @@ DESCRIPTION
|
||||
> p = &"abc"
|
||||
> A = "abc"
|
||||
|
||||
The address &*A of the value of A will be equal to p.
|
||||
the address &*A of the value of A will be equal to p.
|
||||
|
||||
Except in cases like strcat(A, "") when *A identified with a literal
|
||||
string as above, definitions of string values using strcat() or substr()
|
||||
will copy the relevant strings to newly allocated addresses which will
|
||||
be useable only while the variables retain these defined values.
|
||||
For example,
|
||||
For example, after
|
||||
|
||||
> B = C = strcat("a", "bc");
|
||||
|
||||
&*B and &*C will be different. If p is defined by p = &*B, p should
|
||||
not be used after a mew value is assigned to B, or B ceases to exist,
|
||||
not be used after a new value is assigned to B, or B ceases to exist,
|
||||
etc.
|
||||
|
||||
When compilation of a function encounters for the first time a particular
|
||||
@@ -117,7 +117,7 @@ DESCRIPTION
|
||||
|
||||
> A = B = C = f(2);
|
||||
|
||||
which, not only performs the addition n f() only once, but stores the
|
||||
which, not only performs the addition in f() only once, but stores the
|
||||
number values for A, B and C at the same address.
|
||||
|
||||
Whether a value V is a pointer and if so, its type, is indicated by the
|
||||
@@ -176,8 +176,8 @@ SEE ALSO
|
||||
## 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.2 $
|
||||
## @(#) $Id: address,v 29.2 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.3 $
|
||||
## @(#) $Id: address,v 29.3 2002/07/10 11:47:04 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/address,v $
|
||||
##
|
||||
## Under source code control: 1997/09/06 20:03:34
|
||||
|
@@ -13,7 +13,7 @@ TYPES
|
||||
DESCRIPTION
|
||||
p->X returns the same as (*p).X. Thus the current value of *p is
|
||||
to be an object of a type for which X identifies one element.
|
||||
p->X then returns the lvalue corresponding to that element of of the
|
||||
p->X then returns the lvalue corresponding to that element of the
|
||||
value of *p.
|
||||
|
||||
The expression *p.X will cause a runtime error since this is
|
||||
@@ -66,8 +66,8 @@ SEE ALSO
|
||||
## 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.2 $
|
||||
## @(#) $Id: arrow,v 29.2 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.3 $
|
||||
## @(#) $Id: arrow,v 29.3 2002/07/10 11:47:04 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/arrow,v $
|
||||
##
|
||||
## Under source code control: 1997/09/06 20:03:34
|
||||
|
@@ -14,7 +14,7 @@ DESCRIPTION
|
||||
Returns the asin of x to a multiple of eps with error less in
|
||||
absolute value than .75 * eps.
|
||||
|
||||
v = asin(x) is the number in [-p1/2, pi/2] for which sin(v) = x.
|
||||
v = asin(x) is the number in [-pi/2, pi/2] for which sin(v) = x.
|
||||
|
||||
EXAMPLE
|
||||
> print asin(.5, 1e-5), asin(.5, 1e-10), asin(.5, 1e-15), asin(.5, 1e-20)
|
||||
@@ -45,8 +45,8 @@ SEE ALSO
|
||||
## 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.2 $
|
||||
## @(#) $Id: asin,v 29.2 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.3 $
|
||||
## @(#) $Id: asin,v 29.3 2002/07/10 11:47:04 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/asin,v $
|
||||
##
|
||||
## Under source code control: 1994/03/19 01:40:24
|
||||
|
11
help/assoc
11
help/assoc
@@ -32,10 +32,9 @@ DESCRIPTION
|
||||
may have different numbers (between 1 and 4 inclusive) of indices,
|
||||
and these indices need not be integers in specified ranges.
|
||||
|
||||
Assignments of a null value
|
||||
to an element of an association does not delete the element, but
|
||||
a later reference to that element will return the null value as if
|
||||
the element is undefined.
|
||||
Assignment of a null value to an element of an association does not
|
||||
delete the element, but a later reference to that element will return
|
||||
the null value as if the element is undefined.
|
||||
|
||||
The elements of an association are stored in a hash table for
|
||||
quick access. The index values are hashed to select the correct
|
||||
@@ -99,8 +98,8 @@ SEE ALSO
|
||||
## 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.2 $
|
||||
## @(#) $Id: assoc,v 29.2 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.3 $
|
||||
## @(#) $Id: assoc,v 29.3 2002/07/10 11:47:04 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/assoc,v $
|
||||
##
|
||||
## Under source code control: 1994/09/25 20:22:31
|
||||
|
@@ -14,7 +14,7 @@ DESCRIPTION
|
||||
Returns the atan of x to a multiple of eps with error less in
|
||||
absolute value than .75 * eps.
|
||||
|
||||
v = atan(x) is the number in (-p1/2, pi/2) for which tan(v) = x.
|
||||
v = atan(x) is the number in (-pi/2, pi/2) for which tan(v) = x.
|
||||
|
||||
EXAMPLE
|
||||
> print atan(2, 1e-5), atan(2, 1e-10), atan(2, 1e-15), atan(2, 1e-20)
|
||||
@@ -45,8 +45,8 @@ SEE ALSO
|
||||
## 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.2 $
|
||||
## @(#) $Id: atan,v 29.2 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.3 $
|
||||
## @(#) $Id: atan,v 29.3 2002/07/10 11:47:04 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/atan,v $
|
||||
##
|
||||
## Under source code control: 1994/03/19 01:40:25
|
||||
|
@@ -57,7 +57,7 @@ DESCRIPTION
|
||||
base(1e20) base(2^64) base(2^8191-1)
|
||||
|
||||
However the base() function will only return one of the base values
|
||||
lised in the table above.
|
||||
listed in the table above.
|
||||
|
||||
EXAMPLE
|
||||
> base()
|
||||
@@ -79,7 +79,7 @@ LINK LIBRARY
|
||||
MODE_REAL, MODE_EXP, MODE_HEX, MODE_OCTAL, MODE_BINARY
|
||||
|
||||
SEE ALSO
|
||||
config
|
||||
base2, config, str
|
||||
|
||||
## Copyright (C) 1999 Landon Curt Noll
|
||||
##
|
||||
@@ -97,8 +97,8 @@ SEE ALSO
|
||||
## 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.2 $
|
||||
## @(#) $Id: base,v 29.2 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.5 $
|
||||
## @(#) $Id: base,v 29.5 2002/12/29 09:17:54 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/base,v $
|
||||
##
|
||||
## Under source code control: 1994/09/30 00:09:39
|
||||
|
120
help/base2
Normal file
120
help/base2
Normal file
@@ -0,0 +1,120 @@
|
||||
NAME
|
||||
base2 - set 2nd output base
|
||||
|
||||
SYNOPSIS
|
||||
base2([mode])
|
||||
|
||||
TYPES
|
||||
mode real
|
||||
|
||||
return real
|
||||
|
||||
DESCRIPTION
|
||||
By default, calc will output values according to the default base
|
||||
as controlled by the base() builtin function.
|
||||
|
||||
The base2() builtin function, if given a non-zero argument, enables
|
||||
double base output mode. In double base output mode, calc values
|
||||
are displayed twice, once according to base() and again according
|
||||
to base2(). In double base output mode, the second time a value is
|
||||
displayed, it is displayed within comments:
|
||||
|
||||
21701 /* 0x54c5 */
|
||||
|
||||
The arguments for base2() are identical to base() with the addition
|
||||
of the 0 value:
|
||||
|
||||
base2 equivalent
|
||||
config("mode2")'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"
|
||||
|
||||
0 "off" disable double base output
|
||||
|
||||
For convenience, any non-integer non-zero value is assumed to mean
|
||||
base 10 fractions and any integer >= 2^64 is assumed to mean base 10
|
||||
scientific notation.
|
||||
|
||||
These base2() calls have the same meaning as config("mode2", "fraction"):
|
||||
|
||||
base2(1/3) base2(0.1415) base2(16/37)
|
||||
|
||||
These base2() calls have the same meaning as config("mode2", "scientific"):
|
||||
|
||||
base2(1e20) base2(2^64) base2(2^8191-1)
|
||||
|
||||
However the base2() function will only return one of the base values
|
||||
listed in the table above.
|
||||
|
||||
EXAMPLE
|
||||
> base2()
|
||||
0
|
||||
> base2(8)
|
||||
0 /* 0 */
|
||||
> print 10
|
||||
10 /* 012 */
|
||||
> base2(16),
|
||||
> 131072
|
||||
131072 /* 0x20000 */
|
||||
> 2345
|
||||
2345 /* 0x929 */
|
||||
|
||||
LIMITS
|
||||
none
|
||||
|
||||
LINK LIBRARY
|
||||
int math_setmode2(int newmode)
|
||||
|
||||
NOTE: newmode must be one of MODE_DEFAULT, MODE_FRAC, MODE_INT,
|
||||
MODE_REAL, MODE_EXP, MODE_HEX, MODE_OCTAL, MODE_BINARY,
|
||||
MODE2_OFF
|
||||
|
||||
SEE ALSO
|
||||
base, config, str
|
||||
|
||||
## Copyright (C) 2002 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: 1.3 $
|
||||
## @(#) $Id: base2,v 1.3 2002/12/29 09:17:54 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/base2,v $
|
||||
##
|
||||
## Under source code control: 2002/12/29 00:21:07
|
||||
## File existed as early as: 2002
|
||||
##
|
||||
## chongo <was here> /\oo/\ http://www.isthe.com/chongo/
|
||||
## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|
@@ -15,7 +15,7 @@ DESCRIPTION
|
||||
|
||||
t/(exp(t) - 1) = Sum B_n * t^n/n!
|
||||
|
||||
bernouuli(n) is zero both for n < 0 and for n odd and > 2.
|
||||
bernoulli(n) is zero both for n < 0 and for n odd and > 2.
|
||||
When bernoulli(n) is computed for positive even n, the values for
|
||||
n and smaller positive even indices are stored in a table so that
|
||||
a later call to bernoulli(k) with 0 <= k < n will be executed quickly.
|
||||
@@ -57,8 +57,8 @@ SEE ALSO
|
||||
## 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.4 $
|
||||
## @(#) $Id: bernoulli,v 29.4 2000/12/17 12:27:58 chongo Exp $
|
||||
## @(#) $Revision: 29.5 $
|
||||
## @(#) $Id: bernoulli,v 29.5 2002/07/10 11:47:04 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/bernoulli,v $
|
||||
##
|
||||
## Under source code control: 2000/07/13 01:33:00
|
||||
|
6
help/blk
6
help/blk
@@ -122,7 +122,7 @@ DESCRIPTION
|
||||
Named blocks are assigned index numbers 0, 1, 2, ..., in the order
|
||||
of their creation. The block with index id is returned by blocks(id).
|
||||
With no argument, blocks() returns the number of current unfreed
|
||||
named blocks. A named block may be used
|
||||
named blocks.
|
||||
|
||||
The memory allocated to a named block is freed by the blkfree()
|
||||
function with argument the named block, its name, or its id number.
|
||||
@@ -234,8 +234,8 @@ SEE ALSO
|
||||
## 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.2 $
|
||||
## @(#) $Id: blk,v 29.2 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.3 $
|
||||
## @(#) $Id: blk,v 29.3 2002/07/10 11:47:04 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/blk,v $
|
||||
##
|
||||
## Under source code control: 1997/04/05 13:07:13
|
||||
|
@@ -1,5 +1,5 @@
|
||||
NAME
|
||||
blocks - return a named file or number of unfreed named blocks
|
||||
blocks - return a named block or number of unfreed named blocks
|
||||
|
||||
SYNOPSIS
|
||||
blocks([id])
|
||||
@@ -58,8 +58,8 @@ SEE ALSO
|
||||
## 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.2 $
|
||||
## @(#) $Id: blocks,v 29.2 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.3 $
|
||||
## @(#) $Id: blocks,v 29.3 2002/07/10 11:47:04 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/blocks,v $
|
||||
##
|
||||
## Under source code control: 1997/04/05 13:07:13
|
||||
|
18
help/config
18
help/config
@@ -16,6 +16,7 @@ Configuration parameters
|
||||
"epsilon" sets error value for transcendentals.
|
||||
"maxprint" sets maximum number of elements printed.
|
||||
"mode" sets printout mode.
|
||||
"mode2" sets 2nd base printout mode.
|
||||
"mul2" sets size for alternative multiply.
|
||||
"sq2" sets size for alternative squaring.
|
||||
"pow2" sets size for alternate powering.
|
||||
@@ -184,6 +185,7 @@ Detailed config descriptions
|
||||
=-=
|
||||
|
||||
config("mode", "mode_string")
|
||||
config("mode2", "mode_string")
|
||||
|
||||
The "mode" parameter is a string specifying the mode for printing of
|
||||
numbers by the unformatted print functions, and the default
|
||||
@@ -219,7 +221,17 @@ Detailed config descriptions
|
||||
Where multiple strings are given, the first string listed is what
|
||||
config("mode") will return.
|
||||
|
||||
The default "mode" is "real".
|
||||
The "mode2" controls the double base output. When set to a value
|
||||
other than "off", calc outputs files in both the "base" mode as
|
||||
well as the "base2" mode. The "mode2" value may be any of the
|
||||
"mode" values with the addition of:
|
||||
|
||||
"off" disable 2nd base output mode base2(0)
|
||||
|
||||
The base() builtin function sets and returns the "mode" value.
|
||||
The base2() builtin function sets and returns the "mode2" value.
|
||||
|
||||
The default "mode" is "real". The default "mode2" is "off".
|
||||
|
||||
=-=
|
||||
|
||||
@@ -713,8 +725,8 @@ Detailed config descriptions
|
||||
## 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.6 $
|
||||
## @(#) $Id: config,v 29.6 2001/04/25 07:17:38 chongo Exp $
|
||||
## @(#) $Revision: 29.7 $
|
||||
## @(#) $Id: config,v 29.7 2002/12/29 08:32:04 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/config,v $
|
||||
##
|
||||
## Under source code control: 1991/07/21 04:37:17
|
||||
|
6
help/im
6
help/im
@@ -20,7 +20,7 @@ LIMITS
|
||||
none
|
||||
|
||||
LINK LIBRARY
|
||||
COMPLEX *cimag(COMPLEX *x)
|
||||
COMPLEX *c_imag(COMPLEX *x)
|
||||
|
||||
SEE ALSO
|
||||
re
|
||||
@@ -41,8 +41,8 @@ SEE ALSO
|
||||
## 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.2 $
|
||||
## @(#) $Id: im,v 29.2 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.3 $
|
||||
## @(#) $Id: im,v 29.3 2002/03/12 09:38:26 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/im,v $
|
||||
##
|
||||
## Under source code control: 1995/10/05 04:52:26
|
||||
|
6
help/re
6
help/re
@@ -20,7 +20,7 @@ LIMITS
|
||||
none
|
||||
|
||||
LINK LIBRARY
|
||||
COMPLEX *cimag(COMPLEX *x)
|
||||
COMPLEX *c_imag(COMPLEX *x)
|
||||
|
||||
SEE ALSO
|
||||
im
|
||||
@@ -41,8 +41,8 @@ SEE ALSO
|
||||
## 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.2 $
|
||||
## @(#) $Id: re,v 29.2 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.3 $
|
||||
## @(#) $Id: re,v 29.3 2002/03/12 09:38:26 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/re,v $
|
||||
##
|
||||
## Under source code control: 1995/10/05 04:52:27
|
||||
|
14
help/str
14
help/str
@@ -18,7 +18,7 @@ DESCRIPTION
|
||||
|
||||
For real or complex x, str(x) returns the string representing x
|
||||
in the current printing mode; configuration parameters affecting
|
||||
this are "mode", "display", "outround", "tilde", "leadzero",
|
||||
this are "mode", "mode2", "display", "outround", "tilde", "leadzero",
|
||||
|
||||
EXAMPLE
|
||||
> str("")
|
||||
@@ -28,6 +28,10 @@ EXAMPLE
|
||||
> print str(123), str("+"), str(4i), str("is the same as"), str(123+4i)
|
||||
123 + 4i is the same as 3+4i
|
||||
|
||||
> base2(16),
|
||||
> print str(23209)
|
||||
23209 /* 0x5aa9 */
|
||||
|
||||
LIMITS
|
||||
none
|
||||
|
||||
@@ -41,9 +45,9 @@ LINK LIBRARY
|
||||
char *math_getdivertedio();
|
||||
|
||||
SEE ALSO
|
||||
XXX - fill in
|
||||
base, base2, config
|
||||
|
||||
## Copyright (C) 1999 Landon Curt Noll
|
||||
## Copyright (C) 1999-2002 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
|
||||
@@ -59,8 +63,8 @@ SEE ALSO
|
||||
## 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.2 $
|
||||
## @(#) $Id: str,v 29.2 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.3 $
|
||||
## @(#) $Id: str,v 29.3 2002/12/29 09:19:56 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/str,v $
|
||||
##
|
||||
## Under source code control: 1995/10/05 04:52:27
|
||||
|
11
help/todo
11
help/todo
@@ -59,6 +59,13 @@ Very High priority items:
|
||||
* Fix any 'Known bugs' as noted in the BUGS file or as
|
||||
displayed by 'calc help bugs'.
|
||||
|
||||
* Internationalize calc by converting calc error messages and
|
||||
text strings (e.g., calc startup banner, show output, etc.)
|
||||
into calls to the GNU gettext internationalization facility.
|
||||
If somebody translated these strings into another language,
|
||||
setting $LANG would allow calc to produce error messages
|
||||
and text strings in that language.
|
||||
|
||||
=-=
|
||||
|
||||
High priority items:
|
||||
@@ -133,8 +140,8 @@ Medium priority items:
|
||||
## 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.2 $
|
||||
## @(#) $Id: todo,v 29.2 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.4 $
|
||||
## @(#) $Id: todo,v 29.4 2002/07/10 17:30:28 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/todo,v $
|
||||
##
|
||||
## Under source code control: 1999/10/20 07:42:55
|
||||
|
@@ -249,8 +249,8 @@ Calc command line
|
||||
./myfile.cal
|
||||
${LIBDIR}/myfile
|
||||
${LIBDIR}/myfile.cal
|
||||
${CUSTOMLIBDIR}/myfile
|
||||
${CUSTOMLIBDIR}/myfile.cal
|
||||
${CUSTOMCALDIR}/myfile
|
||||
${CUSTOMCALDIR}/myfile.cal
|
||||
|
||||
If the file is found, the search stops and the commands in
|
||||
the file are executed. It is an error if no readable file
|
||||
@@ -353,8 +353,8 @@ For more information use the following calc commands:
|
||||
## 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.3 $
|
||||
## @(#) $Id: usage,v 29.3 2000/06/07 14:02:33 chongo Exp $
|
||||
## @(#) $Revision: 29.4 $
|
||||
## @(#) $Id: usage,v 29.4 2002/07/10 11:47:04 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/usage,v $
|
||||
##
|
||||
## Under source code control: 1991/07/21 04:37:25
|
||||
|
@@ -12,8 +12,7 @@ DESCRIPTION
|
||||
|
||||
Calc version strings can be of the form:
|
||||
|
||||
x.y.ztw.v
|
||||
x.y.ztw
|
||||
x.y.z.w
|
||||
x.y.z
|
||||
x.y
|
||||
|
||||
@@ -22,7 +21,7 @@ DESCRIPTION
|
||||
|
||||
EXAMPLE
|
||||
> version()
|
||||
"2.11.5t4.1"
|
||||
"2.11.5.4"
|
||||
|
||||
LIMITS
|
||||
none
|
||||
@@ -49,8 +48,8 @@ SEE ALSO
|
||||
## 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.2 $
|
||||
## @(#) $Id: version,v 29.2 2001/05/29 00:43:54 chongo Exp $
|
||||
## @(#) $Revision: 29.3 $
|
||||
## @(#) $Id: version,v 29.3 2001/06/09 23:32:45 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/version,v $
|
||||
##
|
||||
## Under source code control: 2001/05/28 17:38:01
|
||||
|
8
hist.h
8
hist.h
@@ -17,8 +17,8 @@
|
||||
* 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.3 $
|
||||
* @(#) $Id: hist.h,v 29.3 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Revision: 29.4 $
|
||||
* @(#) $Id: hist.h,v 29.4 2002/03/12 09:40:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/hist.h,v $
|
||||
*
|
||||
* Under source code control: 1993/05/02 20:09:20
|
||||
@@ -50,7 +50,11 @@
|
||||
#define HOMECHAR '~' /* char which indicates home directory */
|
||||
#define DOTCHAR '.' /* char which indicates current directory */
|
||||
#define PATHCHAR '/' /* char which separates path components */
|
||||
#if defined(__MSDOS__) || defined(__WIN32)
|
||||
#define LISTCHAR ';' /* char which separates paths in a list */
|
||||
#else
|
||||
#define LISTCHAR ':' /* char which separates paths in a list */
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
|
29
input.c
29
input.c
@@ -17,8 +17,8 @@
|
||||
* 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.5 $
|
||||
* @(#) $Id: input.c,v 29.5 2001/03/17 21:31:47 chongo Exp $
|
||||
* @(#) $Revision: 29.6 $
|
||||
* @(#) $Id: input.c,v 29.6 2002/03/12 09:40:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/input.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:16
|
||||
@@ -46,6 +46,12 @@
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if defined(__MSDOS__)
|
||||
#include <limits.h>
|
||||
#define _fullpath(f,n,s) (_fixpath(n,f),f)
|
||||
#define _MAX_PATH PATH_MAX
|
||||
#endif
|
||||
|
||||
#include "calc.h"
|
||||
#include "conf.h"
|
||||
#include "hist.h"
|
||||
@@ -816,11 +822,12 @@ runrcfiles(void)
|
||||
* given:
|
||||
* sbuf stat of the inode in question
|
||||
*/
|
||||
|
||||
static int
|
||||
isinoderead(struct stat *sbuf)
|
||||
{
|
||||
int i;
|
||||
#if defined(_WIN32)
|
||||
#if defined(_WIN32) || defined(__MSDOS__)
|
||||
char fullpathname[_MAX_PATH];
|
||||
#endif
|
||||
|
||||
@@ -832,11 +839,11 @@ isinoderead(struct stat *sbuf)
|
||||
|
||||
/* scan the entire readset */
|
||||
for (i=0; i < maxreadset; ++i) {
|
||||
#if defined(_WIN32)
|
||||
#if defined(_WIN32) || defined(__MSDOS__)
|
||||
if (readset[i].active &&
|
||||
strcmp(readset[i].path,
|
||||
_fullpath(fullpathname,cip->i_name,
|
||||
_MAX_PATH)) == 0) {
|
||||
strcasecmp(readset[i].path,
|
||||
_fullpath(fullpathname,cip->i_name,
|
||||
_MAX_PATH)) == 0) {
|
||||
/* found a match */
|
||||
return i;
|
||||
}
|
||||
@@ -954,14 +961,18 @@ addreadset(char *name, char *path, struct stat *sbuf)
|
||||
return -1;
|
||||
}
|
||||
strcpy(readset[ret].name, name);
|
||||
#if defined(_WIN32)
|
||||
#if defined(_WIN32) || defined(__MSDOS__)
|
||||
/*
|
||||
* For WIN32, _fullpath expands the path to a fully qualified
|
||||
* path name, which under WIN32 FAT and NTFS is unique, just
|
||||
* like UNIX inodes. _fullpath also allocated the memory for
|
||||
* this new longer path name.
|
||||
*/
|
||||
readset[ret].path = _fullpath(NULL, path, 0);
|
||||
{
|
||||
char fullpathname[_MAX_PATH];
|
||||
|
||||
readset[ret].path = _fullpath(fullpathname, path, _MAX_PATH);
|
||||
}
|
||||
#else /* Windoz free systems */
|
||||
readset[ret].path = (char *)malloc(strlen(path)+1);
|
||||
if (readset[ret].path == NULL) {
|
||||
|
456
inst_files
456
inst_files
@@ -1,456 +0,0 @@
|
||||
/usr/bin/calc
|
||||
/usr/bin/cscript/4dsphere
|
||||
/usr/bin/cscript/fproduct
|
||||
/usr/bin/cscript/mersenne
|
||||
/usr/bin/cscript/piforever
|
||||
/usr/bin/cscript/plus
|
||||
/usr/bin/cscript/powerterm
|
||||
/usr/bin/cscript/simple
|
||||
/usr/bin/cscript/square
|
||||
/usr/include/calc/align32.h
|
||||
/usr/include/calc/alloc.h
|
||||
/usr/include/calc/args.h
|
||||
/usr/include/calc/blkcpy.h
|
||||
/usr/include/calc/block.h
|
||||
/usr/include/calc/byteswap.h
|
||||
/usr/include/calc/calc.h
|
||||
/usr/include/calc/calcerr.h
|
||||
/usr/include/calc/cmath.h
|
||||
/usr/include/calc/conf.h
|
||||
/usr/include/calc/config.h
|
||||
/usr/include/calc/custom.h
|
||||
/usr/include/calc/endian_calc.h
|
||||
/usr/include/calc/file.h
|
||||
/usr/include/calc/fposval.h
|
||||
/usr/include/calc/func.h
|
||||
/usr/include/calc/hash.h
|
||||
/usr/include/calc/have_const.h
|
||||
/usr/include/calc/have_fpos.h
|
||||
/usr/include/calc/have_fpos_pos.h
|
||||
/usr/include/calc/have_getpgid.h
|
||||
/usr/include/calc/have_getprid.h
|
||||
/usr/include/calc/have_getsid.h
|
||||
/usr/include/calc/have_gettime.h
|
||||
/usr/include/calc/have_malloc.h
|
||||
/usr/include/calc/have_memmv.h
|
||||
/usr/include/calc/have_newstr.h
|
||||
/usr/include/calc/have_offscl.h
|
||||
/usr/include/calc/have_posscl.h
|
||||
/usr/include/calc/have_rusage.h
|
||||
/usr/include/calc/have_stdlib.h
|
||||
/usr/include/calc/have_strdup.h
|
||||
/usr/include/calc/have_string.h
|
||||
/usr/include/calc/have_times.h
|
||||
/usr/include/calc/have_uid_t.h
|
||||
/usr/include/calc/have_unistd.h
|
||||
/usr/include/calc/have_urandom.h
|
||||
/usr/include/calc/have_ustat.h
|
||||
/usr/include/calc/hist.h
|
||||
/usr/include/calc/jump.h
|
||||
/usr/include/calc/label.h
|
||||
/usr/include/calc/lib_util.h
|
||||
/usr/include/calc/longbits.h
|
||||
/usr/include/calc/longlong.h
|
||||
/usr/include/calc/math_error.h
|
||||
/usr/include/calc/md5.h
|
||||
/usr/include/calc/nametype.h
|
||||
/usr/include/calc/opcodes.h
|
||||
/usr/include/calc/prime.h
|
||||
/usr/include/calc/qmath.h
|
||||
/usr/include/calc/shs.h
|
||||
/usr/include/calc/shs1.h
|
||||
/usr/include/calc/string.h
|
||||
/usr/include/calc/symbol.h
|
||||
/usr/include/calc/terminal.h
|
||||
/usr/include/calc/token.h
|
||||
/usr/include/calc/value.h
|
||||
/usr/include/calc/win32dll.h
|
||||
/usr/include/calc/zmath.h
|
||||
/usr/include/calc/zrand.h
|
||||
/usr/include/calc/zrandom.h
|
||||
/usr/lib/libcalc.a
|
||||
/usr/share/calc/README
|
||||
/usr/share/calc/beer.cal
|
||||
/usr/share/calc/bernoulli.cal
|
||||
/usr/share/calc/bigprime.cal
|
||||
/usr/share/calc/bindings
|
||||
/usr/share/calc/chi.cal
|
||||
/usr/share/calc/chrem.cal
|
||||
/usr/share/calc/custhelp/argv
|
||||
/usr/share/calc/custhelp/devnull
|
||||
/usr/share/calc/custhelp/help
|
||||
/usr/share/calc/custhelp/pzasusb8
|
||||
/usr/share/calc/custhelp/sysinfo
|
||||
/usr/share/calc/custom/argv.cal
|
||||
/usr/share/calc/custom/halflen.cal
|
||||
/usr/share/calc/custom/libcustcalc.a
|
||||
/usr/share/calc/custom/pzasusb8.cal
|
||||
/usr/share/calc/deg.cal
|
||||
/usr/share/calc/ellip.cal
|
||||
/usr/share/calc/hello.cal
|
||||
/usr/share/calc/help/COPYING
|
||||
/usr/share/calc/help/COPYING-LGPL
|
||||
/usr/share/calc/help/abs
|
||||
/usr/share/calc/help/access
|
||||
/usr/share/calc/help/acos
|
||||
/usr/share/calc/help/acosh
|
||||
/usr/share/calc/help/acot
|
||||
/usr/share/calc/help/acoth
|
||||
/usr/share/calc/help/acsc
|
||||
/usr/share/calc/help/acsch
|
||||
/usr/share/calc/help/address
|
||||
/usr/share/calc/help/agd
|
||||
/usr/share/calc/help/append
|
||||
/usr/share/calc/help/appr
|
||||
/usr/share/calc/help/archive
|
||||
/usr/share/calc/help/arg
|
||||
/usr/share/calc/help/argv
|
||||
/usr/share/calc/help/arrow
|
||||
/usr/share/calc/help/asec
|
||||
/usr/share/calc/help/asech
|
||||
/usr/share/calc/help/asin
|
||||
/usr/share/calc/help/asinh
|
||||
/usr/share/calc/help/assign
|
||||
/usr/share/calc/help/assoc
|
||||
/usr/share/calc/help/atan
|
||||
/usr/share/calc/help/atan2
|
||||
/usr/share/calc/help/atanh
|
||||
/usr/share/calc/help/avg
|
||||
/usr/share/calc/help/base
|
||||
/usr/share/calc/help/bernoulli
|
||||
/usr/share/calc/help/binding
|
||||
/usr/share/calc/help/bindings
|
||||
/usr/share/calc/help/bit
|
||||
/usr/share/calc/help/blk
|
||||
/usr/share/calc/help/blkcpy
|
||||
/usr/share/calc/help/blkfree
|
||||
/usr/share/calc/help/blocks
|
||||
/usr/share/calc/help/bround
|
||||
/usr/share/calc/help/btrunc
|
||||
/usr/share/calc/help/bug
|
||||
/usr/share/calc/help/bugs
|
||||
/usr/share/calc/help/builtin
|
||||
/usr/share/calc/help/calc_tty
|
||||
/usr/share/calc/help/calclevel
|
||||
/usr/share/calc/help/catalan
|
||||
/usr/share/calc/help/ceil
|
||||
/usr/share/calc/help/cfappr
|
||||
/usr/share/calc/help/cfsim
|
||||
/usr/share/calc/help/change
|
||||
/usr/share/calc/help/changes
|
||||
/usr/share/calc/help/char
|
||||
/usr/share/calc/help/cmdbuf
|
||||
/usr/share/calc/help/cmp
|
||||
/usr/share/calc/help/comb
|
||||
/usr/share/calc/help/command
|
||||
/usr/share/calc/help/config
|
||||
/usr/share/calc/help/conj
|
||||
/usr/share/calc/help/contrib
|
||||
/usr/share/calc/help/cos
|
||||
/usr/share/calc/help/cosh
|
||||
/usr/share/calc/help/cot
|
||||
/usr/share/calc/help/coth
|
||||
/usr/share/calc/help/count
|
||||
/usr/share/calc/help/cp
|
||||
/usr/share/calc/help/credit
|
||||
/usr/share/calc/help/csc
|
||||
/usr/share/calc/help/csch
|
||||
/usr/share/calc/help/cscript
|
||||
/usr/share/calc/help/ctime
|
||||
/usr/share/calc/help/custom
|
||||
/usr/share/calc/help/custom_cal
|
||||
/usr/share/calc/help/define
|
||||
/usr/share/calc/help/delete
|
||||
/usr/share/calc/help/den
|
||||
/usr/share/calc/help/dereference
|
||||
/usr/share/calc/help/det
|
||||
/usr/share/calc/help/digit
|
||||
/usr/share/calc/help/digits
|
||||
/usr/share/calc/help/dp
|
||||
/usr/share/calc/help/environment
|
||||
/usr/share/calc/help/epsilon
|
||||
/usr/share/calc/help/errcount
|
||||
/usr/share/calc/help/errmax
|
||||
/usr/share/calc/help/errno
|
||||
/usr/share/calc/help/error
|
||||
/usr/share/calc/help/errorcode
|
||||
/usr/share/calc/help/errorcodes
|
||||
/usr/share/calc/help/euler
|
||||
/usr/share/calc/help/eval
|
||||
/usr/share/calc/help/exp
|
||||
/usr/share/calc/help/expression
|
||||
/usr/share/calc/help/fact
|
||||
/usr/share/calc/help/factor
|
||||
/usr/share/calc/help/fclose
|
||||
/usr/share/calc/help/fcnt
|
||||
/usr/share/calc/help/feof
|
||||
/usr/share/calc/help/ferror
|
||||
/usr/share/calc/help/fflush
|
||||
/usr/share/calc/help/fgetc
|
||||
/usr/share/calc/help/fgetfield
|
||||
/usr/share/calc/help/fgetline
|
||||
/usr/share/calc/help/fgets
|
||||
/usr/share/calc/help/fgetstr
|
||||
/usr/share/calc/help/fib
|
||||
/usr/share/calc/help/file
|
||||
/usr/share/calc/help/files
|
||||
/usr/share/calc/help/floor
|
||||
/usr/share/calc/help/fopen
|
||||
/usr/share/calc/help/forall
|
||||
/usr/share/calc/help/fprintf
|
||||
/usr/share/calc/help/fputc
|
||||
/usr/share/calc/help/fputs
|
||||
/usr/share/calc/help/fputstr
|
||||
/usr/share/calc/help/frac
|
||||
/usr/share/calc/help/free
|
||||
/usr/share/calc/help/freebernoulli
|
||||
/usr/share/calc/help/freeeuler
|
||||
/usr/share/calc/help/freeglobals
|
||||
/usr/share/calc/help/freeredc
|
||||
/usr/share/calc/help/freestatics
|
||||
/usr/share/calc/help/frem
|
||||
/usr/share/calc/help/freopen
|
||||
/usr/share/calc/help/fscan
|
||||
/usr/share/calc/help/fscanf
|
||||
/usr/share/calc/help/fseek
|
||||
/usr/share/calc/help/fsize
|
||||
/usr/share/calc/help/ftell
|
||||
/usr/share/calc/help/full
|
||||
/usr/share/calc/help/gcd
|
||||
/usr/share/calc/help/gcdrem
|
||||
/usr/share/calc/help/gd
|
||||
/usr/share/calc/help/getenv
|
||||
/usr/share/calc/help/hash
|
||||
/usr/share/calc/help/head
|
||||
/usr/share/calc/help/help
|
||||
/usr/share/calc/help/highbit
|
||||
/usr/share/calc/help/history
|
||||
/usr/share/calc/help/hmean
|
||||
/usr/share/calc/help/hnrmod
|
||||
/usr/share/calc/help/hypot
|
||||
/usr/share/calc/help/ilog
|
||||
/usr/share/calc/help/ilog10
|
||||
/usr/share/calc/help/ilog2
|
||||
/usr/share/calc/help/im
|
||||
/usr/share/calc/help/indices
|
||||
/usr/share/calc/help/inputlevel
|
||||
/usr/share/calc/help/insert
|
||||
/usr/share/calc/help/int
|
||||
/usr/share/calc/help/interrupt
|
||||
/usr/share/calc/help/intro
|
||||
/usr/share/calc/help/inverse
|
||||
/usr/share/calc/help/iroot
|
||||
/usr/share/calc/help/isassoc
|
||||
/usr/share/calc/help/isatty
|
||||
/usr/share/calc/help/isblk
|
||||
/usr/share/calc/help/isconfig
|
||||
/usr/share/calc/help/isdefined
|
||||
/usr/share/calc/help/iserror
|
||||
/usr/share/calc/help/iseven
|
||||
/usr/share/calc/help/isfile
|
||||
/usr/share/calc/help/ishash
|
||||
/usr/share/calc/help/isident
|
||||
/usr/share/calc/help/isint
|
||||
/usr/share/calc/help/islist
|
||||
/usr/share/calc/help/ismat
|
||||
/usr/share/calc/help/ismult
|
||||
/usr/share/calc/help/isnull
|
||||
/usr/share/calc/help/isnum
|
||||
/usr/share/calc/help/isobj
|
||||
/usr/share/calc/help/isobjtype
|
||||
/usr/share/calc/help/isodd
|
||||
/usr/share/calc/help/isprime
|
||||
/usr/share/calc/help/isptr
|
||||
/usr/share/calc/help/isqrt
|
||||
/usr/share/calc/help/isrand
|
||||
/usr/share/calc/help/israndom
|
||||
/usr/share/calc/help/isreal
|
||||
/usr/share/calc/help/isrel
|
||||
/usr/share/calc/help/issimple
|
||||
/usr/share/calc/help/issq
|
||||
/usr/share/calc/help/isstr
|
||||
/usr/share/calc/help/istype
|
||||
/usr/share/calc/help/jacobi
|
||||
/usr/share/calc/help/join
|
||||
/usr/share/calc/help/lcm
|
||||
/usr/share/calc/help/lcmfact
|
||||
/usr/share/calc/help/lfactor
|
||||
/usr/share/calc/help/libcalc
|
||||
/usr/share/calc/help/list
|
||||
/usr/share/calc/help/ln
|
||||
/usr/share/calc/help/lowbit
|
||||
/usr/share/calc/help/ltol
|
||||
/usr/share/calc/help/makelist
|
||||
/usr/share/calc/help/mat
|
||||
/usr/share/calc/help/matdim
|
||||
/usr/share/calc/help/matfill
|
||||
/usr/share/calc/help/matmax
|
||||
/usr/share/calc/help/matmin
|
||||
/usr/share/calc/help/matsum
|
||||
/usr/share/calc/help/mattrace
|
||||
/usr/share/calc/help/mattrans
|
||||
/usr/share/calc/help/max
|
||||
/usr/share/calc/help/md5
|
||||
/usr/share/calc/help/memsize
|
||||
/usr/share/calc/help/meq
|
||||
/usr/share/calc/help/min
|
||||
/usr/share/calc/help/minv
|
||||
/usr/share/calc/help/mmin
|
||||
/usr/share/calc/help/mne
|
||||
/usr/share/calc/help/mod
|
||||
/usr/share/calc/help/modify
|
||||
/usr/share/calc/help/name
|
||||
/usr/share/calc/help/near
|
||||
/usr/share/calc/help/new_custom
|
||||
/usr/share/calc/help/newerror
|
||||
/usr/share/calc/help/nextcand
|
||||
/usr/share/calc/help/nextprime
|
||||
/usr/share/calc/help/norm
|
||||
/usr/share/calc/help/null
|
||||
/usr/share/calc/help/num
|
||||
/usr/share/calc/help/obj
|
||||
/usr/share/calc/help/oldvalue
|
||||
/usr/share/calc/help/operator
|
||||
/usr/share/calc/help/ord
|
||||
/usr/share/calc/help/overview
|
||||
/usr/share/calc/help/param
|
||||
/usr/share/calc/help/perm
|
||||
/usr/share/calc/help/pfact
|
||||
/usr/share/calc/help/pi
|
||||
/usr/share/calc/help/pix
|
||||
/usr/share/calc/help/places
|
||||
/usr/share/calc/help/pmod
|
||||
/usr/share/calc/help/polar
|
||||
/usr/share/calc/help/poly
|
||||
/usr/share/calc/help/pop
|
||||
/usr/share/calc/help/popcnt
|
||||
/usr/share/calc/help/power
|
||||
/usr/share/calc/help/prevcand
|
||||
/usr/share/calc/help/prevprime
|
||||
/usr/share/calc/help/printf
|
||||
/usr/share/calc/help/prompt
|
||||
/usr/share/calc/help/protect
|
||||
/usr/share/calc/help/ptest
|
||||
/usr/share/calc/help/push
|
||||
/usr/share/calc/help/putenv
|
||||
/usr/share/calc/help/quo
|
||||
/usr/share/calc/help/quomod
|
||||
/usr/share/calc/help/rand
|
||||
/usr/share/calc/help/randbit
|
||||
/usr/share/calc/help/random
|
||||
/usr/share/calc/help/randombit
|
||||
/usr/share/calc/help/randperm
|
||||
/usr/share/calc/help/rcin
|
||||
/usr/share/calc/help/rcmul
|
||||
/usr/share/calc/help/rcout
|
||||
/usr/share/calc/help/rcpow
|
||||
/usr/share/calc/help/rcsq
|
||||
/usr/share/calc/help/re
|
||||
/usr/share/calc/help/remove
|
||||
/usr/share/calc/help/resource
|
||||
/usr/share/calc/help/reverse
|
||||
/usr/share/calc/help/rewind
|
||||
/usr/share/calc/help/rm
|
||||
/usr/share/calc/help/root
|
||||
/usr/share/calc/help/round
|
||||
/usr/share/calc/help/rsearch
|
||||
/usr/share/calc/help/runtime
|
||||
/usr/share/calc/help/saveval
|
||||
/usr/share/calc/help/scale
|
||||
/usr/share/calc/help/scan
|
||||
/usr/share/calc/help/scanf
|
||||
/usr/share/calc/help/script
|
||||
/usr/share/calc/help/search
|
||||
/usr/share/calc/help/sec
|
||||
/usr/share/calc/help/sech
|
||||
/usr/share/calc/help/seed
|
||||
/usr/share/calc/help/segment
|
||||
/usr/share/calc/help/select
|
||||
/usr/share/calc/help/sgn
|
||||
/usr/share/calc/help/sha
|
||||
/usr/share/calc/help/sha1
|
||||
/usr/share/calc/help/sin
|
||||
/usr/share/calc/help/sinh
|
||||
/usr/share/calc/help/size
|
||||
/usr/share/calc/help/sizeof
|
||||
/usr/share/calc/help/sleep
|
||||
/usr/share/calc/help/sort
|
||||
/usr/share/calc/help/sqrt
|
||||
/usr/share/calc/help/srand
|
||||
/usr/share/calc/help/srandom
|
||||
/usr/share/calc/help/ssq
|
||||
/usr/share/calc/help/statement
|
||||
/usr/share/calc/help/str
|
||||
/usr/share/calc/help/strcat
|
||||
/usr/share/calc/help/strerror
|
||||
/usr/share/calc/help/strlen
|
||||
/usr/share/calc/help/strpos
|
||||
/usr/share/calc/help/strprintf
|
||||
/usr/share/calc/help/strscan
|
||||
/usr/share/calc/help/strscanf
|
||||
/usr/share/calc/help/substr
|
||||
/usr/share/calc/help/sum
|
||||
/usr/share/calc/help/swap
|
||||
/usr/share/calc/help/system
|
||||
/usr/share/calc/help/tail
|
||||
/usr/share/calc/help/tan
|
||||
/usr/share/calc/help/tanh
|
||||
/usr/share/calc/help/test
|
||||
/usr/share/calc/help/time
|
||||
/usr/share/calc/help/todo
|
||||
/usr/share/calc/help/trunc
|
||||
/usr/share/calc/help/type
|
||||
/usr/share/calc/help/types
|
||||
/usr/share/calc/help/unexpected
|
||||
/usr/share/calc/help/usage
|
||||
/usr/share/calc/help/variable
|
||||
/usr/share/calc/help/version
|
||||
/usr/share/calc/help/wishlist
|
||||
/usr/share/calc/help/xor
|
||||
/usr/share/calc/intfile.cal
|
||||
/usr/share/calc/lucas.cal
|
||||
/usr/share/calc/lucas_chk.cal
|
||||
/usr/share/calc/lucas_tbl.cal
|
||||
/usr/share/calc/mersenne.cal
|
||||
/usr/share/calc/mfactor.cal
|
||||
/usr/share/calc/mod.cal
|
||||
/usr/share/calc/natnumset.cal
|
||||
/usr/share/calc/pell.cal
|
||||
/usr/share/calc/pi.cal
|
||||
/usr/share/calc/pix.cal
|
||||
/usr/share/calc/pollard.cal
|
||||
/usr/share/calc/poly.cal
|
||||
/usr/share/calc/prompt.cal
|
||||
/usr/share/calc/psqrt.cal
|
||||
/usr/share/calc/qtime.cal
|
||||
/usr/share/calc/quat.cal
|
||||
/usr/share/calc/randbitrun.cal
|
||||
/usr/share/calc/randmprime.cal
|
||||
/usr/share/calc/randombitrun.cal
|
||||
/usr/share/calc/randomrun.cal
|
||||
/usr/share/calc/randrun.cal
|
||||
/usr/share/calc/regress.cal
|
||||
/usr/share/calc/seedrandom.cal
|
||||
/usr/share/calc/solve.cal
|
||||
/usr/share/calc/sumsq.cal
|
||||
/usr/share/calc/surd.cal
|
||||
/usr/share/calc/test1700.cal
|
||||
/usr/share/calc/test2300.cal
|
||||
/usr/share/calc/test2600.cal
|
||||
/usr/share/calc/test2700.cal
|
||||
/usr/share/calc/test3100.cal
|
||||
/usr/share/calc/test3300.cal
|
||||
/usr/share/calc/test3400.cal
|
||||
/usr/share/calc/test3500.cal
|
||||
/usr/share/calc/test4000.cal
|
||||
/usr/share/calc/test4100.cal
|
||||
/usr/share/calc/test4600.cal
|
||||
/usr/share/calc/test5100.cal
|
||||
/usr/share/calc/test5200.cal
|
||||
/usr/share/calc/test8400.cal
|
||||
/usr/share/calc/test8500.cal
|
||||
/usr/share/calc/test8600.cal
|
||||
/usr/share/calc/unitfrac.cal
|
||||
/usr/share/calc/varargs.cal
|
||||
/usr/share/calc/xx_print.cal
|
||||
/usr/share/man/man1/calc.1
|
@@ -17,8 +17,8 @@
|
||||
* 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.7 $
|
||||
* @(#) $Id: lib_calc.c,v 29.7 2001/04/08 22:05:40 chongo Exp $
|
||||
* @(#) $Revision: 29.8 $
|
||||
* @(#) $Id: lib_calc.c,v 29.8 2002/03/12 09:40:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/lib_calc.c,v $
|
||||
*
|
||||
* Under source code control: 1996/06/17 18:06:19
|
||||
@@ -217,6 +217,11 @@ libcalc_call_me_first(void)
|
||||
*/
|
||||
if (program != NULL) {
|
||||
p = strrchr(program, '/');
|
||||
#if defined(_WIN32) || defined(__MSDOS__)
|
||||
if (p == NULL) {
|
||||
p = strrchr(program, '\\');
|
||||
}
|
||||
#endif
|
||||
if (p == NULL) {
|
||||
base_name = program;
|
||||
} else {
|
||||
|
47
no_implicit.c
Normal file
47
no_implicit.c
Normal file
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* no-implicit - Determine if the compiler allows -Wno-implicit
|
||||
*
|
||||
* Copyright (C) 2003 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.1 $
|
||||
* @(#) $Id: no_implicit.c,v 29.1 2003/01/14 01:45:19 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/no_implicit.c,v $
|
||||
*
|
||||
* Under source code control: 2003/01/14 01:45:19
|
||||
* File existed as early as: 2003
|
||||
*
|
||||
* chongo <was here> /\oo/\ http://www.isthe.com/chongo/
|
||||
* Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|
||||
*/
|
||||
|
||||
/*
|
||||
* If we are able to compile this program, then we the compiler must
|
||||
* allow the -Wno-implicit flag so we output the -Wno-implicit symbol.
|
||||
*/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
/* -Wno-implicit flag is allowed */
|
||||
printf("-Wno-implicit\n");
|
||||
|
||||
/* exit(0); */
|
||||
return 0;
|
||||
}
|
17
qio.c
17
qio.c
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* qio - scanf and printf routines for arbitrary precision rational numbers
|
||||
*
|
||||
* Copyright (C) 1999 David I. Bell
|
||||
* Copyright (C) 1999-2002 David I. Bell
|
||||
*
|
||||
* 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
|
||||
@@ -17,8 +17,8 @@
|
||||
* 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.3 $
|
||||
* @(#) $Id: qio.c,v 29.3 2000/07/17 15:35:49 chongo Exp $
|
||||
* @(#) $Revision: 29.4 $
|
||||
* @(#) $Id: qio.c,v 29.4 2002/12/29 09:20:25 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/qio.c,v $
|
||||
*
|
||||
* Under source code control: 1993/07/30 19:42:46
|
||||
@@ -180,9 +180,12 @@ qprintnum(NUMBER *q, int outmode)
|
||||
{
|
||||
NUMBER tmpval;
|
||||
long prec, exp;
|
||||
int outmode2 = MODE2_OFF;
|
||||
|
||||
if (outmode == MODE_DEFAULT)
|
||||
if (outmode == MODE_DEFAULT) {
|
||||
outmode = conf->outmode;
|
||||
outmode2 = conf->outmode2;
|
||||
}
|
||||
switch (outmode) {
|
||||
case MODE_INT:
|
||||
if (conf->tilde_ok && qisfrac(q))
|
||||
@@ -248,6 +251,12 @@ qprintnum(NUMBER *q, int outmode)
|
||||
math_error("Bad mode for print");
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
if (outmode2 != MODE2_OFF) {
|
||||
PUTSTR(" /* ");
|
||||
qprintnum(q, outmode2);
|
||||
PUTSTR(" */");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* quickhash - quickly hash a calc value using a partial Fowler/Noll/Vo hash
|
||||
*
|
||||
* Copyright (C) 1999 Landon Curt Noll
|
||||
* Copyright (C) 1999-2002 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
|
||||
@@ -17,8 +17,8 @@
|
||||
* 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.4 $
|
||||
* @(#) $Id: quickhash.c,v 29.4 2001/04/14 22:47:21 chongo Exp $
|
||||
* @(#) $Revision: 29.5 $
|
||||
* @(#) $Id: quickhash.c,v 29.5 2002/12/29 09:20:25 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/quickhash.c,v $
|
||||
*
|
||||
* Under source code control: 1995/03/04 11:34:23
|
||||
@@ -382,6 +382,7 @@ config_hash(CONFIG *cfg, QCKHASH val)
|
||||
*/
|
||||
value = cfg->outmode;
|
||||
value = (((value>>5) | (value<<27)) ^ (USB32)cfg->outmode);
|
||||
value = (((value>>5) | (value<<27)) ^ (USB32)cfg->outmode2);
|
||||
value = (((value>>5) | (value<<27)) ^ (USB32)cfg->outdigits);
|
||||
/* epsilon is handeled out of order */
|
||||
value = (((value>>5) | (value<<27)) ^ (USB32)cfg->epsilonprec);
|
||||
|
117
rpm.mk.patch
117
rpm.mk.patch
@@ -1,117 +0,0 @@
|
||||
*** Makefile Fri Jun 8 16:07:27 2001
|
||||
--- Makefile.linux Fri Jun 8 16:07:27 2001
|
||||
***************
|
||||
*** 2,10 ****
|
||||
#
|
||||
# calc - arbitrary precision calculator
|
||||
#
|
||||
! # (Generic calc makefile)
|
||||
#
|
||||
! # 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
|
||||
--- 2,14 ----
|
||||
#
|
||||
# calc - arbitrary precision calculator
|
||||
#
|
||||
! # (Linux calc makefile)
|
||||
#
|
||||
! # NOTE: The Makefile.linux is the Makefile used to make the calc rpm.
|
||||
! # It differs from the standard calc Makefile in the ''You may
|
||||
! # want to change some values below'' section.
|
||||
! #
|
||||
! # Copyright (C) 2001 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
|
||||
***************
|
||||
*** 21,28 ****
|
||||
# 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
MAKEFILE_REV= $$Revision: 29.36 $$
|
||||
! # @(#) $Id: Makefile.ship,v 29.36 2001/06/08 23:00:19 chongo Exp $
|
||||
! # @(#) $Source: /usr/local/src/cmd/calc/RCS/Makefile.ship,v $
|
||||
#
|
||||
# Under source code control: 1990/02/15 01:48:41
|
||||
# File existed as early as: before 1990
|
||||
--- 25,32 ----
|
||||
# 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
MAKEFILE_REV= $$Revision: 29.36 $$
|
||||
! # @(#) $Id: Makefile.linux,v 29.36 2001/06/08 23:00:19 chongo Exp $
|
||||
! # @(#) $Source: /usr/local/src/cmd/calc/RCS/Makefile.linux,v $
|
||||
#
|
||||
# Under source code control: 1990/02/15 01:48:41
|
||||
# File existed as early as: before 1990
|
||||
***************
|
||||
*** 669,676 ****
|
||||
#
|
||||
# If in doubt, set USE_READLINE, READLINE_LIB and READLINE_INCLUDE to nothing.
|
||||
#
|
||||
! USE_READLINE=
|
||||
! #USE_READLINE= -DUSE_READLINE
|
||||
#
|
||||
#READLINE_LIB=
|
||||
READLINE_LIB= -lreadline -lhistory -lncurses
|
||||
--- 673,680 ----
|
||||
#
|
||||
# If in doubt, set USE_READLINE, READLINE_LIB and READLINE_INCLUDE to nothing.
|
||||
#
|
||||
! #USE_READLINE=
|
||||
! USE_READLINE= -DUSE_READLINE
|
||||
#
|
||||
#READLINE_LIB=
|
||||
READLINE_LIB= -lreadline -lhistory -lncurses
|
||||
***************
|
||||
*** 683,692 ****
|
||||
|
||||
# If $PAGER is not set, use this program to display a help file
|
||||
#
|
||||
! CALCPAGER= more
|
||||
#CALCPAGER= pg
|
||||
#CALCPAGER= cat
|
||||
! #CALCPAGER= less
|
||||
|
||||
# Debug/Optimize options for ${CC} and ${LCC}
|
||||
#
|
||||
--- 687,696 ----
|
||||
|
||||
# If $PAGER is not set, use this program to display a help file
|
||||
#
|
||||
! #CALCPAGER= more
|
||||
#CALCPAGER= pg
|
||||
#CALCPAGER= cat
|
||||
! CALCPAGER= less
|
||||
|
||||
# Debug/Optimize options for ${CC} and ${LCC}
|
||||
#
|
||||
***************
|
||||
*** 702,714 ****
|
||||
#
|
||||
#DEBUG= -O2
|
||||
#DEBUG= -O2 -g
|
||||
! DEBUG= -O2 -g3
|
||||
#DEBUG= -O2 -ipa
|
||||
#DEBUG= -O2 -g3 -ipa
|
||||
#
|
||||
#DEBUG= -O3
|
||||
#DEBUG= -O3 -g
|
||||
! #DEBUG= -O3 -g3
|
||||
#DEBUG= -O3 -ipa
|
||||
#DEBUG= -O3 -g3 -ipa
|
||||
#
|
||||
--- 706,718 ----
|
||||
#
|
||||
#DEBUG= -O2
|
||||
#DEBUG= -O2 -g
|
||||
! #DEBUG= -O2 -g3
|
||||
#DEBUG= -O2 -ipa
|
||||
#DEBUG= -O2 -g3 -ipa
|
||||
#
|
||||
#DEBUG= -O3
|
||||
#DEBUG= -O3 -g
|
||||
! DEBUG= -O3 -g3
|
||||
#DEBUG= -O3 -ipa
|
||||
#DEBUG= -O3 -g3 -ipa
|
||||
#
|
133
sample/Makefile
133
sample/Makefile
@@ -17,8 +17,8 @@
|
||||
# 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.14 $
|
||||
# @(#) $Id: Makefile,v 29.14 2001/06/08 22:38:53 chongo Exp $
|
||||
# @(#) $Revision: 29.17 $
|
||||
# @(#) $Id: Makefile,v 29.17 2003/01/14 02:00:23 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/sample/RCS/Makefile,v $
|
||||
#
|
||||
# Under source code control: 1997/04/19 22:46:49
|
||||
@@ -75,41 +75,111 @@ SAMPLE_OBJ= many_random.o test_random.o
|
||||
#Q=
|
||||
Q=@
|
||||
|
||||
####
|
||||
# Normally, the upper level makefile will set these values. We provide
|
||||
# a default here just in case you want to build from this directory.
|
||||
####
|
||||
|
||||
# Where the system include (.h) files are kept
|
||||
#
|
||||
# where things go
|
||||
# For DJGPP, select:
|
||||
#
|
||||
# ${BINDIR} where to install binary files
|
||||
# ${SHAREDIR} where most common shared files are kept
|
||||
# ${INCDIR} where most .h files are kept
|
||||
# ${LIBDIR} where *.a files are installed
|
||||
# INCDIR= /dev/env/DJDIR/include
|
||||
#
|
||||
# ${CSHAREDIR} where most common shared calc files are kept
|
||||
# ${HELPDIR} where the help directory is installed.
|
||||
# If in doubt, set:
|
||||
#
|
||||
# INCDIR= /usr/include
|
||||
#
|
||||
|
||||
#INCDIR= /usr/local/include
|
||||
#INCDIR= /dev/env/DJDIR/include
|
||||
INCDIR= /usr/include
|
||||
|
||||
# where to install calc realted things
|
||||
#
|
||||
# ${BINDIR} where to install calc binary files
|
||||
# ${LIBDIR} where calc link library (*.a) files are installed
|
||||
# ${CALC_SHAREDIR} where to install calc help, .cal, startup, config files
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with $T, which
|
||||
# by default is empty. If $T is non-empty, then installation
|
||||
# locations will be relative to the $T directory.
|
||||
#
|
||||
# For DJGPP, select:
|
||||
#
|
||||
# BINDIR= /dev/env/DJDIR/bin
|
||||
# LIBDIR= /dev/env/DJDIR/lib
|
||||
# CALC_SHAREDIR= /dev/env/DJDIR/share/calc
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# BINDIR= /usr/bin
|
||||
# LIBDIR= /usr/lib
|
||||
# CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
#BINDIR= /usr/local/bin
|
||||
#BINDIR= /dev/env/DJDIR/bin
|
||||
BINDIR= /usr/bin
|
||||
#BINDIR= /usr/contrib/bin
|
||||
#
|
||||
#SHAREDIR= /usr/local/lib
|
||||
SHAREDIR= /usr/share
|
||||
#
|
||||
#INCDIR= /usr/local/include
|
||||
INCDIR= /usr/include
|
||||
#
|
||||
|
||||
#LIBDIR= /usr/local/lib
|
||||
#LIBDIR= /dev/env/DJDIR/lib
|
||||
LIBDIR= /usr/lib
|
||||
|
||||
CSHAREDIR= ${SHAREDIR}/calc
|
||||
HELPDIR= ${LIBDIR}/help
|
||||
#CALC_SHAREDIR= /usr/local/lib/calc
|
||||
#CALC_SHAREDIR= /dev/env/DJDIR/share/calc
|
||||
CALC_SHAREDIR= /usr/share/calc
|
||||
|
||||
# By default, these values are based CALC_SHAREDIR, INCDIR, BINDIR
|
||||
# ---------------------------------------------------------------
|
||||
# ${HELPDIR} where the help directory is installed
|
||||
# ${CALC_INCDIR} where the calc include files are installed
|
||||
# ${CUSTOMCALDIR} where custom *.cal files are installed
|
||||
# ${CUSTOMHELPDIR} where custom help files are installed
|
||||
# ${CUSTOMINCPDIR} where custom .h files are installed
|
||||
# ${SCRIPTDIR} where calc shell scripts are installed
|
||||
#
|
||||
# NOTE: The install rule prepends installation paths with $T, which
|
||||
# by default is empty. If $T is non-empty, then installation
|
||||
# locations will be relative to the $T directory.
|
||||
#
|
||||
# If in doubt, set:
|
||||
#
|
||||
# HELPDIR= ${CALC_SHAREDIR}/help
|
||||
# CALC_INCDIR= ${INCDIR}/calc
|
||||
# CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
# CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
# CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
# SCRIPTDIR= ${BINDIR}/cscript
|
||||
#
|
||||
HELPDIR= ${CALC_SHAREDIR}/help
|
||||
CALC_INCDIR= ${INCDIR}/calc
|
||||
CUSTOMCALDIR= ${CALC_SHAREDIR}/custom
|
||||
CUSTOMHELPDIR= ${CALC_SHAREDIR}/custhelp
|
||||
CUSTOMINCDIR= ${CALC_INCDIR}/custom
|
||||
SCRIPTDIR= ${BINDIR}/cscript
|
||||
|
||||
# T - top level directory under which calc will be installed
|
||||
#
|
||||
# The calc install is performed under $T, the calc build is
|
||||
# performed under /. The purpose for $T is to allow someone to
|
||||
# install calc somewhere other than into the system area. For example
|
||||
# when forming the calc rpm, the Makefile is called with T=$RPM_BUILD_ROOT.
|
||||
# performed under /. The purpose for $T is to allow someone
|
||||
# to install calc somewhere other than into the system area.
|
||||
#
|
||||
# For example, if:
|
||||
#
|
||||
# BINDIR= /usr/bin
|
||||
# LIBDIR= /usr/lib
|
||||
# CALC_SHAREDIR= /usr/share/calc
|
||||
#
|
||||
# and if:
|
||||
#
|
||||
# T= /var/tmp/testing
|
||||
#
|
||||
# Then the installation locations will be:
|
||||
#
|
||||
# calc binary files: /var/tmp/testing/usr/bin
|
||||
# calc link library: /var/tmp/testing/usr/lib
|
||||
# calc help, .cal ...: /var/tmp/testing/usr/share/calc
|
||||
# ... etc ... /var/tmp/testing/...
|
||||
#
|
||||
# If $T is empty, calc is installed under /, which is the same
|
||||
# top of tree for which it was built. If $T is non-empty, then
|
||||
@@ -359,8 +429,10 @@ many_random: many_random.o ../libcalc.a
|
||||
##
|
||||
|
||||
distlist: ${DISTLIST}
|
||||
${Q}for i in ${DISTLIST}; do \
|
||||
${Q}for i in ${DISTLIST} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo sample/$$i; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
distdir:
|
||||
@@ -396,11 +468,14 @@ depend:
|
||||
-${Q}rm -rf skel
|
||||
${Q}mkdir skel
|
||||
${Q}mkdir skel/sample
|
||||
-${Q}for i in ${C_SRC}; do \
|
||||
-${Q}for i in ${C_SRC} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
${SED} -n '/^#[ ]*include[ ]*"/p' \
|
||||
"$$i" > "skel/sample/$$i"; \
|
||||
fi; \
|
||||
done
|
||||
-${Q}for i in ${H_SRC} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
tag="`echo $$i | ${SED} 's/[\.+,:]/_/g'`"; \
|
||||
echo "#if !defined($$tag)" > "skel/sample/$$i"; \
|
||||
@@ -409,18 +484,21 @@ depend:
|
||||
>> "skel/sample/$$i"; \
|
||||
echo '#endif /* '"$$tag"' */' >> "skel/sample/$$i"; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
${Q}(cd ..; ${MAKE} hsrc)
|
||||
${Q}for i in `cd ..; ${MAKE} h_list 2>&1 | \
|
||||
${SED} -e '/Entering directory/d' \
|
||||
-e '/Nothing to be done/d' \
|
||||
-e '/Leaving directory/d'`; do \
|
||||
-e '/Leaving directory/d'` /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
tag="`echo $$i | ${SED} 's/[\.+,:]/_/g'`"; \
|
||||
echo "#if !defined($$tag)" > "skel/$$i"; \
|
||||
echo "#define $$tag" >> "skel/$$i"; \
|
||||
${SED} -n '/^#[ ]*include[ ]*"/p' "../$$i" \
|
||||
>> "skel/$$i"; \
|
||||
echo '#endif /* '"$$tag"' */' >> "skel/$$i"; \
|
||||
fi; \
|
||||
done
|
||||
-${Q}rm -f skel/sample/makedep.out
|
||||
${Q}echo sample/skel formed
|
||||
@@ -428,8 +506,10 @@ depend:
|
||||
${Q}echo "# DO NOT DELETE THIS LINE -- make depend depends on it." > \
|
||||
skel/sample/makedep.out
|
||||
${Q}cd skel/sample; ${MAKEDEPEND} -w 1 -f makedep.out -I.. ${C_SRC}
|
||||
-${Q}for i in ${C_SRC}; do \
|
||||
-${Q}for i in ${C_SRC} /dev/null; do \
|
||||
if [ X"$$i" != X"/dev/null" ]; then \
|
||||
echo "$$i" | ${SED} 's/^\(.*\)\.c/\1.o: \1.c/'; \
|
||||
fi; \
|
||||
done >> skel/sample/makedep.out
|
||||
${Q}echo sample dependency list formed
|
||||
${Q}echo forming new sample/Makefile
|
||||
@@ -491,7 +571,6 @@ install: all
|
||||
|
||||
# DO NOT DELETE THIS LINE
|
||||
|
||||
|
||||
many_random.o: ../alloc.h
|
||||
many_random.o: ../block.h
|
||||
many_random.o: ../byteswap.h
|
||||
|
9
seed.c
9
seed.c
@@ -17,8 +17,8 @@
|
||||
* 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.5 $
|
||||
* @(#) $Id: seed.c,v 29.5 2001/05/08 06:44:29 chongo Exp $
|
||||
* @(#) $Revision: 29.6 $
|
||||
* @(#) $Id: seed.c,v 29.6 2003/01/14 00:51:53 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/seed.c,v $
|
||||
*
|
||||
* Under source code control: 1999/10/03 10:06:53
|
||||
@@ -41,6 +41,11 @@
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "have_stdlib.h"
|
||||
#if defined(HAVE_STDLIB_H)
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#include "have_unistd.h"
|
||||
#if defined(HAVE_UNISTD_H)
|
||||
#include <unistd.h>
|
||||
|
@@ -1,60 +0,0 @@
|
||||
Summary: C-style arbitrary precision calculator
|
||||
Name: calc
|
||||
Version: ${VERSION}
|
||||
Release: ${RELEASE}
|
||||
Copyright: LGPL
|
||||
Group: Applications/Engineering
|
||||
Source: http://www.isthe.com/chongo/src/calc/calc-${VER_CALC}.tar.gz
|
||||
Patch0: rpm.mk.patch
|
||||
BuildRoot: /var/tmp/%{name}-buildroot
|
||||
|
||||
%description
|
||||
Calc is an interactive calculator which provides for easy large numeric
|
||||
calculations, but which also can be easily programmed for difficult or
|
||||
long calculations.
|
||||
|
||||
All numbers are represented as fractions with arbitrarily large numerators
|
||||
and denominators which are always reduced to lowest terms. Real or
|
||||
exponential format numbers are converted to the equivalent fraction.
|
||||
One use enter decinal, hex, octal, binary and complex values.
|
||||
|
||||
Commands are statements in a C-like language, where each input line is
|
||||
treated as the body of a procedure. You can define your own functions
|
||||
by using the 'define' keyword, followed by a function declaration very
|
||||
similar to C. Calc also comes with a rich set of builtin functions
|
||||
and calc shell commands.
|
||||
|
||||
In addition to numeric global, local and static variables, Calc as
|
||||
lists, associated arrays, matrices, byte blocks, dymanic strings and
|
||||
user defined objects.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
make -f Makefile.linux all RPM_OPT_FLAGS="$RPM_OPT_FLAGS"
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
make -f Makefile.linux install RPM_OPT_FLAGS="$RPM_OPT_FLAGS" T="$RPM_BUILD_ROOT"
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files -f install.list
|
||||
%dir ${CSHAREDIR}
|
||||
%dir ${HELPDIR}
|
||||
%dir ${INCDIRCALC}
|
||||
%dir ${CUSTOMLIBDIR}
|
||||
%dir ${CUSTOMHELPDIR}
|
||||
%dir ${CUSTOMINCDIR}
|
||||
%dir ${SCRIPTDIR}
|
||||
%defattr(-,root,root)
|
||||
%doc BUGS README COPYING COPYING-LGPL HOWTO.INSTALL
|
||||
%doc README LIBRARY README.WINDOWS calc.1
|
||||
%doc help/resource help/errorcodes help/custom_cal help/new_custom
|
||||
%doc help/cscript help/full
|
||||
|
||||
%changelog
|
||||
* ${DATE} Landon Curt Noll <http://www.isthe.com/chongo/index.html>
|
||||
- calc version ${VER_CALC}
|
186
version.c
186
version.c
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* version - determine the version of calc
|
||||
*
|
||||
* Copyright (C) 1999 David I. Bell and Landon Curt Noll
|
||||
* Copyright (C) 1999-2002 David I. Bell and Landon Curt Noll
|
||||
*
|
||||
* Primary author: David I. Bell
|
||||
*
|
||||
@@ -19,8 +19,8 @@
|
||||
* 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.31 $
|
||||
* @(#) $Id: version.c,v 29.31 2001/06/08 22:32:42 chongo Exp $
|
||||
* @(#) $Revision: 29.42 $
|
||||
* @(#) $Id: version.c,v 29.42 2003/01/14 01:51:46 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/version.c,v $
|
||||
*
|
||||
* Under source code control: 1990/05/22 11:00:58
|
||||
@@ -32,6 +32,9 @@
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
#if defined(CALC_VER)
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
@@ -42,8 +45,9 @@ static char *program;
|
||||
|
||||
#define MAJOR_VER 2 /* major version */
|
||||
#define MINOR_VER 11 /* minor version */
|
||||
#define MAJOR_PATCH 5 /* patch level or 0 if no patch */
|
||||
#define MINOR_PATCH "4.5" /* test number or empty string if no patch */
|
||||
#define MAJOR_PATCH 6 /* patch level or 0 if no patch */
|
||||
#define MINOR_PATCH 1 /* test number or 0 if no minor patch */
|
||||
|
||||
|
||||
/*
|
||||
* calc version constants
|
||||
@@ -51,7 +55,7 @@ static char *program;
|
||||
int calc_major_ver = MAJOR_VER;
|
||||
int calc_minor_ver = MINOR_VER;
|
||||
int calc_major_patch = MAJOR_PATCH;
|
||||
char *calc_minor_patch = MINOR_PATCH;
|
||||
int calc_minor_patch = MINOR_PATCH;
|
||||
|
||||
|
||||
/*
|
||||
@@ -89,13 +93,29 @@ char *Copyright = "\n"
|
||||
"\n";
|
||||
|
||||
|
||||
#if !defined(HAVE_SNPRINTF)
|
||||
/* Simulate snprintf with vsprintf, hoping that BUFSIZ is large enough. */
|
||||
#include <stdarg.h>
|
||||
int
|
||||
snprintf (char *buf, size_t n, const char *fmt, ...)
|
||||
{
|
||||
int retval;
|
||||
va_list arg;
|
||||
|
||||
va_start (arg, fmt);
|
||||
retval = vsprintf (buf, fmt, arg);
|
||||
va_end (arg);
|
||||
return retval;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* version - return version string
|
||||
*
|
||||
* This function returns a malloced version string. This version
|
||||
* string does not contain the title, just:
|
||||
*
|
||||
* x.y.ztw
|
||||
* x.y.z.w
|
||||
* x.y.z
|
||||
* x.y
|
||||
*/
|
||||
@@ -114,15 +134,17 @@ version(void)
|
||||
/*
|
||||
* form the version buffer
|
||||
*/
|
||||
if (sizeof(MINOR_PATCH) > 1) {
|
||||
sprintf(verbuf,
|
||||
"%d.%d.%dt%s", calc_major_ver, calc_minor_ver,
|
||||
calc_major_patch, calc_minor_patch);
|
||||
if (MINOR_PATCH > 0) {
|
||||
snprintf(verbuf, BUFSIZ,
|
||||
"%d.%d.%d.%d", calc_major_ver, calc_minor_ver,
|
||||
calc_major_patch, calc_minor_patch);
|
||||
} else if (MAJOR_PATCH > 0) {
|
||||
sprintf(verbuf,
|
||||
"%d.%d.%d", calc_major_ver, calc_minor_ver, calc_major_patch);
|
||||
snprintf(verbuf, BUFSIZ,
|
||||
"%d.%d.%d", calc_major_ver,
|
||||
calc_minor_ver, calc_major_patch);
|
||||
} else {
|
||||
sprintf(verbuf, "%d.%d", calc_major_ver, calc_minor_ver);
|
||||
snprintf(verbuf, BUFSIZ,
|
||||
"%d.%d", calc_major_ver, calc_minor_ver);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -131,7 +153,7 @@ version(void)
|
||||
stored_version = (char *)malloc(strlen(verbuf)+1);
|
||||
if (stored_version == NULL) {
|
||||
fprintf(stderr, "%s: version formation value\n", program);
|
||||
exit(2);
|
||||
exit(1);
|
||||
}
|
||||
strcpy(stored_version, verbuf);
|
||||
|
||||
@@ -146,76 +168,123 @@ version(void)
|
||||
|
||||
|
||||
/*
|
||||
* print_rpm_version_release - print the rpm style version-release
|
||||
* print_rpm_version - print just the version string, rpm style
|
||||
*
|
||||
* This function prints a version-release string, rpm style:
|
||||
* This function prints a version string, rpm style:
|
||||
*
|
||||
* x.y.z-w
|
||||
* x.y.z-0
|
||||
* x.y-0
|
||||
* x.y.z.w-r
|
||||
* x.y.z-r
|
||||
* x.y-r
|
||||
*
|
||||
* where 'r' comes from the content of the release file.
|
||||
*/
|
||||
void
|
||||
print_rpm_version_release(void)
|
||||
print_rpm_version(char *release)
|
||||
{
|
||||
FILE *file; /* open file */
|
||||
char buf[BUFSIZ+1]; /* release file buffer */
|
||||
char *p;
|
||||
|
||||
/*
|
||||
* obtain the release
|
||||
*/
|
||||
file = fopen(release, "r");
|
||||
if (file == NULL) {
|
||||
fprintf(stderr, "%s: cannot open %s: %s\n",
|
||||
program, release, strerror(errno));
|
||||
exit(2);
|
||||
}
|
||||
buf[BUFSIZ] = '\0';
|
||||
if (fgets(buf, BUFSIZ, file) == NULL) {
|
||||
fprintf(stderr, "%s: cannot read %s: %s\n",
|
||||
program, release, strerror(errno));
|
||||
exit(3);
|
||||
}
|
||||
p = strchr(buf, '\n');
|
||||
if (p != NULL) {
|
||||
*p = '\0';
|
||||
}
|
||||
|
||||
/*
|
||||
* form the version buffer
|
||||
*/
|
||||
if (sizeof(MINOR_PATCH) > 1) {
|
||||
printf("%d.%d.%d-%s\n", calc_major_ver, calc_minor_ver,
|
||||
calc_major_patch, calc_minor_patch);
|
||||
if (MINOR_PATCH > 0) {
|
||||
printf("%d.%d.%d.%d-%s\n", calc_major_ver, calc_minor_ver,
|
||||
calc_major_patch, calc_minor_patch, buf);
|
||||
} else if (MAJOR_PATCH > 0) {
|
||||
printf("%d.%d.%d-0\n", calc_major_ver, calc_minor_ver,
|
||||
calc_major_patch);
|
||||
printf("%d.%d.%d-%s\n", calc_major_ver, calc_minor_ver,
|
||||
calc_major_patch, buf);
|
||||
} else {
|
||||
printf("%d.%d-0\n", calc_major_ver, calc_minor_ver);
|
||||
printf("%d.%d-%s\n", calc_major_ver, calc_minor_ver, buf);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* print_rpm_version - print just the version string, rpm style
|
||||
* print_rpm_major - print just the major part version string
|
||||
*
|
||||
* This function prints a version string, rpm style:
|
||||
* This function prints the major part version string:
|
||||
*
|
||||
* x.y.z
|
||||
* x.y
|
||||
*/
|
||||
void
|
||||
print_rpm_version(void)
|
||||
print_rpm_major(void)
|
||||
{
|
||||
/*
|
||||
* form the version buffer
|
||||
*/
|
||||
if (MAJOR_PATCH > 0) {
|
||||
printf("%d.%d.%d\n", calc_major_ver, calc_minor_ver,
|
||||
calc_major_patch);
|
||||
printf("%d.%d.%d\n", calc_major_ver, calc_minor_ver,
|
||||
calc_major_patch);
|
||||
} else {
|
||||
printf("%d.%d\n", calc_major_ver, calc_minor_ver);
|
||||
printf("%d.%d\n", calc_major_ver, calc_minor_ver);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* print_rpm_release - print just the release string, rpm style
|
||||
* print_rpm_release - print just the rpm release
|
||||
*
|
||||
* This function prints a release string, rpm style:
|
||||
* This function prints the rpm release:
|
||||
*
|
||||
* w
|
||||
* 0
|
||||
* r
|
||||
*
|
||||
* where 'r' comes from the content of the release file.
|
||||
*/
|
||||
void
|
||||
print_rpm_release(void)
|
||||
print_rpm_release(char *release)
|
||||
{
|
||||
FILE *file; /* open file */
|
||||
char buf[BUFSIZ+1]; /* release file buffer */
|
||||
char *p;
|
||||
|
||||
/*
|
||||
* obtain the release
|
||||
*/
|
||||
file = fopen(release, "r");
|
||||
if (file == NULL) {
|
||||
fprintf(stderr, "%s: cannot open %s: %s\n",
|
||||
program, release, strerror(errno));
|
||||
exit(2);
|
||||
}
|
||||
buf[BUFSIZ] = '\0';
|
||||
if (fgets(buf, BUFSIZ, file) == NULL) {
|
||||
fprintf(stderr, "%s: cannot read %s: %s\n",
|
||||
program, release, strerror(errno));
|
||||
exit(3);
|
||||
}
|
||||
p = strchr(buf, '\n');
|
||||
if (p != NULL) {
|
||||
*p = '\0';
|
||||
}
|
||||
|
||||
/*
|
||||
* form the version buffer
|
||||
*/
|
||||
if (sizeof(MINOR_PATCH) > 1) {
|
||||
printf("%s\n", calc_minor_patch);
|
||||
} else {
|
||||
printf("0\n");
|
||||
}
|
||||
printf("%s\n", buf);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -227,17 +296,26 @@ print_rpm_release(void)
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
program = argv[0];
|
||||
if (argc == 2 && strcmp(argv[1], "-R") == 0) {
|
||||
print_rpm_version_release();
|
||||
} else if (argc == 2 && strcmp(argv[1], "-v") == 0) {
|
||||
print_rpm_version();
|
||||
} else if (argc == 2 && strcmp(argv[1], "-r") == 0) {
|
||||
print_rpm_release();
|
||||
} else {
|
||||
printf("%s\n", version());
|
||||
}
|
||||
return 0;
|
||||
program = argv[0];
|
||||
if (argc == 3 && strcmp(argv[1], "-r") == 0) {
|
||||
print_rpm_version(argv[2]);
|
||||
|
||||
} else if (argc == 3 && strcmp(argv[1], "-R") == 0) {
|
||||
print_rpm_release(argv[2]);
|
||||
|
||||
} else if (argc == 2 && strcmp(argv[1], "-V") == 0) {
|
||||
print_rpm_major();
|
||||
|
||||
} else if (argc == 1) {
|
||||
printf("%s\n", version());
|
||||
|
||||
} else {
|
||||
fprintf(stderr,
|
||||
"usage: %s [-V] [-R release_file] [-r release_file]\n",
|
||||
program);
|
||||
exit(4);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* CALC_VER */
|
||||
|
@@ -36,8 +36,8 @@ HAVE_UNISTD_H=NO
|
||||
|
||||
LIBDIR=/lib/calc
|
||||
HELPDIR=/lib/calc/help
|
||||
INCDIRCALC=/include/calc
|
||||
CUSTOMLIBDIR=/lib/calc/custom
|
||||
CALC_INCDIR=/include/calc
|
||||
CUSTOMCALDIR=/lib/calc/custom
|
||||
CUSTOMHELPDIR=/lib/calc/help/custhelp
|
||||
SCRIPTDIR=/lib/calc/cscript
|
||||
MANDIR=
|
||||
|
@@ -7,7 +7,7 @@
|
||||
#define __HAVE_MALLOC_H__
|
||||
|
||||
|
||||
/* do we have /usr/include/malloc.h? */
|
||||
/* do we have <malloc.h>? */
|
||||
#define HAVE_MALLOC_H /* yes */
|
||||
|
||||
|
||||
|
@@ -7,7 +7,7 @@
|
||||
#define __HAVE_STDLIB_H__
|
||||
|
||||
|
||||
/* do we have /usr/include/stdlib.h? */
|
||||
/* do we have <stdlib.h>? */
|
||||
#define HAVE_STDLIB_H /* yes */
|
||||
|
||||
|
||||
|
@@ -7,7 +7,7 @@
|
||||
#define __HAVE_STRING_H__
|
||||
|
||||
|
||||
/* do we have /usr/include/string.h? */
|
||||
/* do we have <string.h>? */
|
||||
#define HAVE_STRING_H /* yes */
|
||||
|
||||
|
||||
|
@@ -7,7 +7,7 @@
|
||||
#define __HAVE_TIMES_H__
|
||||
|
||||
|
||||
/* do we have /usr/include/times.h? */
|
||||
/* do we have <times.h>? */
|
||||
#undef HAVE_TIMES_H /* no */
|
||||
#undef HAVE_SYS_TIMES_H /* no */
|
||||
#define HAVE_TIME_H /* yes */
|
||||
|
@@ -7,7 +7,7 @@
|
||||
#define __HAVE_UNISTD_H__
|
||||
|
||||
|
||||
/* do we have /usr/include/unistd.h? */
|
||||
/* do we have <unistd.h>? */
|
||||
#undef HAVE_UNISTD_H /* no */
|
||||
|
||||
|
||||
|
28
zio.c
28
zio.c
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* zio - scanf and printf routines for arbitrary precision integers
|
||||
*
|
||||
* Copyright (C) 1999 David I. Bell
|
||||
* Copyright (C) 1999-2002 David I. Bell
|
||||
*
|
||||
* 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
|
||||
@@ -17,8 +17,8 @@
|
||||
* 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.3 $
|
||||
* @(#) $Id: zio.c,v 29.3 2000/07/17 15:35:49 chongo Exp $
|
||||
* @(#) $Revision: 29.4 $
|
||||
* @(#) $Id: zio.c,v 29.4 2002/12/29 09:20:25 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/zio.c,v $
|
||||
*
|
||||
* Under source code control: 1993/07/30 19:42:48
|
||||
@@ -52,6 +52,7 @@ struct iostate {
|
||||
IOSTATE *oldiostates; /* previous saved state */
|
||||
long outdigits; /* digits for output */
|
||||
int outmode; /* output mode */
|
||||
int outmode2; /* secondary output mode */
|
||||
FILE *outfp; /* file unit for output (if any) */
|
||||
char *outbuf; /* output string buffer (if any) */
|
||||
long outbufsize; /* current size of string buffer */
|
||||
@@ -214,6 +215,7 @@ math_divertio(void)
|
||||
sp->oldiostates = oldiostates;
|
||||
sp->outdigits = conf->outdigits;
|
||||
sp->outmode = conf->outmode;
|
||||
sp->outmode2 = conf->outmode2;
|
||||
sp->outfp = outfp;
|
||||
sp->outbuf = outbuf;
|
||||
sp->outbufsize = outbufsize;
|
||||
@@ -254,6 +256,7 @@ math_getdivertedio(void)
|
||||
oldiostates = sp->oldiostates;
|
||||
conf->outdigits = sp->outdigits;
|
||||
conf->outmode = sp->outmode;
|
||||
conf->outmode2 = sp->outmode2;
|
||||
outfp = sp->outfp;
|
||||
outbuf = sp->outbuf;
|
||||
outbufsize = sp->outbufsize;
|
||||
@@ -314,6 +317,25 @@ math_setmode(int newmode)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Set the secondary output mode for numeric output.
|
||||
* This also returns the previous mode.
|
||||
*/
|
||||
int
|
||||
math_setmode2(int newmode)
|
||||
{
|
||||
int oldmode;
|
||||
|
||||
if (newmode != MODE2_OFF && ((newmode <= MODE_DEFAULT) || (newmode > MODE_MAX))) {
|
||||
math_error("Setting illegal secondary output mode");
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
oldmode = conf->outmode2;
|
||||
conf->outmode2 = newmode;
|
||||
return oldmode;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Set the number of digits for float or exponential output.
|
||||
* This also returns the previous number of digits.
|
||||
|
11
zmath.h
11
zmath.h
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* zmath - declarations for extended precision integer arithmetic
|
||||
*
|
||||
* Copyright (C) 1999 David I. Bell
|
||||
* Copyright (C) 1999-2002 David I. Bell
|
||||
*
|
||||
* 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
|
||||
@@ -17,8 +17,8 @@
|
||||
* 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.7 $
|
||||
* @(#) $Id: zmath.h,v 29.7 2001/06/08 21:00:58 chongo Exp $
|
||||
* @(#) $Revision: 29.10 $
|
||||
* @(#) $Id: zmath.h,v 29.10 2003/01/14 00:44:39 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/zmath.h,v $
|
||||
*
|
||||
* Under source code control: 1993/07/30 19:42:48
|
||||
@@ -131,7 +131,7 @@ typedef SB32 SFULL; /* signed FULL */
|
||||
|
||||
#define TOPFULL ((FULL)1 << (FULL_BITS-1)) /* highest bit in FULL */
|
||||
#define MAXFULL (TOPFULL - (FULL)1) /* largest SFULL value */
|
||||
#define MAXUFULL (MAXFULL | TOPHALF) /* largest FULL value */
|
||||
#define MAXUFULL (MAXFULL | TOPFULL) /* largest FULL value */
|
||||
|
||||
#define TOPLONG ((unsigned long)1 << (LONG_BITS-1)) /* top long bit */
|
||||
#define MAXLONG ((long) (TOPLONG - (unsigned long)1)) /* largest long val */
|
||||
@@ -552,8 +552,10 @@ extern DLL void zredcpower(REDC *rp, ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
||||
#define MODE_OCTAL 6
|
||||
#define MODE_BINARY 7
|
||||
#define MODE_MAX 7
|
||||
#define MODE2_OFF (MODE_MAX+1)
|
||||
|
||||
#define MODE_INITIAL MODE_REAL
|
||||
#define MODE2_INITIAL MODE2_OFF
|
||||
|
||||
|
||||
/*
|
||||
@@ -567,6 +569,7 @@ extern DLL void math_divertio(void);
|
||||
extern DLL void math_cleardiversions(void);
|
||||
extern DLL char *math_getdivertedio(void);
|
||||
extern DLL int math_setmode(int mode);
|
||||
extern DLL int math_setmode2(int mode);
|
||||
extern DLL LEN math_setdigits(LEN digits);
|
||||
extern DLL void math_fmt(char *, ...);
|
||||
|
||||
|
5
zrand.c
5
zrand.c
@@ -17,8 +17,8 @@
|
||||
* 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.4 $
|
||||
* @(#) $Id: zrand.c,v 29.4 2001/05/08 06:44:29 chongo Exp $
|
||||
* @(#) $Revision: 29.5 $
|
||||
* @(#) $Id: zrand.c,v 29.5 2003/01/14 00:54:24 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/zrand.c,v $
|
||||
*
|
||||
* Under source code control: 1995/01/07 09:45:25
|
||||
@@ -353,6 +353,7 @@
|
||||
* (used by more than one input seed).
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "zrand.h"
|
||||
#include "have_const.h"
|
||||
|
@@ -17,8 +17,8 @@
|
||||
* 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.3 $
|
||||
* @(#) $Id: zrandom.c,v 29.3 2001/05/08 06:44:29 chongo Exp $
|
||||
* @(#) $Revision: 29.4 $
|
||||
* @(#) $Id: zrandom.c,v 29.4 2002/12/29 06:35:08 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/zrandom.c,v $
|
||||
*
|
||||
* Under source code control: 1997/02/15 04:01:56
|
||||
@@ -2280,7 +2280,7 @@ zrandomrange(CONST ZVALUE low, CONST ZVALUE high, ZVALUE *res)
|
||||
zsub(high, low, &range);
|
||||
if (zisone(range)) {
|
||||
zfree_random(range);
|
||||
*res = low;
|
||||
zcopy(low, res);
|
||||
return;
|
||||
}
|
||||
zsub(range, _one_, &rangem1);
|
||||
|
Reference in New Issue
Block a user