mirror of
https://github.com/lcn2/calc.git
synced 2025-08-19 01:13:27 +03:00
Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
7cf611bca8 | ||
|
c9fce6a5bb | ||
|
a1c96f95a6 | ||
|
5e6b3cbd3f | ||
|
5bada5fefd | ||
|
0c20c96a7e | ||
|
e054ea87f2 | ||
|
e229393250 | ||
|
a407c7d197 | ||
|
9ea569152a | ||
|
cbcb5801fb | ||
|
bdf495150e |
80
CHANGES
80
CHANGES
@@ -1,4 +1,78 @@
|
||||
The following are the changes from calc version 2.12.1.1 to date:
|
||||
The following are the changes from calc version 2.12.4.0 to date:
|
||||
|
||||
Fixed a documentation bug for the sgn() builtin.
|
||||
|
||||
Added the 1<<8/2 evaluation example to "help unexpected". That
|
||||
expression evalutes to 128, not 16 as some C programmers might expect.
|
||||
|
||||
Fixed a bug in solve.cal where high was not returned in some situations.
|
||||
|
||||
Fixed a bug reported by Paul & Karen Tomlinson (paulnkaz at pktomlinson
|
||||
dot fsnet dot co dot uk) where calling log multiple times with different
|
||||
values of epsilon resulted in an incorrect value.
|
||||
|
||||
Removed cvd rule from Makefiles.
|
||||
|
||||
The Makefile used in the source rpm (calc-*.src.rpm) no longer uses
|
||||
the -Werror compile flag. This is to help those distributions with
|
||||
compilers that make produce (hopefully) complination warnings.
|
||||
NOTE: For testing and calc build purposes will recommend and will
|
||||
continue to use the -Werror flag.
|
||||
|
||||
Fixed a typo in the Makefile where the make variable ${SAMPLE_OBJ}
|
||||
was misspelled as ${SAMPLE_OBJS}.
|
||||
|
||||
Added prep makefile rule to make is easier to compile calc without
|
||||
an optimizer. By doing:
|
||||
|
||||
make clobber prep
|
||||
|
||||
one may build a calc binary that is easier to debug.
|
||||
|
||||
Fixed a bug where an certains typos (e.g., calling an unknown
|
||||
function) would previously cause calc to exit.
|
||||
|
||||
|
||||
The following are the changes from calc version 2.12.3.0 to 2.12.3.3:
|
||||
|
||||
Fixed the Jacobi function where it returned 1 when it should have
|
||||
returned 0. Thanks goes to Kevin Sopp (baraclese at googlemail dot com)
|
||||
for discovering the problem and suggesting the nature if the fix.
|
||||
|
||||
Calc versions will always be of the form x.y.z.w even when the
|
||||
MINOR_PATCH (w) is 0. Thus, 2.12.3.0 will be printed as 2.12.3.0
|
||||
instread of just 2.12.3.
|
||||
|
||||
Added MINGW32_NT-5.0 compile target based on a patch from
|
||||
Brian L. Angus (angus at eng dot utah dot edu).
|
||||
|
||||
Removed the use of rpm.release in the Makefile.
|
||||
|
||||
Mac OS Darwin targets no longer attempt to use ldconfig. Under the
|
||||
Darwin target, the LDCONFIG make variable is redefined to be
|
||||
an empty value. Thanks goes to Ralf Trinler (art at infra dot de)
|
||||
for reporting this problem.
|
||||
|
||||
The ${CALC_INCDIR}/custom is no longer being removed at install time
|
||||
if it is empty. Now when ${ALLOW_CUSTOM} make variable is empty,
|
||||
an empty ${CALC_INCDIR}/custom may be left hehind.
|
||||
|
||||
Fixed a problem where a "make clobber" would remove custom/Makefile
|
||||
and fail to rebuilt it.
|
||||
|
||||
|
||||
The following are the changes from calc version 2.12.2.3 to 2.12.2.4:
|
||||
|
||||
Added OpenBSD target.
|
||||
|
||||
Using the -r test instead of the -e test in Makefiles because some
|
||||
out of date shells still do not have the -e test.
|
||||
|
||||
The Makefile now avoids the use of if ! command because some out of
|
||||
date shells to not support the ! construct.
|
||||
|
||||
|
||||
The following are the changes from calc version 2.12.1.1 to 2.12.2.2:
|
||||
|
||||
Added an explicit Solaris target.
|
||||
|
||||
@@ -6695,8 +6769,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.
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
##
|
||||
## @(#) $Revision: 30.11 $
|
||||
## @(#) $Id: CHANGES,v 30.11 2007/10/16 12:22:22 chongo Exp $
|
||||
## @(#) $Revision: 30.18 $
|
||||
## @(#) $Id: CHANGES,v 30.18 2008/10/24 09:55:12 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/RCS/CHANGES,v $
|
||||
##
|
||||
## Under source code control: 1993/06/02 18:12:57
|
||||
|
169
Makefile
169
Makefile
@@ -23,7 +23,7 @@
|
||||
# READLINE_LIB= -lreadline
|
||||
# READLINE_EXTRAS= -lhistory -lncurses
|
||||
#
|
||||
# Copyright (C) 1999-2007 Landon Curt Noll
|
||||
# Copyright (C) 1999-2008 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
|
||||
@@ -39,8 +39,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
MAKEFILE_REV= $$Revision: 30.25 $$
|
||||
# @(#) $Id: Makefile.ship,v 30.25 2007/09/29 16:57:48 chongo Exp $
|
||||
MAKEFILE_REV= $$Revision: 30.41 $$
|
||||
# @(#) $Id: Makefile.ship,v 30.41 2008/10/24 09:20:09 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/RCS/Makefile.ship,v $
|
||||
#
|
||||
# Under source code control: 1990/02/15 01:48:41
|
||||
@@ -598,6 +598,18 @@ INCDIR= /usr/include
|
||||
# by default is empty. If ${T} is non-empty, then installation
|
||||
# locations will be relative to the ${T} directory.
|
||||
#
|
||||
# NOTE: If you change LIBDIR to a non-standard location, you will need
|
||||
# to make changes to your execution environment so that executables
|
||||
# will search LIBDIR when they are resolving dynamic shared libraries.
|
||||
#
|
||||
# On OS X, this means you need to export $DYLD_LIBRARY_PATH
|
||||
# to include the LIBDIR path in the value.
|
||||
#
|
||||
# On Linux and BSD, this means you need to export $LD_LIBRARY_PATH
|
||||
# to include the LIBDIR path in the value.
|
||||
#
|
||||
# You might be better off not changing LIBDIR in the first place.
|
||||
#
|
||||
# For DJGPP, select:
|
||||
#
|
||||
# BINDIR= /dev/env/DJDIR/bin
|
||||
@@ -984,8 +996,8 @@ EXT=
|
||||
|
||||
# The default calc versions
|
||||
#
|
||||
VERSION= 2.12.2.2
|
||||
VERS= 2.12.2
|
||||
VERSION= 2.12.4.0
|
||||
VERS= 2.12.4
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
@@ -1193,6 +1205,8 @@ LIB_EXT_VERSION:= .${VERSION}${LIB_EXT}
|
||||
LIB_EXT_VERS:= .${VERS}${LIB_EXT}
|
||||
LIB_EXT_VER:= .${VER}${LIB_EXT}
|
||||
LIB_EXT_VE:= .${VE}${LIB_EXT}
|
||||
# LDCONFIG not required on this platform, so we redefine it to an empty string
|
||||
LDCONFIG:=
|
||||
# DARWIN_ARCH= -arch i386 -arch ppc # Universal binary
|
||||
# DARWIN_ARCH= -arch i386 # Intel binary
|
||||
# DARWIN_ARCH= -arch ppc # PPC binary
|
||||
@@ -1243,6 +1257,48 @@ MAKE= gmake
|
||||
#
|
||||
endif
|
||||
|
||||
##################
|
||||
# OpenBSD target #
|
||||
##################
|
||||
|
||||
########################################################################
|
||||
# NOTE: You MUST either use gmake (GNU Make) or you must try your luck #
|
||||
# with Makefile.simple and custom/Makefile.simple versions. #
|
||||
# See HOWTO.INSTALL for more information. #
|
||||
########################################################################
|
||||
|
||||
ifeq ($(target),OpenBSD)
|
||||
#
|
||||
BLD_TYPE= calc-dynamic-only
|
||||
#
|
||||
CC_SHARE= -fPIC
|
||||
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LD_STATIC=
|
||||
LIBCALC_STATIC=
|
||||
LIBCUSTCALC_STATIC=
|
||||
#
|
||||
CCWARN= -Wall
|
||||
CCWERR=
|
||||
CCOPT= ${DEBUG}
|
||||
CCMISC=
|
||||
#
|
||||
LCC= gcc
|
||||
CC= ${PURIFY} ${LCC} ${CCWERR}
|
||||
#
|
||||
MAKE= gmake
|
||||
#
|
||||
endif
|
||||
|
||||
################
|
||||
# SunOS target #
|
||||
################
|
||||
@@ -1326,6 +1382,52 @@ LDFLAGS= ${LD_DEBUG} ${ILDFLAGS} ${LIBCALC_STATIC} ${LIBCUSTCALC_STATIC}
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
endif
|
||||
|
||||
###################################################
|
||||
# MINGW32_NT-5.0 target #
|
||||
###################################################
|
||||
|
||||
|
||||
ifeq ($(target),MINGW32_NT-5.0)
|
||||
|
||||
EXT=.exe
|
||||
TERMCONTROL= -DUSE_WIN32
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR}
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
else
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR}
|
||||
endif
|
||||
CALCRC= ${CALC_SHAREDIR}/startup;~/.calcrc;./.calcinit
|
||||
#
|
||||
BLD_TYPE= calc-static-only
|
||||
#
|
||||
CC_SHARE= -fPIC
|
||||
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC= -DSTATIC_ONLY
|
||||
LIBCALC_STATIC=
|
||||
LIBCUSTCALC_STATIC=
|
||||
LD_STATIC=
|
||||
#
|
||||
CCWARN= -Wall -W -Wno-comment
|
||||
CCWERR=
|
||||
CCOPT= ${DEBUG}
|
||||
CCMISC= -DNOTCYGWIN
|
||||
#
|
||||
LCC= gcc
|
||||
CC= ${PURIFY} ${LCC} ${CCWERR}
|
||||
#
|
||||
endif
|
||||
|
||||
###################################################
|
||||
# default target - when no specific target exists #
|
||||
###################################################
|
||||
@@ -1724,7 +1826,7 @@ CALCLIBLIST= ${LIBSRC} ${UTIL_C_SRC} ${LIB_H_SRC} ${MAKE_FILE} \
|
||||
|
||||
# complete list of .o files
|
||||
#
|
||||
OBJS= ${LIBOBJS} ${CALCOBJS} ${UTIL_OBJS} ${SAMPLE_OBJS}
|
||||
OBJS= ${LIBOBJS} ${CALCOBJS} ${UTIL_OBJS} ${SAMPLE_OBJ}
|
||||
|
||||
# static library build
|
||||
#
|
||||
@@ -1823,6 +1925,9 @@ TARGETS= ${EARLY_TARGETS} ${BLD_TYPE} ${LATE_TARGETS}
|
||||
|
||||
all: ${BLD_TYPE} CHANGES
|
||||
|
||||
prep:
|
||||
${Q} ${MAKE} -f ${MAKE_FILE} all DEBUG='-g3'
|
||||
|
||||
calc-dynamic-only: ${DYNAMIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${CALC_DYNAMIC_LIBS} ${SYM_DYNAMIC_LIBS} calc${EXT} \
|
||||
${SAMPLE_TARGETS} ${LATE_TARGETS}
|
||||
@@ -1847,7 +1952,7 @@ calc-dynamic-only: ${DYNAMIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${Q} for i in .static calc-static${EXT} ${SAMPLE_STATIC_TARGETS} \
|
||||
libcalc.a custom/libcustcalc.a; do \
|
||||
r="calc-dynamic-only"; \
|
||||
if [ -e "$$i" ]; then \
|
||||
if [ -r "$$i" ]; then \
|
||||
echo "Found the static target $$i file. You must:" 1>&2; \
|
||||
echo "" 1>&2; \
|
||||
echo " ${MAKE} -f ${MAKE_FILE} clobber" 1>&2; \
|
||||
@@ -1865,7 +1970,9 @@ calc-static-only: ${STATIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${CALC_STATIC_LIBS} calc-static${EXT} \
|
||||
${SAMPLE_STATIC_TARGETS} ${LATE_TARGETS}
|
||||
${Q} for i in calc${EXT} ${SAMPLE_TARGETS}; do \
|
||||
if ! ${CMP} -s "$$i-static" "$$i"; then \
|
||||
if ${CMP} -s "$$i-static" "$$i"; then \
|
||||
${TRUE}; \
|
||||
else \
|
||||
${RM} -f "$$i"; \
|
||||
${LN} "$$i-static" "$$i"; \
|
||||
fi; \
|
||||
@@ -1891,7 +1998,7 @@ calc-static-only: ${STATIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${Q} for i in .dynamic ${CALC_DYNAMIC_LIBS} ${SYM_DYNAMIC_LIBS} \
|
||||
custom/libcustcalc${LIB_EXT_VERSION}; do \
|
||||
r="calc-static-only"; \
|
||||
if [ -e "$$i" ]; then \
|
||||
if [ -r "$$i" ]; then \
|
||||
echo "Found the dynamic target $$i file. You must:" 1>&2; \
|
||||
echo "" 1>&2; \
|
||||
echo " ${MAKE} -f ${MAKE_FILE} clobber" 1>&2; \
|
||||
@@ -3027,7 +3134,7 @@ have_urandom.h: ${MAKE_FILE}
|
||||
echo '#define HAVE_URANDOM_H /* yes */' >> have_urandom.h; \
|
||||
elif [ X"${HAVE_URANDOM_H}" = X"NO" ]; then \
|
||||
echo '#undef HAVE_URANDOM_H /* no */' >> have_urandom.h; \
|
||||
elif [ -e /dev/urandom ] 2>/dev/null; then \
|
||||
elif [ -r /dev/urandom ] 2>/dev/null; then \
|
||||
echo '#define HAVE_URANDOM_H /* yes */' >> have_urandom.h; \
|
||||
else \
|
||||
echo '#undef HAVE_URANDOM_H /* no */' >> have_urandom.h; \
|
||||
@@ -3912,12 +4019,11 @@ env:
|
||||
@echo 'target=${target}'; echo ''
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} end of major make variable dump =-=-=-=-='
|
||||
|
||||
mkdebug: env version.c rpm.release
|
||||
mkdebug: env version.c
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} start of $@ rule =-=-=-=-='
|
||||
@echo '=-=-=-=-= Determining the source version =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ ver_calc${EXT}
|
||||
-@./ver_calc${EXT}
|
||||
-@./ver_calc${EXT} -r rpm.release
|
||||
@echo '=-=-=-=-= Invoking ${MAKE} -f Makefile Q= V=@ all =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ all
|
||||
@echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
@@ -3926,7 +4032,7 @@ mkdebug: env version.c rpm.release
|
||||
@echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
|
||||
debug: env rpm.release
|
||||
debug: env
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} start of $@ rule =-=-=-=-='
|
||||
@echo '=-=-=-=-= Invoking ${MAKE} -f Makefile Q= V=@ clobber =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ clobber
|
||||
@@ -3934,7 +4040,6 @@ debug: env rpm.release
|
||||
@echo '=-=-=-=-= Determining the source version =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ ver_calc${EXT}
|
||||
-@./ver_calc${EXT}
|
||||
-@./ver_calc${EXT} -r rpm.release
|
||||
@echo '=-=-=-=-= Invoking ${MAKE} -f Makefile Q= V=@ all =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ all
|
||||
@echo '=-=-=-=-= Determining the binary version =-=-=-=-='
|
||||
@@ -3953,9 +4058,6 @@ debug: env rpm.release
|
||||
# make run
|
||||
# * only run calc interactively with the ${CALC_ENV} environment
|
||||
#
|
||||
# make cvd
|
||||
# * run the SGI WorkShop debugger on calc with the ${CALC_ENV} environment
|
||||
#
|
||||
# make dbx
|
||||
# * run the dbx debugger on calc with the ${CALC_ENV} environment
|
||||
#
|
||||
@@ -3967,9 +4069,6 @@ debug: env rpm.release
|
||||
run:
|
||||
${CALC_ENV} ./calc${EXT}
|
||||
|
||||
cvd:
|
||||
${CALC_ENV} cvd ./calc${EXT}
|
||||
|
||||
dbx:
|
||||
${CALC_ENV} dbx ./calc${EXT}
|
||||
|
||||
@@ -4148,25 +4247,27 @@ clobber: custom/Makefile clean
|
||||
${RM} -f libcustcalc.a
|
||||
${RM} -f calc-static${EXT}
|
||||
${RM} -f ${CALC_STATIC_LIBS}
|
||||
${RM} -f all
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for help =-=-=-=-='
|
||||
-cd help; ${MAKE} -f Makefile ${HELP_PASSDOWN} clobber
|
||||
-cd help; ${RM} -f all; ${MAKE} -f Makefile ${HELP_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for cal =-=-=-=-='
|
||||
-cd cal; ${MAKE} -f Makefile ${CAL_PASSDOWN} clobber
|
||||
-cd cal; ${RM} -f all; ${MAKE} -f Makefile ${CAL_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for custom =-=-=-=-='
|
||||
cd custom; ${MAKE} -f Makefile ${CUSTOM_PASSDOWN} clobber
|
||||
cd custom; ${RM} -f all; ${MAKE} -f Makefile ${CUSTOM_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for cscript =-=-=-=-='
|
||||
cd cscript; ${MAKE} -f Makefile ${CSCRIPT_PASSDOWN} clobber
|
||||
cd cscript; ${RM} -f all; ${MAKE} -f Makefile ${CSCRIPT_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo remove files that are obsolete
|
||||
${RM} -rf win32 build
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
${RM} -f Makefile.simple
|
||||
${RM} -f custom/Makefile
|
||||
-${MAKE} -f ${MAKE_FILE} custom/Makefile
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
${RM} -f .static .dynamic
|
||||
${RM} -f .static .dynamic calc-dynamic-only calc-static-only
|
||||
${V} echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
|
||||
# install everything
|
||||
@@ -4392,9 +4493,11 @@ endif
|
||||
${T}${LIBDIR}/libcustcalc${LIB_EXT}; \
|
||||
echo "installed ${T}${LIBDIR}/libcalc${LIB_EXT}"; \
|
||||
if [ -z "${T}" -o "/" = "${T}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG}; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
if [ ! -z "${LDCONFIG}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG} -v; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
fi; \
|
||||
fi; \
|
||||
fi
|
||||
-${Q} for i in ${LIB_H_SRC} ${BUILD_H_SRC} /dev/null; do \
|
||||
@@ -4467,8 +4570,6 @@ endif
|
||||
fi; \
|
||||
fi; \
|
||||
fi
|
||||
${V} # NOTE: remove ${T}${CALC_INCDIR}/custom if it is empty
|
||||
-${Q} ${RMDIR} ${T}${CALC_INCDIR}/custom 2>/dev/null
|
||||
${V} # NOTE: misc install cleanup
|
||||
${Q} ${RM} -f tmp
|
||||
${V} echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
@@ -4597,9 +4698,11 @@ uninstall: custom/Makefile
|
||||
fi; \
|
||||
fi
|
||||
-${Q} if [ -z "${T}" -o "/" = "${T}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG}; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
if [ ! -z "${LDCONFIG}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG} -v; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
fi; \
|
||||
fi
|
||||
-${Q} if [ -f "${T}${LIBDIR}/libcalc.a" ]; then \
|
||||
${RM} -f "${T}${LIBDIR}/libcalc.a"; \
|
||||
|
@@ -23,7 +23,7 @@
|
||||
# READLINE_LIB= -lreadline
|
||||
# READLINE_EXTRAS= -lhistory -lncurses
|
||||
#
|
||||
# Copyright (C) 1999-2007 Landon Curt Noll
|
||||
# Copyright (C) 1999-2008 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
|
||||
@@ -39,8 +39,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
MAKEFILE_REV= $$Revision: 30.25 $$
|
||||
# @(#) $Id: Makefile.ship,v 30.25 2007/09/29 16:57:48 chongo Exp $
|
||||
MAKEFILE_REV= $$Revision: 30.41 $$
|
||||
# @(#) $Id: Makefile.ship,v 30.41 2008/10/24 09:20:09 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/RCS/Makefile.ship,v $
|
||||
#
|
||||
# Under source code control: 1990/02/15 01:48:41
|
||||
@@ -583,6 +583,18 @@ INCDIR= /usr/include
|
||||
# by default is empty. If ${T} is non-empty, then installation
|
||||
# locations will be relative to the ${T} directory.
|
||||
#
|
||||
# NOTE: If you change LIBDIR to a non-standard location, you will need
|
||||
# to make changes to your execution environment so that executables
|
||||
# will search LIBDIR when they are resolving dynamic shared libraries.
|
||||
#
|
||||
# On OS X, this means you need to export $DYLD_LIBRARY_PATH
|
||||
# to include the LIBDIR path in the value.
|
||||
#
|
||||
# On Linux and BSD, this means you need to export $LD_LIBRARY_PATH
|
||||
# to include the LIBDIR path in the value.
|
||||
#
|
||||
# You might be better off not changing LIBDIR in the first place.
|
||||
#
|
||||
# For DJGPP, select:
|
||||
#
|
||||
# BINDIR= /dev/env/DJDIR/bin
|
||||
@@ -961,8 +973,8 @@ EXT=
|
||||
|
||||
# The default calc versions
|
||||
#
|
||||
VERSION= 2.12.2.2
|
||||
VERS= 2.12.2
|
||||
VERSION= 2.12.4.0
|
||||
VERS= 2.12.4
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
@@ -1126,6 +1138,7 @@ CFLAGS= ${ICFLAGS} ${CCOPT}
|
||||
ILDFLAGS= ${COMMON_LDFLAGS} ${LD_STATIC}
|
||||
LDFLAGS= ${LD_DEBUG} ${ILDFLAGS} ${LIBCALC_STATIC} ${LIBCUSTCALC_STATIC}
|
||||
#
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR}
|
||||
|
||||
#######################################################################
|
||||
#-=-=-=-=-=- end of target section - only make rules below -=-=-=-=-=-#
|
||||
@@ -1461,7 +1474,7 @@ CALCLIBLIST= ${LIBSRC} ${UTIL_C_SRC} ${LIB_H_SRC} ${MAKE_FILE} \
|
||||
|
||||
# complete list of .o files
|
||||
#
|
||||
OBJS= ${LIBOBJS} ${CALCOBJS} ${UTIL_OBJS} ${SAMPLE_OBJS}
|
||||
OBJS= ${LIBOBJS} ${CALCOBJS} ${UTIL_OBJS} ${SAMPLE_OBJ}
|
||||
|
||||
# static library build
|
||||
#
|
||||
@@ -1527,6 +1540,9 @@ TARGETS= ${EARLY_TARGETS} ${BLD_TYPE} ${LATE_TARGETS}
|
||||
|
||||
all: ${BLD_TYPE} CHANGES
|
||||
|
||||
prep:
|
||||
${Q} ${MAKE} -f ${MAKE_FILE} all DEBUG='-g3'
|
||||
|
||||
calc-dynamic-only: ${DYNAMIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${CALC_DYNAMIC_LIBS} ${SYM_DYNAMIC_LIBS} calc${EXT} \
|
||||
${SAMPLE_TARGETS} ${LATE_TARGETS}
|
||||
@@ -1551,7 +1567,7 @@ calc-dynamic-only: ${DYNAMIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${Q} for i in .static calc-static${EXT} ${SAMPLE_STATIC_TARGETS} \
|
||||
libcalc.a custom/libcustcalc.a; do \
|
||||
r="calc-dynamic-only"; \
|
||||
if [ -e "$$i" ]; then \
|
||||
if [ -r "$$i" ]; then \
|
||||
echo "Found the static target $$i file. You must:" 1>&2; \
|
||||
echo "" 1>&2; \
|
||||
echo " ${MAKE} -f ${MAKE_FILE} clobber" 1>&2; \
|
||||
@@ -1569,7 +1585,9 @@ calc-static-only: ${STATIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${CALC_STATIC_LIBS} calc-static${EXT} \
|
||||
${SAMPLE_STATIC_TARGETS} ${LATE_TARGETS}
|
||||
${Q} for i in calc${EXT} ${SAMPLE_TARGETS}; do \
|
||||
if ! ${CMP} -s "$$i-static" "$$i"; then \
|
||||
if ${CMP} -s "$$i-static" "$$i"; then \
|
||||
${TRUE}; \
|
||||
else \
|
||||
${RM} -f "$$i"; \
|
||||
${LN} "$$i-static" "$$i"; \
|
||||
fi; \
|
||||
@@ -1595,7 +1613,7 @@ calc-static-only: ${STATIC_FIRST_TARGETS} ${EARLY_TARGETS} \
|
||||
${Q} for i in .dynamic ${CALC_DYNAMIC_LIBS} ${SYM_DYNAMIC_LIBS} \
|
||||
custom/libcustcalc${LIB_EXT_VERSION}; do \
|
||||
r="calc-static-only"; \
|
||||
if [ -e "$$i" ]; then \
|
||||
if [ -r "$$i" ]; then \
|
||||
echo "Found the dynamic target $$i file. You must:" 1>&2; \
|
||||
echo "" 1>&2; \
|
||||
echo " ${MAKE} -f ${MAKE_FILE} clobber" 1>&2; \
|
||||
@@ -2725,7 +2743,7 @@ have_urandom.h: ${MAKE_FILE}
|
||||
echo '#define HAVE_URANDOM_H /* yes */' >> have_urandom.h; \
|
||||
elif [ X"${HAVE_URANDOM_H}" = X"NO" ]; then \
|
||||
echo '#undef HAVE_URANDOM_H /* no */' >> have_urandom.h; \
|
||||
elif [ -e /dev/urandom ] 2>/dev/null; then \
|
||||
elif [ -r /dev/urandom ] 2>/dev/null; then \
|
||||
echo '#define HAVE_URANDOM_H /* yes */' >> have_urandom.h; \
|
||||
else \
|
||||
echo '#undef HAVE_URANDOM_H /* no */' >> have_urandom.h; \
|
||||
@@ -3572,12 +3590,11 @@ env:
|
||||
@echo 'target=${target}'; echo ''
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} end of major make variable dump =-=-=-=-='
|
||||
|
||||
mkdebug: env version.c rpm.release
|
||||
mkdebug: env version.c
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} start of $@ rule =-=-=-=-='
|
||||
@echo '=-=-=-=-= Determining the source version =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ ver_calc${EXT}
|
||||
-@./ver_calc${EXT}
|
||||
-@./ver_calc${EXT} -r rpm.release
|
||||
@echo '=-=-=-=-= Invoking ${MAKE} -f Makefile Q= V=@ all =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ all
|
||||
@echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
@@ -3586,7 +3603,7 @@ mkdebug: env version.c rpm.release
|
||||
@echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
|
||||
debug: env rpm.release
|
||||
debug: env
|
||||
@echo '=-=-=-=-= ${MAKE_FILE} start of $@ rule =-=-=-=-='
|
||||
@echo '=-=-=-=-= Invoking ${MAKE} -f Makefile Q= V=@ clobber =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ clobber
|
||||
@@ -3594,7 +3611,6 @@ debug: env rpm.release
|
||||
@echo '=-=-=-=-= Determining the source version =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ ver_calc${EXT}
|
||||
-@./ver_calc${EXT}
|
||||
-@./ver_calc${EXT} -r rpm.release
|
||||
@echo '=-=-=-=-= Invoking ${MAKE} -f Makefile Q= V=@ all =-=-=-=-='
|
||||
@${MAKE} -f Makefile Q= V=@ all
|
||||
@echo '=-=-=-=-= Determining the binary version =-=-=-=-='
|
||||
@@ -3613,9 +3629,6 @@ debug: env rpm.release
|
||||
# make run
|
||||
# * only run calc interactively with the ${CALC_ENV} environment
|
||||
#
|
||||
# make cvd
|
||||
# * run the SGI WorkShop debugger on calc with the ${CALC_ENV} environment
|
||||
#
|
||||
# make dbx
|
||||
# * run the dbx debugger on calc with the ${CALC_ENV} environment
|
||||
#
|
||||
@@ -3627,9 +3640,6 @@ debug: env rpm.release
|
||||
run:
|
||||
${CALC_ENV} ./calc${EXT}
|
||||
|
||||
cvd:
|
||||
${CALC_ENV} cvd ./calc${EXT}
|
||||
|
||||
dbx:
|
||||
${CALC_ENV} dbx ./calc${EXT}
|
||||
|
||||
@@ -3808,21 +3818,22 @@ clobber: custom/Makefile clean
|
||||
${RM} -f libcustcalc.a
|
||||
${RM} -f calc-static${EXT}
|
||||
${RM} -f ${CALC_STATIC_LIBS}
|
||||
${RM} -f all
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for help =-=-=-=-='
|
||||
-cd help; ${MAKE} -f Makefile ${HELP_PASSDOWN} clobber
|
||||
-cd help; ${RM} -f all; ${MAKE} -f Makefile ${HELP_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for cal =-=-=-=-='
|
||||
-cd cal; ${MAKE} -f Makefile ${CAL_PASSDOWN} clobber
|
||||
-cd cal; ${RM} -f all; ${MAKE} -f Makefile ${CAL_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for custom =-=-=-=-='
|
||||
cd custom; ${MAKE} -f Makefile.simple ${CUSTOM_PASSDOWN} clobber
|
||||
cd custom; ${RM} -f all; ${MAKE} -f Makefile ${CUSTOM_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo '=-=-=-=-= Invoking $@ rule for cscript =-=-=-=-='
|
||||
cd cscript; ${MAKE} -f Makefile ${CSCRIPT_PASSDOWN} clobber
|
||||
cd cscript; ${RM} -f all; ${MAKE} -f Makefile ${CSCRIPT_PASSDOWN} $@
|
||||
${V} echo '=-=-=-=-= Back to the main Makefile for $@ rule =-=-=-=-='
|
||||
${V} echo remove files that are obsolete
|
||||
${RM} -rf win32 build
|
||||
${RM} -f .static .dynamic
|
||||
${RM} -f .static .dynamic calc-dynamic-only calc-static-only
|
||||
${V} echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
|
||||
# install everything
|
||||
@@ -4036,9 +4047,11 @@ install: custom/Makefile ${LIB_H_SRC} ${BUILD_H_SRC} calc.1 all
|
||||
${T}${LIBDIR}/libcustcalc${LIB_EXT}; \
|
||||
echo "installed ${T}${LIBDIR}/libcalc${LIB_EXT}"; \
|
||||
if [ -z "${T}" -o "/" = "${T}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG}; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
if [ ! -z "${LDCONFIG}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG} -v; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
fi; \
|
||||
fi; \
|
||||
fi
|
||||
-${Q} for i in ${LIB_H_SRC} ${BUILD_H_SRC} /dev/null; do \
|
||||
@@ -4111,8 +4124,6 @@ install: custom/Makefile ${LIB_H_SRC} ${BUILD_H_SRC} calc.1 all
|
||||
fi; \
|
||||
fi; \
|
||||
fi
|
||||
${V} # NOTE: remove ${T}${CALC_INCDIR}/custom if it is empty
|
||||
-${Q} ${RMDIR} ${T}${CALC_INCDIR}/custom 2>/dev/null
|
||||
${V} # NOTE: misc install cleanup
|
||||
${Q} ${RM} -f tmp
|
||||
${V} echo '=-=-=-=-= ${MAKE_FILE} end of $@ rule =-=-=-=-='
|
||||
@@ -4241,9 +4252,11 @@ uninstall: custom/Makefile
|
||||
fi; \
|
||||
fi
|
||||
-${Q} if [ -z "${T}" -o "/" = "${T}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG}; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
if [ ! -z "${LDCONFIG}" ]; then \
|
||||
echo "running ${LDCONFIG}"; \
|
||||
${LDCONFIG} -v; \
|
||||
echo "finished ${LDCONFIG}"; \
|
||||
fi; \
|
||||
fi
|
||||
-${Q} if [ -f "${T}${LIBDIR}/libcalc.a" ]; then \
|
||||
${RM} -f "${T}${LIBDIR}/libcalc.a"; \
|
||||
|
7
alloc.h
7
alloc.h
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: alloc.h,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: alloc.h,v 30.2 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/alloc.h,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:29
|
||||
@@ -46,6 +46,9 @@
|
||||
# include <string.h>
|
||||
|
||||
#else
|
||||
#if defined(_WIN32) && defined(NOTCYGWIN)
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
# if defined(HAVE_NEWSTR)
|
||||
E_FUNC void *memcpy();
|
||||
|
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.3 $
|
||||
* @(#) $Id: regress.cal,v 30.3 2007/07/11 22:58:26 chongo Exp $
|
||||
* @(#) $Revision: 30.5 $
|
||||
* @(#) $Id: regress.cal,v 30.5 2008/10/24 07:09:41 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/regress.cal,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:50:36
|
||||
@@ -1412,7 +1412,39 @@ define test_functions()
|
||||
vrfy(isnum(systime()), '1206: isnum(systime())');
|
||||
vrfy(isnum(usertime()), '1207: isnum(usertime())');
|
||||
|
||||
print '1208: Ending test_functions';
|
||||
/* more jacobi tests */
|
||||
vrfy(jacobi(987897,987) == 0, '1208: jacobi(987897,987) == 0');
|
||||
vrfy(jacobi(897,987) == 0, '1209: jacobi(897,987) == 0');
|
||||
vrfy(jacobi(987,897) == 0, '1210: jacobi(987,897) == 0');
|
||||
vrfy(jacobi(90,897) == 0, '1211: jacobi(90,897) == 0');
|
||||
vrfy(jacobi(45,897) == 0, '1212: jacobi(45,897) == 0');
|
||||
vrfy(jacobi(897,45) == 0, '1213: jacobi(897,45) == 0');
|
||||
vrfy(jacobi(42,45) == 0, '1214: jacobi(42,45) == 0');
|
||||
vrfy(jacobi(21,45) == 0, '1215: jacobi(21,45) == 0');
|
||||
vrfy(jacobi(45,21) == 0, '1216: jacobi(45,21) == 0');
|
||||
vrfy(jacobi(3,21) == 0, '1217: jacobi(3,21) == 0');
|
||||
vrfy(jacobi(0,21) == 0, '1218: jacobi(0,21) == 0');
|
||||
vrfy(jacobi(0,20003) == 0, '1219: jacobi(0,20003) == 0');
|
||||
vrfy(jacobi(1,20003) == 1, '1220: jacobi(1,20003) == 1');
|
||||
vrfy(jacobi(1236,20003) == 1, '1221: jacobi(1236,20003) == 1');
|
||||
vrfy(jacobi(618,20003) == -1, '1222: jacobi(618,20003) == -1');
|
||||
vrfy(jacobi(309,20003) == 1, '1223: jacobi(309,20003) == 1');
|
||||
vrfy(jacobi(227,309) == 1, '1224: jacobi(227,309) == 1');
|
||||
vrfy(jacobi(82,227) == 1, '1225: jacobi(82,227) == 1');
|
||||
vrfy(jacobi(41,227) == -1, '1226: jacobi(41,227) == -1');
|
||||
vrfy(jacobi(22,41) == -1, '1227: jacobi(22,41) == -1');
|
||||
vrfy(jacobi(11,41) == -1, '1228: jacobi(11,41) == -1');
|
||||
vrfy(jacobi(8,11) == -1, '1229: jacobi(8,11) == -1');
|
||||
vrfy(jacobi(4,11) == 1, '1230: jacobi(4,11) == 1');
|
||||
vrfy(jacobi(2,11) == -1, '1231: jacobi(2,11) == -1');
|
||||
vrfy(jacobi(1,11) == 1, '1232: jacobi(1,11) == 1');
|
||||
vrfy(jacobi(0,11) == 0, '1233: jacobi(0,11) == 0');
|
||||
vrfy(jacobi(0,0) == 0, '1234: jacobi(0,0) == 0');
|
||||
vrfy(jacobi(-1,0) == 0, '1235: jacobi(-1,0) == 0');
|
||||
vrfy(jacobi(-1,-1) == 0, '1236: jacobi(-1,-1) == 0');
|
||||
vrfy(jacobi(0,-1) == 0, '1237: jacobi(0,-1) == 0');
|
||||
|
||||
print '1238: Ending test_functions';
|
||||
}
|
||||
print '017: parsed test_functions()';
|
||||
|
||||
@@ -2706,11 +2738,24 @@ define test_2600()
|
||||
vrfy(log(1e127) == 127,
|
||||
strcat(str(tnum++), ': log(1e127)) == 127'));
|
||||
vrfy(round(log(17^47),10) == 57.8310993048,
|
||||
strcat(str(tnum++),
|
||||
': round(log(17^47),10) == 57.8310993048'));
|
||||
strcat(str(tnum++),
|
||||
': round(log(17^47),10) == 57.8310993048'));
|
||||
vrfy(round(log(127),10) == 2.103803721,
|
||||
strcat(str(tnum++),
|
||||
': round(log(127),10) == 2.103803721'));
|
||||
strcat(str(tnum++),
|
||||
': round(log(127),10) == 2.103803721'));
|
||||
vrfy(round(log(0.25,0.00001),5) == -0.60206,
|
||||
strcat(str(tnum++),
|
||||
': round(log(0.25,0.00001),5) == -0.60206'));
|
||||
vrfy(round(log(0.25,1e-10),10) == -0.6020599913,
|
||||
strcat(str(tnum++),
|
||||
': round(log(0.25,1e-10),10) == -0.6020599913'));
|
||||
vrfy(round( log(1.2+1.2i,1e-5),5) == 0.2297+0.34109i,
|
||||
strcat(str(tnum++),
|
||||
': round(log(1.2+1.2i,1e-5),5) == 0.2297+0.34109i'));
|
||||
vrfy(round( log(1.2+1.2i,1e-10),10) == 0.2296962439+0.3410940885i,
|
||||
strcat(str(tnum++),
|
||||
': round(log(1.2+1.2i,1e-10),10) == ',
|
||||
'0.2296962439+0.3410940885i'));
|
||||
epsilon(i),;
|
||||
print tnum++: ': epsilon(i),;';
|
||||
|
||||
|
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: solve.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: solve.cal,v 30.2 2008/05/10 13:30:00 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/solve.cal,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:50:37
|
||||
@@ -47,7 +47,7 @@ define solve(low, high, epsilon)
|
||||
if (abs(flow) < epsilon)
|
||||
return low;
|
||||
fhigh = f(high);
|
||||
if (abs(flow) < epsilon)
|
||||
if (abs(fhigh) < epsilon)
|
||||
return high;
|
||||
if (sgn(flow) == sgn(fhigh))
|
||||
quit "Non-opposite signs";
|
||||
|
6
calc.c
6
calc.c
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.3 $
|
||||
* @(#) $Id: calc.c,v 30.3 2007/07/15 02:03:42 chongo Exp $
|
||||
* @(#) $Revision: 30.4 $
|
||||
* @(#) $Id: calc.c,v 30.4 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:11
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
#if defined(_WIN32)
|
||||
# include <io.h>
|
||||
# if !defined(NOTCYGWIN)
|
||||
/*
|
||||
* getopt.h file is from the Cygwin GNU library
|
||||
*
|
||||
@@ -49,6 +50,7 @@
|
||||
* http://sources.redhat.com/cygwin/
|
||||
*/
|
||||
# include "../getopt/getopt.h"
|
||||
# endif
|
||||
# define strdup _strdup
|
||||
# define isatty _isatty
|
||||
#endif /* Windoz */
|
||||
|
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: comfunc.c,v 30.2 2007/07/11 23:05:49 chongo Exp $
|
||||
* @(#) $Revision: 30.3 $
|
||||
* @(#) $Id: comfunc.c,v 30.3 2008/10/24 07:09:41 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/comfunc.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:13
|
||||
@@ -556,7 +556,7 @@ c_log(COMPLEX *c, NUMBER *epsilon)
|
||||
if (cln_10_epsilon == NULL) {
|
||||
/* first time call */
|
||||
cln_10_epsilon = qcopy(epsilon);
|
||||
} else if (qcmp(cln_10_epsilon, epsilon) == FALSE) {
|
||||
} else if (qcmp(cln_10_epsilon, epsilon) == TRUE) {
|
||||
/* replaced cacheed value with epsilon arg */
|
||||
qfree(cln_10_epsilon);
|
||||
cln_10_epsilon = qcopy(epsilon);
|
||||
|
@@ -18,8 +18,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# @(#) $Revision: 30.14 $
|
||||
# @(#) $Id: Makefile.head,v 30.14 2007/09/06 08:08:39 chongo Exp $
|
||||
# @(#) $Revision: 30.20 $
|
||||
# @(#) $Id: Makefile.head,v 30.20 2008/10/23 00:13:44 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/custom/RCS/Makefile.head,v $
|
||||
#
|
||||
# Under source code control: 1997/03/09 02:28:54
|
||||
@@ -366,8 +366,8 @@ EXT=
|
||||
|
||||
# The default calc versions
|
||||
#
|
||||
VERSION= 2.12.2.1
|
||||
VERS= 2.12.2
|
||||
VERSION= 2.12.4.0
|
||||
VERS= 2.12.4
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
@@ -582,6 +582,8 @@ LIB_EXT_VERSION:= .${VERSION}${LIB_EXT}
|
||||
LIB_EXT_VERS:= .${VERS}${LIB_EXT}
|
||||
LIB_EXT_VER:= .${VER}${LIB_EXT}
|
||||
LIB_EXT_VE:= .${VE}${LIB_EXT}
|
||||
# LDCONFIG not required on this platform, so we redefine it to an empty string
|
||||
LDCONFIG:=
|
||||
# DARWIN_ARCH= -arch i386 -arch ppc # Universal binary
|
||||
# DARWIN_ARCH= -arch i386 # Intel binary
|
||||
# DARWIN_ARCH= -arch ppc # PPC binary
|
||||
@@ -632,6 +634,48 @@ MAKE= gmake
|
||||
#
|
||||
endif
|
||||
|
||||
##################
|
||||
# OpenBSD target #
|
||||
##################
|
||||
|
||||
########################################################################
|
||||
# NOTE: You MUST either use gmake (GNU Make) or you must try your luck #
|
||||
# with Makefile.simple and custom/Makefile.simple versions. #
|
||||
# See HOWTO.INSTALL for more information. #
|
||||
########################################################################
|
||||
|
||||
ifeq ($(target),OpenBSD)
|
||||
#
|
||||
BLD_TYPE= calc-dynamic-only
|
||||
#
|
||||
CC_SHARE= -fPIC
|
||||
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC=
|
||||
LD_STATIC=
|
||||
LIBCALC_STATIC=
|
||||
LIBCUSTCALC_STATIC=
|
||||
#
|
||||
CCWARN= -Wall
|
||||
CCWERR=
|
||||
CCOPT= ${DEBUG}
|
||||
CCMISC=
|
||||
#
|
||||
LCC= gcc
|
||||
CC= ${PURIFY} ${LCC} ${CCWERR}
|
||||
#
|
||||
MAKE= gmake
|
||||
#
|
||||
endif
|
||||
|
||||
################
|
||||
# SunOS target #
|
||||
################
|
||||
@@ -715,6 +759,52 @@ LDFLAGS= ${LD_DEBUG} ${ILDFLAGS} ${LIBCALC_STATIC} ${LIBCUSTCALC_STATIC}
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
endif
|
||||
|
||||
###################################################
|
||||
# MINGW32_NT-5.0 target #
|
||||
###################################################
|
||||
|
||||
|
||||
ifeq ($(target),MINGW32_NT-5.0)
|
||||
|
||||
EXT=.exe
|
||||
TERMCONTROL= -DUSE_WIN32
|
||||
ifdef ALLOW_CUSTOM
|
||||
#endif /* end of skip for non-Gnu makefiles */
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR}
|
||||
#if 0 /* start of skip for non-Gnu makefiles */
|
||||
else
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR}
|
||||
endif
|
||||
CALCRC= ${CALC_SHAREDIR}/startup;~/.calcrc;./.calcinit
|
||||
#
|
||||
BLD_TYPE= calc-static-only
|
||||
#
|
||||
CC_SHARE= -fPIC
|
||||
DEFAULT_LIB_INSTALL_PATH= ${PWD}:/lib:/usr/lib:${LIBDIR}:/usr/local/lib
|
||||
LD_SHARE= "-Wl,-rpath,${DEFAULT_LIB_INSTALL_PATH}" \
|
||||
"-Wl,-rpath-link,${DEFAULT_LIB_INSTALL_PATH}"
|
||||
LIBCALC_SHLIB= -shared "-Wl,-soname,libcalc${LIB_EXT_VERSION}"
|
||||
ifdef ALLOW_CUSTOM
|
||||
LIBCUSTCALC_SHLIB= -shared "-Wl,-soname,libcustcalc${LIB_EXT_VERSION}"
|
||||
else
|
||||
LIBCUSTCALC_SHLIB=
|
||||
endif
|
||||
#
|
||||
CC_STATIC= -DSTATIC_ONLY
|
||||
LIBCALC_STATIC=
|
||||
LIBCUSTCALC_STATIC=
|
||||
LD_STATIC=
|
||||
#
|
||||
CCWARN= -Wall -W -Wno-comment
|
||||
CCWERR=
|
||||
CCOPT= ${DEBUG}
|
||||
CCMISC= -DNOTCYGWIN
|
||||
#
|
||||
LCC= gcc
|
||||
CC= ${PURIFY} ${LCC} ${CCWERR}
|
||||
#
|
||||
endif
|
||||
|
||||
###################################################
|
||||
# default target - when no specific target exists #
|
||||
###################################################
|
||||
|
@@ -18,8 +18,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# @(#) $Revision: 30.14 $
|
||||
# @(#) $Id: Makefile.head,v 30.14 2007/09/06 08:08:39 chongo Exp $
|
||||
# @(#) $Revision: 30.20 $
|
||||
# @(#) $Id: Makefile.head,v 30.20 2008/10/23 00:13:44 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/custom/RCS/Makefile.head,v $
|
||||
#
|
||||
# Under source code control: 1997/03/09 02:28:54
|
||||
@@ -366,8 +366,8 @@ EXT=
|
||||
|
||||
# The default calc versions
|
||||
#
|
||||
VERSION= 2.12.2.1
|
||||
VERS= 2.12.2
|
||||
VERSION= 2.12.4.0
|
||||
VERS= 2.12.4
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
|
@@ -18,8 +18,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# @(#) $Revision: 30.14 $
|
||||
# @(#) $Id: Makefile.head,v 30.14 2007/09/06 08:08:39 chongo Exp $
|
||||
# @(#) $Revision: 30.20 $
|
||||
# @(#) $Id: Makefile.head,v 30.20 2008/10/23 00:13:44 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/custom/RCS/Makefile.head,v $
|
||||
#
|
||||
# Under source code control: 1997/03/09 02:28:54
|
||||
@@ -351,8 +351,8 @@ EXT=
|
||||
|
||||
# The default calc versions
|
||||
#
|
||||
VERSION= 2.12.2.1
|
||||
VERS= 2.12.2
|
||||
VERSION= 2.12.4.0
|
||||
VERS= 2.12.4
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
@@ -506,6 +506,7 @@ CFLAGS= ${ICFLAGS} ${CCOPT}
|
||||
ILDFLAGS= ${COMMON_LDFLAGS} ${LD_STATIC}
|
||||
LDFLAGS= ${LD_DEBUG} ${ILDFLAGS} ${LIBCALC_STATIC} ${LIBCUSTCALC_STATIC}
|
||||
#
|
||||
CALCPATH= .;./cal;~/.cal;${CALC_SHAREDIR};${CUSTOMCALDIR}
|
||||
|
||||
#######################################################################
|
||||
#-=-=-=-=-=- end of target section - only make rules below -=-=-=-=-=-#
|
||||
|
14
decl.h
14
decl.h
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: decl.h,v 30.2 2007/07/05 13:30:38 chongo Exp $
|
||||
* @(#) $Revision: 30.3 $
|
||||
* @(#) $Id: decl.h,v 30.3 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/decl.h,v $
|
||||
*
|
||||
* Under source code control: 2007/02/09 05:24:25
|
||||
@@ -62,10 +62,14 @@
|
||||
|
||||
|
||||
/* determine which type of DLL we must generate */
|
||||
# if defined(_EXPORTING)
|
||||
# define DLL __declspec(dllexport)
|
||||
# if !defined(STATIC_ONLY)
|
||||
# if defined(_EXPORTING)
|
||||
# define DLL __declspec(dllexport)
|
||||
# else
|
||||
# define DLL __declspec(dllimport)
|
||||
# endif
|
||||
# else
|
||||
# define DLL __declspec(dllimport)
|
||||
# define DLL
|
||||
# endif
|
||||
|
||||
/* variable related macros */
|
||||
|
6
func.c
6
func.c
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: func.c,v 30.2 2007/07/05 17:37:41 chongo Exp $
|
||||
* @(#) $Revision: 30.3 $
|
||||
* @(#) $Id: func.c,v 30.3 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/func.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:15
|
||||
@@ -5721,7 +5721,9 @@ f_fflush(int count, VALUE **vals)
|
||||
i = 0;
|
||||
errno = 0;
|
||||
if (count == 0) {
|
||||
#if !defined(_WIN32)
|
||||
i = flushall();
|
||||
#endif /* Windoz free systems */
|
||||
} else {
|
||||
for (n = 0; n < count; n++) {
|
||||
if (vals[n]->v_type != V_FILE)
|
||||
|
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: have_offscl.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: have_offscl.c,v 30.2 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/have_offscl.c,v $
|
||||
*
|
||||
* Under source code control: 1996/07/13 12:57:22
|
||||
@@ -66,9 +66,11 @@ main(void)
|
||||
if (value > (off_t)1) {
|
||||
--value;
|
||||
}
|
||||
#if !defined(_WIN32)
|
||||
if (value <= (off_t)getppid()) {
|
||||
--value;
|
||||
}
|
||||
#endif
|
||||
if (value == value2) {
|
||||
value += value2;
|
||||
}
|
||||
|
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: have_posscl.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: have_posscl.c,v 30.2 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/have_posscl.c,v $
|
||||
*
|
||||
* Under source code control: 1996/07/13 12:57:22
|
||||
@@ -66,9 +66,11 @@ main(void)
|
||||
if (value > (FILEPOS)1) {
|
||||
--value;
|
||||
}
|
||||
#if !defined(_WIN32)
|
||||
if (value <= (FILEPOS)getppid()) {
|
||||
--value;
|
||||
}
|
||||
#endif
|
||||
if (value == value2) {
|
||||
value += value2;
|
||||
}
|
||||
|
6
help/sgn
6
help/sgn
@@ -1,5 +1,5 @@
|
||||
NAME
|
||||
sign - indicator of sign of a real or complex number
|
||||
sgn - indicator of sign of a real or complex number
|
||||
|
||||
SYNOPSIS
|
||||
sgn(x)
|
||||
@@ -55,8 +55,8 @@ SEE ALSO
|
||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
##
|
||||
## @(#) $Revision: 30.1 $
|
||||
## @(#) $Id: sgn,v 30.1 2007/03/16 11:10:42 chongo Exp $
|
||||
## @(#) $Revision: 30.2 $
|
||||
## @(#) $Id: sgn,v 30.2 2008/05/10 13:23:57 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/sgn,v $
|
||||
##
|
||||
## Under source code control: 1995/10/25 04:03:46
|
||||
|
@@ -224,6 +224,12 @@ Unexpected
|
||||
|
||||
and increments x three times.
|
||||
|
||||
In an other example, this expression:
|
||||
|
||||
1<<8/2
|
||||
|
||||
evalues to 128, not 16, because <<8 is performed before the /2.
|
||||
|
||||
|
||||
&A[0] and A are different things in calc
|
||||
========================================
|
||||
@@ -414,8 +420,8 @@ Unexpected
|
||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
##
|
||||
## @(#) $Revision: 30.3 $
|
||||
## @(#) $Id: unexpected,v 30.3 2007/09/08 02:48:45 chongo Exp $
|
||||
## @(#) $Revision: 30.4 $
|
||||
## @(#) $Id: unexpected,v 30.4 2008/05/10 13:18:09 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/unexpected,v $
|
||||
##
|
||||
## Under source code control: 1997/03/21 13:15:18
|
||||
|
17
input.c
17
input.c
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: input.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: input.c,v 30.2 2008/04/15 21:17:57 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/input.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:16
|
||||
@@ -37,6 +37,8 @@
|
||||
#include <ctype.h>
|
||||
#if !defined(_WIN32)
|
||||
# include <pwd.h>
|
||||
#else
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
@@ -971,17 +973,14 @@ isinoderead(struct stat *sbuf)
|
||||
/* scan the entire readset */
|
||||
for (i=0; i < maxreadset; ++i) {
|
||||
#if defined(_WIN32) || defined(__MSDOS__)
|
||||
tmp = _fullpath(NULL, cip->i_name, _MAX_PATH);
|
||||
if (readset[i].active &&
|
||||
tmp != NULL &&
|
||||
char tmp[_MAX_PATH+1];
|
||||
tmp[_MAX_PATH] = '\0';
|
||||
if (_fullpath(tmp, cip->i_name, _MAX_PATH) &&
|
||||
readset[i].active &&
|
||||
strcasecmp(readset[i].path, tmp) == 0) {
|
||||
/* found a match */
|
||||
free(tmp);
|
||||
return i;
|
||||
}
|
||||
if (tmp != NULL) {
|
||||
free(tmp);
|
||||
}
|
||||
#else /* Windoz free systems */
|
||||
if (readset[i].active &&
|
||||
sbuf->st_dev == readset[i].inode.st_dev &&
|
||||
|
21
math_error.c
21
math_error.c
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: math_error.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: math_error.c,v 30.2 2008/10/24 09:49:20 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/math_error.c,v $
|
||||
*
|
||||
* Under source code control: 1994/08/03 05:08:22
|
||||
@@ -93,6 +93,8 @@ math_error(char *fmt, ...)
|
||||
* if we should longjmp, so do
|
||||
*/
|
||||
if (calc_use_matherr_jmpbuf != 0) {
|
||||
if (conf->calc_debug & CALCDBG_RUNSTATE)
|
||||
printf("math_error: longjmp calc_matherr_jmpbuf\n");
|
||||
longjmp(calc_matherr_jmpbuf, calc_use_matherr_jmpbuf);
|
||||
}
|
||||
|
||||
@@ -102,6 +104,21 @@ math_error(char *fmt, ...)
|
||||
(void) fflush(stdout);
|
||||
(void) fflush(stderr);
|
||||
fprintf(stderr, "%s\n\n", calc_err_msg);
|
||||
|
||||
/*
|
||||
* if interactive, return to main via longjmp()
|
||||
*/
|
||||
if (calc_use_scanerr_jmpbuf != 0) {
|
||||
if (conf->calc_debug & CALCDBG_RUNSTATE)
|
||||
printf("math_error: longjmp calc_scanerr_jmpbuf\n");
|
||||
longjmp(calc_scanerr_jmpbuf, calc_use_scanerr_jmpbuf);
|
||||
}
|
||||
|
||||
/*
|
||||
* exit
|
||||
*/
|
||||
if (conf->calc_debug & CALCDBG_RUNSTATE)
|
||||
printf("math_error: about to exit\n");
|
||||
libcalc_call_me_last();
|
||||
exit(40);
|
||||
}
|
||||
|
14
opcodes.c
14
opcodes.c
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: opcodes.c,v 30.2 2007/07/10 21:18:08 chongo Exp $
|
||||
* @(#) $Revision: 30.4 $
|
||||
* @(#) $Id: opcodes.c,v 30.4 2008/05/10 13:51:32 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/opcodes.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:19
|
||||
@@ -3120,8 +3120,18 @@ o_printresult(void)
|
||||
VALUE *vp;
|
||||
|
||||
vp = stack;
|
||||
|
||||
/* firewall */
|
||||
if (vp == NULL)
|
||||
return;
|
||||
|
||||
if (vp->v_type == V_ADDR)
|
||||
vp = vp->v_addr;
|
||||
|
||||
/* firewall */
|
||||
if (vp == NULL)
|
||||
return;
|
||||
|
||||
if (vp->v_type != V_NULL) {
|
||||
if (conf->tab_ok)
|
||||
math_chr('\t');
|
||||
|
6
qtrans.c
6
qtrans.c
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: qtrans.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: qtrans.c,v 30.2 2008/10/24 07:09:41 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/qtrans.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:22
|
||||
@@ -1062,7 +1062,7 @@ qlog(NUMBER *q, NUMBER *epsilon)
|
||||
if (ln_10_epsilon == NULL) {
|
||||
/* first time call */
|
||||
ln_10_epsilon = qcopy(epsilon);
|
||||
} else if (qcmp(ln_10_epsilon, epsilon) == FALSE) {
|
||||
} else if (qcmp(ln_10_epsilon, epsilon) == TRUE) {
|
||||
/* replaced cacheed value with epsilon arg */
|
||||
qfree(ln_10_epsilon);
|
||||
ln_10_epsilon = qcopy(epsilon);
|
||||
|
11
rpm.mk
11
rpm.mk
@@ -19,8 +19,8 @@
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
MAKEFILE_REV= $$Revision: 30.4 $$
|
||||
# @(#) $Id: rpm.mk,v 30.4 2007/10/16 12:22:22 chongo Exp $
|
||||
MAKEFILE_REV= $$Revision: 30.5 $$
|
||||
# @(#) $Id: rpm.mk,v 30.5 2008/10/24 08:44:00 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/RCS/rpm.mk,v $
|
||||
#
|
||||
# Under source code control: 2003/02/16 20:21:39
|
||||
@@ -53,6 +53,7 @@ EGREP= egrep
|
||||
MKDIR= mkdir
|
||||
GREP= grep
|
||||
SORT= sort
|
||||
CHMOD= chmod
|
||||
|
||||
# rpm-related parameters
|
||||
#
|
||||
@@ -116,6 +117,12 @@ srcpkg: make_rhdir
|
||||
${EGREP} -v '/old[._-]|\.old$$|\.tar\.gz$$|/ver_calc$$' | \
|
||||
LANG=C ${SORT} | \
|
||||
${CPIO} -dumpv "$(TMPDIR)/$(PROJECT)"
|
||||
${RM} -f "$(TMPDIR)/$(PROJECT)/Makefile"
|
||||
${SED} -e 's/^CCWERR=[ ]*-Werror/CCWERR=/' \
|
||||
-e 's/^#.*CCWERR=.*-Werror$$/#/' \
|
||||
-e 's/^CHECK= check/CHECK= true/' \
|
||||
Makefile > "$(TMPDIR)/$(PROJECT)/Makefile"
|
||||
${CHMOD} 0444 "$(TMPDIR)/$(PROJECT)/Makefile"
|
||||
(cd "$(TMPDIR)"; ${TAR} cf - "$(PROJECT)") | \
|
||||
${BZIP2_PROG} --best -c -z > "$(RPMDIR)/SOURCES/$(TARBALL)"
|
||||
${RM} -fr "$(TMPDIR)/$(PROJECT)"
|
||||
|
8
value.c
8
value.c
@@ -17,8 +17,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.3 $
|
||||
* @(#) $Id: value.c,v 30.3 2007/07/11 23:09:01 chongo Exp $
|
||||
* @(#) $Revision: 30.4 $
|
||||
* @(#) $Id: value.c,v 30.4 2008/05/10 13:44:28 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/value.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:25
|
||||
@@ -179,6 +179,10 @@ protecttodepth(VALUE *vp, int sts, int depth)
|
||||
void
|
||||
copyvalue(VALUE *oldvp, VALUE *newvp)
|
||||
{
|
||||
/* firewall */
|
||||
if (oldvp == NULL)
|
||||
return;
|
||||
|
||||
newvp->v_type = oldvp->v_type;
|
||||
if (oldvp->v_type >= 0) {
|
||||
switch (oldvp->v_type) {
|
||||
|
22
version.c
22
version.c
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.5 $
|
||||
* @(#) $Id: version.c,v 30.5 2007/10/16 12:22:22 chongo Exp $
|
||||
* @(#) $Revision: 30.10 $
|
||||
* @(#) $Id: version.c,v 30.10 2008/10/24 09:55:12 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/version.c,v $
|
||||
*
|
||||
* Under source code control: 1990/05/22 11:00:58
|
||||
@@ -48,8 +48,8 @@ static char *program;
|
||||
|
||||
#define MAJOR_VER 2 /* major library version */
|
||||
#define MINOR_VER 12 /* minor library version */
|
||||
#define MAJOR_PATCH 2 /* major software level under library version */
|
||||
#define MINOR_PATCH 2 /* minor software level or 0 if none */
|
||||
#define MAJOR_PATCH 4 /* major software level under library version */
|
||||
#define MINOR_PATCH 0 /* minor software level or 0 if not patched */
|
||||
|
||||
|
||||
/*
|
||||
@@ -103,8 +103,6 @@ char *Copyright = "\n"
|
||||
* string does not contain the title, just:
|
||||
*
|
||||
* x.y.z.w
|
||||
* x.y.z
|
||||
* x.y
|
||||
*/
|
||||
char *
|
||||
version(void)
|
||||
@@ -121,15 +119,9 @@ version(void)
|
||||
/*
|
||||
* form the version buffer
|
||||
*/
|
||||
if (MINOR_PATCH > 0) {
|
||||
snprintf(verbuf, BUFSIZ,
|
||||
"%d.%d.%d.%d", calc_major_ver, calc_minor_ver,
|
||||
calc_major_patch, calc_minor_patch);
|
||||
} else {
|
||||
snprintf(verbuf, BUFSIZ,
|
||||
"%d.%d.%d", calc_major_ver,
|
||||
calc_minor_ver, calc_major_patch);
|
||||
}
|
||||
snprintf(verbuf, BUFSIZ,
|
||||
"%d.%d.%d.%d", calc_major_ver, calc_minor_ver,
|
||||
calc_major_patch, calc_minor_patch);
|
||||
|
||||
/*
|
||||
* save the versions string into a newly malloced buffer
|
||||
|
49
zfunc.c
49
zfunc.c
@@ -19,8 +19,8 @@
|
||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @(#) $Revision: 30.1 $
|
||||
* @(#) $Id: zfunc.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
||||
* @(#) $Revision: 30.2 $
|
||||
* @(#) $Id: zfunc.c,v 30.2 2008/02/24 07:41:49 chongo Exp $
|
||||
* @(#) $Source: /usr/local/src/cmd/calc/RCS/zfunc.c,v $
|
||||
*
|
||||
* Under source code control: 1990/02/15 01:48:27
|
||||
@@ -374,12 +374,28 @@ zcomb(ZVALUE z1, ZVALUE z2, ZVALUE *res)
|
||||
|
||||
|
||||
/*
|
||||
* Compute the Jacobi function (p / q) for odd q.
|
||||
* If q is prime then the result is:
|
||||
* 1 if p == x^2 (mod q) for some x.
|
||||
* -1 otherwise.
|
||||
* If q is not prime, then the result is not meaningful if it is 1.
|
||||
* This function returns 0 if q is even or q < 0.
|
||||
* Compute the Jacobi function (m / n) for odd n.
|
||||
*
|
||||
* The property of the Jacobi function is: If n>2 is prime then
|
||||
*
|
||||
* the result is 1 if m == x^2 (mod n) for some x.
|
||||
* otherwise the result is -1.
|
||||
*
|
||||
* If n is not prime, then the result does not prove that n is not prine
|
||||
* when the value of the Jacobi is 1.
|
||||
*
|
||||
* Jacobi evaluation of (m / n), where n > 0 is odd AND m > 0 is odd:
|
||||
*
|
||||
* rule 0: (0 / n) == 0
|
||||
* rule 1: (1 / n) == 1
|
||||
* rule 2: (m / n) == (a / n) if m == a % n
|
||||
* rule 3: (m / n) == (2*m / n) if n == 1 % 8 OR n == 7 % 8
|
||||
* rule 4: (m / n) == -(2*m / n) if n != 1 & 8 AND n != 7 % 8
|
||||
* rule 5: (m / n) == (n / m) if m == 3 % 4 AND n == 3 % 4
|
||||
* rule 6: (m / n) == -(n / m) if m != 3 % 4 OR n != 3 % 4
|
||||
*
|
||||
* NOTE: This function returns 0 in invalid Jacobi parameters:
|
||||
* m < 0 OR n is even OR n < 1.
|
||||
*/
|
||||
FLAG
|
||||
zjacobi(ZVALUE z1, ZVALUE z2)
|
||||
@@ -388,16 +404,16 @@ zjacobi(ZVALUE z1, ZVALUE z2)
|
||||
long lowbit;
|
||||
int val;
|
||||
|
||||
/* firewall */
|
||||
if (ziszero(z1) || zisneg(z1))
|
||||
return 0;
|
||||
if (ziseven(z2) || zisneg(z2))
|
||||
return 0;
|
||||
|
||||
/* assume a value of 1 unless we find otherwise */
|
||||
if (zisone(z1))
|
||||
return 1;
|
||||
val = 1;
|
||||
if (ziszero(z1) || zisone(z1))
|
||||
return val;
|
||||
if (zisunit(z1)) {
|
||||
if ((*z2.v - 1) & 0x2)
|
||||
val = -val;
|
||||
return val;
|
||||
}
|
||||
zcopy(z1, &p);
|
||||
zcopy(z2, &q);
|
||||
for (;;) {
|
||||
@@ -406,7 +422,8 @@ zjacobi(ZVALUE z1, ZVALUE z2)
|
||||
p = tmp;
|
||||
if (ziszero(p)) {
|
||||
zfree(p);
|
||||
p = _one_;
|
||||
zfree(q);
|
||||
return 0;
|
||||
}
|
||||
if (ziseven(p)) {
|
||||
lowbit = zlowbit(p);
|
||||
|
Reference in New Issue
Block a user