mirror of
https://github.com/lcn2/calc.git
synced 2025-08-22 01:23:28 +03:00
Compare commits
49 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
1cdb5172d8 | ||
|
54a7a3f7bc | ||
|
2ea77e6151 | ||
|
5cfa6199e5 | ||
|
da6ccc146f | ||
|
fcfe237375 | ||
|
5fb3db4558 | ||
|
c8705c1198 | ||
|
0558bafcb6 | ||
|
f58277f53d | ||
|
e555a718c0 | ||
|
b29fcf2dd5 | ||
|
4f86703843 | ||
|
07d8bf0f3e | ||
|
b4cd692bae | ||
|
83c898cc2b | ||
|
c585d7aa78 | ||
|
f42a003d04 | ||
|
8da0471f07 | ||
|
1c20261b93 | ||
|
aeb9a9d473 | ||
|
66883b390d | ||
|
ea533659ce | ||
|
9e81971f25 | ||
|
cbbd866535 | ||
|
bf23f82c29 | ||
|
ec5c584785 | ||
|
6bbb8c0e42 | ||
|
438554b0ed | ||
|
61ba4bc5c8 | ||
|
0145883396 | ||
|
f91bfaab70 | ||
|
36ab4fdc1b | ||
|
1cd89398ad | ||
|
bd3a381783 | ||
|
618f42c960 | ||
|
1363b58060 | ||
|
2c659f40ff | ||
|
4c243a69fe | ||
|
f80eee7a09 | ||
|
a044b9325b | ||
|
c028ea478f | ||
|
62bdba6d22 | ||
|
4d9511243c | ||
|
188fd372ea | ||
|
44ffb0eec9 | ||
|
beb13bf89f | ||
|
a31078bbec | ||
|
7ae4f4009c |
100
.gitignore
vendored
Normal file
100
.gitignore
vendored
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
# files and directories created during the building of calc and other Makefile actions
|
||||||
|
#
|
||||||
|
# NOTE: While many of these might be part of a released calc tarball, they are
|
||||||
|
# not consider development source. Some other file(s) and/or programs
|
||||||
|
# generate these files.
|
||||||
|
#
|
||||||
|
.dynamic
|
||||||
|
.hsrc
|
||||||
|
Makefile.simple
|
||||||
|
NOTES
|
||||||
|
align32.h
|
||||||
|
args.h
|
||||||
|
cal/.all
|
||||||
|
calc
|
||||||
|
calc.1
|
||||||
|
calc.usage
|
||||||
|
calcerr.c
|
||||||
|
calcerr.h
|
||||||
|
conf.h
|
||||||
|
cscript/.all
|
||||||
|
cscript/4dsphere
|
||||||
|
cscript/README
|
||||||
|
cscript/fproduct
|
||||||
|
cscript/mersenne
|
||||||
|
cscript/piforever
|
||||||
|
cscript/plus
|
||||||
|
cscript/powerterm
|
||||||
|
cscript/simple
|
||||||
|
cscript/square
|
||||||
|
custom/.all
|
||||||
|
custom/Makefile.simple
|
||||||
|
custom/libcustcalc*
|
||||||
|
endian
|
||||||
|
endian_calc.h
|
||||||
|
fposval.h
|
||||||
|
have_const.h
|
||||||
|
have_fpos.h
|
||||||
|
have_fpos_pos.h
|
||||||
|
have_getpgid.h
|
||||||
|
have_getprid.h
|
||||||
|
have_getsid.h
|
||||||
|
have_gettime.h
|
||||||
|
have_memmv.h
|
||||||
|
have_newstr.h
|
||||||
|
have_offscl.h
|
||||||
|
have_posscl.h
|
||||||
|
have_rusage.h
|
||||||
|
have_stdlib.h
|
||||||
|
have_stdvs
|
||||||
|
have_strdup.h
|
||||||
|
have_string.h
|
||||||
|
have_times.h
|
||||||
|
have_uid_t.h
|
||||||
|
have_unistd.h
|
||||||
|
have_unused.h
|
||||||
|
have_urandom.h
|
||||||
|
have_ustat.h
|
||||||
|
help/.all
|
||||||
|
help/COPYING
|
||||||
|
help/COPYING-LGPL
|
||||||
|
help/binding
|
||||||
|
help/bindings
|
||||||
|
help/bug
|
||||||
|
help/bugs
|
||||||
|
help/builtin
|
||||||
|
help/change
|
||||||
|
help/changes
|
||||||
|
help/copy
|
||||||
|
help/cscript
|
||||||
|
help/custom_cal
|
||||||
|
help/errorcode
|
||||||
|
help/errorcodes
|
||||||
|
help/full
|
||||||
|
help/funclist
|
||||||
|
help/funclist.c
|
||||||
|
help/libcalc
|
||||||
|
help/man
|
||||||
|
help/new_custom
|
||||||
|
help/resource
|
||||||
|
help/type
|
||||||
|
help/usage
|
||||||
|
libcalc*
|
||||||
|
libcustcalc*
|
||||||
|
longbits
|
||||||
|
longbits.h
|
||||||
|
sample_many
|
||||||
|
sample_rand
|
||||||
|
terminal.h
|
||||||
|
ver_calc
|
||||||
|
|
||||||
|
# other commonly excluded patterns
|
||||||
|
#
|
||||||
|
*~
|
||||||
|
*.BAK
|
||||||
|
core*
|
||||||
|
.DS_Store
|
||||||
|
*.dSYM/
|
||||||
|
*.[oa]
|
||||||
|
.*.swp
|
||||||
|
*,v
|
4
BUGS
4
BUGS
@@ -176,10 +176,6 @@ To subscribe to the calc-tester mailing list, visit the following URL:
|
|||||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
##
|
##
|
||||||
## @(#) $Revision: 30.5 $
|
|
||||||
## @(#) $Id: BUGS,v 30.5 2014/10/12 12:23:43 chongo Exp $
|
|
||||||
## @(#) $Source: /usr/local/src/bin/calc/RCS/BUGS,v $
|
|
||||||
##
|
|
||||||
## Under source code control: 1994/03/18 14:06:13
|
## Under source code control: 1994/03/18 14:06:13
|
||||||
## File existed as early as: 1994
|
## File existed as early as: 1994
|
||||||
##
|
##
|
||||||
|
339
CHANGES
339
CHANGES
@@ -1,12 +1,208 @@
|
|||||||
The following are the changes from calc version 2.12.5.6 to date:
|
The following are the changes from calc version 2.12.6.10 to date:
|
||||||
|
|
||||||
Fixed a crash that showed up on Mac OS that was reported
|
Added a patch to replaces the manual search for include files
|
||||||
by Richard Outerbridge <outer at interlog dot com> and
|
in $(INCDIR) in the have_*.h targets with compiler invocations.
|
||||||
fixed by Stuart Henderson <stu at spacehopper dot org>.
|
Thanks goes to Helmut Grohne <helmut at subdivi dot de> who
|
||||||
Thanks goes to both!
|
implemented the patch and posted it to the Debian bug tracker
|
||||||
|
and Martin Buck (m at rtin-buck dor de) for forwarding it to us.
|
||||||
|
|
||||||
|
The check_include make rule was fixed to not assume /usr/include.
|
||||||
|
|
||||||
|
The qprintnum() function now takes outdigits as a 3rd argument.
|
||||||
|
Most of the time, this 3rd argument is just conf->outdigits.
|
||||||
|
But when it comes to the experimental '%g', this value can
|
||||||
|
change. This avoids having to modify conf->outdigits.
|
||||||
|
|
||||||
|
|
||||||
The following are the changes from calc version 2.12.5.4 to 2.12.5.5:
|
The following are the changes from calc version 2.12.6.9 to 2.12.6.9:
|
||||||
|
|
||||||
|
Fixed a number of core dump bugs related to the calculation of
|
||||||
|
tan(), cot(), sec(), csc(), tanh(), coth(), sech(), and csch(),
|
||||||
|
asin(), acos(), asinh(), acosh(), where when a call to an
|
||||||
|
underlying function produced an invalid value. Thanks goes to
|
||||||
|
github user wuxiuheng for reporting this problem.
|
||||||
|
|
||||||
|
A number of trigonometric and hyperbolic functions that incorrectly
|
||||||
|
returned E_LOGINF, now return a new error code that is more
|
||||||
|
specific to the trigonometric or hyperbolic function. The
|
||||||
|
following is a list of these new error codes: E_TAN3 E_TAN4
|
||||||
|
E_COT3 E_COT4 E_SEC3 E_CSC3 E_TANH3 E_TANH4 E_COTH3 E_COTH4
|
||||||
|
E_SECH3 E_CSCH3 E_ASIN3 E_ACOS3 E_ASINH3 E_ACOSH3 E_ATAN3 E_ACOT3
|
||||||
|
E_ASEC3 E_ACSC3 E_ATANH3 E_ACOTH3 E_ASECH3 E_ACSCH3.
|
||||||
|
|
||||||
|
Added regression tests 3729 thru 3732 to test E_TAN3, E_COT3,
|
||||||
|
E_SEC3 and E_CSC3 respectively.
|
||||||
|
|
||||||
|
Added experimential %g printf (and strprintf) format implementation
|
||||||
|
based on pull request from github user 10110111.
|
||||||
|
|
||||||
|
Made exterimental changes to macOS builds to not require use of
|
||||||
|
/usr/include. The INCDIR for macOS uses:
|
||||||
|
|
||||||
|
INCDIR= $(shell xcrun --show-sdk-path --sdk macosx)/usr/include
|
||||||
|
|
||||||
|
to determine the upper path of the /usr/include directory for macOS.
|
||||||
|
The Darwin target seems to not automatically detected. For now,
|
||||||
|
under macOS, declare the target as darwin:
|
||||||
|
|
||||||
|
# for macOS users only, force the target to be darwin
|
||||||
|
#
|
||||||
|
make target=Darwin clobber
|
||||||
|
make target=Darwin all
|
||||||
|
make target=Darwin chk
|
||||||
|
make target=Darwin install
|
||||||
|
|
||||||
|
|
||||||
|
The following are the changes from calc version 2.12.6.6 to 2.12.6.8:
|
||||||
|
|
||||||
|
For historical purposes, in lucas.cal, gen_v1(1, n) always returns 4.
|
||||||
|
|
||||||
|
Fixed some compiler warnings, thanks to a report by Mike
|
||||||
|
<michael dot d dot ince at gmail dot com>.
|
||||||
|
|
||||||
|
Added work around for a gcc warning bug, thanks to a report by Mike
|
||||||
|
<michael dot d dot ince at gmail dot com>.
|
||||||
|
|
||||||
|
Fixed errors in various help files such as:
|
||||||
|
|
||||||
|
mat randbit seed srandom types
|
||||||
|
|
||||||
|
Removed the MAXSTRING symbol because it was no longer used by calc.
|
||||||
|
|
||||||
|
Increased HIST_SIZE (depth of the history stack) from 10k to 32k.
|
||||||
|
|
||||||
|
Increased TTYSIZE (reallocation size for terminal buffers) from 100 to 8191.
|
||||||
|
|
||||||
|
Increased MAXDEPTH (maximum depth of input stack) from 10 to 255.
|
||||||
|
|
||||||
|
Increased interactive input buffer size from 1024 to 256k. This has the
|
||||||
|
effect of increasing the maximum length of an input line from a tty.
|
||||||
|
This helps with an interactive bug that was reported by Ruslan Kabatsayev
|
||||||
|
(b7 dot 10110111 at gmail dot com).
|
||||||
|
|
||||||
|
The calc man page indicates that -d also disables the printing of the
|
||||||
|
leading tilde.
|
||||||
|
|
||||||
|
Added information to "help command" about how to silence messages
|
||||||
|
while reading calc resource files.
|
||||||
|
|
||||||
|
Fixed an error message buffer overflow thanks to a report by
|
||||||
|
Frank Peters <nlp at northernlightsphoto dot biz>.
|
||||||
|
|
||||||
|
Replaced all use of the C funcion sprintf() with snprintf().
|
||||||
|
Replaced all use of the C funcion vsprintf() with vsnprintf().
|
||||||
|
Replaced all DONT_HAVE_VSPRINTF with DONT_HAVE_VSNPRINTF.
|
||||||
|
Replaced all Makefile var ${HAVE_VSPRINTF} with ${HAVE_VSNPRINTF}.
|
||||||
|
|
||||||
|
|
||||||
|
The following are the changes from calc version 2.12.6.4 to 2.12.6.5:
|
||||||
|
|
||||||
|
Fixed warning about undefined operations involving the qlink(q)
|
||||||
|
macro by replacing that macro with an inline-function. Thanks goes
|
||||||
|
to David Haller <dnh at opensuse dot org> for this fix.
|
||||||
|
|
||||||
|
NOTE for Windows 10 users: Pavel Nemec <pane at seznam dot cz>
|
||||||
|
reported that calc version 2.12.6.4 has been successfully
|
||||||
|
compiled, installed and running on Windows 10. See README.WINDOWS
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
|
||||||
|
The following are the changes from calc version 2.12.6.1 to 2.12.6.3:
|
||||||
|
|
||||||
|
Improved gen_v1(h,n) in lucas.cal to use an even faster search method.
|
||||||
|
|
||||||
|
Improved are checking in lucas.cal. In particular both h and n must be
|
||||||
|
integers >= 1. In the case of both rodseth_xhn(x, h, n) and gen_v1(h, n)
|
||||||
|
h must be odd.
|
||||||
|
|
||||||
|
Fixed an C code indenting issue that was reported by Thomas Walter
|
||||||
|
<th dot walter42 at gmx dot de> in zfunc.c.
|
||||||
|
|
||||||
|
Fixed a man page warning about ./myfile where the leading dot
|
||||||
|
was mistook for an nroff macro. Thanks goes to David Haller
|
||||||
|
<dnh at opensuse dot org> for providing the patch.
|
||||||
|
|
||||||
|
Improved gen_v1(h,n) in lucas.cal for cases where h is not a
|
||||||
|
multiple of 3. Optimized the search for v(1) when h is a
|
||||||
|
multiple of 3.
|
||||||
|
|
||||||
|
Fixed a Makefile problem, reported by Doug Hays <doughays6 at gmail
|
||||||
|
dot com>, where if a macOS user set BINDIR, LIBDIR, CALC_SHAREDIR
|
||||||
|
or INCDIR in the top section, their values will be overwritten by
|
||||||
|
the Darwin specific section.
|
||||||
|
|
||||||
|
|
||||||
|
The following are the changes from calc version 2.12.6.0 to 2.12.6.0:
|
||||||
|
|
||||||
|
Added the makefile variable ${COMMON_ADD} that will add flags
|
||||||
|
to all compile and link commands. The ${COMMON_ADD} flags are
|
||||||
|
appended to both ${COMMON_CFLAGS} and ${COMMON_LDFLAGS}. This
|
||||||
|
facility is available to nearly all platforms except those with
|
||||||
|
very old make commands that do not understand the += operator.
|
||||||
|
|
||||||
|
Example on macOS (Darwin), one may invoke clang's -fsanitize
|
||||||
|
facility by:
|
||||||
|
|
||||||
|
make clobber all \
|
||||||
|
COMMON_ADD='-fsanitize=undefined -fsanitize=address'
|
||||||
|
|
||||||
|
Another example. To force C warnings to be treated as errors:
|
||||||
|
|
||||||
|
make COMMON_ADD='-Werror'
|
||||||
|
|
||||||
|
Created a GitHub repository for calc:
|
||||||
|
|
||||||
|
https://github.com/lcn2/calc
|
||||||
|
|
||||||
|
NOTE: The calc GitHub repository represents the an active
|
||||||
|
development stream. While an effort will be made to keep
|
||||||
|
the master branch of the calc GitHub repository in working
|
||||||
|
order, that tree may be unstable. Those wishing for more
|
||||||
|
reliable releases use releases found at calc mirror sites:
|
||||||
|
|
||||||
|
http://www.isthe.com/chongo/tech/comp/calc/calc-mirror.html
|
||||||
|
|
||||||
|
IMPORTANT NOTE:
|
||||||
|
|
||||||
|
On 2017 June 05, the calc GitHub history was re-written.
|
||||||
|
Anyone who was tracking the calc "pre-release" on GitHub prior
|
||||||
|
to version 2.12.6.0 should do a:
|
||||||
|
|
||||||
|
git reset --hard origin/master
|
||||||
|
git cleanup -f
|
||||||
|
|
||||||
|
Or you may just want to start over:
|
||||||
|
|
||||||
|
rm -rf calc
|
||||||
|
git clone https://github.com/lcn2/calc.git
|
||||||
|
|
||||||
|
Sorry about that. The previous GitHub repository was an useful
|
||||||
|
experiment. Based on what we learned, we decided to rebuild it.
|
||||||
|
|
||||||
|
Renamed README to README.FIRST. Added README.md for the
|
||||||
|
GitHub repository.
|
||||||
|
|
||||||
|
Fixed reading from standard input (stdin) when -p is given on
|
||||||
|
the command line. This now prints hello:
|
||||||
|
|
||||||
|
echo hello | calc -p 'stdin = files(0); print fgetline(stdin);'
|
||||||
|
|
||||||
|
Added more debugging related to stdin when bit 4 of calc_debug
|
||||||
|
is set (e.g., running calc with -D16).
|
||||||
|
|
||||||
|
Updated the calc(1) man page and 'help file' to explain about
|
||||||
|
reading from standard input (stdin).
|
||||||
|
|
||||||
|
Added some clarifying remarks for 'help ptest' explaining that
|
||||||
|
the ptest builtin can return 1 is some cases where the test
|
||||||
|
value is a pseudoprime.
|
||||||
|
|
||||||
|
Removed duplicate copyright comments from the help/builtin that
|
||||||
|
is built.
|
||||||
|
|
||||||
|
Fixed a number of typos in the CHANGES file.
|
||||||
|
|
||||||
|
The following are the changes from calc version 2.12.5.4 to 2.12.5.6:
|
||||||
|
|
||||||
Recompile to match current RHEL7.2 libc and friends.
|
Recompile to match current RHEL7.2 libc and friends.
|
||||||
|
|
||||||
@@ -30,12 +226,12 @@ The following are the changes from calc version 2.12.5.4 to 2.12.5.5:
|
|||||||
for all valid values of h and n. As a result, the trial tables
|
for all valid values of h and n. As a result, the trial tables
|
||||||
used by gen_v1() have been changed to a short list of values
|
used by gen_v1() have been changed to a short list of values
|
||||||
to try, in order ot likelyhood of success, before doing an
|
to try, in order ot likelyhood of success, before doing an
|
||||||
enhaustive search for a v1 value to return.
|
exhaustive search for a v1 value to return.
|
||||||
|
|
||||||
Removed lucas_tbl.cal calc resource file. This file was made
|
Removed lucas_tbl.cal calc resource file. This file was made
|
||||||
obsolete by the above rewrite of the lucas.cal resource file.
|
obsolete by the above rewrite of the lucas.cal resource file.
|
||||||
This file will be removed from the local cal directory and
|
This file will be removed from the local cal directory and
|
||||||
from CALC_SHAREDIR during a 'make install', 'make cobber',
|
from CALC_SHAREDIR during a 'make install', 'make clobber',
|
||||||
and 'make uninstall'.
|
and 'make uninstall'.
|
||||||
|
|
||||||
Renamed gen_u0() to gen_u2() in lucas.cal. Provided a gen_u0()
|
Renamed gen_u0() to gen_u2() in lucas.cal. Provided a gen_u0()
|
||||||
@@ -43,7 +239,7 @@ The following are the changes from calc version 2.12.5.4 to 2.12.5.5:
|
|||||||
|
|
||||||
The old gen_v1() method used by the Amdahl 6 group has been
|
The old gen_v1() method used by the Amdahl 6 group has been
|
||||||
renamed legacy_gen_v1() in lucas.cal. This function is no
|
renamed legacy_gen_v1() in lucas.cal. This function is no
|
||||||
longer usde by the lucas(h, n) function to test the primality of
|
longer used by the lucas(h, n) function to test the primality of
|
||||||
h*2^n-1. It is preserved in lucas.cal for historical purposes.
|
h*2^n-1. It is preserved in lucas.cal for historical purposes.
|
||||||
|
|
||||||
The 'make clobber' rule will attempt to remove all files that
|
The 'make clobber' rule will attempt to remove all files that
|
||||||
@@ -60,18 +256,23 @@ The following are the changes from calc version 2.12.5.4 to 2.12.5.5:
|
|||||||
that the BUILDROOT directory had been improperly put into various
|
that the BUILDROOT directory had been improperly put into various
|
||||||
paths and binaries. This has been fixed in 2.12.5.5.
|
paths and binaries. This has been fixed in 2.12.5.5.
|
||||||
|
|
||||||
|
Fixed a crash that showed up on macOS (Darwin) that was reported
|
||||||
|
by Richard Outerbridge <outer at interlog dot com> and
|
||||||
|
fixed by Stuart Henderson <stu at spacehopper dot org>.
|
||||||
|
Thanks goes to both!
|
||||||
|
|
||||||
|
|
||||||
The following are the changes from calc version 2.12.5.3 to 2.12.5.3:
|
The following are the changes from calc version 2.12.5.3 to 2.12.5.3:
|
||||||
|
|
||||||
Calc version 2.12.5.2 for Darwin (Mac OS X) users, code to installed
|
Calc version 2.12.5.2 for macOS (Darwin) users, code to installed
|
||||||
calc under /opt/calc. Moreover the CHANGES file did not mention
|
calc under /opt/calc. Moreover the CHANGES file did not mention
|
||||||
/opt/calc. Sorry about that!.
|
/opt/calc. Sorry about that!.
|
||||||
|
|
||||||
A much better tree for Darwin (Mac OS X) users would have been
|
A much better tree for macOS (Darwin) users would have been
|
||||||
to install cal under /opt/calc. This release ONLY changes the Darwin
|
to install cal under /opt/calc. This release ONLY changes the
|
||||||
(Mac OS X) install tree to /usr/local.
|
macOS (Darwin) install tree to /usr/local.
|
||||||
|
|
||||||
Darwin (Mac OS X) users who installed calc version 2.12.5.2
|
macOS (Darwin) users who installed calc version 2.12.5.2
|
||||||
should, after installing version 2.12.5.3:
|
should, after installing version 2.12.5.3:
|
||||||
|
|
||||||
rm -rf /opt/calc
|
rm -rf /opt/calc
|
||||||
@@ -79,15 +280,15 @@ The following are the changes from calc version 2.12.5.3 to 2.12.5.3:
|
|||||||
|
|
||||||
The following are the changes from calc version 2.12.5.1 to 2.12.5.2:
|
The following are the changes from calc version 2.12.5.1 to 2.12.5.2:
|
||||||
|
|
||||||
NOTE: calc version 2.12.5.2, for Darwin (Mac OS X) users,
|
NOTE: calc version 2.12.5.2, for macOS (Darwin) users,
|
||||||
installed under /opt/calc. We neglected to mention this
|
installed under /opt/calc. We neglected to mention this
|
||||||
AND /usr/local would have been a better choice. Sorry!
|
AND /usr/local would have been a better choice. Sorry!
|
||||||
Fixed in calc version 2.12.5.3.
|
Fixed in calc version 2.12.5.3.
|
||||||
|
|
||||||
Removed rules and makefile variables assocated with shortened
|
Removed rules and makefile variables associated with shortened
|
||||||
calc version numbers of less than 4 levels.
|
calc version numbers of less than 4 levels.
|
||||||
|
|
||||||
Under OS X (darwin), if /usr/include is missing, warnings
|
Under OS X (Darwin), if /usr/include is missing, warnings
|
||||||
are issued to help the user use xcode-select --install
|
are issued to help the user use xcode-select --install
|
||||||
so that one may properly compile C code.
|
so that one may properly compile C code.
|
||||||
|
|
||||||
@@ -126,13 +327,13 @@ The following are the changes from calc version 2.12.5.0 to 2.12.5.1:
|
|||||||
This mailing list replaces calc-tester at asthe dot com list.
|
This mailing list replaces calc-tester at asthe dot com list.
|
||||||
|
|
||||||
If you need a human to help you with your mailing list subscription,
|
If you need a human to help you with your mailing list subscription,
|
||||||
please send EMail to our special:
|
please send Email to our special:
|
||||||
|
|
||||||
calc-tester-maillist-help at asthe dot com
|
calc-tester-maillist-help at asthe dot com
|
||||||
|
|
||||||
address. To be sure we see your EMail asking for help with your
|
address. To be sure we see your Email asking for help with your
|
||||||
mailing list subscription, please use the following phase in your
|
mailing list subscription, please use the following phase in your
|
||||||
EMail Subject line:
|
Email Subject line:
|
||||||
|
|
||||||
calc tester mailing list help
|
calc tester mailing list help
|
||||||
|
|
||||||
@@ -140,14 +341,14 @@ The following are the changes from calc version 2.12.5.0 to 2.12.5.1:
|
|||||||
request will get past our anti-spam filters. You may have
|
request will get past our anti-spam filters. You may have
|
||||||
additional words in your subject line.
|
additional words in your subject line.
|
||||||
|
|
||||||
There is a new calc bug report EMail address:
|
There is a new calc bug report Email address:
|
||||||
|
|
||||||
calc-bug-report at asthe dot com
|
calc-bug-report at asthe dot com
|
||||||
|
|
||||||
This replaces the old calc-bugs at asthe dot com address.
|
This replaces the old calc-bugs at asthe dot com address.
|
||||||
|
|
||||||
To be sure we see your EMail reporting a calc bug, please use the
|
To be sure we see your Email reporting a calc bug, please use the
|
||||||
following phase in your EMail Subject line:
|
following phase in your Email Subject line:
|
||||||
|
|
||||||
calc bug report
|
calc bug report
|
||||||
|
|
||||||
@@ -169,7 +370,7 @@ The following are the changes from calc version 2.12.5.0 to 2.12.5.1:
|
|||||||
|
|
||||||
Noted that the hash() builtin function, internally known as
|
Noted that the hash() builtin function, internally known as
|
||||||
quickhash (used for internal objects such as the associative
|
quickhash (used for internal objects such as the associative
|
||||||
arrays as well as other internal processes) uses the deprcated
|
arrays as well as other internal processes) uses the deprecated
|
||||||
32-bit FNV-0 hash. The use of this deprecated hash is sufficient
|
32-bit FNV-0 hash. The use of this deprecated hash is sufficient
|
||||||
for calc internal purposes. Use of FNV-1a is recommended for
|
for calc internal purposes. Use of FNV-1a is recommended for
|
||||||
a general non-cryptographic quick hash.
|
a general non-cryptographic quick hash.
|
||||||
@@ -205,7 +406,7 @@ The following are the changes from calc version 2.12.4.14 to 2.12.5.0:
|
|||||||
|
|
||||||
We made important fixes to the calc command line history:
|
We made important fixes to the calc command line history:
|
||||||
|
|
||||||
Fixed a bug in the command line history where calc would somtimes
|
Fixed a bug in the command line history where calc would sometimes
|
||||||
crash. There was code that used memcpy() instead of memmove()
|
crash. There was code that used memcpy() instead of memmove()
|
||||||
that could corrupt the command line history when entering a
|
that could corrupt the command line history when entering a
|
||||||
into into history that was similar to a previous entry. Thanks
|
into into history that was similar to a previous entry. Thanks
|
||||||
@@ -215,7 +416,7 @@ The following are the changes from calc version 2.12.4.14 to 2.12.5.0:
|
|||||||
The calc command line history code, in general was not robust.
|
The calc command line history code, in general was not robust.
|
||||||
We made use a patch from Mathias Buhr <napcode at users dot sf
|
We made use a patch from Mathias Buhr <napcode at users dot sf
|
||||||
dot net>, that while it uses a bit more memory: is much more
|
dot net>, that while it uses a bit more memory: is much more
|
||||||
flexible, readable and robust. This patch replaced the improer
|
flexible, readable and robust. This patch replaced the improper
|
||||||
use of memcpy() (see above) with better code. Thanks!
|
use of memcpy() (see above) with better code. Thanks!
|
||||||
|
|
||||||
The alg_config.cal calc resource file has been reworked to produce
|
The alg_config.cal calc resource file has been reworked to produce
|
||||||
@@ -348,11 +549,11 @@ The following are the changes from calc version 2.12.4.6 to version 2.12.4.10:
|
|||||||
Set MACOSX_DEPLOYMENT_TARGET=10.8 as we upgraded all of
|
Set MACOSX_DEPLOYMENT_TARGET=10.8 as we upgraded all of
|
||||||
our development Mac OS X to 10.8.
|
our development Mac OS X to 10.8.
|
||||||
|
|
||||||
Libraries are chmodded as 0644 to allow for building rpms
|
Libraries are chmod-ed as 0644 to allow for building rpms
|
||||||
without root.
|
without root.
|
||||||
|
|
||||||
Silenced annoying warning about unused variable 'intp'
|
Silenced annoying warning about unused variable 'intp'
|
||||||
while compiline endian.c under some circumstances.
|
while compiling endian.c under some circumstances.
|
||||||
|
|
||||||
Fixed typo in redeclaration warnings. Thanks to
|
Fixed typo in redeclaration warnings. Thanks to
|
||||||
Christoph Zurnieden <czurnieden at gmx dot de> for this report.
|
Christoph Zurnieden <czurnieden at gmx dot de> for this report.
|
||||||
@@ -361,13 +562,13 @@ The following are the changes from calc version 2.12.4.6 to version 2.12.4.10:
|
|||||||
Christoph Zurnieden <czurnieden at gmx dot de> including:
|
Christoph Zurnieden <czurnieden at gmx dot de> including:
|
||||||
|
|
||||||
bernpoly.cal - Computes the nth Bernoulli polynomial at z for any n,z
|
bernpoly.cal - Computes the nth Bernoulli polynomial at z for any n,z
|
||||||
brentsolve.cal - root-finder implementwed with the Brent-Dekker trick
|
brentsolve.cal - root-finder implemented with the Brent-Dekker trick
|
||||||
factorial.cal - product of the positive integers
|
factorial.cal - product of the positive integers
|
||||||
factorial2.cal - variety of integer functions quasi-related to factoral
|
factorial2.cal - variety of integer functions quasi-related to factorial
|
||||||
lambertw.cal - Computes Lambert's W-function at "z" at branch "branch"
|
lambertw.cal - Computes Lambert's W-function at "z" at branch "branch"
|
||||||
lnseries.cal - Calculates a series of natural logarithms at 1,2,3,4...n
|
lnseries.cal - Calculates a series of natural logarithms at 1,2,3,4...n
|
||||||
specialfunctions.cal - Calculates the value of the beta function
|
specialfunctions.cal - Calculates the value of the beta function
|
||||||
statistics.cal - a wide vareity of stastical functions
|
statistics.cal - a wide variety of statistical functions
|
||||||
toomcook.cal - Multiply by way of the Toom-Cook algorithm
|
toomcook.cal - Multiply by way of the Toom-Cook algorithm
|
||||||
zeta2.cal - Calculate the value of the Hurwitz Zeta function
|
zeta2.cal - Calculate the value of the Hurwitz Zeta function
|
||||||
|
|
||||||
@@ -380,7 +581,7 @@ The following are the changes from calc version 2.12.4.6 to version 2.12.4.10:
|
|||||||
|
|
||||||
We replaced COPYING-LGPL with the version that is found at
|
We replaced COPYING-LGPL with the version that is found at
|
||||||
http://www.gnu.org/licenses/lgpl-2.1.txt because that version
|
http://www.gnu.org/licenses/lgpl-2.1.txt because that version
|
||||||
contans some whitespace formatting cleanup. Otherwise the
|
contains some whitespace formatting cleanup. Otherwise the
|
||||||
license is the same.
|
license is the same.
|
||||||
|
|
||||||
We fixed a number of places where "the the" was used
|
We fixed a number of places where "the the" was used
|
||||||
@@ -406,7 +607,7 @@ The following are the changes from calc version 2.12.4.3 to 2.12.4.5:
|
|||||||
|
|
||||||
Added gvec.cal resource script.
|
Added gvec.cal resource script.
|
||||||
|
|
||||||
Added calc-symlink make rule to setup symlinks from stardard locations
|
Added calc-symlink make rule to setup symlinks from standard locations
|
||||||
into a tree specified by a non-empty ${T} makefile variable. Added
|
into a tree specified by a non-empty ${T} makefile variable. Added
|
||||||
calc-unsymlink to remove any symlinks that may have been created by
|
calc-unsymlink to remove any symlinks that may have been created by
|
||||||
the calc-symlink rule.
|
the calc-symlink rule.
|
||||||
@@ -426,7 +627,7 @@ The following are the changes from calc version 2.12.4.0 to 2.12.4.2:
|
|||||||
Fixed a documentation bug for the sgn() builtin.
|
Fixed a documentation bug for the sgn() builtin.
|
||||||
|
|
||||||
Added the 1<<8/2 evaluation example to "help unexpected". That
|
Added the 1<<8/2 evaluation example to "help unexpected". That
|
||||||
expression evalutes to 128, not 16 as some C programmers might expect.
|
expression evaluates 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 in solve.cal where high was not returned in some situations.
|
||||||
|
|
||||||
@@ -438,7 +639,7 @@ The following are the changes from calc version 2.12.4.0 to 2.12.4.2:
|
|||||||
|
|
||||||
The Makefile used in the source rpm (calc-*.src.rpm) no longer uses
|
The Makefile used in the source rpm (calc-*.src.rpm) no longer uses
|
||||||
the -Werror compile flag. This is to help those distributions with
|
the -Werror compile flag. This is to help those distributions with
|
||||||
compilers that make produce (hopefully) complination warnings.
|
compilers that make produce (hopefully) compilation warnings.
|
||||||
NOTE: For testing and calc build purposes will recommend and will
|
NOTE: For testing and calc build purposes will recommend and will
|
||||||
continue to use the -Werror flag.
|
continue to use the -Werror flag.
|
||||||
|
|
||||||
@@ -452,7 +653,7 @@ The following are the changes from calc version 2.12.4.0 to 2.12.4.2:
|
|||||||
|
|
||||||
one may build a calc binary that is easier to debug.
|
one may build a calc binary that is easier to debug.
|
||||||
|
|
||||||
Fixed a bug where an certains typos (e.g., calling an unknown
|
Fixed a bug where an certain typos (e.g., calling an unknown
|
||||||
function) would previously cause calc to exit.
|
function) would previously cause calc to exit.
|
||||||
|
|
||||||
Updated the COPYING file to reflect the new filenames associated
|
Updated the COPYING file to reflect the new filenames associated
|
||||||
@@ -473,7 +674,7 @@ The following are the changes from calc version 2.12.4.0 to 2.12.4.2:
|
|||||||
Added dms.cal and hms.cal resource files. The dms.cal is a more
|
Added dms.cal and hms.cal resource files. The dms.cal is a more
|
||||||
functional version of deg.cal. It is a superset except that increment
|
functional version of deg.cal. It is a superset except that increment
|
||||||
and decrement is on the arc second level. The hms.cal is for
|
and decrement is on the arc second level. The hms.cal is for
|
||||||
24-hour cycle instread of the 360 degree cycle of dms.cal.
|
24-hour cycle instead of the 360 degree cycle of dms.cal.
|
||||||
|
|
||||||
Changed deg.cal object name from dms to deg so that the more functional
|
Changed deg.cal object name from dms to deg so that the more functional
|
||||||
dms.cal can own the dms object name.
|
dms.cal can own the dms object name.
|
||||||
@@ -481,7 +682,7 @@ The following are the changes from calc version 2.12.4.0 to 2.12.4.2:
|
|||||||
Updated 'help obj' to reflect changes to 'show objfunctions' and
|
Updated 'help obj' to reflect changes to 'show objfunctions' and
|
||||||
resource file example list since 1999.
|
resource file example list since 1999.
|
||||||
|
|
||||||
Fixed problem where CALC_BYTE_ORDER refering to CALC_BIG_ENDIAN
|
Fixed problem where CALC_BYTE_ORDER referring to CALC_BIG_ENDIAN
|
||||||
and CALC_LITTLE_ENDIAN instead of BIG_ENDIAN and LITTLE_ENDIAN.
|
and CALC_LITTLE_ENDIAN instead of BIG_ENDIAN and LITTLE_ENDIAN.
|
||||||
|
|
||||||
|
|
||||||
@@ -493,7 +694,7 @@ The following are the changes from calc version 2.12.3.0 to 2.12.3.3:
|
|||||||
|
|
||||||
Calc versions will always be of the form x.y.z.w even when the
|
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
|
MINOR_PATCH (w) is 0. Thus, 2.12.3.0 will be printed as 2.12.3.0
|
||||||
instread of just 2.12.3.
|
instead of just 2.12.3.
|
||||||
|
|
||||||
Added MINGW32_NT-5.0 compile target based on a patch from
|
Added MINGW32_NT-5.0 compile target based on a patch from
|
||||||
Brian L. Angus (angus at eng dot utah dot edu).
|
Brian L. Angus (angus at eng dot utah dot edu).
|
||||||
@@ -507,7 +708,7 @@ The following are the changes from calc version 2.12.3.0 to 2.12.3.3:
|
|||||||
|
|
||||||
The ${CALC_INCDIR}/custom is no longer being removed at install time
|
The ${CALC_INCDIR}/custom is no longer being removed at install time
|
||||||
if it is empty. Now when ${ALLOW_CUSTOM} make variable is empty,
|
if it is empty. Now when ${ALLOW_CUSTOM} make variable is empty,
|
||||||
an empty ${CALC_INCDIR}/custom may be left hehind.
|
an empty ${CALC_INCDIR}/custom may be left behind.
|
||||||
|
|
||||||
Fixed a problem where a "make clobber" would remove custom/Makefile
|
Fixed a problem where a "make clobber" would remove custom/Makefile
|
||||||
and fail to rebuilt it.
|
and fail to rebuilt it.
|
||||||
@@ -577,7 +778,7 @@ The following are the changes from calc version 2.12.1.1 to 2.12.2.2:
|
|||||||
Fixed the wording for the -i flag in the calc man page.
|
Fixed the wording for the -i flag in the calc man page.
|
||||||
|
|
||||||
Added some notes to the help/unexpected file regarding calc
|
Added some notes to the help/unexpected file regarding calc
|
||||||
and interactice shells.
|
and interactive shells.
|
||||||
|
|
||||||
Fixed bug where a FILEPOS was copied FPOS_POS_BITS octets instead of
|
Fixed bug where a FILEPOS was copied FPOS_POS_BITS octets instead of
|
||||||
FPOS_POS_LEN octets.
|
FPOS_POS_LEN octets.
|
||||||
@@ -601,7 +802,7 @@ The following are the changes from calc version 2.12.1.1 to 2.12.2.2:
|
|||||||
operate over a half closed interval. The help/rand and help/random
|
operate over a half closed interval. The help/rand and help/random
|
||||||
refer to the top of the interval as "beyond" instead of "max".
|
refer to the top of the interval as "beyond" instead of "max".
|
||||||
|
|
||||||
Releaseing source tar balls using bzip2 instead of with gzip. So
|
Releasing source tar balls using bzip2 instead of with gzip. So
|
||||||
what was calc-something.tar.gz is now calc-something.tar.bz2.
|
what was calc-something.tar.gz is now calc-something.tar.bz2.
|
||||||
To "uncompress" use:
|
To "uncompress" use:
|
||||||
|
|
||||||
@@ -740,7 +941,7 @@ The following are the changes from calc version 2.12.1.10 to 2.12.2:
|
|||||||
|
|
||||||
calc-contrib at asthe dot com
|
calc-contrib at asthe dot com
|
||||||
|
|
||||||
EMail address an "ifeq ($(target),YOUR_TARGET_NAME)"
|
Email address an "ifeq ($(target),YOUR_TARGET_NAME)"
|
||||||
... "endif" set of lines from the Makefile so that
|
... "endif" set of lines from the Makefile so that
|
||||||
we can consider them for the next release.
|
we can consider them for the next release.
|
||||||
|
|
||||||
@@ -873,7 +1074,7 @@ The following are the changes from calc version 2.12.1.10 to 2.12.2:
|
|||||||
2.5 ^ 2.718i 3.13145i ^ 0.30103i
|
2.5 ^ 2.718i 3.13145i ^ 0.30103i
|
||||||
|
|
||||||
Fixed typos in the calc man page thanks to a Debian bug report
|
Fixed typos in the calc man page thanks to a Debian bug report
|
||||||
by A. Costa <agcosta at gis dot .net> that wsa kindly forwarded
|
by A. Costa <agcosta at gis dot .net> that was kindly forwarded
|
||||||
to us by Martin Buck <m at rtin-buck dot de>.
|
to us by Martin Buck <m at rtin-buck dot de>.
|
||||||
|
|
||||||
|
|
||||||
@@ -1494,7 +1695,7 @@ The following are the changes from calc version 2.11.10 to 2.11.10:
|
|||||||
and ${L64_FORMAT}. Removed longlong.c and longlong.h. The use
|
and ${L64_FORMAT}. Removed longlong.c and longlong.h. The use
|
||||||
of HAVE_LONGLONG=0 was problematic. The lack of complaints about
|
of HAVE_LONGLONG=0 was problematic. The lack of complaints about
|
||||||
the HAVE_LONGLONG=0 shows that the 'long long' type is wide spread
|
the HAVE_LONGLONG=0 shows that the 'long long' type is wide spread
|
||||||
enough warrent not trying to support compilers without 'long long'.
|
enough to warrant not trying to support compilers without 'long long'.
|
||||||
|
|
||||||
Removed the SVAL and SHVAL macros from zrand.c, zrand.h, and zmath.h
|
Removed the SVAL and SHVAL macros from zrand.c, zrand.h, and zmath.h
|
||||||
as they were causing too many broken C pre-processors and C checkers
|
as they were causing too many broken C pre-processors and C checkers
|
||||||
@@ -1508,7 +1709,7 @@ The following are the changes from calc version 2.11.10 to 2.11.10:
|
|||||||
could test calc. Best wishes to the former BSDI folk and thanks
|
could test calc. Best wishes to the former BSDI folk and thanks
|
||||||
for breaking important ground in the Open Source Movement!
|
for breaking important ground in the Open Source Movement!
|
||||||
|
|
||||||
Fixed several typos found in the documentation and buildin
|
Fixed several typos found in the documentation and builtin
|
||||||
function output by C Smith <smichr at hotmail dot com>.
|
function output by C Smith <smichr at hotmail dot com>.
|
||||||
|
|
||||||
Fixed -d so that:
|
Fixed -d so that:
|
||||||
@@ -1880,7 +2081,7 @@ The following are the changes from calc version 2.11.5t4.1 to 2.11.5t4.4:
|
|||||||
version string.
|
version string.
|
||||||
|
|
||||||
Added subject requirements for the calc-tester-request and
|
Added subject requirements for the calc-tester-request and
|
||||||
calc-bugs-mail EMail aliases. See:
|
calc-bugs-mail Email aliases. See:
|
||||||
|
|
||||||
http://www.isthe.com/chongo/tech/comp/calc/email.html
|
http://www.isthe.com/chongo/tech/comp/calc/email.html
|
||||||
|
|
||||||
@@ -1908,7 +2109,7 @@ The following are the changes from calc version 2.11.5t4.1 to 2.11.5t4.4:
|
|||||||
(kawamura at mlb.co.jp) for the bug report and patch!
|
(kawamura at mlb.co.jp) for the bug report and patch!
|
||||||
|
|
||||||
Fixed headers on fproduct.calc powerterm.calc 4dsphere.calc so
|
Fixed headers on fproduct.calc powerterm.calc 4dsphere.calc so
|
||||||
that they are correcly changed on installation.
|
that they are correctly changed on installation.
|
||||||
|
|
||||||
Added ${GREP} Makefile variable.
|
Added ${GREP} Makefile variable.
|
||||||
|
|
||||||
@@ -2192,7 +2393,7 @@ The following are the changes from calc version 2.11.4t1 to 2.11.4t2:
|
|||||||
function. It remains for backward compatibility.
|
function. It remains for backward compatibility.
|
||||||
|
|
||||||
The Makefile now builds have_fpos_pos.h to determine if the
|
The Makefile now builds have_fpos_pos.h to determine if the
|
||||||
a non-scalar FILEPOS has a __pos stucture element. If it does,
|
a non-scalar FILEPOS has a __pos structure element. If it does,
|
||||||
the FILEPOS_BITS is taken to be the size of just the __pos element.
|
the FILEPOS_BITS is taken to be the size of just the __pos element.
|
||||||
|
|
||||||
Misc fixes related to non-scalar (e.g., structure) FILEPOS. Fixed
|
Misc fixes related to non-scalar (e.g., structure) FILEPOS. Fixed
|
||||||
@@ -2457,8 +2658,8 @@ The following are the changes from calc version 2.11.2t0 to 2.11.2t1.0:
|
|||||||
Fixed a bug whereby help files are not displayed correctly on
|
Fixed a bug whereby help files are not displayed correctly on
|
||||||
systems such as NetBSD 1.4.1. Thanks to a fix from Jakob Naumann.
|
systems such as NetBSD 1.4.1. Thanks to a fix from Jakob Naumann.
|
||||||
|
|
||||||
Changed EMail addresses to use asthe.com. Changed URLs to use
|
Changed Email addresses to use asthe.com. Changed URLs to use
|
||||||
www.isthe.com. NOTE: The EMail address uses 'asthe' and the web
|
www.isthe.com. NOTE: The Email address uses 'asthe' and the web
|
||||||
site URL uses 'isthe'.
|
site URL uses 'isthe'.
|
||||||
|
|
||||||
Using calc-bugs at asthe dot com for calc bug reports,
|
Using calc-bugs at asthe dot com for calc bug reports,
|
||||||
@@ -2466,7 +2667,7 @@ The following are the changes from calc version 2.11.2t0 to 2.11.2t1.0:
|
|||||||
calc-tester-request at asthe dot com for requests to join calc-tester and
|
calc-tester-request at asthe dot com for requests to join calc-tester and
|
||||||
calc-tester at asthe dot com for the calc tester mailing list.
|
calc-tester at asthe dot com for the calc tester mailing list.
|
||||||
|
|
||||||
Replaced explicit EMail addresses found this file with the <user at
|
Replaced explicit Email addresses found this file with the <user at
|
||||||
site dot domain> notation to reduce the potential for those folks
|
site dot domain> notation to reduce the potential for those folks
|
||||||
to be spammed.
|
to be spammed.
|
||||||
|
|
||||||
@@ -2942,7 +3143,7 @@ The following are the changes from calc version 2.11.0t8.9.1 to 2.11.0t9.4.5:
|
|||||||
by Prentice-Hall (UK) Ltd., 1990.) The piforever() function prints
|
by Prentice-Hall (UK) Ltd., 1990.) The piforever() function prints
|
||||||
digits of pi for as long as your memory and system uptime allows. :-)
|
digits of pi for as long as your memory and system uptime allows. :-)
|
||||||
|
|
||||||
Fixed the URLs found thruout the source and documentation which did
|
Fixed the URLs found throughout the source and documentation which did
|
||||||
not and in /, but should for performance and server load reasons.
|
not and in /, but should for performance and server load reasons.
|
||||||
|
|
||||||
Cleaned up and improved handling of "mat" and "obj". The comma in:
|
Cleaned up and improved handling of "mat" and "obj". The comma in:
|
||||||
@@ -3021,7 +3222,7 @@ The following are the changes from calc version 2.11.0t8.9.1 to 2.11.0t9.4.5:
|
|||||||
and investigated by Michel van der List <vanderlistmj at sbphrd dot com>.
|
and investigated by Michel van der List <vanderlistmj at sbphrd dot com>.
|
||||||
|
|
||||||
Made an effort to ensure that the v_subtype of VALUES are initialized
|
Made an effort to ensure that the v_subtype of VALUES are initialized
|
||||||
to V_NOSUBTYPE thruout the source code.
|
to V_NOSUBTYPE through out the source code.
|
||||||
|
|
||||||
Established a separate calc-bugs address from the calc-tester
|
Established a separate calc-bugs address from the calc-tester
|
||||||
mailing list. Using anti-spam address forms in order to try and
|
mailing list. Using anti-spam address forms in order to try and
|
||||||
@@ -3054,7 +3255,7 @@ The following are the changes from calc version 2.11.0t8 to 2.11.0t8.9:
|
|||||||
If $CALCRC has more than one file as in file1:file2 and an error
|
If $CALCRC has more than one file as in file1:file2 and an error
|
||||||
occurs in file1, then calc -c will not read file2.
|
occurs in file1, then calc -c will not read file2.
|
||||||
|
|
||||||
Fixed some of the old EMail addresses found in calc documentation.
|
Fixed some of the old Email addresses found in calc documentation.
|
||||||
|
|
||||||
Added HAVE_USTAT, HAVE_GETSID, HAVE_GETPGID, HAVE_GETTIME, HAVE_GETPRID
|
Added HAVE_USTAT, HAVE_GETSID, HAVE_GETPGID, HAVE_GETTIME, HAVE_GETPRID
|
||||||
and HAVE_URANDOM symbols to the Makefile. These symbols, along with
|
and HAVE_URANDOM symbols to the Makefile. These symbols, along with
|
||||||
@@ -3512,7 +3713,7 @@ The following are the changes from calc version 2.11.0t1 to 2.11.0t6.3:
|
|||||||
A patch from Ernest Bowen <ernie at turing dot une dot edu dot au> now
|
A patch from Ernest Bowen <ernie at turing dot une dot edu dot au> now
|
||||||
defines special meaning to the first 2 bits of config("lib_debug"):
|
defines special meaning to the first 2 bits of config("lib_debug"):
|
||||||
|
|
||||||
bit 0 set => messages printed when inputisterminal
|
bit 0 set => messages printed when input is from a terminal
|
||||||
bit 1 set => messages printed when reading from a file
|
bit 1 set => messages printed when reading from a file
|
||||||
|
|
||||||
The lib/regress.cal regression suite does:
|
The lib/regress.cal regression suite does:
|
||||||
@@ -4461,7 +4662,7 @@ The following are the changes from calc version 2.10.3t5.28 to 2.10.3t5.33:
|
|||||||
long Mersenne factorizations. The default reporting loop
|
long Mersenne factorizations. The default reporting loop
|
||||||
is now 10000 cycles.
|
is now 10000 cycles.
|
||||||
|
|
||||||
SGI Mips r10k compile set is speced for IRIX6.5 with v7.2
|
SGI Mips r10k compile set is specified for IRIX6.5 with v7.2
|
||||||
compilers. A note for pre-IRIX6.5 and/or pre-v7.2 compilers
|
compilers. A note for pre-IRIX6.5 and/or pre-v7.2 compilers
|
||||||
is given in the compile set.
|
is given in the compile set.
|
||||||
|
|
||||||
@@ -4722,7 +4923,7 @@ The following are the changes from calc version 2.10.3t5.1 to 2.10.3t5.10:
|
|||||||
surprises that C programmers may encounter.
|
surprises that C programmers may encounter.
|
||||||
|
|
||||||
Updated the 'help', 'intro' and 'overview' to reflect the
|
Updated the 'help', 'intro' and 'overview' to reflect the
|
||||||
full list of non-builtin function help files. Reorered the
|
full list of non-builtin function help files. Reordered the
|
||||||
'full' help file.
|
'full' help file.
|
||||||
|
|
||||||
The blkalloc() builtin has been renamed blk().
|
The blkalloc() builtin has been renamed blk().
|
||||||
@@ -5673,7 +5874,7 @@ The following are the changes from calc version 2.10.2t4 to 2.10.2t24:
|
|||||||
|
|
||||||
The regression test suite output has been changed so that it will
|
The regression test suite output has been changed so that it will
|
||||||
output the same information regardless of CPU performance. In
|
output the same information regardless of CPU performance. In
|
||||||
particular, cpu times of certain tests are not printed. This allows
|
particular, CPU times of certain tests are not printed. This allows
|
||||||
one to compare the regression output of two different systems easier.
|
one to compare the regression output of two different systems easier.
|
||||||
|
|
||||||
A matrix or object declaration is now considered an expression
|
A matrix or object declaration is now considered an expression
|
||||||
@@ -5996,11 +6197,11 @@ The following are the changes from calc version 2.10.2t1 to 2.10.2t3:
|
|||||||
y = fgetstr(f); /* returns "Curt" */
|
y = fgetstr(f); /* returns "Curt" */
|
||||||
z = fgetstr(f); /* returns "Noll" */
|
z = fgetstr(f); /* returns "Noll" */
|
||||||
|
|
||||||
The builtin fgetfield() returns the next field of non-whitepsace
|
The builtin fgetfield() returns the next field of non-whitespace
|
||||||
characters.
|
characters.
|
||||||
|
|
||||||
The builtins scan(), fscan(), strscan() read tokens (fields of
|
The builtins scan(), fscan(), strscan() read tokens (fields of
|
||||||
non-whitepsace characters) and evaluates them. Thus:
|
non-whitespace characters) and evaluates them. Thus:
|
||||||
|
|
||||||
global a,b,c;
|
global a,b,c;
|
||||||
strscan("2+3 4^2\n c=a+b", a, b, 0);
|
strscan("2+3 4^2\n c=a+b", a, b, 0);
|
||||||
@@ -6279,7 +6480,7 @@ The following are the changes from calc version 2.10.1t11 to 2.10.1t19:
|
|||||||
config("all", "newstd")
|
config("all", "newstd")
|
||||||
|
|
||||||
Renamed config.h (configuration file built during the make) to conf.h.
|
Renamed config.h (configuration file built during the make) to conf.h.
|
||||||
Added a new config.h to contain info on thw V_CONFIG type.
|
Added a new config.h to contain info on the V_CONFIG type.
|
||||||
|
|
||||||
Fixed some ANSI C compile warnings.
|
Fixed some ANSI C compile warnings.
|
||||||
|
|
||||||
@@ -6844,7 +7045,7 @@ The following are the changes from calc version 2.9.3t8 to 2.9.3t9.2:
|
|||||||
the rand() builtin does not match the additive 55 / shuffle
|
the rand() builtin does not match the additive 55 / shuffle
|
||||||
generators from the old cryrand.cal file.
|
generators from the old cryrand.cal file.
|
||||||
|
|
||||||
Added Makfile support for building BSD/386 releases.
|
Added Makefile support for building BSD/386 releases.
|
||||||
|
|
||||||
The cmp() builtin can now compare complex values.
|
The cmp() builtin can now compare complex values.
|
||||||
|
|
||||||
@@ -6895,10 +7096,10 @@ The following are the changes from calc version 2.9.3t8 to 2.9.3t9.2:
|
|||||||
which is built from have_const.c will determine if we can or should
|
which is built from have_const.c will determine if we can or should
|
||||||
use const. See the Makefile for details.
|
use const. See the Makefile for details.
|
||||||
|
|
||||||
Some systems do not have uid_t. The file have_uid_t.h, which is
|
Some systems do not have uid_t. The file have_uid_t.h, which
|
||||||
built from have_uid_t.c will determine if we can or should depend
|
is built from have_uid_t.c will determine if we can or should
|
||||||
on uid_t being typefed by the system include files. See the Makefile
|
depend on uid_t being typedefed by the system include files.
|
||||||
for details.
|
See the Makefile for details.
|
||||||
|
|
||||||
Some systems do not have memcpy(), memset() and strchr(). The
|
Some systems do not have memcpy(), memset() and strchr(). The
|
||||||
file have_newstr.h, which is built from have_newstr.c will
|
file have_newstr.h, which is built from have_newstr.c will
|
||||||
@@ -7220,10 +7421,6 @@ 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.
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
##
|
##
|
||||||
## @(#) $Revision: 30.55 $
|
|
||||||
## @(#) $Id: CHANGES,v 30.55 2017/05/21 02:22:22 chongo Exp $
|
|
||||||
## @(#) $Source: /usr/local/src/bin/calc-RHEL7/RCS/CHANGES,v $
|
|
||||||
##
|
|
||||||
## Under source code control: 1993/06/02 18:12:57
|
## Under source code control: 1993/06/02 18:12:57
|
||||||
## File existed as early as: 1989
|
## File existed as early as: 1989
|
||||||
##
|
##
|
||||||
|
4
COPYING
4
COPYING
@@ -12,10 +12,6 @@ This file is Copyrighted
|
|||||||
Everyone is permitted to copy and distribute verbatim copies
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
# @(#) $Revision: 30.6 $
|
|
||||||
# @(#) $Id: COPYING,v 30.6 2014/10/12 12:23:43 chongo Exp $
|
|
||||||
# @(#) $Source: /usr/local/src/bin/calc/RCS/COPYING,v $
|
|
||||||
|
|
||||||
-=-
|
-=-
|
||||||
|
|
||||||
Calc is covered by the GNU Lesser General Public License
|
Calc is covered by the GNU Lesser General Public License
|
||||||
|
@@ -32,6 +32,16 @@ Installing calc from the bzip2-ed tarball in 4 easy steps:
|
|||||||
targets, the default make is sufficent. On FreeBSD for example,
|
targets, the default make is sufficent. On FreeBSD for example,
|
||||||
one must use gmake instead of make.
|
one must use gmake instead of make.
|
||||||
|
|
||||||
|
Some report that under macOS, one has to declare the target
|
||||||
|
to be darwin. So for macOS, one might have to do:
|
||||||
|
|
||||||
|
# for macOS users only, force the target to be darwin
|
||||||
|
#
|
||||||
|
make target=Darwin clobber
|
||||||
|
make target=Darwin all
|
||||||
|
make target=Darwin chk
|
||||||
|
make target=Darwin install
|
||||||
|
|
||||||
If your target system does not have GNU Make (or equivalent), then
|
If your target system does not have GNU Make (or equivalent), then
|
||||||
you should try using the Makefile.simple and custom/Makefile.simple
|
you should try using the Makefile.simple and custom/Makefile.simple
|
||||||
files:
|
files:
|
||||||
@@ -185,8 +195,8 @@ Installing calc from the bzip2-ed tarball in 4 easy steps:
|
|||||||
|
|
||||||
make install
|
make install
|
||||||
|
|
||||||
We suggest that you might want to read the README file and look at
|
We suggest that you might want to read the README.FIRST file and look at
|
||||||
the calc help subsystem. See the README file for details.
|
the calc help subsystem. See also the README.md file.
|
||||||
|
|
||||||
## Copyright (C) 1999-2007 Landon Curt Noll
|
## Copyright (C) 1999-2007 Landon Curt Noll
|
||||||
##
|
##
|
||||||
@@ -204,10 +214,6 @@ the calc help subsystem. See the README file for details.
|
|||||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
##
|
##
|
||||||
## @(#) $Revision: 30.6 $
|
|
||||||
## @(#) $Id: HOWTO.INSTALL,v 30.6 2007/10/16 12:22:22 chongo Exp $
|
|
||||||
## @(#) $Source: /usr/local/src/bin/calc/RCS/HOWTO.INSTALL,v $
|
|
||||||
##
|
|
||||||
## Under source code control: 1999/09/27 20:48:44
|
## Under source code control: 1999/09/27 20:48:44
|
||||||
## File existed as early as: 1999
|
## File existed as early as: 1999
|
||||||
##
|
##
|
||||||
|
4
LIBRARY
4
LIBRARY
@@ -638,10 +638,6 @@ need call libcalc_call_me_last() only once.
|
|||||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
##
|
##
|
||||||
## @(#) $Revision: 30.1 $
|
|
||||||
## @(#) $Id: LIBRARY,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
|
||||||
## @(#) $Source: /usr/local/src/bin/calc/RCS/LIBRARY,v $
|
|
||||||
##
|
|
||||||
## Under source code control: 1993/07/30 19:44:49
|
## Under source code control: 1993/07/30 19:44:49
|
||||||
## File existed as early as: 1993
|
## File existed as early as: 1993
|
||||||
##
|
##
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -130,7 +130,7 @@ The calc web site is located at:
|
|||||||
|
|
||||||
NOTE: The EMail address uses 'asthe', while the web site uses 'isthe'.
|
NOTE: The EMail address uses 'asthe', while the web site uses 'isthe'.
|
||||||
|
|
||||||
## Copyright (C) 1999,2014 Landon Curt Noll
|
## Copyright (C) 1999,2014,2017 Landon Curt Noll
|
||||||
##
|
##
|
||||||
## Calc is open software; you can redistribute it and/or modify it under
|
## 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
|
## the terms of the version 2.1 of the GNU Lesser General Public License
|
||||||
@@ -146,10 +146,6 @@ NOTE: The EMail address uses 'asthe', while the web site uses 'isthe'.
|
|||||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
##
|
##
|
||||||
## @(#) $Revision: 30.3 $
|
|
||||||
## @(#) $Id: README,v 30.3 2014/10/12 12:23:43 chongo Exp $
|
|
||||||
## @(#) $Source: /usr/local/src/bin/calc/RCS/README,v $
|
|
||||||
##
|
|
||||||
## Under source code control: 1995/10/25 05:27:59
|
## Under source code control: 1995/10/25 05:27:59
|
||||||
## File existed as early as: 1995
|
## File existed as early as: 1995
|
||||||
##
|
##
|
@@ -10,6 +10,21 @@ NOTE: The main developers do not have access to a Windoz based platform.
|
|||||||
Of course you are welcome to send us any patches that fix your
|
Of course you are welcome to send us any patches that fix your
|
||||||
Windoz build environment.
|
Windoz build environment.
|
||||||
|
|
||||||
|
|
||||||
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||||
|
=-= compiling with Windows Subsystem for Linux (WSL) =-Cygwin =-=
|
||||||
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||||
|
|
||||||
|
It has been reported that calc version 2.12.6.4 has been successfully
|
||||||
|
compiled, installed and running on Windows 10 on 2018 Jan 21.
|
||||||
|
|
||||||
|
We were told:
|
||||||
|
|
||||||
|
"The Windows Subsystem for Linux (WSL) is a new Windows 10 feature that
|
||||||
|
enables you to run native Linux command-line tools directly on Windows"
|
||||||
|
|
||||||
|
https://docs.microsoft.com/cs-cz/windows/wsl/about
|
||||||
|
|
||||||
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||||
=-= compiling with Cygwin =-=
|
=-= compiling with Cygwin =-=
|
||||||
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||||
@@ -142,10 +157,6 @@ the above Makefile list, follow the recommendation in the Makefile.
|
|||||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
##
|
##
|
||||||
## @(#) $Revision: 30.2 $
|
|
||||||
## @(#) $Id: README.WINDOWS,v 30.2 2009/03/14 02:29:31 chongo Exp $
|
|
||||||
## @(#) $Source: /usr/local/src/bin/calc/RCS/README.WINDOWS,v $
|
|
||||||
##
|
|
||||||
## Under source code control: 2001/02/25 14:00:05
|
## Under source code control: 2001/02/25 14:00:05
|
||||||
## File existed as early as: 2001
|
## File existed as early as: 2001
|
||||||
##
|
##
|
||||||
|
260
README.md
Normal file
260
README.md
Normal file
@@ -0,0 +1,260 @@
|
|||||||
|
# What is calc?
|
||||||
|
|
||||||
|
Calc is an interactive calculator which provides for easy large
|
||||||
|
Otherwise, it enters interactive mode. In this mode, it accepts
|
||||||
|
commands one at a time, processes them, and displays the answers.
|
||||||
|
In the simplest case, commands are simply expressions which are
|
||||||
|
evaluated. For example, the following line can be input:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
3 * (4 + 1)
|
||||||
|
```
|
||||||
|
|
||||||
|
and the calculator will print:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
15
|
||||||
|
```
|
||||||
|
|
||||||
|
Calc as the usual collection of arithmetic operators +, -, /, * as
|
||||||
|
well as ^ (exponentiation), % (modulus) and // (integer divide).
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
3 * 19^43 - 1
|
||||||
|
```
|
||||||
|
|
||||||
|
will produce:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
29075426613099201338473141505176993450849249622191102976
|
||||||
|
```
|
||||||
|
|
||||||
|
Notice that calc values can be very large. For example:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
2^23209-1
|
||||||
|
```
|
||||||
|
|
||||||
|
will print:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
402874115778988778181873329071 ... many digits ... 3779264511
|
||||||
|
```
|
||||||
|
|
||||||
|
The special '.' symbol (called dot), represents the result of the
|
||||||
|
last command expression, if any. This is of great use when a series
|
||||||
|
of partial results are calculated, or when the output mode is changed
|
||||||
|
and the last result needs to be redisplayed. For example, the above
|
||||||
|
result can be modified by typing:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
. % (2^127-1)
|
||||||
|
```
|
||||||
|
|
||||||
|
and the calculator will print:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
47385033654019111249345128555354223304
|
||||||
|
```
|
||||||
|
|
||||||
|
For more complex calculations, variables can be used to save the
|
||||||
|
intermediate results. For example, the result of adding 7 to the
|
||||||
|
previous result can be saved by typing:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curds = 15
|
||||||
|
whey = 7 + 2*curds
|
||||||
|
```
|
||||||
|
|
||||||
|
Functions can be used in expressions. There are a great number of
|
||||||
|
pre-defined functions. For example, the following will calculate
|
||||||
|
the factorial of the value of 'whey':
|
||||||
|
|
||||||
|
```sh
|
||||||
|
fact(whey)
|
||||||
|
```
|
||||||
|
|
||||||
|
and the calculator prints:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
13763753091226345046315979581580902400000000
|
||||||
|
```
|
||||||
|
|
||||||
|
The calculator also knows about complex numbers, so that typing:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
(2+3i) * (4-3i)
|
||||||
|
cos(.)
|
||||||
|
```
|
||||||
|
|
||||||
|
will print:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
17+6i
|
||||||
|
-55.50474777265624667147+193.9265235748927986537i
|
||||||
|
```
|
||||||
|
|
||||||
|
The calculator can calculate transcendental functions, and accept and
|
||||||
|
display numbers in real or exponential format. For example, typing:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
config("display", 70),
|
||||||
|
epsilon(1e-70),
|
||||||
|
sin(1)
|
||||||
|
```
|
||||||
|
|
||||||
|
prints:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
0.8414709848078965066525023216302989996225630607983710656727517099919104
|
||||||
|
```
|
||||||
|
|
||||||
|
Calc can output values in terms of fractions, octal or hexadecimal.
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
config("mode", "fraction"),
|
||||||
|
(17/19)^23
|
||||||
|
print
|
||||||
|
base(16),
|
||||||
|
(19/17)^29
|
||||||
|
print
|
||||||
|
log(79.3i)
|
||||||
|
```
|
||||||
|
|
||||||
|
will print:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
19967568900859523802559065713/257829627945307727248226067259
|
||||||
|
|
||||||
|
0x9201e65bdbb801eaf403f657efcf863/0x5cd2e2a01291ffd73bee6aa7dcf7d1
|
||||||
|
|
||||||
|
0x17b5164ac24ee836bf/0xc7b7a8e3ef5fcf752+0x883eaf5adadd26be3/0xc7b7a8e3ef5fcf752i
|
||||||
|
```
|
||||||
|
|
||||||
|
All numbers are represented as fractions with arbitrarily large
|
||||||
|
numerators and denominators which are always reduced to lowest terms.
|
||||||
|
Real or exponential format numbers can be input and are converted
|
||||||
|
to the equivalent fraction. Hex, binary, or octal numbers can be
|
||||||
|
input by using numbers with leading '0x', '0b' or '0' characters.
|
||||||
|
Complex numbers can be input using a trailing 'i', as in '2+3i'.
|
||||||
|
Strings and characters are input by using single or double quotes.
|
||||||
|
|
||||||
|
Commands are statements in a C-like language, where each input
|
||||||
|
line is treated as the body of a procedure. Thus the command
|
||||||
|
line can contain variable declarations, expressions, labels,
|
||||||
|
conditional tests, and loops. Assignments to any variable name
|
||||||
|
will automatically define that name as a global variable. The
|
||||||
|
other important thing to know is that all non-assignment expressions
|
||||||
|
which are evaluated are automatically printed. Thus, you can evaluate
|
||||||
|
an expression's value by simply typing it in.
|
||||||
|
|
||||||
|
Many useful built-in mathematical functions are available. Use the:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
help builtin
|
||||||
|
```
|
||||||
|
|
||||||
|
command to list them.
|
||||||
|
|
||||||
|
You can also define your own functions by using the 'define' keyword,
|
||||||
|
followed by a function declaration very similar to C.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
define f2(n)
|
||||||
|
{
|
||||||
|
local ans;
|
||||||
|
|
||||||
|
ans = 1;
|
||||||
|
while (n > 1)
|
||||||
|
ans *= (n -= 2);
|
||||||
|
return ans;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Thus the input:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
f2(79)
|
||||||
|
```
|
||||||
|
|
||||||
|
will produce:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
1009847364737869270905302433221592504062302663202724609375
|
||||||
|
```
|
||||||
|
|
||||||
|
Functions which only need to return a simple expression can be defined
|
||||||
|
using an equals sign, as in the example:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
define sc(a,b) = a^3 + b^3
|
||||||
|
```
|
||||||
|
|
||||||
|
Thus the input:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sc(31, 61)
|
||||||
|
```
|
||||||
|
|
||||||
|
will produce:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
256772
|
||||||
|
```
|
||||||
|
|
||||||
|
Variables in functions can be defined as either 'global', 'local',
|
||||||
|
or 'static'. Global variables are common to all functions and the
|
||||||
|
command line, whereas local variables are unique to each function
|
||||||
|
level, and are destroyed when the function returns. Static variables
|
||||||
|
are scoped within single input files, or within functions, and are
|
||||||
|
never destroyed. Variables are not typed at definition time, but
|
||||||
|
dynamically change as they are used.
|
||||||
|
|
||||||
|
For more information about the calc language and features, try:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
help overview
|
||||||
|
```
|
||||||
|
|
||||||
|
Calc has a help command that will produce information about
|
||||||
|
every builtin function, command as well as a number of other
|
||||||
|
aspects of calc usage. Try the command:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
help help
|
||||||
|
```
|
||||||
|
|
||||||
|
for and overview of the help system. The command:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
help builtin
|
||||||
|
```
|
||||||
|
|
||||||
|
provides information on built-in mathematical functions, whereas:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
help asinh
|
||||||
|
```
|
||||||
|
|
||||||
|
will provides information a specific function. The following
|
||||||
|
help files:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
help command
|
||||||
|
help define
|
||||||
|
help operator
|
||||||
|
help statement
|
||||||
|
help variable
|
||||||
|
```
|
||||||
|
|
||||||
|
provide a good overview of the calc language. If you are familiar
|
||||||
|
with C, you should also try:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
help unexpected
|
||||||
|
```
|
||||||
|
|
||||||
|
It contains information about differences between C and calc
|
||||||
|
that may surprize C programmers.
|
4
addop.c
4
addop.c
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: addop.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/RCS/addop.c,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:48:10
|
* Under source code control: 1990/02/15 01:48:10
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: align32.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/RCS/align32.c,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/11/23 05:18:06
|
* Under source code control: 1995/11/23 05:18:06
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
4
alloc.h
4
alloc.h
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.5 $
|
|
||||||
* @(#) $Id: alloc.h,v 30.5 2014/08/24 21:56:51 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/RCS/alloc.h,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:48:29
|
* Under source code control: 1990/02/15 01:48:29
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.3 $
|
|
||||||
* @(#) $Id: assocfunc.c,v 30.3 2014/09/30 00:55:11 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/RCS/assocfunc.c,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1993/07/20 23:04:27
|
* Under source code control: 1993/07/20 23:04:27
|
||||||
* File existed as early as: 1993
|
* File existed as early as: 1993
|
||||||
*
|
*
|
||||||
|
4
blkcpy.c
4
blkcpy.c
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.2 $
|
|
||||||
* @(#) $Id: blkcpy.c,v 30.2 2013/08/11 08:41:38 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/RCS/blkcpy.c,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1997/04/18 20:41:26
|
* Under source code control: 1997/04/18 20:41:26
|
||||||
* File existed as early as: 1997
|
* File existed as early as: 1997
|
||||||
*
|
*
|
||||||
|
4
blkcpy.h
4
blkcpy.h
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.3 $
|
|
||||||
* @(#) $Id: blkcpy.h,v 30.3 2014/08/24 21:56:51 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/RCS/blkcpy.h,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1997/04/18 20:41:25
|
* Under source code control: 1997/04/18 20:41:25
|
||||||
* File existed as early as: 1997
|
* File existed as early as: 1997
|
||||||
*
|
*
|
||||||
|
4
block.c
4
block.c
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: block.c,v 30.1 2007/03/16 11:09:46 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/RCS/block.c,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1997/02/27 00:29:40
|
* Under source code control: 1997/02/27 00:29:40
|
||||||
* File existed as early as: 1997
|
* File existed as early as: 1997
|
||||||
*
|
*
|
||||||
|
4
block.h
4
block.h
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.3 $
|
|
||||||
* @(#) $Id: block.h,v 30.3 2014/08/24 21:56:51 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/RCS/block.h,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1997/02/21 05:03:39
|
* Under source code control: 1997/02/21 05:03:39
|
||||||
* File existed as early as: 1997
|
* File existed as early as: 1997
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.2 $
|
|
||||||
* @(#) $Id: byteswap.c,v 30.2 2013/08/11 08:41:38 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/RCS/byteswap.c,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/10/11 04:44:01
|
* Under source code control: 1995/10/11 04:44:01
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.3 $
|
|
||||||
* @(#) $Id: byteswap.h,v 30.3 2014/08/24 21:56:51 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/RCS/byteswap.h,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/10/11 04:44:01
|
* Under source code control: 1995/10/11 04:44:01
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -18,10 +18,6 @@
|
|||||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
#
|
#
|
||||||
# @(#) $Revision: 30.12 $
|
|
||||||
# @(#) $Id: Makefile,v 30.12 2017/05/19 16:09:14 chongo Exp $
|
|
||||||
# @(#) $Source: /usr/local/src/bin/calc-RHEL7/cal/RCS/Makefile,v $
|
|
||||||
#
|
|
||||||
# Under source code control: 1991/07/21 05:00:54
|
# Under source code control: 1991/07/21 05:00:54
|
||||||
# File existed as early as: 1991
|
# File existed as early as: 1991
|
||||||
#
|
#
|
||||||
|
@@ -1834,10 +1834,6 @@ zeta2.cal
|
|||||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
##
|
##
|
||||||
## @(#) $Revision: 30.10 $
|
|
||||||
## @(#) $Id: README,v 30.10 2017/05/19 16:09:14 chongo Exp $
|
|
||||||
## @(#) $Source: /usr/local/src/bin/calc-RHEL7/cal/RCS/README,v $
|
|
||||||
##
|
|
||||||
## Under source code control: 1990/02/15 01:50:32
|
## Under source code control: 1990/02/15 01:50:32
|
||||||
## File existed as early as: before 1990
|
## File existed as early as: before 1990
|
||||||
##
|
##
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.12 $
|
|
||||||
* @(#) $Id: alg_config.cal,v 30.12 2016/02/06 08:38:56 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/alg_config.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2006/06/07 14:10:11
|
* Under source code control: 2006/06/07 14:10:11
|
||||||
* File existed as early as: 2006
|
* File existed as early as: 2006
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: beer.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/beer.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1996/11/13 13:21:05
|
* Under source code control: 1996/11/13 13:21:05
|
||||||
* File existed as early as: 1996
|
* File existed as early as: 1996
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: bernoulli.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/bernoulli.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1991/09/30 11:18:41
|
* Under source code control: 1991/09/30 11:18:41
|
||||||
* File existed as early as: 1991
|
* File existed as early as: 1991
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.4 $
|
|
||||||
* @(#) $Id: bernpoly.cal,v 30.4 2013/08/18 20:01:53 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/bernpoly.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2013/08/11 01:31:28
|
* Under source code control: 2013/08/11 01:31:28
|
||||||
* File existed as early as: 2013
|
* File existed as early as: 2013
|
||||||
*/
|
*/
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: bigprime.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/bigprime.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1991/05/22 21:56:32
|
* Under source code control: 1991/05/22 21:56:32
|
||||||
* File existed as early as: 1991
|
* File existed as early as: 1991
|
||||||
*
|
*
|
||||||
|
@@ -16,10 +16,6 @@
|
|||||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
#
|
#
|
||||||
# @(#) $Revision: 30.1 $
|
|
||||||
# @(#) $Id: bindings,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
# @(#) $Source: /usr/local/src/bin/calc/cal/RCS/bindings,v $
|
|
||||||
#
|
|
||||||
# Under source code control: 1993/05/02 20:09:19
|
# Under source code control: 1993/05/02 20:09:19
|
||||||
# File existed as early as: 1993
|
# File existed as early as: 1993
|
||||||
#
|
#
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.4 $
|
|
||||||
* @(#) $Id: brentsolve.cal,v 30.4 2013/08/18 20:01:53 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/brentsolve.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2013/08/11 01:31:28
|
* Under source code control: 2013/08/11 01:31:28
|
||||||
* File existed as early as: 2013
|
* File existed as early as: 2013
|
||||||
*/
|
*/
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: chi.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/chi.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2001/03/27 14:10:11
|
* Under source code control: 2001/03/27 14:10:11
|
||||||
* File existed as early as: 2001
|
* File existed as early as: 2001
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: chrem.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/chrem.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1992/09/26 01:00:47
|
* Under source code control: 1992/09/26 01:00:47
|
||||||
* File existed as early as: 1992
|
* File existed as early as: 1992
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.4 $
|
|
||||||
* @(#) $Id: constants.cal,v 30.4 2013/08/18 20:01:53 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/constants.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2013/08/11 01:31:28
|
* Under source code control: 2013/08/11 01:31:28
|
||||||
* File existed as early as: 2013
|
* File existed as early as: 2013
|
||||||
*/
|
*/
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.2 $
|
|
||||||
* @(#) $Id: deg.cal,v 30.2 2010/09/02 06:01:14 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/deg.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:33
|
* Under source code control: 1990/02/15 01:50:33
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.2 $
|
|
||||||
* @(#) $Id: dms.cal,v 30.2 2010/09/02 06:14:16 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/dms.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:33
|
* Under source code control: 1990/02/15 01:50:33
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -16,10 +16,6 @@
|
|||||||
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||||
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.2 $
|
|
||||||
* @(#) $Id: dotest.cal,v 30.2 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/dotest.cal,v $
|
|
||||||
*
|
|
||||||
* This file is not covered under version 2.1 of the GNU LGPL.
|
* This file is not covered under version 2.1 of the GNU LGPL.
|
||||||
*
|
*
|
||||||
* Under source dotest_code control: 2006/03/08 05:54:09
|
* Under source dotest_code control: 2006/03/08 05:54:09
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: ellip.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/ellip.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:33
|
* Under source code control: 1990/02/15 01:50:33
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.4 $
|
|
||||||
* @(#) $Id: factorial.cal,v 30.4 2013/08/18 20:01:53 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/factorial.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2013/08/11 01:31:28
|
* Under source code control: 2013/08/11 01:31:28
|
||||||
* File existed as early as: 2013
|
* File existed as early as: 2013
|
||||||
*/
|
*/
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.4 $
|
|
||||||
* @(#) $Id: factorial2.cal,v 30.4 2013/08/18 20:01:53 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/factorial2.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2013/08/11 01:31:28
|
* Under source code control: 2013/08/11 01:31:28
|
||||||
* File existed as early as: 2013
|
* File existed as early as: 2013
|
||||||
*/
|
*/
|
||||||
|
@@ -8,10 +8,6 @@
|
|||||||
* operation "function" must be first; calc doesn't care how many more
|
* operation "function" must be first; calc doesn't care how many more
|
||||||
* arguments there actually are.
|
* arguments there actually are.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.3 $
|
|
||||||
* @(#) $Id: gvec.cal,v 30.3 2011/05/23 23:00:55 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/gvec.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2011/03/31 17:54:55
|
* Under source code control: 2011/03/31 17:54:55
|
||||||
* File existed as early as: 2010
|
* File existed as early as: 2010
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: hello.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/hello.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1996/11/13 13:25:43
|
* Under source code control: 1996/11/13 13:25:43
|
||||||
* File existed as early as: 1996
|
* File existed as early as: 1996
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.2 $
|
|
||||||
* @(#) $Id: hms.cal,v 30.2 2010/09/02 06:14:16 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/hms.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2010/09/01 17:14:55
|
* Under source code control: 2010/09/01 17:14:55
|
||||||
* File existed as early as: 2010
|
* File existed as early as: 2010
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: intfile.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/intfile.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2001/03/31 08:13:11
|
* Under source code control: 2001/03/31 08:13:11
|
||||||
* File existed as early as: 2001
|
* File existed as early as: 2001
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.4 $
|
|
||||||
* @(#) $Id: lambertw.cal,v 30.4 2013/08/18 20:01:53 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/lambertw.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2013/08/11 01:31:28
|
* Under source code control: 2013/08/11 01:31:28
|
||||||
* File existed as early as: 2013
|
* File existed as early as: 2013
|
||||||
*/
|
*/
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.2 $
|
|
||||||
* @(#) $Id: linear.cal,v 30.2 2007/03/17 05:57:42 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/linear.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2005/12/12 06:41:50
|
* Under source code control: 2005/12/12 06:41:50
|
||||||
* File existed as early as: 2005
|
* File existed as early as: 2005
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.4 $
|
|
||||||
* @(#) $Id: lnseries.cal,v 30.4 2013/08/18 20:01:53 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/lnseries.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2013/08/11 01:31:28
|
* Under source code control: 2013/08/11 01:31:28
|
||||||
* File existed as early as: 2013
|
* File existed as early as: 2013
|
||||||
*/
|
*/
|
||||||
|
471
cal/lucas.cal
471
cal/lucas.cal
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* lucas - perform a Lucas primality test on h*2^n-1
|
* lucas - perform a Lucas primality test on h*2^n-1
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999,2017 Landon Curt Noll
|
* Copyright (C) 1999,2017,2018 Landon Curt Noll
|
||||||
*
|
*
|
||||||
* Calc is open software; you can redistribute it and/or modify it under
|
* 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
|
* the terms of the version 2.1 of the GNU Lesser General Public License
|
||||||
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.4 $
|
|
||||||
* @(#) $Id: lucas.cal,v 30.4 2017/05/20 21:54:16 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc-RHEL7/cal/RCS/lucas.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/05/03 16:49:51
|
* Under source code control: 1990/05/03 16:49:51
|
||||||
* File existed as early as: 1990
|
* File existed as early as: 1990
|
||||||
*
|
*
|
||||||
@@ -32,6 +28,10 @@
|
|||||||
* For a general tutorial on how to find a new largest known prime, see:
|
* For a general tutorial on how to find a new largest known prime, see:
|
||||||
*
|
*
|
||||||
* http://www.isthe.com/chongo/tech/math/prime/prime-tutorial.pdf
|
* http://www.isthe.com/chongo/tech/math/prime/prime-tutorial.pdf
|
||||||
|
*
|
||||||
|
* Also see the reference code, available both C and go:
|
||||||
|
*
|
||||||
|
* https://github.com/arcetri/goprime
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -158,6 +158,12 @@
|
|||||||
*
|
*
|
||||||
* Finally, one should eliminate all values of 'h*2^n-1' where
|
* Finally, one should eliminate all values of 'h*2^n-1' where
|
||||||
* 'h*2^n+1' is divisible by a small primes.
|
* 'h*2^n+1' is divisible by a small primes.
|
||||||
|
*
|
||||||
|
* NOTE: Today, for world record sized h*2^n-1 primes, one might
|
||||||
|
* search for factors < 2^46 or more. By excluding h*2^n-1
|
||||||
|
* with prime factors < 2^46, where h*2^n-1 is a bit larger
|
||||||
|
* than the largest known prime, one may exclude about 96.5%
|
||||||
|
* of candidates that have "small" prime factors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
pprod256 = 0; /* product of "primes up to 256" / "primes up to 46" */
|
pprod256 = 0; /* product of "primes up to 256" / "primes up to 46" */
|
||||||
@@ -175,6 +181,11 @@ pprod256 = 0; /* product of "primes up to 256" / "primes up to 46" */
|
|||||||
* "Lucasian Criteria for the Primality of N=h*2^n-1", by Hans Riesel,
|
* "Lucasian Criteria for the Primality of N=h*2^n-1", by Hans Riesel,
|
||||||
* Mathematics of Computation, Vol 23 #108, pp. 869-875, Oct 1969
|
* Mathematics of Computation, Vol 23 #108, pp. 869-875, Oct 1969
|
||||||
*
|
*
|
||||||
|
* http://www.ams.org/journals/mcom/1969-23-108/S0025-5718-1969-0262163-1/
|
||||||
|
* S0025-5718-1969-0262163-1.pdf
|
||||||
|
*
|
||||||
|
* NOTE: Join the above two lines for the complete URL of the paper.
|
||||||
|
*
|
||||||
* The following book is also useful:
|
* The following book is also useful:
|
||||||
*
|
*
|
||||||
* Ref2:
|
* Ref2:
|
||||||
@@ -242,8 +253,8 @@ pprod256 = 0; /* product of "primes up to 256" / "primes up to 46" */
|
|||||||
* do make this so.
|
* do make this so.
|
||||||
*
|
*
|
||||||
* input:
|
* input:
|
||||||
* h the h as in h*2^n-1
|
* h h as in h*2^n-1 (must be >= 1)
|
||||||
* n the n as in h*2^n-1
|
* n n as in h*2^n-1 (must be >= 1)
|
||||||
*
|
*
|
||||||
* returns:
|
* returns:
|
||||||
* 1 => h*2^n-1 is prime
|
* 1 => h*2^n-1 is prime
|
||||||
@@ -266,13 +277,17 @@ lucas(h, n)
|
|||||||
* check arg types
|
* check arg types
|
||||||
*/
|
*/
|
||||||
if (!isint(h)) {
|
if (!isint(h)) {
|
||||||
ldebug("lucas", "h is non-int");
|
|
||||||
quit "FATAL: bad args: h must be an integer";
|
quit "FATAL: bad args: h must be an integer";
|
||||||
}
|
}
|
||||||
|
if (h < 1) {
|
||||||
|
quit "FATAL: bad args: h must be an integer >= 1";
|
||||||
|
}
|
||||||
if (!isint(n)) {
|
if (!isint(n)) {
|
||||||
ldebug("lucas", "n is non-int");
|
|
||||||
quit "FATAL: bad args: n must be an integer";
|
quit "FATAL: bad args: n must be an integer";
|
||||||
}
|
}
|
||||||
|
if (n < 1) {
|
||||||
|
quit "FATAL: bad args: n must be an integer >= 1";
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* reduce h if even
|
* reduce h if even
|
||||||
@@ -358,41 +373,53 @@ lucas(h, n)
|
|||||||
return 1; /* 239 is prime */
|
return 1; /* 239 is prime */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Verify that h*2^n-1 is not a multiple of 3
|
||||||
|
*
|
||||||
|
* The case for h*2^n-1 == 3 is handled above.
|
||||||
|
*/
|
||||||
|
if (((h % 3 == 1) && (n % 2 == 0)) || ((h % 3 == 2) && (n % 2 == 1))) {
|
||||||
|
/* no need to test h*2^n-1, it is a multiple of 3 */
|
||||||
|
ldebug("lucas","not-prime: != 3 and is a multiple of 3");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Avoid any numbers divisible by small primes
|
* Avoid any numbers divisible by small primes
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* check for 3 <= prime factors < 29
|
* check for 5 <= prime factors < 31
|
||||||
* pfact(28)/2 = 111546435
|
* pfact(30)/6 = 1078282205
|
||||||
*/
|
*/
|
||||||
testval = h*2^n - 1;
|
testval = h*2^n - 1;
|
||||||
if (gcd(testval, 111546435) > 1) {
|
if (gcd(testval, 1078282205) > 1) {
|
||||||
/* a small 3 <= prime < 29 divides h*2^n-1 */
|
/* a small 5 <= prime < 31 divides h*2^n-1 */
|
||||||
ldebug("lucas","not-prime: 3<=prime<29 divides h*2^n-1");
|
ldebug("lucas",\
|
||||||
|
"not-prime: a small 5<=prime<31 divides h*2^n-1");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* check for 29 <= prime factors < 47
|
* check for 31 <= prime factors < 53
|
||||||
* pfact(46)/pfact(28) = 5864229
|
* pfact(52)/pfact(30) = 95041567
|
||||||
*/
|
*/
|
||||||
if (gcd(testval, 58642669) > 1) {
|
if (gcd(testval, 95041567) > 1) {
|
||||||
/* a small 29 <= prime < 47 divides h*2^n-1 */
|
/* a small 31 <= prime < 53 divides h*2^n-1 */
|
||||||
ldebug("lucas","not-prime: 29<=prime<47 divides h*2^n-1");
|
ldebug("lucas","not-prime: 31<=prime<53 divides h*2^n-1");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* check for prime 47 <= factors < 257, if h*2^n-1 is large
|
* check for prime 53 <= factors < 257, if h*2^n-1 is large
|
||||||
* 2^282 > pfact(256)/pfact(46) > 2^281
|
* 2^276 > pfact(256)/pfact(52) > 2^275
|
||||||
*/
|
*/
|
||||||
bits = highbit(testval);
|
bits = highbit(testval);
|
||||||
if (bits >= 281) {
|
if (bits >= 275) {
|
||||||
if (pprod256 <= 0) {
|
if (pprod256 <= 0) {
|
||||||
pprod256 = pfact(256)/pfact(46);
|
pprod256 = pfact(256)/pfact(52);
|
||||||
}
|
}
|
||||||
if (gcd(testval, pprod256) > 1) {
|
if (gcd(testval, pprod256) > 1) {
|
||||||
/* a small 47 <= prime < 257 divides h*2^n-1 */
|
/* a small 53 <= prime < 257 divides h*2^n-1 */
|
||||||
ldebug("lucas",\
|
ldebug("lucas",\
|
||||||
"not-prime: 47<=prime<257 divides h*2^n-1");
|
"not-prime: 53<=prime<257 divides h*2^n-1");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -408,7 +435,9 @@ lucas(h, n)
|
|||||||
* generate a test for h*2^n-1. The legacy function,
|
* generate a test for h*2^n-1. The legacy function,
|
||||||
* legacy_gen_v1() used by the Amdahl 6 could have returned
|
* legacy_gen_v1() used by the Amdahl 6 could have returned
|
||||||
* -1. The new gen_v1() based on the method outlined in Ref4
|
* -1. The new gen_v1() based on the method outlined in Ref4
|
||||||
* will never return -1.
|
* will never return -1 if h*2^n-1 is not a multiple of 3.
|
||||||
|
* Because the "multiple of 3" case is handled above, the
|
||||||
|
* call below to gen_v1() will never return -1.
|
||||||
*/
|
*/
|
||||||
v1 = gen_v1(h, n);
|
v1 = gen_v1(h, n);
|
||||||
if (v1 < 0) {
|
if (v1 < 0) {
|
||||||
@@ -483,9 +512,9 @@ lucas(h, n)
|
|||||||
* See the function gen_v1() for details on the value of v(1).
|
* See the function gen_v1() for details on the value of v(1).
|
||||||
*
|
*
|
||||||
* input:
|
* input:
|
||||||
* h - h as in h*2^n-1
|
* h - h as in h*2^n-1 (must be >= 1)
|
||||||
* n - n as in h*2^n-1
|
* n - n as in h*2^n-1 (must be >= 1)
|
||||||
* v1 - gen_v1(h,n) (see function below)
|
* v1 - gen_v1(h,n) (must be >= 3) (see function below)
|
||||||
*
|
*
|
||||||
* returns:
|
* returns:
|
||||||
* u(2) - initial value for Lucas test on h*2^n-1
|
* u(2) - initial value for Lucas test on h*2^n-1
|
||||||
@@ -498,6 +527,8 @@ gen_u2(h, n, v1)
|
|||||||
local r; /* low value: v(n) */
|
local r; /* low value: v(n) */
|
||||||
local s; /* high value: v(n+1) */
|
local s; /* high value: v(n+1) */
|
||||||
local hbits; /* highest bit set in h */
|
local hbits; /* highest bit set in h */
|
||||||
|
local oldh; /* pre-reduced h */
|
||||||
|
local oldn; /* pre-reduced n */
|
||||||
local i;
|
local i;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -506,24 +537,45 @@ gen_u2(h, n, v1)
|
|||||||
if (!isint(h)) {
|
if (!isint(h)) {
|
||||||
quit "bad args: h must be an integer";
|
quit "bad args: h must be an integer";
|
||||||
}
|
}
|
||||||
|
if (h < 0) {
|
||||||
|
quit "bad args: h must be an integer >= 1";
|
||||||
|
}
|
||||||
if (!isint(n)) {
|
if (!isint(n)) {
|
||||||
quit "bad args: n must be an integer";
|
quit "bad args: n must be an integer";
|
||||||
}
|
}
|
||||||
|
if (n < 1) {
|
||||||
|
quit "bad args: n must be an integer >= 1";
|
||||||
|
}
|
||||||
if (!isint(v1)) {
|
if (!isint(v1)) {
|
||||||
quit "bad args: v1 must be an integer";
|
quit "bad args: v1 must be an integer";
|
||||||
}
|
}
|
||||||
if (v1 <= 0) {
|
if (v1 < 3) {
|
||||||
quit "bogus arg: v1 is <= 0";
|
quit "bogus arg: v1 must be an integer >= 3";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* reduce h if even
|
||||||
|
*
|
||||||
|
* we will force h to be odd by moving powers of two over to 2^n
|
||||||
|
*/
|
||||||
|
oldh = h;
|
||||||
|
oldn = n;
|
||||||
|
shiftdown = fcnt(h,2); /* h % 2^shiftdown == 0, max shiftdown */
|
||||||
|
if (shiftdown > 0) {
|
||||||
|
h >>= shiftdown;
|
||||||
|
n += shiftdown;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* enforce the h > 0 and n >= 2 rules
|
* enforce the h > 0 and n >= 2 rules
|
||||||
*/
|
*/
|
||||||
if (h <= 0 || n < 1) {
|
if (h <= 0 || n < 1) {
|
||||||
|
print " ERROR: h=":oldh, "n=":oldn, "reduced h=":h, "n=":n;
|
||||||
quit "reduced args violate the rule: 0 < h < 2^n";
|
quit "reduced args violate the rule: 0 < h < 2^n";
|
||||||
}
|
}
|
||||||
hbits = highbit(h);
|
hbits = highbit(h);
|
||||||
if (hbits >= n) {
|
if (hbits >= n) {
|
||||||
|
print " ERROR: h=":oldh, "n=":oldn, "reduced h=":h, "n=":n;
|
||||||
quit "reduced args violate the rule: 0 < h < 2^n";
|
quit "reduced args violate the rule: 0 < h < 2^n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -598,8 +650,8 @@ gen_u2(h, n, v1)
|
|||||||
* See the function gen_u2() for details.
|
* See the function gen_u2() for details.
|
||||||
*
|
*
|
||||||
* input:
|
* input:
|
||||||
* h - h as in h*2^n-1
|
* h - h as in h*2^n-1 (must be >= 1)
|
||||||
* n - n as in h*2^n-1
|
* n - n as in h*2^n-1 (must be >= 1)
|
||||||
* v1 - gen_v1(h,n) (see function below)
|
* v1 - gen_v1(h,n) (see function below)
|
||||||
*
|
*
|
||||||
* returns:
|
* returns:
|
||||||
@@ -637,9 +689,9 @@ gen_u0(h, n, v1)
|
|||||||
* x > 2
|
* x > 2
|
||||||
*
|
*
|
||||||
* input:
|
* input:
|
||||||
* x - potential v(1) value
|
* x potential v(1) value
|
||||||
* h - h as in h*2^n-1
|
* h h as in h*2^n-1 (h must be odd >= 1)
|
||||||
* n - n as in h*2^n-1
|
* n n as in h*2^n-1 (must be >= 1)
|
||||||
*
|
*
|
||||||
* returns:
|
* returns:
|
||||||
* 1 if v(1) == x for h*2^n-1
|
* 1 if v(1) == x for h*2^n-1
|
||||||
@@ -656,9 +708,18 @@ rodseth_xhn(x, h, n)
|
|||||||
if (!isint(h)) {
|
if (!isint(h)) {
|
||||||
quit "bad args: h must be an integer";
|
quit "bad args: h must be an integer";
|
||||||
}
|
}
|
||||||
|
if (iseven(h)) {
|
||||||
|
quit "bad args: h must be an odd integer";
|
||||||
|
}
|
||||||
|
if (h < 1) {
|
||||||
|
quit "bad args: h must be an integer >= 1";
|
||||||
|
}
|
||||||
if (!isint(n)) {
|
if (!isint(n)) {
|
||||||
quit "bad args: n must be an integer";
|
quit "bad args: n must be an integer";
|
||||||
}
|
}
|
||||||
|
if (n < 1) {
|
||||||
|
quit "bad args: n must be an integer >= 1";
|
||||||
|
}
|
||||||
if (!isint(x)) {
|
if (!isint(x)) {
|
||||||
quit "bad args: x must be an integer";
|
quit "bad args: x must be an integer";
|
||||||
}
|
}
|
||||||
@@ -702,9 +763,9 @@ rodseth_xhn(x, h, n)
|
|||||||
* We can show that X > 2. See the comments in the rodseth_xhn(x,h,n) above.
|
* We can show that X > 2. See the comments in the rodseth_xhn(x,h,n) above.
|
||||||
*
|
*
|
||||||
* Some values of X satisfy more often than others. For example a large sample
|
* Some values of X satisfy more often than others. For example a large sample
|
||||||
* of odd h, h multiple of 3 and large n (some around 1e4, some near 1e6, others
|
* of h*2^n-1, h odd multiple of 3, and large n (some around 1e4, some near 1e6,
|
||||||
* near 3e7) where the sample size was 66 973 365, here is the count of the
|
* others near 3e7) where the sample size was 66 973 365, here is the count of
|
||||||
* smallest value of X that satisfies conditions in Ref4, condition 1:
|
* the smallest value of X that satisfies conditions in Ref4, condition 1:
|
||||||
*
|
*
|
||||||
* count X
|
* count X
|
||||||
* ----------
|
* ----------
|
||||||
@@ -762,45 +823,161 @@ rodseth_xhn(x, h, n)
|
|||||||
* 1 161
|
* 1 161
|
||||||
* 1 155
|
* 1 155
|
||||||
*
|
*
|
||||||
|
* It is important that we select the smallest possible v(1). While testing
|
||||||
|
* various values of X for V(1) is fast, using larger than necessary values
|
||||||
|
* of V(1) of can slow down calculating V(h).
|
||||||
|
*
|
||||||
* The above distribution was found to hold fairly well over many values of
|
* The above distribution was found to hold fairly well over many values of
|
||||||
* odd h that are a multiple of 3 and for many values of n where h < 2^n.
|
* odd h that are also a multiple of 3 and for many values of n where h < 2^n.
|
||||||
|
*
|
||||||
|
* For example for in a sample size of 1000000 numbers of the form h*2^n-1
|
||||||
|
* where h is an odd multiple of 3, 12996351 <= h <= 13002351,
|
||||||
|
* 4331116 <= n <= 4332116, these are the smallest v(1) values that were found:
|
||||||
|
*
|
||||||
|
* smallest percentage
|
||||||
|
* v(1) used
|
||||||
|
* -------- ---------
|
||||||
|
* 3 40.0000 %
|
||||||
|
* 5 25.6833 %
|
||||||
|
* 9 11.6924 %
|
||||||
|
* 11 10.4528 %
|
||||||
|
* 15 4.8048 %
|
||||||
|
* 17 2.3458 %
|
||||||
|
* 21 1.3734 %
|
||||||
|
* 29 1.0527 %
|
||||||
|
* 20 0.8595 %
|
||||||
|
* 27 0.5758 %
|
||||||
|
* 35 0.4420 %
|
||||||
|
* 36 0.2433 %
|
||||||
|
* 39 0.1779 %
|
||||||
|
* 41 0.0885 %
|
||||||
|
* 45 0.0571 %
|
||||||
|
* 32 0.0337 %
|
||||||
|
* 51 0.0289 %
|
||||||
|
* 44 0.0205 %
|
||||||
|
* 49 0.0176 %
|
||||||
|
* 56 0.0137 %
|
||||||
|
* 59 0.0108 %
|
||||||
|
* 57 0.0053 %
|
||||||
|
* 65 0.0047 %
|
||||||
|
* 55 0.0045 %
|
||||||
|
* 69 0.0031 %
|
||||||
|
* 71 0.0024 %
|
||||||
|
* 66 0.0011 %
|
||||||
|
* 95 0.0008 %
|
||||||
|
* 81 0.0008 %
|
||||||
|
* 77 0.0006 %
|
||||||
|
* 72 0.0005 %
|
||||||
|
* 99 0.0004 %
|
||||||
|
* 80 0.0003 %
|
||||||
|
* 74 0.0003 %
|
||||||
|
* 84 0.0002 %
|
||||||
|
* 67 0.0002 %
|
||||||
|
* 87 0.0001 %
|
||||||
|
* 104 0.0001 %
|
||||||
|
* 129 0.0001 %
|
||||||
|
*
|
||||||
|
* However, a case can be made for considering only odd values for v(1)
|
||||||
|
* candidates. When h * 2^n-1 is prime and h is an odd multiple of 3,
|
||||||
|
* a smallest v(1) that is even is extremely rate. Of the list of 146553
|
||||||
|
* known primes of the form h*2^n-1 when h is an odd a multiple of 3,
|
||||||
|
* none has an smallest v(1) that was even.
|
||||||
|
*
|
||||||
|
* See:
|
||||||
|
*
|
||||||
|
* https://github.com/arcetri/verified-prime
|
||||||
|
*
|
||||||
|
* for that list of 146553 known primes of the form h*2^n-1.
|
||||||
|
*
|
||||||
|
* That same example for in a sample size of 1000000 numbers of the
|
||||||
|
* form h*2^n-1 where h is an odd multiple of 3, 12996351 <= h <= 13002351,
|
||||||
|
* 4331116 <= n <= 4332116, these are the smallest odd v(1) values that were
|
||||||
|
* found:
|
||||||
|
*
|
||||||
|
* smallest percentage
|
||||||
|
* odd v(1) used
|
||||||
|
* -------- ---------
|
||||||
|
* 3 40.0000 %
|
||||||
|
* 5 25.6833 %
|
||||||
|
* 9 11.6924 %
|
||||||
|
* 11 10.4528 %
|
||||||
|
* 15 4.8048 %
|
||||||
|
* 17 2.3458 %
|
||||||
|
* 21 1.6568 %
|
||||||
|
* 29 1.6174 %
|
||||||
|
* 35 0.4529 %
|
||||||
|
* 27 0.3546 %
|
||||||
|
* 39 0.3470 %
|
||||||
|
* 41 0.2159 %
|
||||||
|
* 45 0.1173 %
|
||||||
|
* 31 0.0661 %
|
||||||
|
* 51 0.0619 %
|
||||||
|
* 55 0.0419 %
|
||||||
|
* 59 0.0250 %
|
||||||
|
* 49 0.0170 %
|
||||||
|
* 69 0.0110 %
|
||||||
|
* 65 0.0098 %
|
||||||
|
* 71 0.0078 %
|
||||||
|
* 85 0.0048 %
|
||||||
|
* 81 0.0044 %
|
||||||
|
* 95 0.0038 %
|
||||||
|
* 99 0.0021 %
|
||||||
|
* 125 0.0009 %
|
||||||
|
* 57 0.0007 %
|
||||||
|
* 111 0.0005 %
|
||||||
|
* 77 0.0003 %
|
||||||
|
* 165 0.0003 %
|
||||||
|
* 155 0.0002 %
|
||||||
|
* 129 0.0002 %
|
||||||
|
* 101 0.0002 %
|
||||||
|
* 53 0.0001 %
|
||||||
|
*
|
||||||
|
* Moreover when evaluating odd candidates for v(1), one may cache Jacobi
|
||||||
|
* symbol evaluations to reduce the number of Jacobi symbol evaluations to
|
||||||
|
* a minimum. For example, if one tests 5 and finds that the 2nd case fails:
|
||||||
|
*
|
||||||
|
* jacobi(5+2, h*2^n-1) != -1
|
||||||
|
*
|
||||||
|
* Then if one is later testing 9, the Jacobi symbol value for the first
|
||||||
|
* 1st case:
|
||||||
|
*
|
||||||
|
* jacobi(7-2, h*2^n-1)
|
||||||
|
*
|
||||||
|
* is already known.
|
||||||
|
*
|
||||||
|
* Without Jacobi symbol value caching, it requires on average
|
||||||
|
* 4.851377 Jacobi symbol evaluations. With Jacobi symbol value caching
|
||||||
|
* cacheing, an averare of 4.348820 Jacobi symbol evaluations is needed.
|
||||||
*
|
*
|
||||||
* Given this information, when odd h is a multiple of 3 we try, in order,
|
* Given this information, when odd h is a multiple of 3 we try, in order,
|
||||||
* these values of X:
|
* these odd values of X:
|
||||||
*
|
*
|
||||||
* 3, 5, 9, 11, 15, 17, 21, 29, 20, 27, 35, 36, 39, 41, 45, 32, 51, 44,
|
* 3, 5, 9, 11, 15, 17, 21, 29, 27, 35, 39, 41, 31, 45, 51, 55, 49, 59,
|
||||||
* 56, 49, 59, 57, 65, 55, 69, 71, 77, 81, 66, 95, 80, 67, 84, 99, 72,
|
* 69, 65, 71, 57, 85, 81, 95, 99, 77, 53, 67, 125, 111, 105, 87, 129,
|
||||||
* 74, 87, 90, 104, 101, 105, 109, 116, 111, 92
|
* 101, 83, 165, 155, 149, 141, 121, 109
|
||||||
*
|
*
|
||||||
* And stop on the first value of X where:
|
* And stop on the first value of X where:
|
||||||
*
|
*
|
||||||
* jacobi(X-2, h*2^n-1) == 1
|
* jacobi(X-2, h*2^n-1) == 1
|
||||||
* jacobi(X+2, h*2^n-1) == -1
|
* jacobi(X+2, h*2^n-1) == -1
|
||||||
*
|
*
|
||||||
* If no value in that list works, we start simple search starting with X = 120
|
* Less than 1 case out of 1000000 will not be satisifed by the above list.
|
||||||
* and incrementing by 1 until a value of X is found.
|
* If no value in that list works, we start simple search starting with X = 167
|
||||||
|
* and incrementing by 2 until a value of X is found.
|
||||||
*
|
*
|
||||||
* The x_tbl[] matrix contains those common values of X to try in order.
|
* The x_tbl[] matrix contains those values of X to try in order.
|
||||||
* If all x_tbl_len fail to satisfy Ref4 condition 1, then we begin a
|
* If all x_tbl_len fail to satisfy Ref4 condition 1 (this happens less than
|
||||||
* linear search at next_x until we find a proper X value.
|
* 1 in 1000000 cases), then we begin a linear search of odd values starting at
|
||||||
*
|
* next_x until we find a proper X value.
|
||||||
* IMPORTANT NOTE: Using this table will not find the smallest possible v(1)
|
|
||||||
* for a given h and n. This is not a problem because using
|
|
||||||
* a larger value of v(1) does not impact the primality test.
|
|
||||||
* Furthermore after lucas(h, n) generates a few u(n) terms,
|
|
||||||
* the values will wrap (due to computing mod h*2^n-1).
|
|
||||||
* Finally on average, about 1/4 of the values of X work as
|
|
||||||
* v(1) for a given n when h is a multiple of 3. Skipping
|
|
||||||
* rarely used v(1) will not doom gen_v1() to a long search.
|
|
||||||
*/
|
*/
|
||||||
x_tbl_len = 45;
|
x_tbl_len = 42;
|
||||||
mat x_tbl[x_tbl_len];
|
mat x_tbl[x_tbl_len];
|
||||||
x_tbl = {
|
x_tbl = {
|
||||||
3, 5, 9, 11, 15, 17, 21, 29, 20, 27, 35, 36, 39, 41, 45, 32, 51, 44,
|
3, 5, 9, 11, 15, 17, 21, 29, 27, 35, 39, 41, 31, 45, 51, 55, 49, 59,
|
||||||
56, 49, 59, 57, 65, 55, 69, 71, 77, 81, 66, 95, 80, 67, 84, 99, 72,
|
69, 65, 71, 57, 85, 81, 95, 99, 77, 53, 67, 125, 111, 105, 87, 129,
|
||||||
74, 87, 90, 104, 101, 105, 109, 116, 111, 92
|
101, 83, 165, 155, 149, 141, 121, 109
|
||||||
};
|
};
|
||||||
next_x = 120;
|
next_x = 167; /* must be 2 more than the largest value in x_tbl[] */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* gen_v1 - compute the v(1) for a given h*2^n-1 if we can
|
* gen_v1 - compute the v(1) for a given h*2^n-1 if we can
|
||||||
@@ -840,7 +1017,13 @@ next_x = 120;
|
|||||||
* u(2) = alpha^h + alpha^(-h) (NOTE: some call this u(2))
|
* u(2) = alpha^h + alpha^(-h) (NOTE: some call this u(2))
|
||||||
* r = abs(2^2 - 1^2*3) = 1
|
* r = abs(2^2 - 1^2*3) = 1
|
||||||
*
|
*
|
||||||
* and the bottom of Ref1, page 872 states:
|
* where these values work for Case 1: (h mod 3 != 0)
|
||||||
|
*
|
||||||
|
* a = 1
|
||||||
|
* b = 2
|
||||||
|
* D = 1
|
||||||
|
*
|
||||||
|
* Now at the bottom of Ref1, page 872 states:
|
||||||
*
|
*
|
||||||
* v(x) = alpha^x + alpha^(-x)
|
* v(x) = alpha^x + alpha^(-x)
|
||||||
*
|
*
|
||||||
@@ -852,12 +1035,22 @@ next_x = 120;
|
|||||||
*
|
*
|
||||||
* u(2) = v(h) (NOTE: some call this u(2))
|
* u(2) = v(h) (NOTE: some call this u(2))
|
||||||
*
|
*
|
||||||
* so we simply return
|
* so we can always return
|
||||||
*
|
*
|
||||||
* v(1) = alpha^1 + alpha^(-1)
|
* v(1) = alpha^1 + alpha^(-1)
|
||||||
* = (2+sqrt(3)) + (2-sqrt(3))
|
* = (2+sqrt(3)) + (2-sqrt(3))
|
||||||
* = 4
|
* = 4
|
||||||
*
|
*
|
||||||
|
* In 40% of the cases when h is not a multiple of 3, 3 is a valid value
|
||||||
|
* for v(1). We can test if 3 is a valid value for v(1) in this case:
|
||||||
|
*
|
||||||
|
* if jacobi(1, h*2^n-1) == 1 and jacobi(5, h*2^n-1) == -1, then
|
||||||
|
* v(1) = 3
|
||||||
|
* else
|
||||||
|
* v(1) = 4
|
||||||
|
*
|
||||||
|
* HOTE: The above "if then else" works only of h is not a multiple of 3.
|
||||||
|
*
|
||||||
***
|
***
|
||||||
*
|
*
|
||||||
* Case 2: (h mod 3 == 0)
|
* Case 2: (h mod 3 == 0)
|
||||||
@@ -949,17 +1142,22 @@ next_x = 120;
|
|||||||
***
|
***
|
||||||
*
|
*
|
||||||
* input:
|
* input:
|
||||||
* h h as in h*2^n-1
|
* h h as in h*2^n-1 (h must be odd >= 1)
|
||||||
* n n as in h*2^n-1
|
* n n as in h*2^n-1 (must be >= 1)
|
||||||
*
|
*
|
||||||
* output:
|
* output:
|
||||||
* returns v(1), or -1 is there is no quick way
|
* returns v(1), or
|
||||||
|
* -1 when h*2^n-1 is a multiple of 3
|
||||||
*/
|
*/
|
||||||
define
|
define
|
||||||
gen_v1(h, n)
|
gen_v1(h, n)
|
||||||
{
|
{
|
||||||
local x; /* potential v(1) to test */
|
local x; /* potential v(1) to test */
|
||||||
local i; /* x_tbl index */
|
local i; /* x_tbl index */
|
||||||
|
local v1m2; /* X-2 1st case */
|
||||||
|
local v1p2; /* X+2 2nd case */
|
||||||
|
local testval; /* h*2^n-1 - value we are testing if prime */
|
||||||
|
local mat cached_v1[next_x]; /* cached Jacobi symbol values or 0 */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* check arg types
|
* check arg types
|
||||||
@@ -967,58 +1165,131 @@ gen_v1(h, n)
|
|||||||
if (!isint(h)) {
|
if (!isint(h)) {
|
||||||
quit "bad args: h must be an integer";
|
quit "bad args: h must be an integer";
|
||||||
}
|
}
|
||||||
|
if (iseven(h)) {
|
||||||
|
quit "bad args: h must be an odd integer";
|
||||||
|
}
|
||||||
|
if (h < 1) {
|
||||||
|
quit "bad args: h must be an integer >= 1";
|
||||||
|
}
|
||||||
if (!isint(n)) {
|
if (!isint(n)) {
|
||||||
quit "bad args: n must be an integer";
|
quit "bad args: n must be an integer";
|
||||||
}
|
}
|
||||||
|
if (n < 1) {
|
||||||
|
quit "bad args: n must be an integer >= 1";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* pretest: Verify that h*2^n-1 is not a multiple of 3
|
||||||
|
*/
|
||||||
|
if (((h % 3 == 1) && (n % 2 == 0)) || ((h % 3 == 2) && (n % 2 == 1))) {
|
||||||
|
/* no need to test h*2^n-1, it is not prime */
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Common Mersenne number case:
|
||||||
|
*
|
||||||
|
* For Mersenne numbers:
|
||||||
|
*
|
||||||
|
* 2^n-1
|
||||||
|
*
|
||||||
|
* we can use, 40% of the time, v(1) == 3. However nearly all code that
|
||||||
|
* implements the Lucas-Lehmer test uses v(1) == 4. Whenever for
|
||||||
|
* h != 0 mod 3, and particular the Mersenne number case of when h == 1:
|
||||||
|
*
|
||||||
|
* 1*2^n-1
|
||||||
|
*
|
||||||
|
* v(1) == 4 always works. For this reason, we return 4 when h == 1.
|
||||||
|
*/
|
||||||
|
if (h == 1) {
|
||||||
|
/* v(1) == 4 always works for the Mersenne number case */
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* check for Case 1: (h mod 3 != 0)
|
* check for Case 1: (h mod 3 != 0)
|
||||||
*/
|
*/
|
||||||
if (h % 3 != 0) {
|
if (h % 3 != 0) {
|
||||||
/* v(1) is easy to compute */
|
if (rodseth_xhn(3, h, n) == 1) {
|
||||||
return 4;
|
/* 40% of the time, 3 works when h mod 3 != 0 */
|
||||||
|
return 3;
|
||||||
|
} else {
|
||||||
|
/* otherwise 4 always works when h mod 3 != 0 */
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* What follow is Case 2: (h mod 3 == 0)
|
* What follow is Case 2: (h mod 3 == 0)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* clear cache
|
||||||
|
*/
|
||||||
|
matfill(cached_v1, 0);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We will look for x that satisfies conditions in Ref4, condition 1:
|
* We will look for x that satisfies conditions in Ref4, condition 1:
|
||||||
*
|
*
|
||||||
* jacobi(X-2, h*2^n-1) == 1 part 1
|
* jacobi(X-2, h*2^n-1) == 1 part 1
|
||||||
* jacobi(X+2, h*2^n-1) == -1 part 2
|
* jacobi(X+2, h*2^n-1) == -1 part 2
|
||||||
|
*
|
||||||
|
* NOTE: If we wanted to be super optimial, we would cache
|
||||||
|
* jacobi(X+2, h*2^n-1) that that when we increment X
|
||||||
|
* to the next odd value, the now jacobi(X-2, h*2^n-1)
|
||||||
|
* does not need to be re-evaluted.
|
||||||
*/
|
*/
|
||||||
|
testval = h*2^n-1;
|
||||||
for (i=0; i < x_tbl_len; ++i) {
|
for (i=0; i < x_tbl_len; ++i) {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* test Ref4 condition 1:
|
* obtain the next test candidate
|
||||||
*/
|
*/
|
||||||
x = x_tbl[i];
|
x = x_tbl[i];
|
||||||
if (rodseth_xhn(x, h, n) == 1) {
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* found a x that satisfies Ref4 condition 1
|
* Check x for condition 1 part 1
|
||||||
*/
|
*
|
||||||
ldebug("gen_v1", "h= " + str(h) + " n= " + str(n) +
|
* jacobi(x-2, h*2^n-1) == 1
|
||||||
" v1= " + str(x) + " using tbl[ " +
|
*/
|
||||||
str(i) + " ]");
|
v1m2 = x-2;
|
||||||
return x;
|
if (cached_v1[v1m2] == 0) {
|
||||||
|
cached_v1[v1m2] = jacobi(v1m2, testval);
|
||||||
}
|
}
|
||||||
|
if (cached_v1[v1m2] != 1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Check x for condition 1 part 2
|
||||||
|
*
|
||||||
|
* jacobi(x+2, h*2^n-1) == -1
|
||||||
|
*/
|
||||||
|
v1p2 = x+2;
|
||||||
|
if (cached_v1[v1p2] == 0) {
|
||||||
|
cached_v1[v1p2] = jacobi(v1p2, testval);
|
||||||
|
}
|
||||||
|
if (cached_v1[v1p2] != -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* found a x that satisfies Ref4 condition 1
|
||||||
|
*/
|
||||||
|
ldebug("gen_v1", "h= " + str(h) + " n= " + str(n) +
|
||||||
|
" v1= " + str(x) + " using tbl[ " +
|
||||||
|
str(i) + " ]");
|
||||||
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We are in that rare case (about 1 in 2 300 000) where none of the
|
* We are in that rare case (less than 1 in 1 000 000) where none of the
|
||||||
* common X values satisfy Ref4 condition 1. We start a linear search
|
* common X values satisfy Ref4 condition 1. We start a linear search
|
||||||
* at next_x from here on.
|
* of odd vules at next_x from here on.
|
||||||
*
|
|
||||||
* However, we also need to keep in mind that when x+2 >= 257, we
|
|
||||||
* need to verify that gcd(x-2, h*2^n-1) == 1 and
|
|
||||||
* and to verify that gcd(x+2, h*2^n-1) == 1.
|
|
||||||
*/
|
*/
|
||||||
x = next_x;
|
x = next_x;
|
||||||
while (rodseth_xhn(x, h, n) != 1) {
|
while (rodseth_xhn(x, h, n) != 1) {
|
||||||
++x;
|
x += 2;
|
||||||
}
|
}
|
||||||
/* finally found a v(1) value */
|
/* finally found a v(1) value */
|
||||||
ldebug("gen_v1", "h= " + str(h) + " n= " + str(n) +
|
ldebug("gen_v1", "h= " + str(h) + " n= " + str(n) +
|
||||||
@@ -1143,7 +1414,13 @@ legacy_d_qval[7] = 19; legacy_v1_qval[7] = 74; /* a=38 b=1 r=2 */
|
|||||||
* u(2) = alpha^h + alpha^(-h)
|
* u(2) = alpha^h + alpha^(-h)
|
||||||
* r = abs(2^2 - 1^2*3) = 1
|
* r = abs(2^2 - 1^2*3) = 1
|
||||||
*
|
*
|
||||||
* and the bottom of Ref1, page 872 states:
|
* where these values work for Case 1: (h mod 3 != 0)
|
||||||
|
*
|
||||||
|
* a = 1
|
||||||
|
* b = 2
|
||||||
|
* D = 1
|
||||||
|
*
|
||||||
|
* Now at the bottom of Ref1, page 872 states:
|
||||||
*
|
*
|
||||||
* v(x) = alpha^x + alpha^(-x)
|
* v(x) = alpha^x + alpha^(-x)
|
||||||
*
|
*
|
||||||
@@ -1444,8 +1721,8 @@ legacy_d_qval[7] = 19; legacy_v1_qval[7] = 74; /* a=38 b=1 r=2 */
|
|||||||
***
|
***
|
||||||
*
|
*
|
||||||
* input:
|
* input:
|
||||||
* h h as in h*2^n-1
|
* h h as in h*2^n-1 (must be >= 1)
|
||||||
* n n as in h*2^n-1
|
* n n as in h*2^n-1 (must be >= 1)
|
||||||
*
|
*
|
||||||
* output:
|
* output:
|
||||||
* returns v(1), or -1 is there is no quick way
|
* returns v(1), or -1 is there is no quick way
|
||||||
@@ -1457,6 +1734,22 @@ legacy_gen_v1(h, n)
|
|||||||
local val_mod; /* h*2^n-1 mod 'D' */
|
local val_mod; /* h*2^n-1 mod 'D' */
|
||||||
local i;
|
local i;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* check arg types
|
||||||
|
*/
|
||||||
|
if (!isint(h)) {
|
||||||
|
quit "bad args: h must be an integer";
|
||||||
|
}
|
||||||
|
if (h < 1) {
|
||||||
|
quit "bad args: h must be an integer >= 1";
|
||||||
|
}
|
||||||
|
if (!isint(n)) {
|
||||||
|
quit "bad args: n must be an integer";
|
||||||
|
}
|
||||||
|
if (n < 1) {
|
||||||
|
quit "bad args: n must be an integer >= 1";
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* check for case 1
|
* check for case 1
|
||||||
*/
|
*/
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: lucas_chk.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/lucas_chk.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1991/01/11 05:41:43
|
* Under source code control: 1991/01/11 05:41:43
|
||||||
* File existed as early as: 1991
|
* File existed as early as: 1991
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: mersenne.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/mersenne.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1991/05/22 21:56:36
|
* Under source code control: 1991/05/22 21:56:36
|
||||||
* File existed as early as: 1991
|
* File existed as early as: 1991
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: mfactor.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/mfactor.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1996/07/06 06:09:40
|
* Under source code control: 1996/07/06 06:09:40
|
||||||
* File existed as early as: 1996
|
* File existed as early as: 1996
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: mod.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/mod.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:34
|
* Under source code control: 1990/02/15 01:50:34
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: natnumset.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/natnumset.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1997/09/07 23:53:51
|
* Under source code control: 1997/09/07 23:53:51
|
||||||
* File existed as early as: 1997
|
* File existed as early as: 1997
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: pell.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/pell.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:34
|
* Under source code control: 1990/02/15 01:50:34
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: pi.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/pi.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1991/05/22 21:56:37
|
* Under source code control: 1991/05/22 21:56:37
|
||||||
* File existed as early as: 1991
|
* File existed as early as: 1991
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: pix.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/pix.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1996/07/09 03:14:14
|
* Under source code control: 1996/07/09 03:14:14
|
||||||
* File existed as early as: 1996
|
* File existed as early as: 1996
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: pollard.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/pollard.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1991/05/22 21:56:37
|
* Under source code control: 1991/05/22 21:56:37
|
||||||
* File existed as early as: 1991
|
* File existed as early as: 1991
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: poly.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/poly.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:35
|
* Under source code control: 1990/02/15 01:50:35
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: prompt.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/prompt.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/12/18 04:43:25
|
* Under source code control: 1995/12/18 04:43:25
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: psqrt.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/psqrt.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:35
|
* Under source code control: 1990/02/15 01:50:35
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -20,10 +20,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: qtime.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/qtime.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1999/10/13 04:10:33
|
* Under source code control: 1999/10/13 04:10:33
|
||||||
* File existed as early as: 1999
|
* File existed as early as: 1999
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.2 $
|
|
||||||
* @(#) $Id: quat.cal,v 30.2 2013/08/11 08:41:38 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/quat.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:35
|
* Under source code control: 1990/02/15 01:50:35
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: randbitrun.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/randbitrun.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/02/13 03:43:11
|
* Under source code control: 1995/02/13 03:43:11
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: randmprime.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/randmprime.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1994/03/14 23:11:21
|
* Under source code control: 1994/03/14 23:11:21
|
||||||
* File existed as early as: 1994
|
* File existed as early as: 1994
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: randombitrun.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/randombitrun.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/02/13 03:43:11
|
* Under source code control: 1995/02/13 03:43:11
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: randomrun.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/randomrun.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1997/02/19 03:35:59
|
* Under source code control: 1997/02/19 03:35:59
|
||||||
* File existed as early as: 1997
|
* File existed as early as: 1997
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: randrun.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/randrun.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/02/12 20:00:06
|
* Under source code control: 1995/02/12 20:00:06
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.14 $
|
|
||||||
* @(#) $Id: regress.cal,v 30.14 2017/05/19 16:09:14 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc-RHEL7/cal/RCS/regress.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:36
|
* Under source code control: 1990/02/15 01:50:36
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
@@ -3231,9 +3227,9 @@ define test_error()
|
|||||||
|
|
||||||
print '3600: Beginning test_error';
|
print '3600: Beginning test_error';
|
||||||
|
|
||||||
/* bump ecnt up by 148 */
|
/* bump ecnt up by 156 */
|
||||||
ecnt += 148;
|
ecnt += 156;
|
||||||
print '3601: ecnt += 148';
|
print '3601: ecnt += 156';
|
||||||
|
|
||||||
strx = "x";
|
strx = "x";
|
||||||
print '3602: strx = "x"';
|
print '3602: strx = "x"';
|
||||||
@@ -3422,11 +3418,15 @@ define test_error()
|
|||||||
n = 8191;
|
n = 8191;
|
||||||
print '3727: n = 8191';
|
print '3727: n = 8191';
|
||||||
/* test 3728 removed due to non-portable strerror() output */
|
/* test 3728 removed due to non-portable strerror() output */
|
||||||
|
vrfy(tan(2e9i) == error(10435), '3729: tan(2e9i) == error(10435)');
|
||||||
|
vrfy(cot(2e9i) == error(10437), '3730: cot(2e9i) == error(10437)');
|
||||||
|
vrfy(sec(2e9i) == error(10439), '3731: sec(2e9i) == error(10439)');
|
||||||
|
vrfy(csc(2e9i) == error(10440), '3732: csc(2e9i) == error(10440)');
|
||||||
|
|
||||||
/* errmax and errcount should be bumped up the 148 errors above */
|
/* errmax and errcount should be bumped up the 148 errors above */
|
||||||
vrfy(errcount() == ecnt, '3729: errcount() == ecnt');
|
vrfy(errcount() == ecnt, '3733: errcount() == ecnt');
|
||||||
|
|
||||||
print '3730: Ending test_error';
|
print '3734: Ending test_error';
|
||||||
}
|
}
|
||||||
print '054: parsed test_error()';
|
print '054: parsed test_error()';
|
||||||
|
|
||||||
@@ -4106,38 +4106,46 @@ define test_strprintf()
|
|||||||
'4821: strprintf("%b", 27/29) == "0b11011/0b11101"');
|
'4821: strprintf("%b", 27/29) == "0b11011/0b11101"');
|
||||||
vrfy(strprintf("%e", 12345) == "~1.23e4",
|
vrfy(strprintf("%e", 12345) == "~1.23e4",
|
||||||
'4822: strprintf("%e", 12345) == "~1.23e4"');
|
'4822: strprintf("%e", 12345) == "~1.23e4"');
|
||||||
|
vrfy(strprintf("%g", .385) == "~.38",
|
||||||
|
'4823: strprintf("%g", .385) == "~.38"');
|
||||||
|
vrfy(strprintf("%g", 385) == "~3.8e2",
|
||||||
|
'4824: strprintf("%g", 385) == "~3.8e2"');
|
||||||
|
|
||||||
/* mode tests with tilde == 0 */
|
/* mode tests with tilde == 0 */
|
||||||
c = config("tilde", 0);
|
c = config("tilde", 0);
|
||||||
print '4823: c = config("tilde", 0)';
|
print '4825: c = config("tilde", 0)';
|
||||||
vrfy(strprintf("%e", 12345) == "1.23e4",
|
vrfy(strprintf("%e", 12345) == "1.23e4",
|
||||||
'4824: strprintf("%e", 12345) == "1.23e4"');
|
'4826: strprintf("%e", 12345) == "1.23e4"');
|
||||||
vrfy(strprintf("%.3e", 12345) == "1.234e4",
|
vrfy(strprintf("%.3e", 12345) == "1.234e4",
|
||||||
'4825: strprintf("%.3e", 12345) == "1.234e4"');
|
'4827: strprintf("%.3e", 12345) == "1.234e4"');
|
||||||
vrfy(strprintf("%e", .00012345) == "1.23e-4",
|
vrfy(strprintf("%e", .00012345) == "1.23e-4",
|
||||||
'4826: strprintf("%e", .00012345) == "1.23e-4"');
|
'4828: strprintf("%e", .00012345) == "1.23e-4"');
|
||||||
vrfy(strprintf("%d %d", 27) == "27 ",
|
vrfy(strprintf("%d %d", 27) == "27 ",
|
||||||
'4827: strprintf("%d %d", 27) == "27 "');
|
'4829: strprintf("%d %d", 27) == "27 "');
|
||||||
vrfy(strprintf("%d", 27, 29) == "27",
|
vrfy(strprintf("%d", 27, 29) == "27",
|
||||||
'4828: strprintf("%d", 27, 29) == "27"');
|
'4830: strprintf("%d", 27, 29) == "27"');
|
||||||
vrfy(strprintf("%r = %f", 27/29, 27/29) == "27/29 = .93",
|
vrfy(strprintf("%r = %f", 27/29, 27/29) == "27/29 = .93",
|
||||||
'4829: strprintf("%r = %f", 27/29, 27/29) == "27/29 = .93"');
|
'4831: strprintf("%r = %f", 27/29, 27/29) == "27/29 = .93"');
|
||||||
vrfy(strprintf("%s", "abc") == "abc",
|
vrfy(strprintf("%s", "abc") == "abc",
|
||||||
'4830: strprintf("%s", "abc") == "abc"');
|
'4832: strprintf("%s", "abc") == "abc"');
|
||||||
vrfy(strprintf("%f", "abc") == "abc",
|
vrfy(strprintf("%f", "abc") == "abc",
|
||||||
'4831: strprintf("%f", "abc") == "abc"');
|
'4833: strprintf("%f", "abc") == "abc"');
|
||||||
vrfy(strprintf("%e", "abc") == "abc",
|
vrfy(strprintf("%e", "abc") == "abc",
|
||||||
'4832: strprintf("%e", "abc") == "abc"');
|
'4834: strprintf("%e", "abc") == "abc"');
|
||||||
vrfy(strprintf("%5s", "abc") == " abc",
|
vrfy(strprintf("%5s", "abc") == " abc",
|
||||||
'4833: strprintf("%5s", "abc") == " abc"');
|
'4835: strprintf("%5s", "abc") == " abc"');
|
||||||
vrfy(strprintf("%-5s", "abc") == "abc ",
|
vrfy(strprintf("%-5s", "abc") == "abc ",
|
||||||
'4834: strprintf("%-5s", "abc") == "abc "');
|
'4836: strprintf("%-5s", "abc") == "abc "');
|
||||||
|
vrfy(strprintf("%g", .385) == ".38",
|
||||||
|
'4837: strprintf("%g", .385) == ".38"');
|
||||||
|
vrfy(strprintf("%g", 385) == "3.8e2",
|
||||||
|
'4838: strprintf("%g", 385) == "3.8e2"');
|
||||||
|
|
||||||
/* restore config */
|
/* restore config */
|
||||||
c = config("all", callcfg);
|
c = config("all", callcfg);
|
||||||
print '4835: c = config("all", callcfg)';
|
print '4839: c = config("all", callcfg)';
|
||||||
|
|
||||||
print '4836: Ending test_strprintf';
|
print '4840: Ending test_strprintf';
|
||||||
}
|
}
|
||||||
print '088: parsed test_fileop()';
|
print '088: parsed test_fileop()';
|
||||||
|
|
||||||
@@ -7936,8 +7944,8 @@ print '8901: read -once "test8900"';
|
|||||||
read -once "test8900";
|
read -once "test8900";
|
||||||
print '8902: about to run test8900(1,,8903)';
|
print '8902: about to run test8900(1,,8903)';
|
||||||
testnum = test8900(1,,8903);
|
testnum = test8900(1,,8903);
|
||||||
print '8999: ecnt = 203;'
|
print '8999: ecnt = 211;'
|
||||||
ecnt = 203;
|
ecnt = 211;
|
||||||
/* 89xx: test calc resource functions by Christoph Zurnieden */
|
/* 89xx: test calc resource functions by Christoph Zurnieden */
|
||||||
|
|
||||||
|
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: repeat.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/repeat.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2003/01/05 00:00:01
|
* Under source code control: 2003/01/05 00:00:01
|
||||||
* File existed as early as: 2003
|
* File existed as early as: 2003
|
||||||
*
|
*
|
||||||
|
@@ -15,10 +15,6 @@
|
|||||||
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||||
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.2 $
|
|
||||||
* @(#) $Id: screen.cal,v 30.2 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/screen.cal,v $
|
|
||||||
*
|
|
||||||
* This file is not covered under version 2.1 of the GNU LGPL.
|
* This file is not covered under version 2.1 of the GNU LGPL.
|
||||||
*
|
*
|
||||||
* Under source code control: 2006/03/08 05:54:09
|
* Under source code control: 2006/03/08 05:54:09
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: seedrandom.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/seedrandom.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1996/01/01 08:21:00
|
* Under source code control: 1996/01/01 08:21:00
|
||||||
* File existed as early as: 1996
|
* File existed as early as: 1996
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: set8700.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/set8700.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2006/05/20 14:10:11
|
* Under source code control: 2006/05/20 14:10:11
|
||||||
* File existed as early as: 2006
|
* File existed as early as: 2006
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
##
|
##
|
||||||
## @(#) $Revision: 30.1 $
|
|
||||||
## @(#) $Id: set8700.line,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
## @(#) $Source: /usr/local/src/bin/calc/cal/RCS/set8700.line,v $
|
|
||||||
##
|
|
||||||
## Under source code control: 2006/05/20 14:10:11
|
## Under source code control: 2006/05/20 14:10:11
|
||||||
## File existed as early as: 2006
|
## File existed as early as: 2006
|
||||||
##
|
##
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.3 $
|
|
||||||
* @(#) $Id: solve.cal,v 30.3 2013/08/11 08:41:38 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/solve.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:37
|
* Under source code control: 1990/02/15 01:50:37
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.6 $
|
|
||||||
* @(#) $Id: specialfunctions.cal,v 30.6 2013/09/01 17:48:27 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/specialfunctions.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2013/08/11 01:31:28
|
* Under source code control: 2013/08/11 01:31:28
|
||||||
* File existed as early as: 2013
|
* File existed as early as: 2013
|
||||||
*/
|
*/
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.4 $
|
|
||||||
* @(#) $Id: statistics.cal,v 30.4 2013/08/18 20:01:53 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/statistics.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2013/08/11 01:31:28
|
* Under source code control: 2013/08/11 01:31:28
|
||||||
* File existed as early as: 2013
|
* File existed as early as: 2013
|
||||||
*/
|
*/
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: sumsq.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/sumsq.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:37
|
* Under source code control: 1990/02/15 01:50:37
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: sumtimes.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/sumtimes.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2006/06/22 17:29
|
* Under source code control: 2006/06/22 17:29
|
||||||
* File existed as early as: 2006
|
* File existed as early as: 2006
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: surd.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/surd.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:38
|
* Under source code control: 1990/02/15 01:50:38
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: test1700.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test1700.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1994/03/14 23:12:51
|
* Under source code control: 1994/03/14 23:12:51
|
||||||
* File existed as early as: 1994
|
* File existed as early as: 1994
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: test2300.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test2300.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/07/09 06:12:13
|
* Under source code control: 1995/07/09 06:12:13
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.3 $
|
|
||||||
* @(#) $Id: test2600.cal,v 30.3 2013/08/11 08:41:38 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test2600.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/10/13 00:13:14
|
* Under source code control: 1995/10/13 00:13:14
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.2 $
|
|
||||||
* @(#) $Id: test2700.cal,v 30.2 2013/08/11 08:41:38 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test2700.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/11/01 22:52:25
|
* Under source code control: 1995/11/01 22:52:25
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: test3100.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test3100.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/11/28 11:56:57
|
* Under source code control: 1995/11/28 11:56:57
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: test3300.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test3300.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/12/02 04:27:41
|
* Under source code control: 1995/12/02 04:27:41
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: test3400.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test3400.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/12/02 05:20:11
|
* Under source code control: 1995/12/02 05:20:11
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: test3500.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test3500.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1995/12/18 22:50:46
|
* Under source code control: 1995/12/18 22:50:46
|
||||||
* File existed as early as: 1995
|
* File existed as early as: 1995
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.2 $
|
|
||||||
* @(#) $Id: test4000.cal,v 30.2 2013/08/11 08:41:38 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test4000.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1996/03/13 02:38:45
|
* Under source code control: 1996/03/13 02:38:45
|
||||||
* File existed as early as: 1996
|
* File existed as early as: 1996
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: test4100.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test4100.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1996/03/13 03:53:22
|
* Under source code control: 1996/03/13 03:53:22
|
||||||
* File existed as early as: 1996
|
* File existed as early as: 1996
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: test4600.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test4600.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1996/07/02 20:04:40
|
* Under source code control: 1996/07/02 20:04:40
|
||||||
* File existed as early as: 1996
|
* File existed as early as: 1996
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: test5100.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test5100.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1996/12/02 23:57:10
|
* Under source code control: 1996/12/02 23:57:10
|
||||||
* File existed as early as: 1996
|
* File existed as early as: 1996
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: test5200.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test5200.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1997/02/07 02:48:10
|
* Under source code control: 1997/02/07 02:48:10
|
||||||
* File existed as early as: 1997
|
* File existed as early as: 1997
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: test8400.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test8400.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1999/10/31 01:00:03
|
* Under source code control: 1999/10/31 01:00:03
|
||||||
* File existed as early as: 1999
|
* File existed as early as: 1999
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.2 $
|
|
||||||
* @(#) $Id: test8500.cal,v 30.2 2013/08/11 08:41:38 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test8500.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1999/11/12 20:59:59
|
* Under source code control: 1999/11/12 20:59:59
|
||||||
* File existed as early as: 1999
|
* File existed as early as: 1999
|
||||||
*
|
*
|
||||||
|
@@ -19,10 +19,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: test8600.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test8600.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2000/12/04 19:57:02
|
* Under source code control: 2000/12/04 19:57:02
|
||||||
* File existed as early as: 2000
|
* File existed as early as: 2000
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.6 $
|
|
||||||
* @(#) $Id: test8900.cal,v 30.6 2013/09/01 22:16:21 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/test8900.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2013/08/11 01:31:28
|
* Under source code control: 2013/08/11 01:31:28
|
||||||
* File existed as early as: 2013
|
* File existed as early as: 2013
|
||||||
*/
|
*/
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.4 $
|
|
||||||
* @(#) $Id: toomcook.cal,v 30.4 2013/08/18 20:01:53 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/toomcook.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2013/08/11 01:31:28
|
* Under source code control: 2013/08/11 01:31:28
|
||||||
* File existed as early as: 2013
|
* File existed as early as: 2013
|
||||||
*/
|
*/
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: unitfrac.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/unitfrac.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1990/02/15 01:50:38
|
* Under source code control: 1990/02/15 01:50:38
|
||||||
* File existed as early as: before 1990
|
* File existed as early as: before 1990
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: varargs.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/varargs.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1991/05/22 21:56:34
|
* Under source code control: 1991/05/22 21:56:34
|
||||||
* File existed as early as: 1991
|
* File existed as early as: 1991
|
||||||
*
|
*
|
||||||
|
@@ -17,10 +17,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.1 $
|
|
||||||
* @(#) $Id: xx_print.cal,v 30.1 2007/03/16 11:09:54 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/xx_print.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 1997/04/17 00:08:50
|
* Under source code control: 1997/04/17 00:08:50
|
||||||
* File existed as early as: 1997
|
* File existed as early as: 1997
|
||||||
*
|
*
|
||||||
|
@@ -15,10 +15,6 @@
|
|||||||
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*
|
*
|
||||||
* @(#) $Revision: 30.4 $
|
|
||||||
* @(#) $Id: zeta2.cal,v 30.4 2013/08/18 20:01:53 chongo Exp $
|
|
||||||
* @(#) $Source: /usr/local/src/bin/calc/cal/RCS/zeta2.cal,v $
|
|
||||||
*
|
|
||||||
* Under source code control: 2013/08/11 01:31:28
|
* Under source code control: 2013/08/11 01:31:28
|
||||||
* File existed as early as: 2013
|
* File existed as early as: 2013
|
||||||
*/
|
*/
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user