mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
remove CALC2_COMPAT symbol in source code
Removed CALC2_COMPAT in favor of ckecking if MAJOR_VER < 3. The sign element in a ZVALUE is now of type SIGN, which is either SB32 when MAJOR_VER < 3, or a bool otherwise. The len element in a ZVALUE is of type LEN. LEN type is SB32 when MAJOR_VER < 3, or a uintptr_t otherwise. Noted version.h symbols in README.RELEASE instead of CALC2_COMPAT. Improve .gitignore. Add excludes of hsrc temporary and test programs. Added note about how the list is sorted. Moved the generic excludes to the top.
This commit is contained in:
49
.gitignore
vendored
49
.gitignore
vendored
@@ -1,12 +1,25 @@
|
|||||||
|
# common excluded patterns
|
||||||
|
#
|
||||||
|
*~
|
||||||
|
*.BAK
|
||||||
|
core*
|
||||||
|
.DS_Store
|
||||||
|
*.dSYM/
|
||||||
|
*.[oa]
|
||||||
|
.*.swp
|
||||||
|
*,v
|
||||||
|
|
||||||
# files and directories created during the building of calc and other Makefile actions
|
# 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
|
# 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
|
# not consider development source. Some other file(s) and/or programs
|
||||||
# generate these files.
|
# generate these files.
|
||||||
|
# We sort this list via: sort -u -f
|
||||||
#
|
#
|
||||||
.dynamic
|
.dynamic
|
||||||
.hsrc
|
.hsrc
|
||||||
.static
|
.static
|
||||||
|
align32
|
||||||
align32.h
|
align32.h
|
||||||
args.h
|
args.h
|
||||||
cal/.all
|
cal/.all
|
||||||
@@ -18,8 +31,10 @@ calc.usage
|
|||||||
calcerr.c
|
calcerr.c
|
||||||
calcerr.h
|
calcerr.h
|
||||||
charbit.h
|
charbit.h
|
||||||
|
chatbit
|
||||||
chk_c
|
chk_c
|
||||||
conf.h
|
conf.h
|
||||||
|
const_tmp
|
||||||
cscript/.all
|
cscript/.all
|
||||||
cscript/4dsphere
|
cscript/4dsphere
|
||||||
cscript/fproduct
|
cscript/fproduct
|
||||||
@@ -35,42 +50,65 @@ custom/libcustcalc*
|
|||||||
debug.out
|
debug.out
|
||||||
endian
|
endian
|
||||||
endian_calc.h
|
endian_calc.h
|
||||||
|
fposval
|
||||||
fposval.h
|
fposval.h
|
||||||
|
have_arc4random
|
||||||
have_arc4random.h
|
have_arc4random.h
|
||||||
|
have_ban_pragma
|
||||||
have_ban_pragma.h
|
have_ban_pragma.h
|
||||||
|
have_const
|
||||||
have_const.h
|
have_const.h
|
||||||
|
have_environ
|
||||||
have_environ.h
|
have_environ.h
|
||||||
have_fgetsetpos.h
|
have_fgetsetpos.h
|
||||||
|
have_fpos
|
||||||
|
have_fpos_pos
|
||||||
have_fpos_pos.h
|
have_fpos_pos.h
|
||||||
|
have_getpgid
|
||||||
have_getpgid.h
|
have_getpgid.h
|
||||||
|
have_getprid
|
||||||
have_getprid.h
|
have_getprid.h
|
||||||
have_getsid.h
|
have_getsid.h
|
||||||
|
have_gettime
|
||||||
have_gettime.h
|
have_gettime.h
|
||||||
have_inttypes.h
|
have_inttypes.h
|
||||||
have_limits.h
|
have_limits.h
|
||||||
|
have_memmv
|
||||||
have_memmv.h
|
have_memmv.h
|
||||||
|
have_newstr
|
||||||
have_newstr.h
|
have_newstr.h
|
||||||
|
have_offscl
|
||||||
have_offscl.h
|
have_offscl.h
|
||||||
|
have_posscl
|
||||||
have_posscl.h
|
have_posscl.h
|
||||||
|
have_rusage
|
||||||
have_rusage.h
|
have_rusage.h
|
||||||
|
have_statfs
|
||||||
have_statfs.h
|
have_statfs.h
|
||||||
have_stdbool.h
|
have_stdbool.h
|
||||||
have_stdint.h
|
have_stdint.h
|
||||||
have_stdlib.h
|
have_stdlib.h
|
||||||
have_stdvs
|
have_stdvs
|
||||||
|
have_strdup
|
||||||
have_strdup.h
|
have_strdup.h
|
||||||
have_string.h
|
have_string.h
|
||||||
|
have_strlcat
|
||||||
have_strlcat.h
|
have_strlcat.h
|
||||||
|
have_strlcpy
|
||||||
have_strlcpy.h
|
have_strlcpy.h
|
||||||
have_sys_mount.h
|
have_sys_mount.h
|
||||||
have_sys_param.h
|
have_sys_param.h
|
||||||
have_sys_vfs.h
|
have_sys_vfs.h
|
||||||
have_times.h
|
have_times.h
|
||||||
|
have_uid_t
|
||||||
have_uid_t.h
|
have_uid_t.h
|
||||||
have_unistd.h
|
have_unistd.h
|
||||||
|
have_unused
|
||||||
have_unused.h
|
have_unused.h
|
||||||
have_urandom.h
|
have_urandom.h
|
||||||
|
have_ustat
|
||||||
have_ustat.h
|
have_ustat.h
|
||||||
|
have_varvs
|
||||||
help/.all
|
help/.all
|
||||||
help/binding
|
help/binding
|
||||||
help/bindings
|
help/bindings
|
||||||
@@ -115,14 +153,3 @@ tags
|
|||||||
terminal.h
|
terminal.h
|
||||||
ver_calc
|
ver_calc
|
||||||
win32/
|
win32/
|
||||||
|
|
||||||
# other commonly excluded patterns
|
|
||||||
#
|
|
||||||
*~
|
|
||||||
*.BAK
|
|
||||||
core*
|
|
||||||
.DS_Store
|
|
||||||
*.dSYM/
|
|
||||||
*.[oa]
|
|
||||||
.*.swp
|
|
||||||
*,v
|
|
||||||
|
14
CHANGES
14
CHANGES
@@ -21,9 +21,6 @@ The following are the changes from calc version 2.14.3.5 to date:
|
|||||||
of a pointer) to longbits.h.
|
of a pointer) to longbits.h.
|
||||||
|
|
||||||
Moved calc version definition from version.c to version.h.
|
Moved calc version definition from version.c to version.h.
|
||||||
Added CALC2_COMPAT, that when defined attempts to maintain calc
|
|
||||||
version 2 compatibility. When MAJOR_VER <= 2, CALC2_COMPAT is
|
|
||||||
defined. This is anticipation for a future calc version 3 code.
|
|
||||||
|
|
||||||
Sorted the order of symbols printed by "make env".
|
Sorted the order of symbols printed by "make env".
|
||||||
|
|
||||||
@@ -36,9 +33,6 @@ The following are the changes from calc version 2.14.3.5 to date:
|
|||||||
file defines TRUE as true, FALSE as false, and BOOL as bool:
|
file defines TRUE as true, FALSE as false, and BOOL as bool:
|
||||||
for backward compatibility.
|
for backward compatibility.
|
||||||
|
|
||||||
The sign in a ZVALUE is now of type SIGN, whcih is either
|
|
||||||
SB32 when CALC2_COMPAT is defined, or a bool.
|
|
||||||
|
|
||||||
Replaced in C source, TRUE with true, FALSE with false, and
|
Replaced in C source, TRUE with true, FALSE with false, and
|
||||||
BOOL with bool.
|
BOOL with bool.
|
||||||
|
|
||||||
@@ -84,6 +78,14 @@ The following are the changes from calc version 2.14.3.5 to date:
|
|||||||
power of 2, log2(x) will return an integer, otherwise it will
|
power of 2, log2(x) will return an integer, otherwise it will
|
||||||
return the equivalent of ln(x)/ln(2).
|
return the equivalent of ln(x)/ln(2).
|
||||||
|
|
||||||
|
Removed CALC2_COMPAT in favor of ckecking if MAJOR_VER < 3.
|
||||||
|
|
||||||
|
The sign element in a ZVALUE is now of type SIGN, which is either
|
||||||
|
SB32 when MAJOR_VER < 3, or a bool otherwise.
|
||||||
|
|
||||||
|
The len element in a ZVALUE is of type LEN. LEN type is SB32 when
|
||||||
|
MAJOR_VER < 3, or a uintptr_t otherwise.
|
||||||
|
|
||||||
|
|
||||||
The following are the changes from calc version 2.14.3.4 to 2.14.3.5:
|
The following are the changes from calc version 2.14.3.4 to 2.14.3.5:
|
||||||
|
|
||||||
|
@@ -16,10 +16,6 @@ The top version level (e.g., 2) refers to the internal representation
|
|||||||
of values. Any library or hardware linked/built for calc 2 will be able
|
of values. Any library or hardware linked/built for calc 2 will be able
|
||||||
to use values from other 2.x.y.z versions.
|
to use values from other 2.x.y.z versions.
|
||||||
|
|
||||||
When top version level is 2, the symbol "CALC2_COMPAT" is defined
|
|
||||||
by "version.h". See "version.h" for constants used to define the
|
|
||||||
calc version.
|
|
||||||
|
|
||||||
The top 2 levels (e.g., 2.14) refers to a specific compatible set of
|
The top 2 levels (e.g., 2.14) refers to a specific compatible set of
|
||||||
builtin functions. Calc interpreted code (such as calc resource files)
|
builtin functions. Calc interpreted code (such as calc resource files)
|
||||||
written for, say calc 2.14, will be able to use the same set of builtin
|
written for, say calc 2.14, will be able to use the same set of builtin
|
||||||
@@ -37,6 +33,14 @@ version change), nor were there new calc builtins introduced in such
|
|||||||
a top 3 level release.
|
a top 3 level release.
|
||||||
|
|
||||||
|
|
||||||
|
The file, "version.h" defines the 4 version levels:
|
||||||
|
|
||||||
|
MAJOR_VER /* level 1: major library version */
|
||||||
|
MINOR_VER /* level 2: minor library version */
|
||||||
|
MAJOR_PATCH /* level 3: major software version level */
|
||||||
|
MINOR_PATCH /* level 4: minor software version level */
|
||||||
|
|
||||||
|
|
||||||
The program "ver_calc" will print information about the compiled
|
The program "ver_calc" will print information about the compiled
|
||||||
calc version as defined "version.h" when "ver_calc" was compiled:
|
calc version as defined "version.h" when "ver_calc" was compiled:
|
||||||
|
|
||||||
|
@@ -156,8 +156,12 @@ main(int argc, char **argv)
|
|||||||
* We use "void *" as the size of a generic pointer.
|
* We use "void *" as the size of a generic pointer.
|
||||||
*/
|
*/
|
||||||
printf("#undef PTR_LEN\n");
|
printf("#undef PTR_LEN\n");
|
||||||
|
#if MAJOR_VER < 3
|
||||||
printf("#define PTR_LEN %ld\t\t/%s/\n",
|
printf("#define PTR_LEN %ld\t\t/%s/\n",
|
||||||
(long int)sizeof(void *), "* length of a pointer *");
|
(long int)sizeof(void *), "* length of a pointer *");
|
||||||
|
#else /* MAJOR_VER < 3 */
|
||||||
|
printf("#define PTR_LEN UINTPTR_WIDTH\t\t/%s/\n", "* length of a pointer *");
|
||||||
|
#endif /* MAJOR_VER < 3 */
|
||||||
printf("#undef PTR_BITS\n");
|
printf("#undef PTR_BITS\n");
|
||||||
printf("#define PTR_BITS %ld\t\t/%s/\n",
|
printf("#define PTR_BITS %ld\t\t/%s/\n",
|
||||||
(long int)sizeof(void *)*CALC_CHARBIT, "* bit length of a pointer *");
|
(long int)sizeof(void *)*CALC_CHARBIT, "* bit length of a pointer *");
|
||||||
|
18
version.h
18
version.h
@@ -33,7 +33,6 @@
|
|||||||
* MAJOR_VER
|
* MAJOR_VER
|
||||||
*
|
*
|
||||||
* The MAJOR_VER is 2 is the classical version of calc.
|
* The MAJOR_VER is 2 is the classical version of calc.
|
||||||
* By default, MAJOR_VER == 2 also defines CALC2_COMPAT.
|
|
||||||
*
|
*
|
||||||
* One of the main reasons why MAJOR_VER might incremented is
|
* One of the main reasons why MAJOR_VER might incremented is
|
||||||
* if fundamental calc data objects (such as when ZVALUE or NUMBER
|
* if fundamental calc data objects (such as when ZVALUE or NUMBER
|
||||||
@@ -62,19 +61,10 @@
|
|||||||
* Moreover, when we are working towards a new production release,
|
* Moreover, when we are working towards a new production release,
|
||||||
* bug fix and improvement updates will cause MINOR_PATCH to increment.
|
* bug fix and improvement updates will cause MINOR_PATCH to increment.
|
||||||
*/
|
*/
|
||||||
#define MAJOR_VER 2 /* major library version */
|
#define MAJOR_VER 2 /* level 1: major library version */
|
||||||
#define MINOR_VER 14 /* minor library version */
|
#define MINOR_VER 14 /* level 2: minor library version */
|
||||||
#define MAJOR_PATCH 3 /* major software version level */
|
#define MAJOR_PATCH 3 /* level 3: major software version level */
|
||||||
#define MINOR_PATCH 5 /* minor software version level */
|
#define MINOR_PATCH 5 /* level 4: minor software version level */
|
||||||
|
|
||||||
/*
|
|
||||||
* calc version 2 compatibility
|
|
||||||
*
|
|
||||||
* Set MAJOR_VER <= 2 OR define CALC2_COMPAT.
|
|
||||||
*/
|
|
||||||
#if MAJOR_VER <= 2
|
|
||||||
#define CALC2_COMPAT /* enable calc version 2 compatibility */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* !INCLUDE_VERSION_H*/
|
#endif /* !INCLUDE_VERSION_H*/
|
||||||
|
35
zmath.h
35
zmath.h
@@ -167,15 +167,11 @@ typedef SB32 FLAG; /* small value (e.g. comparison) */
|
|||||||
/*
|
/*
|
||||||
* length of internal integer values in units of HALF
|
* length of internal integer values in units of HALF
|
||||||
*/
|
*/
|
||||||
#if defined(CALC2_COMPAT)
|
#if MAJOR_VER < 3
|
||||||
typedef SB32 LEN; /* calc v2 compatible unit of length storage */
|
typedef SB32 LEN; /* calc v2 compatible unit of length storage */
|
||||||
#elif PTR_LEN >= 8
|
#else /* MAJOR_VER < 3 */
|
||||||
typedef SB64 LEN; /* use unit of length storage for 8 or more octet pointers */
|
typedef uintptr_t LEN; /* unit of length storage */
|
||||||
#elif PTR_LEN == 4
|
#endif /* MAJOR_VER < 3 */
|
||||||
typedef SB32 LEN; /* use unit of length storage for 4 octet pointers */
|
|
||||||
#else
|
|
||||||
typedef SB32 LEN; /* else assume we can support at least 4 octet pointers */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define SWAP_B32_IN_HASH(dest, src) (*(dest) = *(src))
|
#define SWAP_B32_IN_HASH(dest, src) (*(dest) = *(src))
|
||||||
#define SWAP_B16_IN_HASH(dest, src) SWAP_B16_IN_B32(dest, src)
|
#define SWAP_B16_IN_HASH(dest, src) SWAP_B16_IN_B32(dest, src)
|
||||||
@@ -251,15 +247,11 @@ typedef SB32 LEN; /* else assume we can support at least 4 octet pointers */
|
|||||||
* We limit to 1/16 because for a maximum complex value we
|
* We limit to 1/16 because for a maximum complex value we
|
||||||
* will need 4 huge integers, plus other data, code and stack space.
|
* will need 4 huge integers, plus other data, code and stack space.
|
||||||
*/
|
*/
|
||||||
#if defined(CALC2_COMPAT)
|
#if MAJOR_VER < 3
|
||||||
#define MAXDATA (0x80000000>>3) /* calc v2 compatible supported address space */
|
#define MAXDATA (0x80000000>>3) /* calc v2 compatible supported address space */
|
||||||
#elif PTR_LEN >= 8
|
#else /* MAJOR_VER < 3 */
|
||||||
#define MAXDATA ((LEN) 1<<(64-4)) /* 1/16 of a 64-bit address space */
|
#define MAXDATA ((LEN) 1<<(UINTPTR_WIDTH-4)) /* 1/16 of address space */
|
||||||
#elif PTR_LEN >= 4 && PTR_LEN < 8
|
#endif /* MAJOR_VER < 3 */
|
||||||
#define MAXDATA ((LEN) 1<<(32-4)) /* 1/16 of a 32-bit address space */
|
|
||||||
#else
|
|
||||||
/\oo/\ unsupproted PTR_LEN /\oo/\ !! /* firewall - reject PTR_LEN as unsupported */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* MAXLEN - maximum length of internal integer values in units of HALF
|
* MAXLEN - maximum length of internal integer values in units of HALF
|
||||||
@@ -312,11 +304,11 @@ typedef union {
|
|||||||
/*
|
/*
|
||||||
* ZVALUE - multi-prevision integer
|
* ZVALUE - multi-prevision integer
|
||||||
*/
|
*/
|
||||||
#if defined(CALC2_COMPAT)
|
#if MAJOR_VER < 3
|
||||||
typedef SB32 SIGN; /* calc v2 compatible sign type */
|
typedef SB32 SIGN; /* calc v2 compatible sign type */
|
||||||
#else /* CALC2_COMPAT */
|
#else /* MAJOR_VER < 3 */
|
||||||
typedef bool SIGN; /* sign as a C boolean */
|
typedef bool SIGN; /* sign as a C boolean */
|
||||||
#endif /* CALC2_COMPAT */
|
#endif /* MAJOR_VER < 3 */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
HALF *v; /* pointer to array of values */
|
HALF *v; /* pointer to array of values */
|
||||||
LEN len; /* number of values in array */
|
LEN len; /* number of values in array */
|
||||||
@@ -645,12 +637,7 @@ E_FUNC void zredcpower(REDC *rp, ZVALUE z1, ZVALUE z2, ZVALUE *res);
|
|||||||
#define MODE_MAX 9
|
#define MODE_MAX 9
|
||||||
#define MODE2_OFF (MODE_MAX+1)
|
#define MODE2_OFF (MODE_MAX+1)
|
||||||
|
|
||||||
/* XXX - perhaps we need the MODE_REAL_AUTO vs MODE_REAL as a config mode? */
|
|
||||||
#if 0 /* XXX - can we safely set MODE_INITIAL to MODE_REAL_AUTO ?? */
|
|
||||||
#define MODE_INITIAL MODE_REAL_AUTO
|
|
||||||
#else
|
|
||||||
#define MODE_INITIAL MODE_REAL
|
#define MODE_INITIAL MODE_REAL
|
||||||
#endif
|
|
||||||
#define MODE2_INITIAL MODE2_OFF
|
#define MODE2_INITIAL MODE2_OFF
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user