mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
Release calc version 2.12.3.0
This commit is contained in:
28
CHANGES
28
CHANGES
@@ -1,4 +1,26 @@
|
||||
The following are the changes from calc version 2.12.1.1 to date:
|
||||
The following are the changes from calc version 2.12.3.0 to date:
|
||||
|
||||
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.
|
||||
|
||||
|
||||
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 +6717,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.13 $
|
||||
## @(#) $Id: CHANGES,v 30.13 2008/02/24 07:58:36 chongo Exp $
|
||||
## @(#) $Source: /usr/local/src/cmd/calc/RCS/CHANGES,v $
|
||||
##
|
||||
## Under source code control: 1993/06/02 18:12:57
|
||||
|
71
Makefile
71
Makefile
@@ -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.27 $$
|
||||
# @(#) $Id: Makefile.ship,v 30.27 2008/02/24 07:58:36 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/RCS/Makefile.ship,v $
|
||||
#
|
||||
# Under source code control: 1990/02/15 01:48:41
|
||||
@@ -984,8 +984,8 @@ EXT=
|
||||
|
||||
# The default calc versions
|
||||
#
|
||||
VERSION= 2.12.2.2
|
||||
VERS= 2.12.2
|
||||
VERSION= 2.12.3.0
|
||||
VERS= 2.12.3
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
@@ -1243,6 +1243,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 #
|
||||
################
|
||||
@@ -1847,7 +1889,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 +1907,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 +1935,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 +3071,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; \
|
||||
@@ -4148,17 +4192,18 @@ 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
|
||||
@@ -4166,7 +4211,7 @@ clobber: custom/Makefile clean
|
||||
${RM} -f Makefile.simple
|
||||
${RM} -f 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
|
||||
|
@@ -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.27 $$
|
||||
# @(#) $Id: Makefile.ship,v 30.27 2008/02/24 07:58:36 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/RCS/Makefile.ship,v $
|
||||
#
|
||||
# Under source code control: 1990/02/15 01:48:41
|
||||
@@ -961,8 +961,8 @@ EXT=
|
||||
|
||||
# The default calc versions
|
||||
#
|
||||
VERSION= 2.12.2.2
|
||||
VERS= 2.12.2
|
||||
VERSION= 2.12.3.0
|
||||
VERS= 2.12.3
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
@@ -1551,7 +1551,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 +1569,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 +1597,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 +2727,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; \
|
||||
@@ -3808,21 +3810,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
|
||||
|
@@ -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.4 $
|
||||
* @(#) $Id: regress.cal,v 30.4 2008/02/24 07:41:49 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()';
|
||||
|
||||
|
@@ -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.16 $
|
||||
# @(#) $Id: Makefile.head,v 30.16 2008/02/24 07:58:36 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.3.0
|
||||
VERS= 2.12.3
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
@@ -632,6 +632,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 #
|
||||
################
|
||||
|
@@ -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.16 $
|
||||
# @(#) $Id: Makefile.head,v 30.16 2008/02/24 07:58:36 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.3.0
|
||||
VERS= 2.12.3
|
||||
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.16 $
|
||||
# @(#) $Id: Makefile.head,v 30.16 2008/02/24 07:58:36 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.3.0
|
||||
VERS= 2.12.3
|
||||
VER= 2.12
|
||||
VE= 2
|
||||
|
||||
|
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.6 $
|
||||
* @(#) $Id: version.c,v 30.6 2008/02/24 07:58:36 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 3 /* 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