mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
The following are the changes in this release: Updated BUGS about MSYS2 on Windows compiling of calc. Added more git related checks and sanity checks to chk_tree. Added ${FSANITIZE} make variable to Makefile.config to hold common Address Sanitizer (ASAN) optins to modern Linux and macOS. The Address Sanitizer is NOT enabled not compiled in by default. Improved comments in Makefile.local for RHEL9.2 (Linux) and for macOS 14.0 that, when uncommented and calc is recompiled (i.e., make clobber all) will enable the Address Sanitizer (ASAN) for calc. Fixed memory leaks in the logn, aversin, acoversin, avercos, acovercos, ahaversin, ahavercos, ahacovercos, aexsec, aexcsc, and acrd. Fixed a compile error in zmath.h that impacted legacy 32-bit Big Endian machines. Thanks goes to GitHub user @gromit1811 for their pull request. Fixed the check for <sys/mount.h> when forming have_sys_mount.h. Thanks goes to GitHub user @gromit1811 for their pull request. Added "STATIC bool blum_initialized = false" to zrandom.c to improve how the code detects if the Blum-Blum-Shub pseudo-random number generator is seeded or not, and how to free the state correctly. NOTE: There is a very minor memory leak in zrandom.c that will be fixed in a later release.
71 lines
2.7 KiB
C
71 lines
2.7 KiB
C
/*
|
|
* version - determine the version of calc
|
|
*
|
|
* Copyright (C) 2023 David I. Bell and Landon Curt Noll
|
|
*
|
|
* Calc is open software; you can redistribute it and/or modify it under
|
|
* the terms of the version 2.1 of the GNU Lesser General Public License
|
|
* as published by the Free Software Foundation.
|
|
*
|
|
* Calc is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
|
|
* Public License for more details.
|
|
*
|
|
* A copy of version 2.1 of the GNU Lesser General Public License is
|
|
* distributed with calc under the filename COPYING-LGPL. You should have
|
|
* received a copy with calc; if not, write to Free Software Foundation, Inc.
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*
|
|
* Under source code control: 2023/08/19 17:32:42
|
|
* File existed as early as: 2023
|
|
*
|
|
* chongo <was here> /\oo/\ http://www.isthe.com/chongo/
|
|
* Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|
|
*/
|
|
|
|
|
|
#if !defined(INCLUDE_VERSION_H)
|
|
#define INCLUDE_VERSION_H
|
|
|
|
|
|
/*
|
|
* MAJOR_VER
|
|
*
|
|
* The MAJOR_VER is 2 is the classical version of calc.
|
|
*
|
|
* One of the main reasons why MAJOR_VER might incremented is
|
|
* if fundamental calc data objects (such as when ZVALUE or NUMBER
|
|
* or COMPLEX need to change) that would cause an incompatibility
|
|
* with existing hardware accelerators that are using fundamental
|
|
* calc data objects.
|
|
*
|
|
* MINOR_VER
|
|
*
|
|
* The MINOR_VER changes when there are incompatible changes to the calc library
|
|
* or calc custom library. The MINOR_VER might change if we need to make a major
|
|
* change to the math engine. For example, when the way 0^x was evaluated, we
|
|
* changed MINOR_VER from 13 to 14.
|
|
*
|
|
* MAJOR_PATCH
|
|
*
|
|
* The MAJOR_PATCH changes when there is an update to the calc library
|
|
* or calc custom library. For example, the MAJOR_PATCH might increment when there
|
|
* are new builtin functions available, or when there is a change to how existing
|
|
* builtin functions process arguments.
|
|
*
|
|
* MINOR_PATCH
|
|
*
|
|
* The MINOR_PATCH changes whenever there is any change in the calc release.
|
|
* For example, when the documentation changes, the MINOR_PATCH will increment.
|
|
* Moreover, when we are working towards a new production release,
|
|
* bug fix and improvement updates will cause MINOR_PATCH to increment.
|
|
*/
|
|
#define MAJOR_VER 2 /* level 1: major library version */
|
|
#define MINOR_VER 15 /* level 2: minor library version */
|
|
#define MAJOR_PATCH 0 /* level 3: major software version level */
|
|
#define MINOR_PATCH 2 /* level 4: minor software version level */
|
|
|
|
|
|
#endif /* !INCLUDE_VERSION_H*/
|