mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
Release calc version 2.11.0t8.10
This commit is contained in:
148
BUGS
148
BUGS
@@ -68,153 +68,7 @@ importantly, fixes (in the form of a context diff patch) to:
|
|||||||
|
|
||||||
Known bugs:
|
Known bugs:
|
||||||
|
|
||||||
* When compiled on some Big Endian machines with BASEB forced to
|
None. :-)
|
||||||
be 16 (by setting LONGLONG_BITS= 0 in the Makefile), calc fails
|
|
||||||
a number of regression tests:
|
|
||||||
|
|
||||||
4230: n = ftell(f)
|
|
||||||
4231: isnull(fputs(f,L,"\n",C,"\n",N,"\n"))
|
|
||||||
4232: fseek(f, n)
|
|
||||||
**** Non-true result (0): 4233: fgetstr(f) == LCN
|
|
||||||
4234: isnull(fclose(f))
|
|
||||||
4235: a = exp(27, 1e-1000)
|
|
||||||
4236: b = sqrt(7 + 5i, 1e-2000)
|
|
||||||
4252: fscanf(f, "%*[^|]%*c%n%*[^[]%*c%n", m, n) == 2
|
|
||||||
4253: fseek(f, m)
|
|
||||||
4254: fscanf(f, "%3c", x) == 1
|
|
||||||
**** Non-true result (0): 4255: x == " Cu"
|
|
||||||
4256: fseek(f, n)
|
|
||||||
4257: fscanf(f, "%s", y) == 1
|
|
||||||
**** Non-true result (0): 4258: y == "Noll"
|
|
||||||
4259: isnull(fclose(f))
|
|
||||||
4260: x = rm("junk4200")
|
|
||||||
4261: Ending test_fileops
|
|
||||||
4600: Beginning test_fileop
|
|
||||||
4601: ttest(0,0): passed
|
|
||||||
4602: stest(): failed
|
|
||||||
**** search(f, "and") != 10 failed
|
|
||||||
4603: ttest(1,1): failed
|
|
||||||
**** Failure 2 for i = 0
|
|
||||||
4604: stest(): failed
|
|
||||||
**** search(f, "and") != 10 failed
|
|
||||||
4605: ttest(2,2): failed
|
|
||||||
**** Failure 2 for i = 0
|
|
||||||
4606: stest(): failed
|
|
||||||
**** search(f, "and") != 10 failed
|
|
||||||
4607: ttest(3,3): failed
|
|
||||||
**** Failure 2 for i = 0
|
|
||||||
4608: stest(): failed
|
|
||||||
**** search(f, "and") != 10 failed
|
|
||||||
4609: ttest(4,4): failed
|
|
||||||
**** Failure 2 for i = 0
|
|
||||||
4610: stest(): failed
|
|
||||||
**** search(f, "and") != 10 failed
|
|
||||||
4611: ttest(5,5): failed
|
|
||||||
**** Failure 2 for i = 0
|
|
||||||
4612: stest(): failed
|
|
||||||
**** search(f, "and") != 10 failed
|
|
||||||
4613: ttest(6,6): failed
|
|
||||||
**** Failure 2 for i = 0
|
|
||||||
4614: stest(): failed
|
|
||||||
**** search(f, "and") != 10 failed
|
|
||||||
4615: ttest(7,7): failed
|
|
||||||
**** Failure 2 for i = 0
|
|
||||||
4616: stest(): failed
|
|
||||||
**** search(f, "and") != 10 failed
|
|
||||||
4617: ttest(8,8): failed
|
|
||||||
**** Failure 2 for i = 0
|
|
||||||
4618: stest(): failed
|
|
||||||
**** search(f, "and") != 10 failed
|
|
||||||
4619: ttest(9,9): failed
|
|
||||||
**** Failure 1 for file size
|
|
||||||
4620: stest(): failed
|
|
||||||
**** fopen("junk4600", "w") failed
|
|
||||||
4621: Ending test_fileop
|
|
||||||
|
|
||||||
4700: Beginning test_charset
|
|
||||||
**** errcount:172 > ecnt:150
|
|
||||||
4701: "\a" == char(7)
|
|
||||||
4702: "\v" == char(11)
|
|
||||||
4703: "\e" == char(27)
|
|
||||||
5000: Beginning test_filesearch
|
|
||||||
5001: x = rm("-f", "junk5000")
|
|
||||||
5002: f = fopen("junk5000", "w")
|
|
||||||
**** Unable to open "junk5000" for writing
|
|
||||||
|
|
||||||
5100: Beginning test_newdecl
|
|
||||||
5101: test5100(1)
|
|
||||||
**** errcount:173 > ecnt:172
|
|
||||||
5102: a5100 == 0
|
|
||||||
5103: b5100 == 2
|
|
||||||
5104: test5100(1)
|
|
||||||
5927: test unused
|
|
||||||
5928: test unused
|
|
||||||
5929: test unused
|
|
||||||
**** errcount:180 > ecnt:177
|
|
||||||
5930: isassoc(loc) == 0
|
|
||||||
5931: isassoc(a) == 1
|
|
||||||
5932: isassoc(ofd) == 0
|
|
||||||
6079: test unused
|
|
||||||
6080: iserror(loc) == 0
|
|
||||||
6081: iserror(a) == 0
|
|
||||||
**** Non-true result (0): 6082: iserror(ofd) == 0
|
|
||||||
**** Non-true result (0): 6083: iserror(cfd) == 0
|
|
||||||
6084: iserror(blk) == 0
|
|
||||||
6085: iserror(nblk) == 0
|
|
||||||
6086: iserror(cfg) == 0
|
|
||||||
6139: test unused
|
|
||||||
6140: isfile(loc) == 0
|
|
||||||
6141: isfile(a) == 0
|
|
||||||
**** Non-true result (0): 6142: isfile(ofd) == 1
|
|
||||||
**** Non-true result (0): 6143: isfile(cfd) == 1
|
|
||||||
6144: isfile(blk) == 0
|
|
||||||
6145: isfile(nblk) == 0
|
|
||||||
6146: isfile(cfg) == 0
|
|
||||||
|
|
||||||
6700: Beginning test_blk
|
|
||||||
6701: A = blk(20);
|
|
||||||
**** errcount:181 > ecnt:180
|
|
||||||
6702: size(A) == 20
|
|
||||||
6703: sizeof(A) == 256
|
|
||||||
6704: B = A;
|
|
||||||
6822: C == A
|
|
||||||
6823: fs = fopen("junk6800", "w+");
|
|
||||||
6824: blkcpy(fs, A);
|
|
||||||
**** errcount:183 > ecnt:181
|
|
||||||
**** Non-true result (0): 6825: size(f) == 5
|
|
||||||
6826: blkcpy(B = blk(), fs);
|
|
||||||
**** errcount:184 > ecnt:183
|
|
||||||
**** Non-true result (0): 6827: B == A
|
|
||||||
6828: blkcpy(fs, A, ,100);
|
|
||||||
**** errcount:185 > ecnt:184
|
|
||||||
**** Non-true result (0): 6829: size(f) == 105
|
|
||||||
6830: blkcpy(C = blk(), fs, 2, ,100)
|
|
||||||
**** errcount:186 > ecnt:185
|
|
||||||
**** Non-true result (0): 6831: C == (blk() = {1,2}
|
|
||||||
6832: A = blk();
|
|
||||||
6833: blkcpy(A, "blk6800");
|
|
||||||
6834: size(A) == 9
|
|
||||||
6900: Beginning test_name
|
|
||||||
6901: x = rm("-f", "junk6900")
|
|
||||||
6902: f = fopen("junk6900", "w")
|
|
||||||
**** errcount:189 > ecnt:186
|
|
||||||
**** Non-true result (0): 6903: name(f) == "junk6900"
|
|
||||||
6904: fclose(f)
|
|
||||||
**** errcount:190 > ecnt:189
|
|
||||||
6905: name(f) == null()
|
|
||||||
6906: A = blk("blk6900")
|
|
||||||
6907: name(A) == "blk6900"
|
|
||||||
7002: B = blk();
|
|
||||||
7003: copy("abc yz", A);
|
|
||||||
7004: copy("defg", B);
|
|
||||||
**** errcount:191 > ecnt:190
|
|
||||||
7005: strprintf("%s", A) == "abc yz"
|
|
||||||
7006: strprintf("%s", A[2]) == "c yz"
|
|
||||||
7007: strprintf("%s", A[7]) == ""
|
|
||||||
|
|
||||||
9995: freeredc()
|
|
||||||
9996: freestatics()
|
|
||||||
**** 24 error(s) found \/++\/
|
|
||||||
|
|
||||||
We are sure some more bugs exist. When you find them, please let
|
We are sure some more bugs exist. When you find them, please let
|
||||||
us know! See the above for details on how to report and were to
|
us know! See the above for details on how to report and were to
|
||||||
|
36
CHANGES
36
CHANGES
@@ -1,4 +1,24 @@
|
|||||||
Following is the change from calc version 2.11.0t8 to date:
|
Following is the change from calc version 2.11.0t8.9.1 to date:
|
||||||
|
|
||||||
|
The config("verbose_quit") will control the printing of the message:
|
||||||
|
|
||||||
|
Quit or abort executed
|
||||||
|
|
||||||
|
when a non-interactive ABORT, QUIT or EXIT is encounted. By default,
|
||||||
|
config("verbose_quit") is TRUE and the message is printed. If one does:
|
||||||
|
|
||||||
|
config("verbose_quit", 0)
|
||||||
|
|
||||||
|
the message is disabled.
|
||||||
|
|
||||||
|
Added 8400 regression test set and test8400.cal to test the new
|
||||||
|
quit and config("verbose_quit") functionality.
|
||||||
|
|
||||||
|
Fixed the BigEndian BASEB==16 regression bugs by correctly swapping
|
||||||
|
16 bit HALFs in a 64 bit value (such as a 64 bit file pointer).
|
||||||
|
|
||||||
|
|
||||||
|
Following is the change from calc version 2.11.0t8 to 2.11.0t8.9:
|
||||||
|
|
||||||
Moved 'wishlist' enhancements from the help/todo file to a new
|
Moved 'wishlist' enhancements from the help/todo file to a new
|
||||||
help/wishlist file. Ordered, by priority, help/todo items into
|
help/wishlist file. Ordered, by priority, help/todo items into
|
||||||
@@ -151,20 +171,6 @@ Following is the change from calc version 2.11.0t8 to date:
|
|||||||
Fixed a bug, reported by Michael Somos <somos@grail.cba.csuohio.edu>,
|
Fixed a bug, reported by Michael Somos <somos@grail.cba.csuohio.edu>,
|
||||||
which prevented calc -m from being used.
|
which prevented calc -m from being used.
|
||||||
|
|
||||||
The config("verbose_quit") will control the printing of the message:
|
|
||||||
|
|
||||||
Quit or abort executed
|
|
||||||
|
|
||||||
when a non-interactive ABORT, QUIT or EXIT is encounted. By default,
|
|
||||||
config("verbose_quit") is TRUE and the message is printed. If one does:
|
|
||||||
|
|
||||||
config("verbose_quit", 0)
|
|
||||||
|
|
||||||
the message is disabled.
|
|
||||||
|
|
||||||
Added 8400 regression test set and test8400.cal to test the new
|
|
||||||
quit and config("verbose_quit") functionality.
|
|
||||||
|
|
||||||
Fixed misc compiler warnings.
|
Fixed misc compiler warnings.
|
||||||
|
|
||||||
|
|
||||||
|
@@ -7165,6 +7165,9 @@ print '189: parsed test_somenew()';
|
|||||||
*/
|
*/
|
||||||
define test_quit()
|
define test_quit()
|
||||||
{
|
{
|
||||||
|
local x8400 = 23209; /* watch for lost memory */
|
||||||
|
static s8400 = 21701; /* watch for lost memory */
|
||||||
|
|
||||||
print '8400: Starting test_quit';
|
print '8400: Starting test_quit';
|
||||||
|
|
||||||
quit;
|
quit;
|
||||||
@@ -7464,8 +7467,9 @@ print '8310: Ending define tests';
|
|||||||
print;
|
print;
|
||||||
return test_quit();
|
return test_quit();
|
||||||
read -once test8400;
|
read -once test8400;
|
||||||
print '8402: read -once test8400';
|
print '8404: read -once test8400';
|
||||||
print '8403: Ending test_quit';
|
vrfy(test8400() == 64434, '8405: test8400() == 64434');
|
||||||
|
print '8406: Ending test_quit';
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -12,5 +12,19 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
print "8401: in test8400.cal";
|
print "8401: in test8400.cal";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* test8400 - dummy function to allow a check of quit-based memory leaks
|
||||||
|
*/
|
||||||
|
define test8400()
|
||||||
|
{
|
||||||
|
local x8401 = 19937; /* watch for lost memory */
|
||||||
|
static s8401 = 44497; /* watch for lost memory */
|
||||||
|
|
||||||
|
return x8401+s8401;
|
||||||
|
}
|
||||||
|
print "8402: parsed test8400()";
|
||||||
|
vrfy(test8400() == 64434, '8403: test8400() == 64434');
|
||||||
|
|
||||||
quit;
|
quit;
|
||||||
prob('quit did not end test8400.cal');
|
prob('quit did not end test8400.cal');
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
#define MAJOR_VER 2 /* major version */
|
#define MAJOR_VER 2 /* major version */
|
||||||
#define MINOR_VER 11 /* minor version */
|
#define MINOR_VER 11 /* minor version */
|
||||||
#define MAJOR_PATCH 0 /* patch level or 0 if no patch */
|
#define MAJOR_PATCH 0 /* patch level or 0 if no patch */
|
||||||
#define MINOR_PATCH "8.9.1" /* test number or empty string if no patch */
|
#define MINOR_PATCH "8.10" /* test number or empty string if no patch */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* calc version constants
|
* calc version constants
|
||||||
|
2
zmath.h
2
zmath.h
@@ -72,7 +72,7 @@ typedef SB16 SHALF; /* signed HALF */
|
|||||||
typedef USB32 FULL; /* double unit of number storage */
|
typedef USB32 FULL; /* double unit of number storage */
|
||||||
typedef SB32 SFULL; /* signed FULL */
|
typedef SB32 SFULL; /* signed FULL */
|
||||||
|
|
||||||
#define SWAP_HALF_IN_B64(dest, src) SWAP_B32_IN_B64(dest, src)
|
#define SWAP_HALF_IN_B64(dest, src) SWAP_B16_IN_B64(dest, src)
|
||||||
#define SWAP_HALF_IN_B32(dest, src) SWAP_B16_IN_B32(dest, src)
|
#define SWAP_HALF_IN_B32(dest, src) SWAP_B16_IN_B32(dest, src)
|
||||||
#define SWAP_HALF_IN_FULL(dest, src) SWAP_B16_IN_B32(dest, src)
|
#define SWAP_HALF_IN_FULL(dest, src) SWAP_B16_IN_B32(dest, src)
|
||||||
#define SWAP_HALF_IN_HASH(dest, src) SWAP_B16_IN_HASH(dest, src)
|
#define SWAP_HALF_IN_HASH(dest, src) SWAP_B16_IN_HASH(dest, src)
|
||||||
|
Reference in New Issue
Block a user