Compare commits

..

7 Commits

Author SHA1 Message Date
Landon Curt Noll
a57ee19ca5 Release calc version 2.11.5.6 2017-05-21 15:38:42 -07:00
Landon Curt Noll
a6e226fa80 Release calc version 2.11.5.5 2017-05-21 15:38:42 -07:00
Landon Curt Noll
86e0f98c8f Release calc version 2.11.5t4.5 2017-05-21 15:38:41 -07:00
Landon Curt Noll
e4dcbf7ecf Release calc version 2.11.5t4.4 2017-05-21 15:38:41 -07:00
Landon Curt Noll
10c0bd2d95 Release calc version 2.11.5t4.3 2017-05-21 15:38:41 -07:00
Landon Curt Noll
ad44f1e3ab Release calc version 2.11.5t4.2 2017-05-21 15:38:41 -07:00
Landon Curt Noll
fd436d7c15 Release calc version 2.11.5t4.1 2017-05-21 15:38:40 -07:00
44 changed files with 1840 additions and 893 deletions

76
BUGS
View File

@@ -29,13 +29,20 @@ The calc web site is located at:
=-=
If you have tried all of the above and things still are not right,
then it may be time to send in a bug report. You can send bug reports to:
then it may be time to send in a bug report. You can send bug
and bug fixes reports to:
calc-bugs at asthe dot com
[[ NOTE: Replace 'at' with @, 'dot' is with . and remove the spaces ]]
[[ NOTE: The EMail address uses 'asthe', the web site URL uses 'isthe' ]]
Your subject must contain the words:
calc bug report
You may have additional words in your subject line.
When you send your report, please include the following information:
* a description of the problem
@@ -54,18 +61,8 @@ When you send your report, please include the following information:
Stack traces from core dumps are useful to send as well.
=-=
Send any comments, compiler warning messages, suggestions and most
importantly, fixes (in the form of a context diff patch) to:
calc-bugs at asthe dot com
[[ NOTE: Replace 'at' with @, 'dot' is with . and remove the spaces ]]
[[ NOTE: The EMail address uses 'asthe', the web site URL uses 'isthe' ]]
You should use the above calc-bugs address for bug reports, if you are
not currently a member of the calc-tester mailing list.
Fell free to use the above address to send in big fixes (in the form
of a context diff patch).
=-=
@@ -75,10 +72,55 @@ Known bugs:
us know! See the above for details on how to report and were to
EMail your bug reports and hopefully patches to fix them.
=-=
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.
@@ -246,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.10 $
## @(#) $Id: BUGS,v 29.10 2001/04/08 11:32:52 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

106
CHANGES
View File

@@ -1,4 +1,102 @@
The following are the changes from calc version 2.11.5t3 to date:
The following are the changes from calc version 2.11.5.5 to date:
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.
The following are the changes from calc version 2.11.5t4.1 to 2.11.5t4.4:
Updated dependency rules in Makefiles.
NOTE: -DSRC, as used in 2.11.5t4.1 was renamed -DCALC_SRC
in a later version.
Calc include files use #include "foo.h" to include other calc
header files if -DCALC_SRC. Otherwise they use <calc/foo.h>.
The -DCALC_SRC symbol is defined by default in calc's Makefile
and so it uses the header files from within the calc src tree.
If an external non-calc program includes an installed calc
header file (from under /usr/include), and it does NOT define
CALC_SRC, then it will obtain the calc header files from the
correct system location (such as /usr/include/calc/foo.h).
Added calc builtin function: version() which returns the calc
version string.
Added subject requirements for the calc-tester-request and
calc-bugs-mail EMail aliases. See:
http://www.isthe.com/chongo/tech/comp/calc/email.html
for details.
Corrected a bug that incorrectly set the default calc path
back in version 2.11.5t4. The default CALCPATH is now:
.:./cal:~/.cal:/usr/share/calc:/usr/share/calc/custom
and the default CALCRC is now:
/usr/share/calc/startup:~/.calcrc:./.calcinit
This fixes the missing bindings error and it places the calc
resource files into the default path.
If you are using the GNU readline then the Makefile recommends that
you link with the ncurses library.
Applied Makefile, cscript/Makefile and custom/Makefile patches to
fix install mode problems, to deal with sorting and dates in I18n
environments (such as Japanese), to fix some problems with calc.spec
and to fix the cscript #! header lines. Thanks goes to KAWAMURA Masao
(kawamura at mlb.co.jp) for the bug report and patch!
Fixed headers on fproduct.calc powerterm.calc 4dsphere.calc so
that they are correcly changed on installation.
Added ${GREP} Makefile variable.
The top level Makefile now sets LANG=C and passes it down to
lower level Makefiles.
Updated URLs in cal/lucas.cal comments.
Now shipping calc.spec, inst_files, spec-template and Makefile.linux
with the standard calc source distribution. Note that the standard
Makefile has not changed. The Makefile.linux only in minor ways
needed to build calc rpms.
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 /.
Removed all echo_XXX rules except for echo_inst_files from lower
level makefile. The calc.spec will use a make install rule
with T=$RPM_BUILD_ROOT.
Updated LIBRARY file with instructions related to -DCALC_SRC,
the new default include file locatin and -lcustcalc.
The following are the changes from calc version 2.11.5t3 to 2.11.5t4:
The Makefile will now send both stdout and sterr to /dev/null
when compiling hsrc intermeriates.
@@ -127,7 +225,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 ...
@@ -5281,8 +5379,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.32 $
## @(#) $Id: CHANGES,v 29.32 2001/05/28 21:59:59 chongo Exp $
## @(#) $Revision: 29.45 $
## @(#) $Id: CHANGES,v 29.45 2001/12/31 22:12:35 chongo Exp $
## @(#) $Source: /usr/local/src/cmd/calc/RCS/CHANGES,v $
##
## Under source code control: 1993/06/02 18:12:57

27
COPYING
View File

@@ -12,8 +12,8 @@ This file is Copyrighted
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
# @(#) $Revision: 29.5 $
# @(#) $Id: COPYING,v 29.5 2000/12/18 10:22:55 chongo Exp $
# @(#) $Revision: 29.6 $
# @(#) $Id: COPYING,v 29.6 2001/06/01 11:26:53 chongo Exp $
# @(#) $Source: /usr/local/src/cmd/calc/RCS/COPYING,v $
=-=
@@ -55,13 +55,18 @@ Calc is covered by the GNU Lesser General Public License
The contact addresses for calc is as follows:
Web: http://www.isthe.com/chongo/tech/comp/calc/index.html
EMail: calc-contrib at asthe dot com
Web: http://www.isthe.com/chongo/tech/comp/calc/email.html
To join the calc-tester mailing list. Send a request to:
To join the low volume calc mailing list. Send a EMail message to:
calc-tester-request at asthe dot com
Your subject must contain the words:
calc mailing list subscription
You may have additional words in your subject line.
Your message body (not the subject) should consist of:
subscribe calc-tester address
@@ -71,13 +76,23 @@ Calc is covered by the GNU Lesser General Public License
where ``address'' is your EMail address and ``your_full_name'' is
your full name.
Calc bug reports, however should be sent to:
Feel free to follow the name line with additional EMail text as desired.
=-=
Calc bug reports and calc bug fixes should be sent to:
calc-bugs at asthe dot com
[[ NOTE: Replace 'at' with @, 'dot' is with . and remove the spaces ]]
[[ NOTE: The EMail address uses 'asthe' and the web site URL uses 'isthe' ]]
Your subject must contain the words:
calc bug report
You may have additional words in your subject line.
=-=
Calc's relationship to the GNU Lesser General Public License

View File

@@ -26,6 +26,13 @@ Installing calc in 4 easy steps:
Set BINDIR to the place where calc is installed. As shipped
the Makefile assumes a BINDIR /usr/local/bin.
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:
@@ -65,8 +72,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.3 $
## @(#) $Id: HOWTO.INSTALL,v 29.3 2001/12/11 02:51:00 chongo Exp $
## @(#) $Source: /usr/local/src/cmd/calc/RCS/HOWTO.INSTALL,v $
##
## Under source code control: 1999/09/27 20:48:44

28
LIBRARY
View File

@@ -48,12 +48,30 @@ convenient for outside use. So you should read the source for a routine
to see if it really does what you think it does. I won't guarantee that
obscure internal routines won't change or disappear in future releases!
When calc is installed, all of the include files needed to build
libcalc.a along with the link library itself are installed into ${LIBDIR}.
When calc is installed, all of libraries are installed into ${LIBDIR}.
All of the calc header files are installed under ${INCDIRCALC}.
If CALC_SRC is defined, then the calc header files will assume that
they are in or under the current directory. However, most external
programs most likely will not be located under calc'c source tree.
External programs most likely want to use the installed calc header
files under ${INCDIRCALC}. External programs most likely NOT want
to define CALC_SRC.
External programs may want to compile with:
-I${LIBDIR} -L${LIBDIR} -lcalc
-L${LIBDIR} -lcalc
If custom functions are also used, they may want to compile with:
-L${LIBDIR} -lcalc -lcustcalc
The CALC_SRC symbol should NOT be defined by default. However if you are
feeling pedantic you may want to force CALC_SRC to be undefined:
-UCALC_SRC
as well.
--------------
ERROR HANDLING
@@ -471,8 +489,8 @@ need call libcalc_call_me_last() only once.
## 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: LIBRARY,v 29.2 2000/06/07 14:02:13 chongo Exp $
## @(#) $Revision: 29.5 $
## @(#) $Id: LIBRARY,v 29.5 2001/06/08 22:57:35 chongo Exp $
## @(#) $Source: /usr/local/src/cmd/calc/RCS/LIBRARY,v $
##
## Under source code control: 1993/07/30 19:44:49

745
Makefile

File diff suppressed because it is too large Load Diff

24
README
View File

@@ -73,13 +73,19 @@ for a wish/todo list. Code contributions are welcome.
=-=
To join the calc-tester mailing list. Send a request to:
To join the calc-tester mailing list. Send an EMail message to:
calc-tester-request at asthe dot com
[[ NOTE: Replace 'at' with @, 'dot' is with . and remove the spaces ]]
[[ NOTE: The EMail address uses 'asthe' and the web site URL uses 'isthe' ]]
Your subject must contain the words:
calc mailing list subscription
You may have additional words in your subject line.
Your message body (not the subject) should consist of:
subscribe calc-tester address
@@ -89,7 +95,11 @@ Your message body (not the subject) should consist of:
where ``address'' is your EMail address and ``your_full_name'' is
your full name.
Calc bug reports, however should be sent to:
Feel free to follow the name line with additional EMail text as desired.
=-=
Send Calc bug and bug fixes to:
calc-bugs at asthe dot com
@@ -98,6 +108,12 @@ Calc bug reports, however should be sent to:
but see the BUGS file first.
Your subject must contain the words:
calc bug report
You may have additional words in your subject line.
The calc web site is located at:
http://www.isthe.com/chongo/tech/comp/calc/
@@ -118,8 +134,8 @@ The calc web site is located at:
## 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: README,v 29.2 2000/06/07 14:02:13 chongo Exp $
## @(#) $Revision: 29.3 $
## @(#) $Id: README,v 29.3 2001/06/01 11:26:53 chongo Exp $
## @(#) $Source: /usr/local/src/cmd/calc/RCS/README,v $
##
## Under source code control: 1995/10/25 05:27:59

19
alloc.h
View File

@@ -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: alloc.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
* @(#) $Revision: 29.4 $
* @(#) $Id: alloc.h,v 29.4 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/alloc.h,v $
*
* Under source code control: 1990/02/15 01:48:29
@@ -32,10 +32,17 @@
#define __ALLOC_H__
#include "have_malloc.h"
#include "have_newstr.h"
#include "have_string.h"
#include "have_memmv.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "have_malloc.h"
# include "have_newstr.h"
# include "have_string.h"
# include "have_memmv.h"
#else
# include <calc/have_malloc.h>
# include <calc/have_newstr.h>
# include <calc/have_string.h>
# include <calc/have_memmv.h>
#endif
#ifdef HAVE_MALLOC_H
# include <malloc.h>

View File

@@ -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: byteswap.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
* @(#) $Revision: 29.4 $
* @(#) $Id: byteswap.h,v 29.4 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/byteswap.h,v $
*
* Under source code control: 1995/10/11 04:44:01
@@ -33,7 +33,11 @@
#define __BYTESWAP_H__
#include "longbits.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "longbits.h"
#else
# include <calc/longbits.h>
#endif
/*

View File

@@ -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.9 $
# @(#) $Id: Makefile,v 29.9 2001/05/28 21:56:08 chongo Exp $
# @(#) $Revision: 29.12 $
# @(#) $Id: Makefile,v 29.12 2001/06/08 22:38:53 chongo Exp $
# @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/Makefile,v $
#
# Under source code control: 1991/07/21 05:00:54
@@ -47,6 +47,22 @@ SHAREDIR= /usr/share
CSHAREDIR= ${SHAREDIR}/calc
# 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.
#
# 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.
#
# If in doubt, use T=
#
T=
# Makefile debug
#
# Q=@ do not echo internal makefile actions (quiet mode)
@@ -124,12 +140,9 @@ calcliblist:
#
##
echo_CALC_FILES: ${MAKE_FILE}
@echo ${CALC_FILES}
echo_install.list: ${MAKE_FILE}
@for i in ${CALC_FILES}; do \
echo ${CSHAREDIR}/$$i; \
echo_inst_files:
${Q}for i in ${CALC_FILES}; do \
echo __file__ ${CSHAREDIR}/$$i; \
done
##
@@ -144,30 +157,38 @@ clobber:
rm -f .all
install: all
-${Q}if [ ! -d ${SHAREDIR} ]; then \
echo mkdir ${SHAREDIR}; \
mkdir ${SHAREDIR}; \
echo ${CHMOD} 0755 ${SHAREDIR}; \
${CHMOD} 0755 ${SHAREDIR}; \
-${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 ${CSHAREDIR} ]; then \
echo mkdir ${CSHAREDIR}; \
mkdir ${CSHAREDIR}; \
echo ${CHMOD} 0755 ${CSHAREDIR}; \
${CHMOD} 0755 ${CSHAREDIR}; \
-${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}; \
else \
true; \
fi
${Q}for i in ${CALC_FILES}; do \
if ${CMP} -s $$i ${CSHAREDIR}/$$i; then \
if ${CMP} -s $$i $T${CSHAREDIR}/$$i; then \
true; \
else \
rm -f ${CSHAREDIR}/$$i.new; \
cp -f $$i ${CSHAREDIR}/$$i.new; \
${CHMOD} 0444 ${CSHAREDIR}/$$i.new; \
mv -f ${CSHAREDIR}/$$i.new ${CSHAREDIR}/$$i; \
echo "installed ${CSHAREDIR}/$$i"; \
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"; \
fi; \
done

View File

@@ -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: lucas.cal,v 29.3 2001/03/31 13:31:34 chongo Exp $
* @(#) $Revision: 29.5 $
* @(#) $Id: lucas.cal,v 29.5 2001/06/08 20:07:29 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/lucas.cal,v $
*
* Under source code control: 1990/05/03 16:49:51
@@ -28,6 +28,16 @@
* Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
*/
/*
* NOTE: This is a standard calc resource file. For information on calc see:
*
* http://www.isthe.com/chongo/tech/comp/calc/index.html
*
* To obtain your own copy of calc, see:
*
* http://www.isthe.com/chongo/tech/comp/calc/calc-download.html
*/
/*
* HISTORICAL NOTE:
*
@@ -52,12 +62,19 @@
*
* At the time of discovery, this was the largest known twin prime pair.
*
* See:
*
* http://www.isthe.com/chongo/tech/math/prime/amdahl6.html
*
* for more information on the Amdahl 6 group.
*
* NOTE: Both largest known and largest known twin prime records have been
* broken. Rather than update this file each time, I'll just
* congratulate the finders and encourage others to try for
* larger finds. Records were made to be broken afterall!
*
* ON GAINING A WORLD RECORD:
*/
/* ON GAINING A WORLD RECORD:
*
* The routines in calc were designed to be portable, and to work on
* numbers of 'sane' size. The Amdahl 6 team used a 'ultra-high speed

18
calc.h
View File

@@ -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.6 $
* @(#) $Id: calc.h,v 29.6 2001/03/17 21:31:47 chongo Exp $
* @(#) $Revision: 29.9 $
* @(#) $Id: calc.h,v 29.9 2001/12/11 02:28:47 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.h,v $
*
* Under source code control: 1990/02/15 01:48:31
@@ -32,9 +32,15 @@
#define __CALC_H__
#include <setjmp.h>
#include "win32dll.h"
#include "value.h"
#include "have_const.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "win32dll.h"
# include "value.h"
# include "have_const.h"
#else
# include <calc/win32dll.h>
# include <calc/value.h>
# include <calc/have_const.h>
#endif
/*
@@ -252,7 +258,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);

View File

@@ -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.6 $
.\" @(#) $Id: calc.man,v 29.6 2001/04/10 21:48:46 chongo Exp $
.\" @(#) $Revision: 29.7 $
.\" @(#) $Id: calc.man,v 29.7 2001/06/01 11:26:53 chongo Exp $
.\" @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.man,v $
.\"
.\" Under source code control: 1991/07/23 05:48:26
@@ -994,25 +994,58 @@ Copyright (C) 1999 Landon Curt Noll
and is covered under version 2.1 GNU Lesser General
Public License.
.sp
.SH "BUG REPORTS / BUG FIXES / ENHANCEMENTS"
.SH "CALC MAILING LIST / CALC UPDATES / ENHANCEMENTS"
\&
.br
.sp
Send comments, suggestions, bug fixes, enhancements
To contribute comments, suggestions, enhancements
and interesting
.B calc
resource files,
.B calc
shell scripts that you would like you see included
in future distributions to:
resource files, and
shell scripts please join the low volume calc mailing list.
.sp
To join the low volume calc mailing list, send EMail to:
.sp
.in +0.5i
.nf
calc-contrib at asthe dot com
calc-tester-request at asthe dot com
.fi
.in -0.5i
.sp
Bug reports are sent to:
Your subject must contain the words:
.sp
.in +0.5i
.nf
calc mailing list subscription
.fi
.in -0.5i
.sp
You may have additional words in your subject line.
.sp
Your message body must contain:
.sp
.in +0.5i
.nf
subscribe calc-tester address
end
name your_full_name
.fi
.in -0.5i
.sp
where
.B address
s your EMail address and
.B your_full_name
is your full name.
Feel free to follow the
.B name
line with additional EMail text as desired.
.sp
.SH "BUG REPORTS / BUG FIXES"
\&
.br
.sp
Send bug reports and bug fixes to:
.sp
.in +0.5i
.nf
@@ -1023,6 +1056,16 @@ calc-bugs at asthe dot com
.fi
.in -0.5i
.sp
Your subject must contain the words:
.sp
.in +0.5i
.nf
calc bug report
.fi
.in -0.5i
.sp
You may have additional words in your subject line.
.sp
See the
.I BUGS
source file or use the
@@ -1037,7 +1080,7 @@ help bugs
.sp
for more information about bug reporting.
.sp
.SH "CALC WEB SITE / MAILING LIST"
.SH "CALC WEB SITE"
\&
.br
Landon Noll maintains the the
@@ -1048,30 +1091,4 @@ web site is located at:
http://www.isthe.com/chongo/tech/comp/calc/
.in -0.5i
.sp
One may join the
.B calc
testing group by sending a request to:
.sp
.in +0.5i
.nf
calc-tester-request at asthe dot com
[[ NOTE: Replace 'at' with @, 'dot' is with . and remove the spaces ]]
[[ NOTE: The EMail address uses 'asthe' and the web site URL uses 'isthe' ]]
.fi
.in -0.5i
.sp
Your message body (not the subject) should consist of:
.sp
.in +0.5i
.nf
subscribe calc-tester address
end
name your_full_name
.fi
.in -0.5i
.sp
where "address" is your EMail address and "your_full_name"
is your full name.
.sp
Share and Enjoy! :\-)

10
cmath.h
View File

@@ -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: cmath.h,v 29.3 2000/07/17 15:35:49 chongo Exp $
* @(#) $Revision: 29.5 $
* @(#) $Id: cmath.h,v 29.5 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/cmath.h,v $
*
* Under source code control: 1993/07/30 19:42:45
@@ -32,7 +32,11 @@
#define __CMATH_H__
#include "qmath.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "qmath.h"
#else
# include <calc/qmath.h>
#endif
/*

View File

@@ -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.9 $
* @(#) $Id: config.h,v 29.9 2001/04/14 22:47:21 chongo Exp $
* @(#) $Revision: 29.11 $
* @(#) $Id: config.h,v 29.11 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/config.h,v $
*
* Under source code control: 1995/11/01 22:20:17
@@ -35,9 +35,15 @@
#define __CONFIG_H__
#include "win32dll.h"
#include "nametype.h"
#include "qmath.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "win32dll.h"
# include "nametype.h"
# include "qmath.h"
#else
# include <calc/win32dll.h>
# include <calc/nametype.h>
# include <calc/qmath.h>
#endif
/*

320
cscript/4dsphere.calc Normal file
View File

@@ -0,0 +1,320 @@
#!/usr/local/src/cmd/calc/calc -q -s -f
/*
* 4dsphere - determine if 6 points lie on the surface of a sphere in R^4
*
* usage:
* 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
*
* 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
* 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: 4dsphere.calc,v 1.3 2001/06/06 09:06:29 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/cscript/RCS/4dsphere.calc,v $
*
* Under source code control: 2001/05/03 19:02:03
* File existed as early as: 2001
*
* chongo <was here> /\oo/\ http://www.isthe.com/chongo/
* Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
*/
/*
* parse args
*/
argc = argv();
if (argc != 25) {
fprintf(files(2), "usage: %s x0 y0 z0 w0 x1 y1 z1 w1 ... x5 y5 z5 w5\n",
argv(0));
exit;
}
x0 = eval(argv(1));
y0 = eval(argv(2));
z0 = eval(argv(3));
w0 = eval(argv(4));
x1 = eval(argv(5));
y1 = eval(argv(6));
z1 = eval(argv(7));
w1 = eval(argv(8));
x2 = eval(argv(9));
y2 = eval(argv(10));
z2 = eval(argv(11));
w2 = eval(argv(12));
x3 = eval(argv(13));
y3 = eval(argv(14));
z3 = eval(argv(15));
w3 = eval(argv(16));
x4 = eval(argv(17));
y4 = eval(argv(18));
z4 = eval(argv(19));
w4 = eval(argv(20));
x5 = eval(argv(21));
y5 = eval(argv(22));
z5 = eval(argv(23));
w5 = eval(argv(24));
/*
* verbose output setup
*/
print "(":x0:",":y0:",":z0:",":w0:") ":;
print "(":x1:",":y1:",":z1:",":w1:") ":;
print "(":x2:",":y2:",":z2:",":w2:") ":;
print "(":x3:",":y3:",":z3:",":w3:") ":;
print "(":x4:",":y4:",":z4:",":w4:") ":;
print "(":x5:",":y5:",":z5:",":w5:") ":;
/*
*
* Given the 5 points:
*
* (x0,y1,z1,w1)
* (x1,y1,z1,w1)
* (x2,y2,z2,w2)
* (x3,y3,z3,w3)
* (x4,y4,z4,w4)
* (x5,y5,z5,w5)
*
* we can determine if they lie in the surface of 4D sphere in R^4 if the
* following matrix is 0:
*
* | x0^2+y0^2+z0^2+w0^2 x0 y0 z0 w0 1 |
* | x1^2+y1^2+z1^2+w1^2 x1 y1 z1 w1 1 |
* | x2^2+y2^2+z2^2+w2^2 x2 y2 z2 w2 1 | = 0
* | x3^2+y3^2+z3^2+w3^2 x3 y3 z3 w3 1 |
* | x4^2+y4^2+z4^2+w4^2 x4 y4 z4 w4 1 |
* | x5^2+y5^2+z5^2+w5^2 x5 y5 z5 w5 1 |
*/
if ((w0*(-x1*(-y2*(-z4*(z5^2+y5^2+x5^2+w5^2)
-z3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +
(z4^2+y4^2+x4^2+w4^2)*z5+ (z3^2+y3^2+x3^2+w3^2)*(z4-z5))
+y3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
+z2*(-y4*(z5^2+y5^2+x5^2+w5^2)
-y3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2)
+y5*(z4^2+y4^2+x4^2+w4^2) + (y4-y5)*(z3^2+y3^2+x3^2+w3^2))
-z3*(y5*(z4^2+y4^2+x4^2+w4^2) -y4*(z5^2+y5^2+x5^2+w5^2)) +
(z2^2+y2^2+x2^2+w2^2)*(y4*z5+y3*(z4-z5) -y5*z4- (y4-y5)*z3) -
(z3^2+y3^2+x3^2+w3^2)*(y4*z5-y5*z4)) +y1*(-x2*(-z4*(z5^2+y5^2+x5^2+w5^2)
-z3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +
(z4^2+y4^2+x4^2+w4^2)*z5+ (z3^2+y3^2+x3^2+w3^2)*(z4-z5))
+x3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
+z2*(-x4*(z5^2+y5^2+x5^2+w5^2)
-x3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +x5*(z4^2+y4^2+x4^2+w4^2)
+ (x4-x5)*(z3^2+y3^2+x3^2+w3^2)) -z3*(x5*(z4^2+y4^2+x4^2+w4^2)
-x4*(z5^2+y5^2+x5^2+w5^2)) + (z2^2+y2^2+x2^2+w2^2)*(x4*z5+x3*(z4-z5)
-x5*z4- (x4-x5)*z3) - (z3^2+y3^2+x3^2+w3^2)*(x4*z5-x5*z4))
-x2*(-y3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
+z3*(y5*(z4^2+y4^2+x4^2+w4^2) -y4*(z5^2+y5^2+x5^2+w5^2))
+ (z3^2+y3^2+x3^2+w3^2)*(y4*z5-y5*z4))
+y2*(-x3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
+z3*(x5*(z4^2+y4^2+x4^2+w4^2) -x4*(z5^2+y5^2+x5^2+w5^2)) +
(z3^2+y3^2+x3^2+w3^2)*(x4*z5-x5*z4)) -z1*(-x2*(-y4*(z5^2+y5^2+x5^2+w5^2)
-y3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +y5*(z4^2+y4^2+x4^2+w4^2)
+ (y4-y5)*(z3^2+y3^2+x3^2+w3^2)) +x3*(y5*(z4^2+y4^2+x4^2+w4^2)
-y4*(z5^2+y5^2+x5^2+w5^2)) +y2*(-x4*(z5^2+y5^2+x5^2+w5^2)
-x3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2)
+x5*(z4^2+y4^2+x4^2+w4^2) + (x4-x5)*(z3^2+y3^2+x3^2+w3^2))
-y3*(x5*(z4^2+y4^2+x4^2+w4^2) -x4*(z5^2+y5^2+x5^2+w5^2)) -
(x4*y5-x5*y4)*(z3^2+y3^2+x3^2+w3^2) + (x4*y5+x3*(y4-y5) -x5*y4-
(x4-x5)*y3)*(z2^2+y2^2+x2^2+w2^2)) -z2*(-x3*(y5*(z4^2+y4^2+x4^2+w4^2)
-y4*(z5^2+y5^2+x5^2+w5^2)) +y3*(x5*(z4^2+y4^2+x4^2+w4^2)
-x4*(z5^2+y5^2+x5^2+w5^2)) + (x4*y5-x5*y4)*(z3^2+y3^2+x3^2+w3^2))
+ (z1^2+y1^2+x1^2+w1^2)*(x2*(y4*z5+y3*(z4-z5) -y5*z4-
(y4-y5)*z3) -x3*(y4*z5-y5*z4) -y2*(x4*z5+x3*(z4-z5) -x5*z4-
(x4-x5)*z3) +y3*(x4*z5-x5*z4) - (x4*y5-x5*y4)*z3+
(x4*y5+x3*(y4-y5) -x5*y4- (x4-x5)*y3)*z2) +
(z2^2+y2^2+x2^2+w2^2)*(x3*(y4*z5-y5*z4) -y3*(x4*z5-x5*z4) +
(x4*y5-x5*y4)*z3)) -x0*(-w1*(-y2*(-z4*(z5^2+y5^2+x5^2+w5^2)
-z3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +
(z4^2+y4^2+x4^2+w4^2)*z5+ (z3^2+y3^2+x3^2+w3^2)*(z4-z5))
+y3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
+z2*(-y4*(z5^2+y5^2+x5^2+w5^2)
-y3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2)
+y5*(z4^2+y4^2+x4^2+w4^2) + (y4-y5)*(z3^2+y3^2+x3^2+w3^2))
-z3*(y5*(z4^2+y4^2+x4^2+w4^2) -y4*(z5^2+y5^2+x5^2+w5^2)) +
(z2^2+y2^2+x2^2+w2^2)*(y4*z5+y3*(z4-z5) -y5*z4- (y4-y5)*z3) -
(z3^2+y3^2+x3^2+w3^2)*(y4*z5-y5*z4)) -y1*(w2*(-z4*(z5^2+y5^2+x5^2+w5^2)
-z3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +
(z4^2+y4^2+x4^2+w4^2)*z5+ (z3^2+y3^2+x3^2+w3^2)*(z4-z5))
-w3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
-z2*(-w4*(z5^2+y5^2+x5^2+w5^2)
-w3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +w5*(z4^2+y4^2+x4^2+w4^2)
+ (w4-w5)*(z3^2+y3^2+x3^2+w3^2)) +z3*(w5*(z4^2+y4^2+x4^2+w4^2)
-w4*(z5^2+y5^2+x5^2+w5^2)) + (z2^2+y2^2+x2^2+w2^2)*(-w4*z5-w3*(z4-z5)
+w5*z4+ (w4-w5)*z3) - (z3^2+y3^2+x3^2+w3^2)*(w5*z4-w4*z5))
-w2*(-y3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
+z3*(y5*(z4^2+y4^2+x4^2+w4^2) -y4*(z5^2+y5^2+x5^2+w5^2))
+ (z3^2+y3^2+x3^2+w3^2)*(y4*z5-y5*z4))
-y2*(w3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
-z3*(w5*(z4^2+y4^2+x4^2+w4^2) -w4*(z5^2+y5^2+x5^2+w5^2)) +
(z3^2+y3^2+x3^2+w3^2)*(w5*z4-w4*z5)) +z1*(w2*(-y4*(z5^2+y5^2+x5^2+w5^2)
-y3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +y5*(z4^2+y4^2+x4^2+w4^2)
+ (y4-y5)*(z3^2+y3^2+x3^2+w3^2)) -w3*(y5*(z4^2+y4^2+x4^2+w4^2)
-y4*(z5^2+y5^2+x5^2+w5^2)) -y2*(-w4*(z5^2+y5^2+x5^2+w5^2)
-w3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2)
+w5*(z4^2+y4^2+x4^2+w4^2) + (w4-w5)*(z3^2+y3^2+x3^2+w3^2))
+y3*(w5*(z4^2+y4^2+x4^2+w4^2) -w4*(z5^2+y5^2+x5^2+w5^2)) -
(w5*y4-w4*y5)*(z3^2+y3^2+x3^2+w3^2) + (-w4*y5-w3*(y4-y5) +w5*y4+
(w4-w5)*y3)*(z2^2+y2^2+x2^2+w2^2)) +z2*(w3*(y5*(z4^2+y4^2+x4^2+w4^2)
-y4*(z5^2+y5^2+x5^2+w5^2)) -y3*(w5*(z4^2+y4^2+x4^2+w4^2)
-w4*(z5^2+y5^2+x5^2+w5^2)) + (w5*y4-w4*y5)*(z3^2+y3^2+x3^2+w3^2))
+ (z1^2+y1^2+x1^2+w1^2)*(w2*(y4*z5+y3*(z4-z5) -y5*z4-
(y4-y5)*z3) -w3*(y4*z5-y5*z4) +y2*(-w4*z5-w3*(z4-z5)
+w5*z4+ (w4-w5)*z3) -y3*(w5*z4-w4*z5) + (w5*y4-w4*y5)*z3-
(-w4*y5-w3*(y4-y5) +w5*y4+ (w4-w5)*y3)*z2) +
(z2^2+y2^2+x2^2+w2^2)*(w3*(y4*z5-y5*z4) +y3*(w5*z4-w4*z5) -
(w5*y4-w4*y5)*z3)) +y0*(-w1*(-x2*(-z4*(z5^2+y5^2+x5^2+w5^2)
-z3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +
(z4^2+y4^2+x4^2+w4^2)*z5+ (z3^2+y3^2+x3^2+w3^2)*(z4-z5))
+x3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
+z2*(-x4*(z5^2+y5^2+x5^2+w5^2)
-x3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2)
+x5*(z4^2+y4^2+x4^2+w4^2) + (x4-x5)*(z3^2+y3^2+x3^2+w3^2))
-z3*(x5*(z4^2+y4^2+x4^2+w4^2) -x4*(z5^2+y5^2+x5^2+w5^2)) +
(z2^2+y2^2+x2^2+w2^2)*(x4*z5+x3*(z4-z5) -x5*z4- (x4-x5)*z3) -
(z3^2+y3^2+x3^2+w3^2)*(x4*z5-x5*z4)) -x1*(w2*(-z4*(z5^2+y5^2+x5^2+w5^2)
-z3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +
(z4^2+y4^2+x4^2+w4^2)*z5+ (z3^2+y3^2+x3^2+w3^2)*(z4-z5))
-w3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
-z2*(-w4*(z5^2+y5^2+x5^2+w5^2)
-w3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +w5*(z4^2+y4^2+x4^2+w4^2)
+ (w4-w5)*(z3^2+y3^2+x3^2+w3^2)) +z3*(w5*(z4^2+y4^2+x4^2+w4^2)
-w4*(z5^2+y5^2+x5^2+w5^2)) + (z2^2+y2^2+x2^2+w2^2)*(-w4*z5-w3*(z4-z5)
+w5*z4+ (w4-w5)*z3) - (z3^2+y3^2+x3^2+w3^2)*(w5*z4-w4*z5))
-w2*(-x3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
+z3*(x5*(z4^2+y4^2+x4^2+w4^2) -x4*(z5^2+y5^2+x5^2+w5^2))
+ (z3^2+y3^2+x3^2+w3^2)*(x4*z5-x5*z4))
-x2*(w3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
-z3*(w5*(z4^2+y4^2+x4^2+w4^2) -w4*(z5^2+y5^2+x5^2+w5^2)) +
(z3^2+y3^2+x3^2+w3^2)*(w5*z4-w4*z5)) +z1*(w2*(-x4*(z5^2+y5^2+x5^2+w5^2)
-x3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +x5*(z4^2+y4^2+x4^2+w4^2)
+ (x4-x5)*(z3^2+y3^2+x3^2+w3^2)) -w3*(x5*(z4^2+y4^2+x4^2+w4^2)
-x4*(z5^2+y5^2+x5^2+w5^2)) -x2*(-w4*(z5^2+y5^2+x5^2+w5^2)
-w3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2)
+w5*(z4^2+y4^2+x4^2+w4^2) + (w4-w5)*(z3^2+y3^2+x3^2+w3^2))
+x3*(w5*(z4^2+y4^2+x4^2+w4^2) -w4*(z5^2+y5^2+x5^2+w5^2)) -
(w5*x4-w4*x5)*(z3^2+y3^2+x3^2+w3^2) + (-w4*x5-w3*(x4-x5) +w5*x4+
(w4-w5)*x3)*(z2^2+y2^2+x2^2+w2^2)) +z2*(w3*(x5*(z4^2+y4^2+x4^2+w4^2)
-x4*(z5^2+y5^2+x5^2+w5^2)) -x3*(w5*(z4^2+y4^2+x4^2+w4^2)
-w4*(z5^2+y5^2+x5^2+w5^2)) + (w5*x4-w4*x5)*(z3^2+y3^2+x3^2+w3^2)) +
(z1^2+y1^2+x1^2+w1^2)*(w2*(x4*z5+x3*(z4-z5) -x5*z4- (x4-x5)*z3)
-w3*(x4*z5-x5*z4) +x2*(-w4*z5-w3*(z4-z5) +w5*z4+ (w4-w5)*z3)
-x3*(w5*z4-w4*z5) + (w5*x4-w4*x5)*z3- (-w4*x5-w3*(x4-x5) +w5*x4+
(w4-w5)*x3)*z2) + (z2^2+y2^2+x2^2+w2^2)*(w3*(x4*z5-x5*z4)
+x3*(w5*z4-w4*z5) - (w5*x4-w4*x5)*z3))
-w1*(-x2*(-y3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
+z3*(y5*(z4^2+y4^2+x4^2+w4^2) -y4*(z5^2+y5^2+x5^2+w5^2))
+ (z3^2+y3^2+x3^2+w3^2)*(y4*z5-y5*z4))
+y2*(-x3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
+z3*(x5*(z4^2+y4^2+x4^2+w4^2) -x4*(z5^2+y5^2+x5^2+w5^2)) +
(z3^2+y3^2+x3^2+w3^2)*(x4*z5-x5*z4)) -z2*(-x3*(y5*(z4^2+y4^2+x4^2+w4^2)
-y4*(z5^2+y5^2+x5^2+w5^2)) +y3*(x5*(z4^2+y4^2+x4^2+w4^2)
-x4*(z5^2+y5^2+x5^2+w5^2)) + (x4*y5-x5*y4)*(z3^2+y3^2+x3^2+w3^2))
+ (z2^2+y2^2+x2^2+w2^2)*(x3*(y4*z5-y5*z4)
-y3*(x4*z5-x5*z4) + (x4*y5-x5*y4)*z3))
+x1*(-w2*(-y3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
+z3*(y5*(z4^2+y4^2+x4^2+w4^2) -y4*(z5^2+y5^2+x5^2+w5^2))
+ (z3^2+y3^2+x3^2+w3^2)*(y4*z5-y5*z4))
-y2*(w3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
-z3*(w5*(z4^2+y4^2+x4^2+w4^2) -w4*(z5^2+y5^2+x5^2+w5^2)) +
(z3^2+y3^2+x3^2+w3^2)*(w5*z4-w4*z5)) +z2*(w3*(y5*(z4^2+y4^2+x4^2+w4^2)
-y4*(z5^2+y5^2+x5^2+w5^2)) -y3*(w5*(z4^2+y4^2+x4^2+w4^2)
-w4*(z5^2+y5^2+x5^2+w5^2)) + (w5*y4-w4*y5)*(z3^2+y3^2+x3^2+w3^2))
+ (z2^2+y2^2+x2^2+w2^2)*(w3*(y4*z5-y5*z4)
+y3*(w5*z4-w4*z5) - (w5*y4-w4*y5)*z3))
-y1*(-w2*(-x3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
+z3*(x5*(z4^2+y4^2+x4^2+w4^2) -x4*(z5^2+y5^2+x5^2+w5^2))
+ (z3^2+y3^2+x3^2+w3^2)*(x4*z5-x5*z4))
-x2*(w3*((z4^2+y4^2+x4^2+w4^2)*z5-z4*(z5^2+y5^2+x5^2+w5^2))
-z3*(w5*(z4^2+y4^2+x4^2+w4^2) -w4*(z5^2+y5^2+x5^2+w5^2)) +
(z3^2+y3^2+x3^2+w3^2)*(w5*z4-w4*z5)) +z2*(w3*(x5*(z4^2+y4^2+x4^2+w4^2)
-x4*(z5^2+y5^2+x5^2+w5^2)) -x3*(w5*(z4^2+y4^2+x4^2+w4^2)
-w4*(z5^2+y5^2+x5^2+w5^2)) + (w5*x4-w4*x5)*(z3^2+y3^2+x3^2+w3^2))
+ (z2^2+y2^2+x2^2+w2^2)*(w3*(x4*z5-x5*z4) +x3*(w5*z4-w4*z5)
- (w5*x4-w4*x5)*z3)) -z0*(-w1*(-x2*(-y4*(z5^2+y5^2+x5^2+w5^2)
-y3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +y5*(z4^2+y4^2+x4^2+w4^2)
+ (y4-y5)*(z3^2+y3^2+x3^2+w3^2)) +x3*(y5*(z4^2+y4^2+x4^2+w4^2)
-y4*(z5^2+y5^2+x5^2+w5^2)) +y2*(-x4*(z5^2+y5^2+x5^2+w5^2)
-x3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2)
+x5*(z4^2+y4^2+x4^2+w4^2) + (x4-x5)*(z3^2+y3^2+x3^2+w3^2))
-y3*(x5*(z4^2+y4^2+x4^2+w4^2) -x4*(z5^2+y5^2+x5^2+w5^2)) -
(x4*y5-x5*y4)*(z3^2+y3^2+x3^2+w3^2) + (x4*y5+x3*(y4-y5) -x5*y4-
(x4-x5)*y3)*(z2^2+y2^2+x2^2+w2^2)) -x1*(w2*(-y4*(z5^2+y5^2+x5^2+w5^2)
-y3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +y5*(z4^2+y4^2+x4^2+w4^2)
+ (y4-y5)*(z3^2+y3^2+x3^2+w3^2)) -w3*(y5*(z4^2+y4^2+x4^2+w4^2)
-y4*(z5^2+y5^2+x5^2+w5^2)) -y2*(-w4*(z5^2+y5^2+x5^2+w5^2)
-w3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2)
+w5*(z4^2+y4^2+x4^2+w4^2) + (w4-w5)*(z3^2+y3^2+x3^2+w3^2))
+y3*(w5*(z4^2+y4^2+x4^2+w4^2) -w4*(z5^2+y5^2+x5^2+w5^2)) -
(w5*y4-w4*y5)*(z3^2+y3^2+x3^2+w3^2) + (-w4*y5-w3*(y4-y5) +w5*y4+
(w4-w5)*y3)*(z2^2+y2^2+x2^2+w2^2)) -w2*(-x3*(y5*(z4^2+y4^2+x4^2+w4^2)
-y4*(z5^2+y5^2+x5^2+w5^2)) +y3*(x5*(z4^2+y4^2+x4^2+w4^2)
-x4*(z5^2+y5^2+x5^2+w5^2)) + (x4*y5-x5*y4)*(z3^2+y3^2+x3^2+w3^2))
-x2*(w3*(y5*(z4^2+y4^2+x4^2+w4^2) -y4*(z5^2+y5^2+x5^2+w5^2))
-y3*(w5*(z4^2+y4^2+x4^2+w4^2) -w4*(z5^2+y5^2+x5^2+w5^2)) +
(w5*y4-w4*y5)*(z3^2+y3^2+x3^2+w3^2)) +y1*(w2*(-x4*(z5^2+y5^2+x5^2+w5^2)
-x3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +x5*(z4^2+y4^2+x4^2+w4^2)
+ (x4-x5)*(z3^2+y3^2+x3^2+w3^2)) -w3*(x5*(z4^2+y4^2+x4^2+w4^2)
-x4*(z5^2+y5^2+x5^2+w5^2)) -x2*(-w4*(z5^2+y5^2+x5^2+w5^2)
-w3*(-z5^2+z4^2-y5^2+y4^2-x5^2+x4^2-w5^2+w4^2) +w5*(z4^2+y4^2+x4^2+w4^2)
+ (w4-w5)*(z3^2+y3^2+x3^2+w3^2)) +x3*(w5*(z4^2+y4^2+x4^2+w4^2)
-w4*(z5^2+y5^2+x5^2+w5^2)) - (w5*x4-w4*x5)*(z3^2+y3^2+x3^2+w3^2)
+ (-w4*x5-w3*(x4-x5) +w5*x4+ (w4-w5)*x3)*(z2^2+y2^2+x2^2+w2^2))
+y2*(w3*(x5*(z4^2+y4^2+x4^2+w4^2) -x4*(z5^2+y5^2+x5^2+w5^2))
-x3*(w5*(z4^2+y4^2+x4^2+w4^2) -w4*(z5^2+y5^2+x5^2+w5^2)) +
(w5*x4-w4*x5)*(z3^2+y3^2+x3^2+w3^2)) + (w3*(x4*y5-x5*y4) +x3*(w5*y4-w4*y5)
- (w5*x4-w4*x5)*y3)*(z2^2+y2^2+x2^2+w2^2) + (w2*(x4*y5+x3*(y4-y5)
-x5*y4- (x4-x5)*y3) -w3*(x4*y5-x5*y4) +x2*(-w4*y5-w3*(y4-y5)
+w5*y4+ (w4-w5)*y3) -x3*(w5*y4-w4*y5) + (w5*x4-w4*x5)*y3-
(-w4*x5-w3*(x4-x5) +w5*x4+ (w4-w5)*x3)*y2)*(z1^2+y1^2+x1^2+w1^2))
+z1*(-w2*(-x3*(y5*(z4^2+y4^2+x4^2+w4^2) -y4*(z5^2+y5^2+x5^2+w5^2))
+y3*(x5*(z4^2+y4^2+x4^2+w4^2) -x4*(z5^2+y5^2+x5^2+w5^2)) +
(x4*y5-x5*y4)*(z3^2+y3^2+x3^2+w3^2)) -x2*(w3*(y5*(z4^2+y4^2+x4^2+w4^2)
-y4*(z5^2+y5^2+x5^2+w5^2)) -y3*(w5*(z4^2+y4^2+x4^2+w4^2)
-w4*(z5^2+y5^2+x5^2+w5^2)) + (w5*y4-w4*y5)*(z3^2+y3^2+x3^2+w3^2))
+y2*(w3*(x5*(z4^2+y4^2+x4^2+w4^2) -x4*(z5^2+y5^2+x5^2+w5^2))
-x3*(w5*(z4^2+y4^2+x4^2+w4^2) -w4*(z5^2+y5^2+x5^2+w5^2)) +
(w5*x4-w4*x5)*(z3^2+y3^2+x3^2+w3^2)) + (w3*(x4*y5-x5*y4)
+x3*(w5*y4-w4*y5) - (w5*x4-w4*x5)*y3)*(z2^2+y2^2+x2^2+w2^2)) +
(z0^2+y0^2+x0^2+w0^2)*(-w1*(x2*(y4*z5+y3*(z4-z5) -y5*z4- (y4-y5)*z3)
-x3*(y4*z5-y5*z4) -y2*(x4*z5+x3*(z4-z5) -x5*z4- (x4-x5)*z3)
+y3*(x4*z5-x5*z4) - (x4*y5-x5*y4)*z3+ (x4*y5+x3*(y4-y5) -x5*y4-
(x4-x5)*y3)*z2) +x1*(w2*(y4*z5+y3*(z4-z5) -y5*z4- (y4-y5)*z3)
-w3*(y4*z5-y5*z4) +y2*(-w4*z5-w3*(z4-z5) +w5*z4+ (w4-w5)*z3)
-y3*(w5*z4-w4*z5) + (w5*y4-w4*y5)*z3- (-w4*y5-w3*(y4-y5) +w5*y4+
(w4-w5)*y3)*z2) -w2*(x3*(y4*z5-y5*z4) -y3*(x4*z5-x5*z4) +
(x4*y5-x5*y4)*z3) +x2*(w3*(y4*z5-y5*z4) +y3*(w5*z4-w4*z5) -
(w5*y4-w4*y5)*z3) -y1*(w2*(x4*z5+x3*(z4-z5) -x5*z4- (x4-x5)*z3)
-w3*(x4*z5-x5*z4) +x2*(-w4*z5-w3*(z4-z5) +w5*z4+ (w4-w5)*z3)
-x3*(w5*z4-w4*z5) + (w5*x4-w4*x5)*z3- (-w4*x5-w3*(x4-x5) +w5*x4+
(w4-w5)*x3)*z2) -y2*(w3*(x4*z5-x5*z4) +x3*(w5*z4-w4*z5) -
(w5*x4-w4*x5)*z3) + (w3*(x4*y5-x5*y4) +x3*(w5*y4-w4*y5) -
(w5*x4-w4*x5)*y3)*z2+ (w2*(x4*y5+x3*(y4-y5) -x5*y4- (x4-x5)*y3)
-w3*(x4*y5-x5*y4) +x2*(-w4*y5-w3*(y4-y5) +w5*y4+ (w4-w5)*y3)
-x3*(w5*y4-w4*y5) + (w5*x4-w4*x5)*y3- (-w4*x5-w3*(x4-x5) +w5*x4+
(w4-w5)*x3)*y2)*z1) - (z1^2+y1^2+x1^2+w1^2)*(-w2*(x3*(y4*z5-y5*z4)
-y3*(x4*z5-x5*z4) + (x4*y5-x5*y4)*z3) +x2*(w3*(y4*z5-y5*z4)
+y3*(w5*z4-w4*z5) - (w5*y4-w4*y5)*z3) -y2*(w3*(x4*z5-x5*z4)
+x3*(w5*z4-w4*z5) - (w5*x4-w4*x5)*z3) + (w3*(x4*y5-x5*y4)
+x3*(w5*y4-w4*y5) - (w5*x4-w4*x5)*y3)*z2)) == 0) {
print "are in the surface of a 4D sphere";
} else {
print "are NOT on a 4D sphere surface";
}

View File

@@ -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.13 $
# @(#) $Id: Makefile,v 29.13 2001/05/13 14:43:56 chongo Exp chongo $
# @(#) $Revision: 29.20 $
# @(#) $Id: Makefile,v 29.20 2001/06/10 19:35:02 chongo Exp $
# @(#) $Source: /usr/local/src/cmd/calc/cscript/RCS/Makefile,v $
#
# Under source code control: 1999/11/29 11:10:26
@@ -45,6 +45,22 @@ BINDIR= /usr/bin
#
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.
#
# 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.
#
# If in doubt, use T=
#
T=
# Makefile debug
#
# Q=@ do not echo internal makefile actions (quiet mode)
@@ -77,10 +93,11 @@ CMP= cmp
#
# make detaillist
#
SCRIPT= mersenne piforever plus simple square fproduct powerterm
SCRIPT= 4dsphere fproduct mersenne piforever plus powerterm \
simple square
SCRIPT_SRC= mersenne.calc piforever.calc plus.calc simple.calc square.calc \
fproduct.calc powerterm.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
#
@@ -215,14 +232,11 @@ depend:
#
##
echo_SCRIPT: ${MAKE_FILE}
@echo ${SCRIPT}
echo_install.list: ${MAKE_FILE}
@for i in ${SCRIPT}; do \
echo ${SCRIPTDIR}/$$i; \
echo_inst_files:
${Q}for i in ${SCRIPT}; do \
echo __file__ ${SCRIPTDIR}/$$i; \
done
##
#
# Utility rules
@@ -236,36 +250,52 @@ clobber:
-rm -f ${TARGETS}
install: all
-${Q}if [ ! -d ${BINDIR} ]; then \
echo mkdir ${BINDIR}; \
mkdir ${BINDIR}; \
echo ${CHMOD} 0755 ${BINDIR}; \
${CHMOD} 0755 ${BINDIR}; \
-${Q}if [ ! -d $T${BINDIR} ]; then \
echo mkdir $T${BINDIR}; \
mkdir $T${BINDIR}; \
if [ ! -d "$T${BINDIR}" ]; then \
echo mkdir -p "$T${BINDIR}"; \
mkdir -p "$T${BINDIR}"; \
fi; \
echo ${CHMOD} 0755 $T${BINDIR}; \
${CHMOD} 0755 $T${BINDIR}; \
else \
true; \
fi
-${Q}if [ ! -d ${SCRIPTDIR} ]; then \
echo mkdir ${SCRIPTDIR}; \
mkdir ${SCRIPTDIR}; \
echo ${CHMOD} 0755 ${SCRIPTDIR}; \
${CHMOD} 0755 ${SCRIPTDIR}; \
-${Q}if [ ! -d $T${SCRIPTDIR} ]; then \
echo mkdir $T${SCRIPTDIR}; \
mkdir $T${SCRIPTDIR}; \
if [ ! -d "$T${SCRIPTDIR}" ]; then \
echo mkdir -p "$T${SCRIPTDIR}"; \
mkdir -p "$T${SCRIPTDIR}"; \
fi; \
echo ${CHMOD} 0755 $T${SCRIPTDIR}; \
${CHMOD} 0755 $T${SCRIPTDIR}; \
else \
true; \
fi
${Q}for i in ${SCRIPT}; do \
if ${CMP} -s $$i ${SCRIPTDIR}/$$i; then \
if ${CMP} -s $$i $T${SCRIPTDIR}/$$i; then \
true; \
else \
rm -f ${SCRIPTDIR}/$$i.new; \
cp -f $$i ${SCRIPTDIR}/$$i.new; \
${CHMOD} 0555 ${SCRIPTDIR}/$$i; \
mv -f ${SCRIPTDIR}/$$i.new ${SCRIPTDIR}/$$i; \
echo "installed ${SCRIPTDIR}/$$i"; \
rm -f $T${SCRIPTDIR}/$$i.new; \
cp -f $$i $T${SCRIPTDIR}/$$i.new; \
${CHMOD} 0555 $T${SCRIPTDIR}/$$i.new; \
mv -f $T${SCRIPTDIR}/$$i.new $T${SCRIPTDIR}/$$i; \
echo "installed $T${SCRIPTDIR}/$$i"; \
fi; \
done
# 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 $@
fproduct: fproduct.calc
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:" $?>$@
@@ -278,6 +308,10 @@ plus: plus.calc
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 $@
simple: simple.calc
rm -f $@
${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
@@ -286,11 +320,3 @@ square: square.calc
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 $@
powerterm: powerterm.calc
rm -f $@
${SED} -e "1s:^#!/usr/local/src/cmd/calc/calc:#!${BINDIR}/calc:" $?>$@
${CHMOD} +x $@

View File

@@ -19,6 +19,18 @@ For more info, see:
=-=
4dsphere
Determine if 6 points lie on the surface of a 4-dimensional sphere in R^4.
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
fproduct filename term ...
Write the big Endian product of terms to a file. Use - for stdout.
@@ -65,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.6 $
## @(#) $Id: README,v 29.6 2001/04/25 07:26:12 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

View File

@@ -1,4 +1,4 @@
#!/usr/local/bin/calc -q -s -f
#!/usr/local/src/cmd/calc/calc -q -s -f
/*
* fproduct - write the big Endian product of terms to a file
*
@@ -24,8 +24,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.1 $
* @(#) $Id: fproduct.calc,v 29.1 2001/04/08 08:25:15 chongo Exp $
* @(#) $Revision: 29.2 $
* @(#) $Id: fproduct.calc,v 29.2 2001/06/06 09:06:29 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/cscript/RCS/fproduct.calc,v $
*
* Under source code control: 2001/04/07 20:13:11

View File

@@ -1,4 +1,4 @@
#!/usr/local/bin/calc -q -s -f
#!/usr/local/src/cmd/calc/calc -q -s -f
/*
* powerterm - print the argument as a sum of powers of integers
*
@@ -24,8 +24,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: powerterm.calc,v 29.5 2001/04/25 08:41:36 chongo Exp $
* @(#) $Revision: 29.6 $
* @(#) $Id: powerterm.calc,v 29.6 2001/06/06 09:06:29 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/cscript/RCS/powerterm.calc,v $
*
* Under source code control: 2001/04/24 23:49:11

View File

@@ -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.11 $
# @(#) $Id: Makefile,v 29.11 2001/05/28 22:23:56 chongo Exp $
# @(#) $Revision: 29.17 $
# @(#) $Id: Makefile,v 29.17 2001/06/08 22:38:53 chongo Exp $
# @(#) $Source: /usr/local/src/cmd/calc/custom/RCS/Makefile,v $
#
# Under source code control: 1997/03/09 02:28:54
@@ -116,6 +116,22 @@ CUSTOMLIBDIR= ${CSHAREDIR}/custom
CUSTOMHELPDIR= ${CSHAREDIR}/custhelp
CUSTOMINCDIR= ${INCDIRCALC}/custom
# 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.
#
# 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.
#
# If in doubt, use T=
#
T=
# Normally, the upper level makefile will set these values. We provide
# a default here just in case you want to build from this directory.
#
@@ -434,7 +450,7 @@ depend:
${Q}echo forming custom dependency list
${Q}echo "# DO NOT DELETE THIS LINE -- make depend depends on it." > \
skel/custom/makedep.out
${Q}cd skel/custom; ${MAKEDEPEND} -w 1 -m -f makedep.out ${C_SRC}
${Q}cd skel/custom; ${MAKEDEPEND} -w 1 -f makedep.out ${C_SRC}
-${Q}for i in ${C_SRC}; do \
echo "$$i" | ${SED} 's/^\(.*\)\.c/\1.o: \1.c/'; \
done >> skel/custom/makedep.out
@@ -468,27 +484,18 @@ depend:
#
##
echo_INSTALL_H_SRC: ${MAKE_FILE}
@echo ${INSTALL_H_SRC}
echo_CUSTOM_CALC_FILES: ${MAKE_FILE}
@echo ${CUSTOM_CALC_FILES}
echo_CUSTOM_HELP: ${MAKE_FILE}
@echo ${CUSTOM_HELP}
echo_install.list: ${MAKE_FILE}
@for i in ${INSTALL_H_SRC}; do \
echo ${CUSTOMINCDIR}/$$i; \
echo_inst_files:
${Q}for i in ${INSTALL_H_SRC}; do \
echo __file__ ${CUSTOMINCDIR}/$$i; \
done
@for i in ${CUSTOM_HELP}; do \
echo ${CUSTOMHELPDIR}/$$i; \
${Q}for i in ${CUSTOM_HELP}; do \
echo __file__ ${CUSTOMHELPDIR}/$$i; \
done
@for i in ${CUSTOM_CALC_FILES}; do \
echo ${CUSTOMLIBDIR}/$$i; \
${Q}for i in ${CUSTOM_CALC_FILES}; do \
echo __file__ ${CUSTOMLIBDIR}/$$i; \
done
@for i in ${CALC_LIBCUSTOM}; do \
echo ${CUSTOMLIBDIR}/$$i; \
${Q}for i in ${CALC_LIBCUSTOM}; do \
echo __file__ ${CUSTOMLIBDIR}/$$i; \
done
##
@@ -505,118 +512,147 @@ clobber:
rm -f .all Makefile.tmp Makefile.bak
install: all
-${Q}if [ ! -d ${SHAREDIR} ]; then \
echo mkdir ${SHAREDIR}; \
mkdir ${SHAREDIR}; \
echo ${CHMOD} 0755 ${SHAREDIR}; \
${CHMOD} 0755 ${SHAREDIR}; \
-${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 ${INCDIR} ]; then \
echo mkdir ${INCDIR}; \
mkdir ${INCDIR}; \
echo ${CHMOD} 0755 ${INCDIR}; \
${CHMOD} 0755 ${INCDIR}; \
-${Q}if [ ! -d $T${INCDIR} ]; then \
echo mkdir $T${INCDIR}; \
mkdir $T${INCDIR}; \
if [ ! -d "$T${INCDIR}" ]; then \
echo mkdir -p "$T${INCDIR}"; \
mkdir -p "$T${INCDIR}"; \
fi; \
echo ${CHMOD} 0755 $T${INCDIR}; \
${CHMOD} 0755 $T${INCDIR}; \
else \
true; \
fi
-${Q}if [ ! -d ${CSHAREDIR} ]; then \
echo mkdir ${CSHAREDIR}; \
mkdir ${CSHAREDIR}; \
echo ${CHMOD} 0755 ${CSHAREDIR}; \
${CHMOD} 0755 ${CSHAREDIR}; \
-${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}; \
else \
true; \
fi
-${Q}if [ ! -d ${INCDIRCALC} ]; then \
echo mkdir ${INCDIRCALC}; \
mkdir ${INCDIRCALC}; \
echo ${CHMOD} 0755 ${INCDIRCALC}; \
${CHMOD} 0755 ${INCDIRCALC}; \
-${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}"; \
fi; \
echo ${CHMOD} 0755 $T${INCDIRCALC}; \
${CHMOD} 0755 $T${INCDIRCALC}; \
else \
true; \
fi
-${Q}if [ ! -d ${HELPDIR} ]; then \
echo mkdir ${HELPDIR}; \
mkdir ${HELPDIR}; \
echo ${CHMOD} 0755 ${HELPDIR}; \
${CHMOD} 0755 ${HELPDIR}; \
-${Q}if [ ! -d $T${HELPDIR} ]; then \
echo mkdir $T${HELPDIR}; \
mkdir $T${HELPDIR}; \
if [ ! -d "$T${HELPDIR}" ]; then \
echo mkdir -p "$T${HELPDIR}"; \
mkdir -p "$T${HELPDIR}"; \
fi; \
echo ${CHMOD} 0755 $T${HELPDIR}; \
${CHMOD} 0755 $T${HELPDIR}; \
else \
true; \
fi
-${Q}if [ ! -d ${CUSTOMLIBDIR} ]; then \
echo mkdir ${CUSTOMLIBDIR}; \
mkdir ${CUSTOMLIBDIR}; \
echo ${CHMOD} 0755 ${CUSTOMLIBDIR}; \
${CHMOD} 0755 ${CUSTOMLIBDIR}; \
-${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}"; \
fi; \
echo ${CHMOD} 0755 $T${CUSTOMLIBDIR}; \
${CHMOD} 0755 $T${CUSTOMLIBDIR}; \
else \
true; \
fi
-${Q}if [ ! -d ${CUSTOMHELPDIR} ]; then \
echo mkdir ${CUSTOMHELPDIR}; \
mkdir ${CUSTOMHELPDIR}; \
echo ${CHMOD} 0755 ${CUSTOMHELPDIR}; \
${CHMOD} 0755 ${CUSTOMHELPDIR}; \
-${Q}if [ ! -d $T${CUSTOMHELPDIR} ]; then \
echo mkdir $T${CUSTOMHELPDIR}; \
mkdir $T${CUSTOMHELPDIR}; \
if [ ! -d "$T${CUSTOMHELPDIR}" ]; then \
echo mkdir -p "$T${CUSTOMHELPDIR}"; \
mkdir -p "$T${CUSTOMHELPDIR}"; \
fi; \
echo ${CHMOD} 0755 $T${CUSTOMHELPDIR}; \
${CHMOD} 0755 $T${CUSTOMHELPDIR}; \
else \
true; \
fi
-${Q}if [ ! -d ${CUSTOMINCDIR} ]; then \
echo mkdir ${CUSTOMINCDIR}; \
mkdir ${CUSTOMINCDIR}; \
echo ${CHMOD} 0755 ${CUSTOMINCDIR}; \
${CHMOD} 0755 ${CUSTOMINCDIR}; \
-${Q}if [ ! -d $T${CUSTOMINCDIR} ]; then \
echo mkdir $T${CUSTOMINCDIR}; \
mkdir $T${CUSTOMINCDIR}; \
if [ ! -d "$T${CUSTOMINCDIR}" ]; then \
echo mkdir -p "$T${CUSTOMINCDIR}"; \
mkdir -p "$T${CUSTOMINCDIR}"; \
fi; \
echo ${CHMOD} 0755 $T${CUSTOMINCDIR}; \
${CHMOD} 0755 $T${CUSTOMINCDIR}; \
else \
true; \
fi
-${Q}for i in ${INSTALL_H_SRC}; do \
rm -f tmp; \
${SED} -e 's/^\(#[ ]*include[ ][ ]*\)"/\1"calc\//' $$i > tmp; \
if ${CMP} -s tmp ${CUSTOMINCDIR}/$$i; then \
if ${CMP} -s tmp $T${CUSTOMINCDIR}/$$i; then \
true; \
else \
rm -f ${CUSTOMINCDIR}/$$i; \
cp -f tmp ${INCDIRCALC}/$$i.new; \
cp -f $$i ${CUSTOMINCDIR}/$$i.new; \
${CHMOD} 0444 ${CUSTOMINCDIR}/$$i.new; \
mv -f ${CUSTOMINCDIR}/$$i.new ${CUSTOMINCDIR}/$$i; \
echo "installed ${CUSTOMINCDIR}/$$i"; \
rm -f $T${CUSTOMINCDIR}/$$i.new; \
cp -f $$i $T${CUSTOMINCDIR}/$$i.new; \
${CHMOD} 0444 $T${CUSTOMINCDIR}/$$i.new; \
mv -f $T${CUSTOMINCDIR}/$$i.new $T${CUSTOMINCDIR}/$$i; \
echo "installed $T${CUSTOMINCDIR}/$$i"; \
fi; \
done
-${Q}rm -f tmp
-${Q}for i in ${CUSTOM_CALC_FILES}; do \
if ${CMP} -s $$i ${CUSTOMLIBDIR}/$$i; then \
if ${CMP} -s $$i $T${CUSTOMLIBDIR}/$$i; then \
true; \
else \
rm -f ${CUSTOMLIBDIR}/$$i; \
cp -f $$i ${CUSTOMLIBDIR}/$$i; \
${CHMOD} 0444 ${CUSTOMLIBDIR}/$$i.new; \
mv -f ${CUSTOMLIBDIR}/$$i.new ${CUSTOMLIBDIR}/$$i; \
echo "installed ${CUSTOMLIBDIR}/$$i"; \
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"; \
fi; \
done
-${Q}for i in ${CUSTOM_HELP}; do \
if ${CMP} -s $$i ${CUSTOMHELPDIR}/$$i; then \
if ${CMP} -s $$i $T${CUSTOMHELPDIR}/$$i; then \
true; \
else \
rm -f ${CUSTOMHELPDIR}/$$i; \
cp -f $$i ${CUSTOMHELPDIR}/$$i.new; \
${CHMOD} 0444 ${CUSTOMHELPDIR}/$$i.new; \
mv -f ${CUSTOMHELPDIR}/$$i.new ${CUSTOMHELPDIR}/$$i; \
echo "installed ${CUSTOMHELPDIR}/$$i"; \
rm -f $T${CUSTOMHELPDIR}/$$i.new; \
cp -f $$i $T${CUSTOMHELPDIR}/$$i.new; \
${CHMOD} 0444 $T${CUSTOMHELPDIR}/$$i.new; \
mv -f $T${CUSTOMHELPDIR}/$$i.new $T${CUSTOMHELPDIR}/$$i; \
echo "installed $T${CUSTOMHELPDIR}/$$i"; \
fi; \
done
-${Q}if [ ! -z ${ALLOW_CUSTOM} ]; then \
if ${CMP} -s libcustcalc.a ${CUSTOMLIBDIR}/libcustcalc.a; then \
if ${CMP} -s libcustcalc.a $T${CUSTOMLIBDIR}/libcustcalc.a; then \
true; \
else \
rm -f ${CUSTOMLIBDIR}/libcustcalc.a.new; \
cp -f libcustcalc.a ${CUSTOMLIBDIR}/libcustcalc.a.new; \
${CHMOD} 0644 ${CUSTOMLIBDIR}/libcustcalc.a; \
mv -f ${CUSTOMLIBDIR}/libcustcalc.a.new \
${CUSTOMLIBDIR}/libcustcalc.a; \
${RANLIB} ${CUSTOMLIBDIR}/libcustcalc.a; \
echo "installed ${CUSTOMLIBDIR}/libcustcalc.a"; \
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"; \
fi; \
fi
@@ -632,9 +668,8 @@ install: all
c_argv.o: ../alloc.h
c_argv.o: ../block.h
c_argv.o: ../byteswap.h
c_argv.o: ../calcerr.h
c_argv.o: ../calc.h
c_argv.o: c_argv.c
c_argv.o: ../calcerr.h
c_argv.o: ../cmath.h
c_argv.o: ../config.h
c_argv.o: ../custom.h
@@ -650,17 +685,17 @@ c_argv.o: ../longbits.h
c_argv.o: ../md5.h
c_argv.o: ../nametype.h
c_argv.o: ../qmath.h
c_argv.o: ../shs1.h
c_argv.o: ../shs.h
c_argv.o: ../shs1.h
c_argv.o: ../string.h
c_argv.o: ../value.h
c_argv.o: ../win32dll.h
c_argv.o: ../zmath.h
c_argv.o: c_argv.c
c_devnull.o: ../alloc.h
c_devnull.o: ../block.h
c_devnull.o: ../byteswap.h
c_devnull.o: ../calcerr.h
c_devnull.o: c_devnull.c
c_devnull.o: ../cmath.h
c_devnull.o: ../config.h
c_devnull.o: ../custom.h
@@ -676,17 +711,17 @@ c_devnull.o: ../longbits.h
c_devnull.o: ../md5.h
c_devnull.o: ../nametype.h
c_devnull.o: ../qmath.h
c_devnull.o: ../shs1.h
c_devnull.o: ../shs.h
c_devnull.o: ../shs1.h
c_devnull.o: ../string.h
c_devnull.o: ../value.h
c_devnull.o: ../win32dll.h
c_devnull.o: ../zmath.h
c_devnull.o: c_devnull.c
c_help.o: ../alloc.h
c_help.o: ../block.h
c_help.o: ../byteswap.h
c_help.o: ../calcerr.h
c_help.o: c_help.c
c_help.o: ../cmath.h
c_help.o: ../config.h
c_help.o: ../custom.h
@@ -702,19 +737,19 @@ c_help.o: ../longbits.h
c_help.o: ../md5.h
c_help.o: ../nametype.h
c_help.o: ../qmath.h
c_help.o: ../shs1.h
c_help.o: ../shs.h
c_help.o: ../shs1.h
c_help.o: ../string.h
c_help.o: ../value.h
c_help.o: ../win32dll.h
c_help.o: ../zmath.h
c_help.o: c_help.c
c_pzasusb8.o: ../alloc.h
c_pzasusb8.o: ../block.h
c_pzasusb8.o: ../byteswap.h
c_pzasusb8.o: ../calcerr.h
c_pzasusb8.o: ../cmath.h
c_pzasusb8.o: ../config.h
c_pzasusb8.o: c_pzasusb8.c
c_pzasusb8.o: ../custom.h
c_pzasusb8.o: ../endian_calc.h
c_pzasusb8.o: ../hash.h
@@ -728,21 +763,21 @@ c_pzasusb8.o: ../longbits.h
c_pzasusb8.o: ../md5.h
c_pzasusb8.o: ../nametype.h
c_pzasusb8.o: ../qmath.h
c_pzasusb8.o: ../shs1.h
c_pzasusb8.o: ../shs.h
c_pzasusb8.o: ../shs1.h
c_pzasusb8.o: ../string.h
c_pzasusb8.o: ../value.h
c_pzasusb8.o: ../win32dll.h
c_pzasusb8.o: ../zmath.h
c_pzasusb8.o: c_pzasusb8.c
c_sysinfo.o: ../alloc.h
c_sysinfo.o: ../block.h
c_sysinfo.o: ../byteswap.h
c_sysinfo.o: ../calcerr.h
c_sysinfo.o: ../calc.h
c_sysinfo.o: ../calcerr.h
c_sysinfo.o: ../cmath.h
c_sysinfo.o: ../conf.h
c_sysinfo.o: ../config.h
c_sysinfo.o: c_sysinfo.c
c_sysinfo.o: ../custom.h
c_sysinfo.o: ../endian_calc.h
c_sysinfo.o: ../fposval.h
@@ -760,14 +795,15 @@ c_sysinfo.o: ../md5.h
c_sysinfo.o: ../nametype.h
c_sysinfo.o: ../prime.h
c_sysinfo.o: ../qmath.h
c_sysinfo.o: ../shs1.h
c_sysinfo.o: ../shs.h
c_sysinfo.o: ../shs1.h
c_sysinfo.o: ../string.h
c_sysinfo.o: ../value.h
c_sysinfo.o: ../win32dll.h
c_sysinfo.o: ../zmath.h
c_sysinfo.o: ../zrand.h
c_sysinfo.o: ../zrandom.h
c_sysinfo.o: c_sysinfo.c
custtbl.o: ../alloc.h
custtbl.o: ../block.h
custtbl.o: ../byteswap.h
@@ -775,7 +811,6 @@ custtbl.o: ../calcerr.h
custtbl.o: ../cmath.h
custtbl.o: ../config.h
custtbl.o: ../custom.h
custtbl.o: custtbl.c
custtbl.o: ../endian_calc.h
custtbl.o: ../hash.h
custtbl.o: ../have_const.h
@@ -788,9 +823,10 @@ custtbl.o: ../longbits.h
custtbl.o: ../md5.h
custtbl.o: ../nametype.h
custtbl.o: ../qmath.h
custtbl.o: ../shs1.h
custtbl.o: ../shs.h
custtbl.o: ../shs1.h
custtbl.o: ../string.h
custtbl.o: ../value.h
custtbl.o: ../win32dll.h
custtbl.o: ../zmath.h
custtbl.o: custtbl.c

10
file.h
View File

@@ -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.3 $
* @(#) $Id: file.h,v 29.3 2001/04/10 22:06:46 chongo Exp $
* @(#) $Revision: 29.5 $
* @(#) $Id: file.h,v 29.5 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/file.h,v $
*
* Under source code control: 1996/05/24 05:55:58
@@ -35,7 +35,11 @@
#define __FILE_H__
#include "have_fpos.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "have_fpos.h"
#else
# include <calc/have_fpos.h>
#endif
/*

22
func.c
View File

@@ -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.9 $
* @(#) $Id: func.c,v 29.9 2001/04/10 22:06:46 chongo Exp $
* @(#) $Revision: 29.10 $
* @(#) $Id: func.c,v 29.10 2001/05/29 00:41:22 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/func.c,v $
*
* Under source code control: 1990/02/15 01:48:15
@@ -7303,6 +7303,7 @@ f_free(int count, VALUE **vals)
return result;
}
static VALUE
f_freeglobals(void)
{
@@ -7316,6 +7317,7 @@ f_freeglobals(void)
return result;
}
static VALUE
f_freeredc(void)
{
@@ -7723,6 +7725,20 @@ f_argv(int count, VALUE **vals)
}
static VALUE
f_version(void)
{
VALUE result;
/* return the calc verstion string */
result.v_type = V_STR;
result.v_subtype = V_NOSUBTYPE;
result.v_str = makestring(strdup(version()));
return result;
}
#endif /* !FUNCLIST */
@@ -8325,6 +8341,8 @@ static CONST struct builtin builtins[] = {
"truncate a to b number of decimal places"},
{"ungetc", 2, 2, 0, OP_NOP, 0, f_ungetc,
"unget char read from file"},
{"version", 0, 0, 0, OP_NOP, 0, f_version,
"calc version string"},
{"xor", 1, IN, 0, OP_NOP, 0, f_xor,
"logical xor"},

13
func.h
View File

@@ -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: func.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
* @(#) $Revision: 29.4 $
* @(#) $Id: func.h,v 29.4 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/func.h,v $
*
* Under source code control: 1990/02/15 01:48:33
@@ -32,8 +32,13 @@
#define __FUNC_H__
#include "calc.h"
#include "label.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "calc.h"
# include "label.h"
#else
# include <calc/calc.h>
# include <calc/label.h>
#endif
/*

19
hash.h
View File

@@ -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: hash.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
* @(#) $Revision: 29.4 $
* @(#) $Id: hash.h,v 29.4 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/hash.h,v $
*
* Under source code control: 1995/11/14 23:57:45
@@ -33,10 +33,17 @@
#define __HASH_H__
#include "shs.h"
#include "shs1.h"
#include "md5.h"
#include "zmath.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "shs.h"
# include "shs1.h"
# include "md5.h"
# include "zmath.h"
#else
# include <calc/shs.h>
# include <calc/shs1.h>
# include <calc/md5.h>
# include <calc/zmath.h>
#endif
/* MAX_CHUNKSIZE is the largest chunksize of any hash */

View File

@@ -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/05/28 22:36:28 chongo Exp $
# @(#) $Revision: 29.18 $
# @(#) $Id: Makefile,v 29.18 2001/06/08 22:57:54 chongo Exp $
# @(#) $Source: /usr/local/src/cmd/calc/help/RCS/Makefile,v $
#
# Under source code control: 1991/07/23 06:47:57
@@ -37,15 +37,41 @@ 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
#
# ${CSHAREDIR} where most common shared calc files are kept
# ${HELPDIR} where the help directory is installed.
# ${INCDIRCALC} where the calc include files are installed
#
#SHAREDIR= /usr/local/lib
SHAREDIR= /usr/share
#INCDIR= /usr/local/include
INCDIR= /usr/include
#LIBDIR= /usr/local/lib
LIBDIR= /usr/lib
CSHAREDIR= ${SHAREDIR}/calc
HELPDIR= ${CSHAREDIR}/help
INCDIRCALC= ${INCDIR}/calc
# 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.
#
# 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.
#
# If in doubt, use T=
#
T=
# Makefile debug
#
@@ -166,7 +192,7 @@ DETAIL_HELP= abs access acos acosh acot acoth acsc acsch address agd append \
runtime saveval scale scan scanf search sec sech seed segment select \
sgn sha sha1 sin sinh size sizeof sleep sort sqrt srand srandom \
ssq str strcat strerror strlen strpos strprintf strscan strscanf \
substr sum swap system tail tan tanh test time trunc xor
substr sum swap system tail tan tanh test time trunc version xor
# This list is of files that are clones of DETAIL_HELP files. They are
# built from DETAIL_HELP files.
@@ -240,7 +266,8 @@ changes: ../CHANGES
libcalc: ../LIBRARY
rm -f $@
${SED} -e 's:$${LIBDIR}:${LIBDIR}:g' < ../LIBRARY > $@
${SED} -e 's:$${LIBDIR}:${LIBDIR}:g' \
-e 's:$${INCDIRCALC}:${INCDIRCALC}:g' < ../LIBRARY > $@
${CHMOD} 0444 $@
-@if [ -z "${Q}" ]; then \
echo ''; \
@@ -497,24 +524,12 @@ detaillist:
#
##
echo_STD_HELP_FILES: ${MAKE_FILE}
@echo ${STD_HELP_FILES}
echo_BLT_HELP_FILES: ${MAKE_FILE}
@echo ${BLT_HELP_FILES}
echo_DETAIL_HELP: ${MAKE_FILE}
@echo ${DETAIL_HELP}
echo_SINGULAR_FILES: ${MAKE_FILE}
@echo ${SINGULAR_FILES}
echo_install.list: ${MAKE_FILE}
@for i in ${STD_HELP_FILES} full ${BLT_HELP_FILES} \
echo_inst_files:
${Q}for i in ${STD_HELP_FILES} full ${BLT_HELP_FILES} \
builtin ${DETAIL_HELP} ${SINGULAR_FILES}; do \
echo ${HELPDIR}/$$i; \
echo __file__ ${HELPDIR}/$$i; \
done
@echo ${HELPDIR}/obj
${Q}echo __file__ ${HELPDIR}/obj
##
#
@@ -534,47 +549,59 @@ clobber:
install: all
-${Q}if [ ! -d ${SHAREDIR} ]; then \
echo mkdir ${SHAREDIR}; \
mkdir ${SHAREDIR}; \
echo ${CHMOD} 0755 ${SHAREDIR}; \
${CHMOD} 0755 ${SHAREDIR}; \
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 ${CSHAREDIR} ]; then \
echo mkdir ${CSHAREDIR}; \
mkdir ${CSHAREDIR}; \
echo ${CHMOD} 0755 ${CSHAREDIR}; \
${CHMOD} 0755 ${CSHAREDIR}; \
-${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}; \
else \
true; \
fi
-${Q}if [ ! -d ${HELPDIR} ]; then \
echo mkdir ${HELPDIR}; \
mkdir ${HELPDIR}; \
echo ${CHMOD} 0755 ${HELPDIR}; \
${CHMOD} 0755 ${HELPDIR}; \
-${Q}if [ ! -d $T${HELPDIR} ]; then \
echo mkdir $T${HELPDIR}; \
mkdir $T${HELPDIR}; \
if [ ! -d "$T${HELPDIR}" ]; then \
echo mkdir -p "$T${HELPDIR}"; \
mkdir -p "$T${HELPDIR}"; \
fi; \
echo ${CHMOD} 0755 $T${HELPDIR}; \
${CHMOD} 0755 $T${HELPDIR}; \
else \
true; \
fi
-${Q}for i in ${STD_HELP_FILES} ${BLT_HELP_FILES} builtin \
full ${DETAIL_HELP} ${SINGULAR_FILES}; do \
if ${CMP} -s $$i ${HELPDIR}/$$i; then \
if ${CMP} -s $$i $T${HELPDIR}/$$i; then \
true; \
else \
rm -f ${HELPDIR}/$$i.new; \
cp -f $$i ${HELPDIR}/$$i.new; \
${CHMOD} 0444 ${HELPDIR}/$$i.new; \
mv -f ${HELPDIR}/$$i.new ${HELPDIR}/$$i; \
echo "installed ${HELPDIR}/$$i"; \
rm -f $T${HELPDIR}/$$i.new; \
cp -f $$i $T${HELPDIR}/$$i.new; \
${CHMOD} 0444 $T${HELPDIR}/$$i.new; \
mv -f $T${HELPDIR}/$$i.new $T${HELPDIR}/$$i; \
echo "installed $T${HELPDIR}/$$i"; \
fi; \
done
-${Q}if ${CMP} -s obj.file ${HELPDIR}/obj; then \
-${Q}if ${CMP} -s obj.file $T${HELPDIR}/obj; then \
true; \
else \
rm -f ${HELPDIR}/obj.new; \
cp -f obj.file ${HELPDIR}/obj.new; \
${CHMOD} 0444 ${HELPDIR}/obj.new; \
mv -f ${HELPDIR}/obj.new ${HELPDIR}/obj; \
echo "installed ${HELPDIR}/obj"; \
rm -f $T${HELPDIR}/obj.new; \
cp -f obj.file $T${HELPDIR}/obj.new; \
${CHMOD} 0444 $T${HELPDIR}/obj.new; \
mv -f $T${HELPDIR}/obj.new $T${HELPDIR}/obj; \
echo "installed $T${HELPDIR}/obj"; \
fi

View File

@@ -35,24 +35,41 @@ If your change is large, you should send entire files (either
as a diff -c /dev/null your-file patch, or as a uuencoded and
gziped (or compressed) tar file).
You should send submissions to:
To contribute code, scripts, resource files and/or to help please
join the low volume calc mailing list by sending EMail to:
calc-contrib at asthe dot com
[[ NOTE: Replace 'at' with @, 'dot' is with . and remove the spaces ]]
[[ NOTE: The EMail address uses 'asthe' and the web site URL uses 'isthe' ]]
Your subject must contain the words:
calc mailing list subscription
You may have additional words in your subject line.
Feel free to follow the name line with additional EMail text as desired.
Thanks for considering submitting code to calc. Calc is a collective
work by a number of people. It would not be what it is today without
your efforts and submissions!
Calc bug reports, however, should be sent to:
=-=
Calc bug reports and calc bug fixes should be sent to:
calc-bugs at asthe dot com
[[ NOTE: Replace 'at' with @, 'dot' is with . and remove the spaces ]]
[[ NOTE: The EMail address uses 'asthe' and the web site URL uses 'isthe' ]]
Your subject must contain the words:
calc bug report
You may have additional words in your subject line.
See the BUGS file or try the help command:
help bugs
@@ -61,26 +78,10 @@ for details on bug reporting.
=-=
One may join the calc testing group by sending a request to:
calc-tester-request at asthe dot com
[[ NOTE: Replace 'at' with @, 'dot' is with . and remove the spaces ]]
[[ NOTE: The EMail address uses 'asthe' and the web site URL uses 'isthe' ]]
Your message body (not the subject) should consist of:
subscribe calc-tester address
end
name your_full_name
where "address" is your EMail address and "your_full_name"
is your full name.
Landon Curt Noll
http://www.isthe.com/chongo/
chongo <was here> /\../\
chongo (share and enjoy) /\../\
## Copyright (C) 1999 Landon Curt Noll
##
@@ -98,8 +99,8 @@ chongo <was here> /\../\
## 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: contrib,v 29.2 2000/06/07 14:02:33 chongo Exp $
## @(#) $Revision: 29.4 $
## @(#) $Id: contrib,v 29.4 2001/06/01 11:37:14 chongo Exp $
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/contrib,v $
##
## Under source code control: 1997/03/09 16:33:22

59
help/version Normal file
View File

@@ -0,0 +1,59 @@
NAME
version - return the calc version string
SYNOPSIS
version()
TYPES
return string
DESCRIPTION
Returns the calc version string.
Calc version strings can be of the form:
x.y.z.w
x.y.z
x.y
where x, y, z, w, v are integers (without leading 0's) and,
t is the the liternal character 't'.
EXAMPLE
> version()
"2.11.5.4"
LIMITS
none
LINK LIBRARY
none
SEE ALSO
n/a
## 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
## 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.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
## File existed as early as: 2001
##
## chongo <was here> /\oo/\ http://www.isthe.com/chongo/
## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/

12
jump.h
View File

@@ -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: jump.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
* @(#) $Revision: 29.4 $
* @(#) $Id: jump.h,v 29.4 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/jump.h,v $
*
* Under source code control: 1994/06/29 04:03:55
@@ -65,7 +65,13 @@
#if !defined(__JUMP_H__)
#define __JUMP_H__
#include "have_const.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "have_const.h"
#else
# include <calc/have_const.h>
#endif
/*
* trivial prime CONSTants

10
label.h
View File

@@ -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: label.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
* @(#) $Revision: 29.4 $
* @(#) $Id: label.h,v 29.4 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/label.h,v $
*
* Under source code control: 1990/02/15 01:48:33
@@ -32,7 +32,11 @@
#define __LABEL_H__
#include "zmath.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "zmath.h"
#else
# include <calc/zmath.h>
#endif
#define NULL_LABEL ((LABEL *) 0)

View File

@@ -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: math_error.h,v 29.3 2001/03/17 21:31:47 chongo Exp $
* @(#) $Revision: 29.5 $
* @(#) $Id: math_error.h,v 29.5 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/math_error.h,v $
*
* Under source code control: 1997/03/23 18:37:10
@@ -33,7 +33,11 @@
#define __MATH_ERROR_H__
#include "win32dll.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "win32dll.h"
#else
# include <calc/win32dll.h>
#endif
/*

View File

@@ -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: opcodes.h,v 29.4 2001/03/17 21:31:47 chongo Exp $
* @(#) $Revision: 29.6 $
* @(#) $Id: opcodes.h,v 29.6 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/opcodes.h,v $
*
* Under source code control: 1990/02/15 01:48:35
@@ -32,7 +32,11 @@
#define __OPCODES_H__
#include "win32dll.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "win32dll.h"
#else
# include <calc/win32dll.h>
#endif
/*

13
prime.h
View File

@@ -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: prime.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
* @(#) $Revision: 29.4 $
* @(#) $Id: prime.h,v 29.4 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/prime.h,v $
*
* Under source code control: 1994/06/04 03:26:15
@@ -33,8 +33,13 @@
#define __PRIME_H__
#include "qmath.h"
#include "have_const.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "qmath.h"
# include "have_const.h"
#else
# include <calc/math.h>
# include <calc/have_const.h>
#endif
#define MAX_MAP_PRIME ((FULL)65521) /* (2^16-15) larest prime in prmap */

11
qmath.h
View File

@@ -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: qmath.h,v 29.3 2000/07/17 15:35:49 chongo Exp $
* @(#) $Revision: 29.5 $
* @(#) $Id: qmath.h,v 29.5 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/qmath.h,v $
*
* Under source code control: 1993/07/30 19:42:47
@@ -32,7 +32,12 @@
#define __QMATH_H__
#include "zmath.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "zmath.h"
#else
# include <calc/zmath.h>
#endif
#define INITCONSTCOUNT 9 /* number of initnumbs[] pre-defined constants */

View File

@@ -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.9 $
# @(#) $Id: Makefile,v 29.9 2001/05/28 22:27:15 chongo Exp $
# @(#) $Revision: 29.14 $
# @(#) $Id: Makefile,v 29.14 2001/06/08 22:38:53 chongo Exp $
# @(#) $Source: /usr/local/src/cmd/calc/sample/RCS/Makefile,v $
#
# Under source code control: 1997/04/19 22:46:49
@@ -104,6 +104,22 @@ LIBDIR= /usr/lib
CSHAREDIR= ${SHAREDIR}/calc
HELPDIR= ${LIBDIR}/help
# 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.
#
# 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.
#
# If in doubt, use T=
#
T=
# Normally, the upper level makefile will set these values. We provide
# a default here just in case you want to build from this directory.
#
@@ -411,7 +427,7 @@ depend:
${Q}echo forming sample dependency list
${Q}echo "# DO NOT DELETE THIS LINE -- make depend depends on it." > \
skel/sample/makedep.out
${Q}cd skel/sample; ${MAKEDEPEND} -w 1 -m -f makedep.out -I.. ${C_SRC}
${Q}cd skel/sample; ${MAKEDEPEND} -w 1 -f makedep.out -I.. ${C_SRC}
-${Q}for i in ${C_SRC}; do \
echo "$$i" | ${SED} 's/^\(.*\)\.c/\1.o: \1.c/'; \
done >> skel/sample/makedep.out
@@ -445,7 +461,7 @@ depend:
#
##
echo_install.list: Makefile
echo_inst_files: Makefile
##
@@ -479,8 +495,8 @@ install: all
many_random.o: ../alloc.h
many_random.o: ../block.h
many_random.o: ../byteswap.h
many_random.o: ../calcerr.h
many_random.o: ../calc.h
many_random.o: ../calcerr.h
many_random.o: ../cmath.h
many_random.o: ../config.h
many_random.o: ../endian_calc.h
@@ -493,22 +509,22 @@ many_random.o: ../have_stdlib.h
many_random.o: ../have_string.h
many_random.o: ../lib_util.h
many_random.o: ../longbits.h
many_random.o: many_random.c
many_random.o: ../md5.h
many_random.o: ../nametype.h
many_random.o: ../qmath.h
many_random.o: ../shs1.h
many_random.o: ../shs.h
many_random.o: ../shs1.h
many_random.o: ../string.h
many_random.o: ../value.h
many_random.o: ../win32dll.h
many_random.o: ../zmath.h
many_random.o: ../zrandom.h
many_random.o: many_random.c
test_random.o: ../alloc.h
test_random.o: ../block.h
test_random.o: ../byteswap.h
test_random.o: ../calcerr.h
test_random.o: ../calc.h
test_random.o: ../calcerr.h
test_random.o: ../cmath.h
test_random.o: ../config.h
test_random.o: ../endian_calc.h
@@ -524,11 +540,11 @@ test_random.o: ../longbits.h
test_random.o: ../md5.h
test_random.o: ../nametype.h
test_random.o: ../qmath.h
test_random.o: ../shs1.h
test_random.o: ../shs.h
test_random.o: ../shs1.h
test_random.o: ../string.h
test_random.o: test_random.c
test_random.o: ../value.h
test_random.o: ../win32dll.h
test_random.o: ../zmath.h
test_random.o: ../zrandom.h
test_random.o: test_random.c

View File

@@ -1,98 +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
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 RPM_OPT_FLAGS="$RPM_OPT_FLAGS"
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT${BINDIR}
mkdir -p $RPM_BUILD_ROOT${SHAREDIR}
mkdir -p $RPM_BUILD_ROOT${INCDIR}
mkdir -p $RPM_BUILD_ROOT${LIBDIR}
mkdir -p $RPM_BUILD_ROOT${CSHAREDIR}
mkdir -p $RPM_BUILD_ROOT${HELPDIR}
mkdir -p $RPM_BUILD_ROOT${INCDIRCALC}
mkdir -p $RPM_BUILD_ROOT${CUSTOMLIBDIR}
mkdir -p $RPM_BUILD_ROOT${CUSTOMHELPDIR}
mkdir -p $RPM_BUILD_ROOT${CUSTOMINCDIR}
mkdir -p $RPM_BUILD_ROOT${SCRIPTDIR}
mkdir -p $RPM_BUILD_ROOT${MANDIR}
install -m 0555 calc $RPM_BUILD_ROOT${BINDIR}
(cd help
install -m 0444 ${STD_HELP_FILES} $RPM_BUILD_ROOT${HELPDIR}
install -m 0444 ${BLT_HELP_FILES} $RPM_BUILD_ROOT${HELPDIR}
install -m 0444 builtin full $RPM_BUILD_ROOT${HELPDIR}
install -m 0444 ${DETAIL_HELP} $RPM_BUILD_ROOT${HELPDIR}
install -m 0444 ${SINGULAR_FILES} $RPM_BUILD_ROOT${HELPDIR}
install -m 0444 obj.file $RPM_BUILD_ROOT${HELPDIR}/obj
)
(cd cal; install -m 0444 ${CALC_FILES} $RPM_BUILD_ROOT${LIBDIR})
(cd custom
if [ ! -z "${INSTALL_H_SRC}" ]; then
install -m 0444 ${INSTALL_H_SRC} $RPM_BUILD_ROOT${CUSTOMINCDIR}
fi
install -m 0444 ${CUSTOM_CALC_FILES} $RPM_BUILD_ROOT${CUSTOMLIBDIR}
install -m 0444 ${CUSTOM_HELP} $RPM_BUILD_ROOT${CUSTOMHELPDIR}
if [ ! -z "${ALLOW_CUSTOM}" ]; then
install -m 0644 libcustcalc.a $RPM_BUILD_ROOT${CUSTOMLIBDIR}
${RANLIB} $RPM_BUILD_ROOT${CUSTOMLIBDIR}
fi
)
(cd cscript
install -m 0555 ${SCRIPT} $RPM_BUILD_ROOT${SCRIPTDIR}
)
install -m 0444 libcalc.a $RPM_BUILD_ROOT${LIBDIR}
${RANLIB} $RPM_BUILD_ROOT${LIBDIR}
install -m 0444 ${LIB_H_SRC} $RPM_BUILD_ROOT${INCDIRCALC}
install -m 0444 ${BUILD_H_SRC} $RPM_BUILD_ROOT${INCDIRCALC}
install -m 0444 calc.1 $RPM_BUILD_ROOT${MANDIR}.${MANEXT}
%clean
rm -rf $RPM_BUILD_ROOT
%files -f install.list
%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}

View File

@@ -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: string.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
* @(#) $Revision: 29.4 $
* @(#) $Id: string.h,v 29.4 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/string.h,v $
*
* Under source code control: 1990/02/15 01:48:36
@@ -32,7 +32,11 @@
#define __CALCSTRING_H__
#include "zmath.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "zmath.h"
#else
# include <calc/zmath.h>
#endif
struct string {

View File

@@ -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: symbol.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
* @(#) $Revision: 29.4 $
* @(#) $Id: symbol.h,v 29.4 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/symbol.h,v $
*
* Under source code control: 1990/02/15 01:48:37
@@ -32,7 +32,11 @@
#define __SYMBOL_H__
#include "zmath.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "zmath.h"
#else
# include <calc/zmath.h>
#endif
/*

10
token.h
View File

@@ -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: token.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
* @(#) $Revision: 29.4 $
* @(#) $Id: token.h,v 29.4 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/token.h,v $
*
* Under source code control: 1990/02/15 01:48:37
@@ -32,7 +32,11 @@
#define __TOKEN_H__
#include "zmath.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "zmath.h"
#else
# include <calc/zmath.h>
#endif
/*

35
value.h
View File

@@ -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: value.h,v 29.5 2001/03/17 21:31:47 chongo Exp $
* @(#) $Revision: 29.7 $
* @(#) $Id: value.h,v 29.7 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/value.h,v $
*
* Under source code control: 1993/07/30 19:42:47
@@ -32,15 +32,28 @@
#define __VALUE_H__
#include "win32dll.h"
#include "cmath.h"
#include "config.h"
#include "shs.h"
#include "calcerr.h"
#include "hash.h"
#include "block.h"
#include "nametype.h"
#include "string.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "win32dll.h"
# include "cmath.h"
# include "config.h"
# include "shs.h"
# include "calcerr.h"
# include "hash.h"
# include "block.h"
# include "nametype.h"
# include "string.h"
#else
# include <calc/win32dll.h>
# include <calc/cmath.h>
# include <calc/config.h>
# include <calc/shs.h>
# include <calc/calcerr.h>
# include <calc/hash.h>
# include <calc/block.h>
# include <calc/nametype.h>
# include <calc/string.h>
#endif
#define MAXDIM 4 /* maximum number of dimensions in matrices */
#define USUAL_ELEMENTS 4 /* usual number of elements for objects */

166
version.c
View File

@@ -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.26 $
* @(#) $Id: version.c,v 29.26 2001/05/28 22:00:22 chongo Exp $
* @(#) $Revision: 29.37 $
* @(#) $Id: version.c,v 29.37 2001/12/31 22:12:35 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>
@@ -43,7 +46,8 @@ 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" /* test number or empty string if no patch */
#define MINOR_PATCH 6 /* 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;
/*
@@ -95,7 +99,7 @@ char *Copyright = "\n"
* 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 +118,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 +137,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 +152,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 +280,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 */

26
zmath.h
View File

@@ -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: zmath.h,v 29.5 2001/03/17 21:31:47 chongo Exp $
* @(#) $Revision: 29.7 $
* @(#) $Id: zmath.h,v 29.7 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/zmath.h,v $
*
* Under source code control: 1993/07/30 19:42:48
@@ -38,13 +38,21 @@
#define __ZMATH_H__
#include "win32dll.h"
#include "alloc.h"
#include "endian_calc.h"
#include "longbits.h"
#include "byteswap.h"
#include "have_stdlib.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "win32dll.h"
# include "alloc.h"
# include "endian_calc.h"
# include "longbits.h"
# include "byteswap.h"
# include "have_stdlib.h"
#else
# include <calc/win32dll.h>
# include <calc/alloc.h>
# include <calc/endian_calc.h>
# include <calc/longbits.h>
# include <calc/byteswap.h>
# include <calc/have_stdlib.h>
#endif
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif

13
zrand.h
View File

@@ -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: zrand.h,v 29.3 2001/04/14 22:47:21 chongo Exp $
* @(#) $Revision: 29.5 $
* @(#) $Id: zrand.h,v 29.5 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/zrand.h,v $
*
* Under source code control: 1995/01/07 09:45:26
@@ -37,8 +37,13 @@
#define __ZRAND_H__
#include "value.h"
#include "have_const.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "value.h"
# include "have_const.h"
#else
# include <calc/value.h>
# include <calc/have_const.h>
#endif
/*

View File

@@ -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: zrandom.h,v 29.2 2000/06/07 14:02:13 chongo Exp $
* @(#) $Revision: 29.4 $
* @(#) $Id: zrandom.h,v 29.4 2001/06/08 21:00:58 chongo Exp $
* @(#) $Source: /usr/local/src/cmd/calc/RCS/zrandom.h,v $
*
* Under source code control: 1997/02/15 04:01:56
@@ -33,8 +33,13 @@
#define __ZRANDOM_H__
#include "value.h"
#include "have_const.h"
#if defined(CALC_SRC) /* if we are building from the calc source tree */
# include "value.h"
# include "have_const.h"
#else
# include <calc/value.h>
# include <calc/have_const.h>
#endif
/*