📄 changes
字号:
Added config("cygwin") to determine if calc was compiled under Cygwin. The config("cygwin") is a read-only configuration value that is 1 when calc was compiled under Cygwin and 0 otherwise. Regression tests 949 and 950 are skipped when config("cygwin") is true. The Makefile variable HAVE_NO_IMPLICIT is empty by default so that the Makefile will test if the compiler has a -Wno-implicit flag. Added HAVE_UNUSED Makefile variable. If HAVE_UNUSED is empty, then the Makefile will run the have_unused program to determine if the unused attribute is supported. If HAVE_UNUSED is set to -DHAVE_NO_UNUSED, then the unused attribute will not be used. The Makefile builds have_unused.h which defines, if the unused attribute is supported: #define HAVE_UNUSED /* yes */ #define UNUSED __attribute__((unused)) /* yes */ or defines, if the unused is not supported (or if the Makefile variable is HAVE_UNUSED= -DHAVE_NO_UNUSED): #undef HAVE_UNUSED /* no */ #define UNUSED /* no */ Fixed numerous warnings about comparison between signed and unsigned value warnings and unused parameter warnings in version.c, zrand.c, string.c, shs1.c, shs.c, qtrans.c, qmath.c, qfunc.c, md5.c, matfunc.c, hist.c, file.c, const.c, blkcpy.c, seed.c, opcodes.c, func.c, qio.c, zrandom.c, custom/c_argv.c, custom/c_devnull.c, custom/c_help.c, custom/c_sysinfo.c, addop.c and calc.c. Fixed some typos in this file. By default, compile with -O3 -g3. The Makefile comments on how some distributions might need to use -O2 -g or -O -g.The following are the changes from calc version 2.11.8.0 to 2.11.8.1: Updated HOWTO.INSTALL to reflect the new RPM files. Clarify that the internal hash as well as the hash builtin function used by calc, while based on the Fowler/Noll/Vo hash is NOT an FNV hash. Made slight performance improvements to calc by an optimization of how calc's internal hash is computed. The "make chk" regression test runs about 1.5% faster (when compiled with -O3 on an AMD Athlon) NO_HASH_CPU_OPTIMIZATION is not defined. Calc's internal hash values have not changed. By default, NO_HASH_CPU_OPTIMIZATION is NOT defined and the slightly faster expression is used. A slight modification of what was known as the "calc new standard" configuration (calc -n or config("all", "newstd")) is now the default calc configuration. The flag: calc -O was added to get the old classic calc configuration. The flag command line flag, -n, now does nothing. Use of -n is deprecated and may go away / be used for something else in the future. The following table gives the summary of these changes: pre v2.11.8 v2.11.8 default pre v2.11.8 -O & oldstd v2.11.8 and oldstd -n & newstd classic cfg default -------------------------------------------------------- epsilon 1e-20 1e-10 1e-20 1e-20 quo 2 2 2 2 outround 2 24 2 24 leadzero 0 1 0 1 fullzero 0 1 0 0 prompt > ; > ; more >> ;; >> ;; With the exception of epsilon being 1e-20, and fullzero being unset, the new default calc config is like it was (pre-2.11.8) with calc -n / config("all", "newstd"). The new default config is the old classic config with outround being 24, leadzero being set, and the prompts being ;'s. Fixed a bug in the evaluation of tanh(1e-23) with an epsilon(1e-100). Thanks goes to Dmitry G. Baksheyev <bd at nbsp dot nsk dot su> for reporting the problem, and thanks goes to Ernest Bowen <ernie at turing dot une dot edu dot au> for the fix.The following are the changes from calc version 2.11.7.0 to 2.11.7.1: Added support to build calc RPMs thanks to Petteri Kettunen <petterik at users dot sourceforge dot net>. Added rpm rule to Makefile to build rpm set. The rpm rule uses the rpm.mk Makefile and the calc.spec.in spec template. The default Makefile is now the Makefile used during rpm creation. This Makefile assumes that system has readline, ncurses (-lreadline -lhistory -lncurses), and less. It compiled with a high gcc optimization level (-O3 -g3). The Makefile used during rpm creation is the Makefile that appears in the calc-src rpm as well. The Makefile shipped with the old style gziped tarball is still the same generic Makefile. The Makefile now uses ${MKDIR} ${MKDIR_ARG} when creating directories during installation. By default, it does a mkdir -p when forming directories. Fixed attributes on include and lib calc-devel files. Adjusted the interaction between rpm.mk, and the calc.spec.in. Release number now comes from calc.spec.in only. Renamed calc and calc-devel RPMs to use .i686 instead of .i386.The following are the changes from calc version 2.11.6.3 to date: Fixed a bug in deg.cal where fixdms() was being called with the wrong type of argument. Changed the value of digits(1) and digits(0) to be 1. Now digits() returns number of digits in the standard base-b representation when x is truncated to an integer and the sign is ignored. To be more precise: when abs(int(x)) > 0, this function returns the value 1 + ilog(x, b). When abs(int(x)) == 0, then this function returns the value 1. As the result of the above digits() change, the repeat.cal resource file script was modified to remove the special case for repeating a value of 1. Also the regress tests #715, #977 and #978 were changed. Made a minor improvement to the "help places" documentation. Fixed dms_neg(a) in deg.cal thanks to a bug report by kaa <kaa76 at pochtamt dot ru>.The following are the changes from calc version 2.11.6.0 to 2.11.6.2: Clarified remark in lucas.cal about use of n mod 2^n == 0. Fixed help typos reported by Marc Mezzarobba <mm at mm dot ovh dot org>. Forced system("") to return 0 under windoz. The direct.h include file is not used when compiling under Cygwin. Fixed bug where random(10,11) caused calc to dump core when issued the 2nd time. Moved the setting of the Makefile variable ${CALC_INCDIR} to the section where things like ${BINDIR} and ${LIBDIR} are set. Idea from Clifford Kite <kite_public1 at ev1 dot net>. The Makefile is shipped mode 0644 since a number of folks edit it (to build and check calc) as a non-root user and later on su to root to install. Idea from Clifford Kite <kite_public1 at ev1 dot net>. Added base2() builtin function to calc. Normally calc prints values according to base(). Frequently some users want to see a value in two bases. Flipping back and forth between to bases is a bit of a pain. With base2(), calc will output a value twice: ; 234567 234567 ; base2(16), ; 234567 234567 /* 0x39447 */ ; 131072 131072 /* 0x20000 */ ; base2(0), ; 131072 131072 By default, base2() is disabled. Calling base2(0) will also turn off the double base mode. Thanks goes to Erik Anggard <erik dot anggard at packetfront dot com> for his idea and his initial patch. Added repeat.cal as a calc resource file script: repeat(digit_set, repeat_count) Return the value of the digit_set repeated repeat_count times. Both digit_set and repeat_count must be integers > 0. For example repeat(423,5) returns the value 423423423423423, which is the digit_set 423 repeated 5 times. Makefile no longer makes a direct reference to Red Hat 6.0. Added missing math_setmode2() prototype to zmath.h. Fixed some implicit declarations of functions by either making them explicit or by including the proper system .h files. Makefile no longer uses -Wno-implicit flag, by default, for gcc based compiles on calc source. Makefile now attempts to compile no_implicit.c with an explicit -Wno-implicit arg in an effort to determine of -Wno-implicit is a valid compiler flag. If no_implicit.c is compiled with -Wno-implicit, then the file no_implicit.arg is created with the contents of the -Wno-implicit flag. Otherwise no_implicit.arg is created as an empty file. Added the Makefile variable ${HAVE_NO_IMPLICIT}, which if not set to YES will prevent no_implicit.c from being compiled and prevent the -Wno-implicit flag from being used. If ${HAVE_NO_IMPLICIT} is not YES, then an empty no_implicit.arg file is created and no_implicit.c is not compiled. The seed.c file, because the pseudo_seed() function contains calls to a number of various system functions, attempts to compile with the -Wno-implicit flag (if allowed by the formation of the no_implicit.arg file). Misc make depend fixes and cleanup. Fixed formation of the custom/.all file. Fixed repeat(1, repeat_count) bug.The following are the changes from calc version 2.11.5.5 to 2.11.5.9: Now using version numbers of one of these forms: x.y.z.w x.y.z x.y Changed the READLINE_LIB Makefile variable to not link with -lreadline by default. If you do have readline, we recommend that you use it. If you can install the GNU readline: http://freshmeat.net/projects/gnureadline/ http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html we recommend it. But if not, you should set the USE_READLINE, READLINE_LIB, and READLINE_INCLUDE Makefile variables to empty. NOTE: See the BUGS file for a Linux issue when compiling calc with -O (or -O2 or -O3) AND with -g (or -g3) AND with readline. Removed an obsolete reference to TOPDIR. This was fixed thanks to a bug report by Clifford Kite <kite_public1 at ev1 dot net>. Fixed other inconsistencies related to things like BINDIR. Fixed calc man page so that is refers to -f instead of the old -S flag. Fixed thanks to Clifford Kite <kite_public1 at ev1 dot net> for point this out. All for loops end with /dev/null to avoid any problems related to systems that cannot grok empty for loops. Changed the libcalc functions creal and cimag to c_real and c_imag to about conflicts with new libc such as those used by gcc v3. Thanks Eli Zaretskii <eliz at is dot elta dot co dot il> and Martin Buck <m at rtin-buck dot de> for alerting us to this conflict. The Makefile no longer hard code's /usr/include. Instead it uses the ${INCDIR} Makefile variable. Thanks goes to Eli Zaretskii <eliz at is dot elta dot co dot il> for pointing out this inconsistency. Added mods to support compilation under DJGPP. DJGPP runs on 386 and newer PCs running DOS or dos-compatible operating systems. See http://www.delorie.com/djgpp/. Thanks goes to Eli Zaretskii <eliz at is dot elta dot co dot il> for sending in these mods. Updated README.WINDOWS to include information on building with DJGPP. The pld folks are building RPMs based on our calc distributions. See: ftp://ftp.pld.org.pl/dists/ra/PLD/i686/PLD/RPMS or http://ftp.pld.org.pl/dists/ra/PLD/i686/PLD/RPMS more information. We appreciate their work in this regard. In the next release, we plan to also build and release our own RPMs based on their efforts. Changed the Makefile variable CUSTOMLIBDIR to CUSTOMCALDIR. Changed the Makefile variable CSHAREDIR to CALC_SHAREDIR. Changed the Makefile variable INCDIRCALC to CALC_INCDIR. Removed the Makefile variable SHAREDIR. Updated the HOWTO.INSTALL and README.WINDOWS files. Fixed definition of MAXUFULL. Thanks to a bus report from Jill Poland <jpoland at cadence dot com>.The following are the changes from calc version 2.11.5t4.1 to 2.11.5t4.4: Updated dependency rules in Makefiles. NOTE: -DSRC, as used in 2.11.5t4.1 was renamed -DCALC_SRC in a later version. Calc include files use #include "foo.h" to include other calc header files if -DCALC_SRC. Otherwise they use <calc/foo.h>. The -DCALC_SRC symbol is defined by default in calc's Makefile and so it uses the header files from within the calc src tree. If an external non-calc program includes an installed calc header file (from under /usr/include), and it does NOT define CALC_SRC, then it will obtain the calc header files from the correct system location (such as /usr/include/calc/foo.h). Added calc builtin function: version() which returns the calc version string. Added subject requirements for the calc-tester-request and calc-bugs-mail EMail aliases. See: http://www.isthe.com/chongo/tech/comp/calc/email.html for details. Corrected a bug that incorrectly set the default calc path back in version 2.11.5t4. The default CALCPATH is now: .:./cal:~/.cal:/usr/share/calc:/usr/share/calc/custom and the default CALCRC is now: /usr/share/calc/startup:~/.calcrc:./.calcinit This fixes the missing bindings error and it places the calc resource files into the default path. If you are using the GNU readline then the Makefile recommends that you link with the ncurses library.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -