You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(19) |
Jul
(96) |
Aug
(144) |
Sep
(222) |
Oct
(496) |
Nov
(171) |
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(4) |
Feb
(4) |
Mar
(9) |
Apr
(4) |
May
(12) |
Jun
(6) |
Jul
|
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(52) |
Aug
(47) |
Sep
(47) |
Oct
(95) |
Nov
(56) |
Dec
(34) |
2003 |
Jan
(99) |
Feb
(116) |
Mar
(125) |
Apr
(99) |
May
(123) |
Jun
(69) |
Jul
(110) |
Aug
(130) |
Sep
(289) |
Oct
(211) |
Nov
(98) |
Dec
(140) |
2004 |
Jan
(85) |
Feb
(87) |
Mar
(342) |
Apr
(125) |
May
(101) |
Jun
(60) |
Jul
(151) |
Aug
(118) |
Sep
(162) |
Oct
(117) |
Nov
(125) |
Dec
(95) |
2005 |
Jan
(141) |
Feb
(54) |
Mar
(79) |
Apr
(83) |
May
(74) |
Jun
(125) |
Jul
(63) |
Aug
(89) |
Sep
(130) |
Oct
(89) |
Nov
(34) |
Dec
(39) |
2006 |
Jan
(98) |
Feb
(62) |
Mar
(56) |
Apr
(94) |
May
(169) |
Jun
(41) |
Jul
(34) |
Aug
(35) |
Sep
(132) |
Oct
(722) |
Nov
(381) |
Dec
(36) |
2007 |
Jan
(34) |
Feb
(174) |
Mar
(15) |
Apr
(35) |
May
(74) |
Jun
(15) |
Jul
(8) |
Aug
(18) |
Sep
(39) |
Oct
(125) |
Nov
(89) |
Dec
(129) |
2008 |
Jan
(176) |
Feb
(91) |
Mar
(69) |
Apr
(178) |
May
(310) |
Jun
(434) |
Jul
(171) |
Aug
(73) |
Sep
(187) |
Oct
(132) |
Nov
(259) |
Dec
(292) |
2009 |
Jan
(27) |
Feb
(54) |
Mar
(35) |
Apr
(54) |
May
(93) |
Jun
(10) |
Jul
(36) |
Aug
(36) |
Sep
(93) |
Oct
(52) |
Nov
(45) |
Dec
(74) |
2010 |
Jan
(20) |
Feb
(120) |
Mar
(165) |
Apr
(101) |
May
(56) |
Jun
(12) |
Jul
(73) |
Aug
(306) |
Sep
(154) |
Oct
(82) |
Nov
(63) |
Dec
(42) |
2011 |
Jan
(176) |
Feb
(86) |
Mar
(199) |
Apr
(86) |
May
(237) |
Jun
(50) |
Jul
(26) |
Aug
(56) |
Sep
(42) |
Oct
(62) |
Nov
(62) |
Dec
(52) |
2012 |
Jan
(35) |
Feb
(33) |
Mar
(128) |
Apr
(152) |
May
(133) |
Jun
(21) |
Jul
(74) |
Aug
(423) |
Sep
(165) |
Oct
(129) |
Nov
(387) |
Dec
(276) |
2013 |
Jan
(105) |
Feb
(30) |
Mar
(130) |
Apr
(42) |
May
(60) |
Jun
(79) |
Jul
(101) |
Aug
(46) |
Sep
(81) |
Oct
(14) |
Nov
(43) |
Dec
(4) |
2014 |
Jan
(25) |
Feb
(32) |
Mar
(30) |
Apr
(80) |
May
(42) |
Jun
(23) |
Jul
(68) |
Aug
(127) |
Sep
(112) |
Oct
(72) |
Nov
(29) |
Dec
(69) |
2015 |
Jan
(35) |
Feb
(49) |
Mar
(95) |
Apr
(10) |
May
(70) |
Jun
(64) |
Jul
(93) |
Aug
(85) |
Sep
(43) |
Oct
(38) |
Nov
(124) |
Dec
(29) |
2016 |
Jan
(253) |
Feb
(181) |
Mar
(132) |
Apr
(419) |
May
(68) |
Jun
(90) |
Jul
(52) |
Aug
(142) |
Sep
(131) |
Oct
(80) |
Nov
(84) |
Dec
(192) |
2017 |
Jan
(329) |
Feb
(842) |
Mar
(248) |
Apr
(85) |
May
(247) |
Jun
(186) |
Jul
(37) |
Aug
(73) |
Sep
(98) |
Oct
(108) |
Nov
(143) |
Dec
(143) |
2018 |
Jan
(155) |
Feb
(139) |
Mar
(72) |
Apr
(112) |
May
(82) |
Jun
(119) |
Jul
(24) |
Aug
(33) |
Sep
(179) |
Oct
(295) |
Nov
(111) |
Dec
(34) |
2019 |
Jan
(20) |
Feb
(29) |
Mar
(49) |
Apr
(89) |
May
(185) |
Jun
(131) |
Jul
(9) |
Aug
(59) |
Sep
(30) |
Oct
(44) |
Nov
(118) |
Dec
(53) |
2020 |
Jan
(70) |
Feb
(108) |
Mar
(50) |
Apr
(9) |
May
(70) |
Jun
(24) |
Jul
(103) |
Aug
(82) |
Sep
(132) |
Oct
(119) |
Nov
(174) |
Dec
(169) |
2021 |
Jan
(75) |
Feb
(51) |
Mar
(76) |
Apr
(73) |
May
(53) |
Jun
(120) |
Jul
(114) |
Aug
(73) |
Sep
(70) |
Oct
(18) |
Nov
(26) |
Dec
|
2022 |
Jan
(26) |
Feb
(63) |
Mar
(64) |
Apr
(64) |
May
(48) |
Jun
(74) |
Jul
(129) |
Aug
(106) |
Sep
(238) |
Oct
(169) |
Nov
(149) |
Dec
(111) |
2023 |
Jan
(110) |
Feb
(47) |
Mar
(82) |
Apr
(106) |
May
(168) |
Jun
(101) |
Jul
(155) |
Aug
(35) |
Sep
(51) |
Oct
(55) |
Nov
(134) |
Dec
(202) |
2024 |
Jan
(103) |
Feb
(129) |
Mar
(154) |
Apr
(89) |
May
(60) |
Jun
(162) |
Jul
(201) |
Aug
(61) |
Sep
(167) |
Oct
(111) |
Nov
(133) |
Dec
(141) |
2025 |
Jan
(122) |
Feb
(88) |
Mar
(106) |
Apr
(113) |
May
(203) |
Jun
(185) |
Jul
(124) |
Aug
(88) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Brian G. <bri...@ea...> - 2025-01-05 22:30:07
|
It certainly solves to seg fault for me when I try it. It also eliminates all the compilation warnings. Without the changes, I'm seeing these warnings: get_elements_bug.c:15:44: warning: incompatible pointer types passing 'int *' to parameter of type 'Tcl_Size *' (aka 'long *') [-Wincompatible-pointer-types] 15 | char *str = Tcl_GetStringFromObj(objPtr, &len); | ^~~~ /Users/briang42/tcl_core/usr_mac_special/include/tclDecls.h:1754:15: note: passing argument to parameter 'lengthPtr' here 1754 | Tcl_Size *lengthPtr); | ^ get_elements_bug.c:19:46: warning: incompatible pointer types passing 'int *' to parameter of type 'Tcl_Size *' (aka 'long *') [-Wincompatible-pointer-types] 19 | if (Tcl_ListObjGetElements(interp, objPtr, &objc, &objv) != TCL_OK) { | ^~~~~ /Users/briang42/tcl_core/usr_mac_special/include/tclDecls.h:1787:33: note: passing argument to parameter 'objcPtr' here 1787 | Tcl_Obj *listPtr, Tcl_Size *objcPtr, | ^ get_elements_bug.c:24:39: warning: format specifies type 'unsigned int' but the argument has type 'Tcl_Obj **' (aka 'struct Tcl_Obj **') [-Wformat] 24 | printf("objc=%d, objv=%016X\n",objc,objv); | ~~~~~ ^~~~ get_elements_bug.c:25:28: warning: format specifies type 'unsigned int' but the argument has type 'Tcl_Obj *' (aka 'struct Tcl_Obj *') [-Wformat] 25 | printf("objv[0]=%016X\n",objv[0]); | ~~~~~ ^~~~~~~ 4 warnings generated. With the corrections I get this result: got string result 'fefe' objc=1, objv=0x1308a0b78 objv[0]=0x120039020 objv[0] = 'fefe' all done Note: I extended the test case to go further. YMMV. -Brian > On Jan 5, 2025, at 11:57, Vadim V Konovalov via Tcl-Core <tcl...@li...> wrote: > > Will that change fix the segmentation fault? > From: Jan Nijtmans <jan...@gm...> > Sent: Sunday, January 5, 2025 9:53 PM > To: Коновалов Вадим Владимирович <vad...@ga...> > Cc: Ashok Nadkarni <apn...@ya...>; Kevin Walzer <kw...@co...>; Marc Culler <cul...@gm...>; Tcl Core List <tcl...@li...> > Subject: Re: [TCLCORE] problems with Tcl/Tk 9.0 in the Perl Tcl module > Op zo 5 jan 2025 om 18:44 schreef Vadim V Konovalov via: > Here is small program to reproduce: > ... int objc,len; In Tcl 9, this line should be: > Tcl_Size objc, len; > Also, for printing pointers, please use "%p" instead of "%016X". The > compiler should give a warning for this! > I don't think this is the cause of your error, but better rule > this out first. > Regards, > Jan Nijtmans > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Vadim V K. <vad...@ga...> - 2025-01-05 19:57:45
|
Will that change fix the segmentation fault? From: Jan Nijtmans <jan...@gm...> Sent: Sunday, January 5, 2025 9:53 PM To: Коновалов Вадим Владимирович <vad...@ga...> Cc: Ashok Nadkarni <apn...@ya...>; Kevin Walzer <kw...@co...>; Marc Culler <cul...@gm...>; Tcl Core List <tcl...@li...> Subject: Re: [TCLCORE] problems with Tcl/Tk 9.0 in the Perl Tcl module Op zo 5 jan 2025 om 18:44 schreef Vadim V Konovalov via: Here is small program to reproduce: ... int objc, len; In Tcl 9, this line should be: Tcl_Size objc, len; Also, for printing pointers, please use "%p" instead of "%016X". The compiler should give a warning for this! I don't think this is the cause of your error, but better rule this out first. Regards, Jan Nijtmans |
From: Jan N. <jan...@gm...> - 2025-01-05 18:53:24
|
Op zo 5 jan 2025 om 18:44 schreef Vadim V Konovalov via: > Here is small program to reproduce: > ... > int objc*,* len*;* > > In Tcl 9, this line should be: Tcl_Size objc, len; Also, for printing pointers, please use "%p" instead of "%016X". The compiler should give a warning for this! I don't think this is the cause of your error, but better rule this out first. Regards, Jan Nijtmans |
From: Vadim V K. <vad...@ga...> - 2025-01-05 17:43:54
|
Hi, I think I’ve catched the problem (this took somewhat long time because of on-and-off approach, sorry for that☺). The corrupted memory I reported in my very previous email: (gdb) p objc $2 = 2 (gdb) p objv $3 = (Tcl_Obj **) 0xaaaa00000000 (gdb) p objv[0] Cannot access memory at address 0xaaaa00000000 was because I happen to receive result in objv from local function storage This happens in the Tcl_ListObjGetElements int Tcl_ListObjGetElements( Tcl_Interp *interp, /* Used to report errors if not NULL. */ Tcl_Obj *objPtr, /* List object for which an element array is * to be returned. */ Tcl_Size *objcPtr, /* Where to store the count of objects * referenced by objv. */ Tcl_Obj ***objvPtr) /* Where to store the pointer to an array of * pointers to the list's objects. */ { ListRep listRep; if (TclObjTypeHasProc(objPtr, getElementsProc)) { return TclObjTypeGetElements(interp, objPtr, objcPtr, objvPtr); } if (TclListObjGetRep(interp, objPtr, &listRep) != TCL_OK) { return TCL_ERROR; } ListRepElements(&listRep, *objcPtr, *objvPtr); return TCL_OK; } ListRepElements populates objvPtr with items from listRep, which is on C stack. (several functions misbehave like this, not only this one). Here is small program to reproduce: #include <tcl.h> #include <stdio.h> int main(int argc, char *argv[]) { Tcl_Obj *objPtr, **objv; int objc, len; Tcl_Interp *interp=Tcl_CreateInterp(); Tcl_FindExecutable(argv[0]); Tcl_Init(interp); Tcl_Eval(interp, "set var fefe"); objPtr = Tcl_GetObjResult(interp); char *str = Tcl_GetStringFromObj(objPtr, &len); printf("got string result '%s'\n", str); if (Tcl_ListObjGetElements(interp, objPtr, &objc, &objv) != TCL_OK) { printf("can not transform to a valid Tcl list"); return 1; } printf("objc=%d, objv=%016X\n",objc,objv); printf("objv[0]=%016X\n",objv[0]); printf("all done\n"); return 0; } vad@orangepi3b:~/perl-dev/tcl.pm$ LD_LIBRARY_PATH=/opt/tcltk9d3/lib ./reproduce got string result 'fefe' objc=1, objv=0000000000000000 Segmentation fault In list context perl module asks tcl “please give me a list from the result object” and tcl fails to do that correctly. Instead, I can study type of the returned object and act based on that. Probably this would be better approach – need to think about this. Regardless, Tcl behavior should be fixed – no one is allowed to return address of an object from function stack. Best regards, Vadim From: Vadim V Konovalov via Tcl-Core <tcl...@li...> Sent: Sunday, November 17, 2024 9:02 PM To: 'Ashok Nadkarni' <apn...@ya...>; Vadim V Konovalov via Tcl-Core <tcl...@li...>; 'Kevin Walzer' <kw...@co...>; Marc Culler <cul...@gm...> Cc: Tcl Core List <tcl...@li...> Subject: Re: [TCLCORE] problems with Tcl/Tk 9.0 in the Perl Tcl module Ok, thanks for the info, after I’ve installed “zip” from my package manager that helped. (however I did had minizip) The error message in that message-box is: “Impossible to open this install package. Ask your supplier of the program to verify correctness of this package of Windows installer” Your installer was better, :) I am not very much bothered about this error though – after I resolve other problems I will rebuild windows binaries for me myself. Hope BAWT and other binaries will be available also ☺ From: Ashok Nadkarni <apn...@ya...<mailto:apn...@ya...>> Sent: Sunday, November 17, 2024 8:27 PM To: Коновалов Вадим Владимирович <vad...@ga...<mailto:vad...@ga...>>; Vadim V Konovalov via Tcl-Core <tcl...@li...<mailto:tcl...@li...>>; 'Kevin Walzer' <kw...@co...<mailto:kw...@co...>>; Marc Culler <cul...@gm...<mailto:cul...@gm...>> Cc: Tcl Core List <tcl...@li...<mailto:tcl...@li...>> Subject: Re: [TCLCORE] problems with Tcl/Tk 9.0 in the Perl Tcl module Vadim, The mini zip error on Ubuntu and cygwin can be resolved by installing zip from your package manager. Also, could you translate the error you get when installing the magicsplat distribution? /Ashok Yahoo Mail: Search, organise, conquer<https://mail.onelink.me/107872968?pid=nativeplacement&c=US_Acquisition_YMktg_315_SearchOrgConquer_EmailSignature&af_sub1=Acquisition&af_sub2=US_YMktg&af_sub3=&af_sub4=100002039&af_sub5=C01_Email_Static_&af_ios_store_cpp=0c38e4b0-a27e-40f9-a211-f4e2de32ab91&af_android_url=https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.mail&listing=search_organize_conquer> On Sun, 17 Nov 2024 at 7:55 am, Vadim V Konovalov via Tcl-Core <tcl...@li...<mailto:tcl...@li...>> wrote: Ok, I got working binaries for windows from https://gitlab.com/teclabat/tcltk/-/packages/30577027 The problem with all windows binaries I saw is incorrect tclConfig.sh and tkConfig.sh (BAWT, Activestate, etc), the problem should be addressed somehow, but at least I can continue. Also I made a step further in Cygwin and ubuntu builds by placing “minizip” in proper folder so I avoided an error. However on Ubuntu I get segfault when traversing result returned by Tcl_GetObjResult(interp); if (Tcl_ListObjGetElements(interp, objPtr, &objc, &objv) != TCL_OK) { croak("%s called in list context did not return a valid Tcl list", caller); } objc receives 2, which is fine, but objv is 1) non-zero 2) addresses unaccessible memory: (gdb) p objc $2 = 2 (gdb) p objv $3 = (Tcl_Obj **) 0xaaaa00000000 (gdb) p objv[0] Cannot access memory at address 0xaaaa00000000 (gdb) p objv[1] Cannot access memory at address 0xaaaa00000008 (gdb) this leads to the "Program received signal SIGSEGV, Segmentation fault." in following lines: if (objc) { EXTEND(sp, objc); for (i = 0; i < objc; i++) { /* * This checks Tcl_Obj type */ PUSHs(sv_2mortal(SvFromTclObj(aTHX_ objv[i]))); } } is there some Tcl_ListObjGetElements something that I should care about? I think I will fix this next weekend, however I would be glad to hear if I miss something obvious. Thanks in advance! Vadim From: Коновалов Вадим Владимирович <vad...@ga...<mailto:vad...@ga...>> Sent: Sunday, November 17, 2024 4:04 PM To: Коновалов Вадим Владимирович <vad...@ga...<mailto:vad...@ga...>>; 'Kevin Walzer' <kw...@co...<mailto:kw...@co...>>; Marc Culler <cul...@gm...<mailto:cul...@gm...>> Cc: Tcl Core List <tcl...@li...<mailto:tcl...@li...>> Subject: Re: [TCLCORE] Tcl/Tk 9.0 in the Python tkinter module Hi I tried to verify perl connection module for tcl9, and have failed obtaining binaries for it. Last time when I (successfully) checked, I used Ashok’s binaries for windows, I would be happy if I would obtain updated binaries for me to check ☺ Now I can’t obtain Tcl9 binaries. For windows BAWT and IronTcl are not there (yet) and magicsplat installer does not work for me – the ones from https://sourceforge.net/projects/magicsplat/files/magicsplat-tcl/ give me an error: [cid:image001.png@01DB5FAD.8BAAF760] All the ways to get Windows binaries mentioned in www.tcl.tk<http://www.tcl.tk> in the “downloads” section have failed for me so far. For non-windows I tried to build tcl9 myself • for Cygwin • and for Ubuntu (armbian, orangepi zero 3) the failure is very similar cd tcl9.0.0/unix ./configure --prefix=/opt/tcltk9 make cygwin: …. gcc -DPACKAGE_NAME=\"thread\" -DPACKAGE_TARNAME=\"thread\" -DPACKAGE_VERSION=\"3.0.0\" -DPACKAGE_STRING=\"thread\ 3.0.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DBUILD_thread=/\*\*/ -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern -DHAVE_NO_SEH=1 -DHAVE_CAST_TO_UNION=1 -DHAVE_STDBOOL_H=1 -DTCL_WIDE_INT_IS_LONG=1 -DTCL_CFG_OPTIMIZED=1 -DUSE_TCL_STUBS=1 -DZIPFS_BUILD=1 -I"/home/тан/perl-dev/tcltk-build/tcl9.0.0/generic" -I. -O2 -DNDEBUG -Wall -pipe -O2 -DNDEBUG -Wall -c `echo /home/тан/perl-dev/tcltk-build/tcl9.0.0/pkgs/thread3.0.0/unix/threadUnix.c` -o threadUnix.o creating libthread.vfs/thread_library (prepare compression) creating libthread3.0.0.zip from libthread.vfs/thread_library cd libthread.vfs && /cygdrive/c/vad/perl-dev/tcltk-build/tcl9.0.0/unix/pkgs8/thread3.0.0/minizip -o -r ../libthread3.0.0.zip * /bin/sh: строка 5: /cygdrive/c/vad/perl-dev/tcltk-build/tcl9.0.0/unix/pkgs8/thread3.0.0/minizip: No such file or directory make[1]: *** [Makefile:233: libthread3.0.0.zip] Ошибка 127 make[1]: выход из каталога «/cygdrive/c/vad/perl-dev/tcltk-build/tcl9.0.0/unix/pkgs8/thread3.0.0» make: *** [Makefile:2070: packages] Ошибка 2 Ubuntu: … gcc -DPACKAGE_NAME=\"thread\" -DPACKAGE_TARNAME=\"thread\" -DPACKAGE_VERSION=\"3.0.0\" -DPACKAGE_STRING=\"thread\ 3.0.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DBUILD_thread=/\*\*/ -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -DHAVE_STDBOOL_H=1 -DTCL_WIDE_INT_IS_LONG=1 -DTCL_CFG_OPTIMIZED=1 -DUSE_TCL_STUBS=1 -DZIPFS_BUILD=1 -I"/home/vad/perl-dev/tcl9.0.0/generic" -I. -O2 -fomit-frame-pointer -DNDEBUG -Wall -fPIC -pipe -O2 -fomit-frame-pointer -DNDEBUG -Wall -fPIC -c `echo /home/vad/perl-dev/tcl9.0.0/pkgs/thread3.0.0/unix/threadUnix.c` -o threadUnix.o creating libthread.vfs/thread_library (prepare compression) creating libthread3.0.0.zip from libthread.vfs/thread_library cd libthread.vfs && /home/vad/perl-dev/tcl9.0.0/unix/pkgs8/thread3.0.0/minizip -o -r ../libthread3.0.0.zip * /bin/bash: line 5: /home/vad/perl-dev/tcl9.0.0/unix/pkgs8/thread3.0.0/minizip: No such file or directory make[1]: *** [Makefile:233: libthread3.0.0.zip] Error 127 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/home/vad/perl-dev/tcl9.0.0/unix/pkgs8/thread3.0.0' make: *** [Makefile:2070: packages] Error 2 Press any key to continue... From: Vadim V Konovalov via Tcl-Core <tcl...@li...<mailto:tcl...@li...>> I was able to build Tcl perl module with Tcl9 after giving correct path to libraries to Makefile.PL, so support is here. Although indeed we should release new perl module in CPAN mentioning support of Tcl/Tk 9.0 and battle-test it a bit more. Ok, will do that soon. From: Kevin Walzer <kw...@co...<mailto:kw...@co...>> Wonderful news, Marc! Python will be far ahead of Ruby and Perl in supporting 9.0. On Nov 15, 2024, at 8:45 AM, Marc Culler <cul...@gm...<mailto:cul...@gm...>> wrote: Hello Core, I have some news. My pull request #124156<https://fedbdhd.r.bh.d.sendibt3.com/tr/cl/xi9nZhh8EzmeRGcdkK7FCs1FJdMt60I2ulwTMvm7lYccynTtgRenSIA1bx0bXwQQQdQZlNQ7733EE2usRjsT0Lv5T62fulusLxxEFR4EcC0yxF_3CepuTJXyBF7p6JDEyyxwtYDOeub7wlzPrjyurotwrOIoNlsEqMK8LFfppdq4FU88kTxmRdY1fDsf9_eYCH1Y6zYDuyuhQH9ctn21ut_ws2y63RBFu6bmlZiN5mBubhY8OWdvnSCllay2Jpg4vrc5K2t3Edfd-WF8xF1TmxzyYgQrniF3GvOf9btapGHXvmJ_s4ougbm2jQ> has now been merged into the main branch of Python, which currently targets Python 3.14. The PR is expected to be backported to Python 3.13 (the current release) and to some earlier releases. The PR makes the Python tkinter module compatible with Tcl/Tk 9.0. Python ships its own copy of Tcl and Tk with its macOS and Windows installers. So this should mean that, before too long, current Python versions will be providing Tcl and Tk 9.0 on Windows and macOS. While I don't know the actual numbers nor how to find them, I believe that a substantial percentage of Tk users, perhaps a majority, use Tk via the Python tkinter module. So I think that version 9 will soon see a large increase in its user base. - Marc _______________________________________________ Tcl-Core mailing list Tcl...@li...<mailto:Tcl...@li...> https://lists.sourceforge.net/lists/listinfo/tcl-core _______________________________________________ Tcl-Core mailing list Tcl...@li...<mailto:Tcl...@li...> https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Paul O. <pa...@po...> - 2024-12-31 15:09:38
|
Version 3.0.1 of BAWT, the "Build Automation With Tcl" framework has been released on 2024/12/31. Several new and updated packages are included in this version, as well as Windows Setup programs for Tcl/Tk 8.6.16 and 9.0.1. The following new features are included in this release: - Adapted framework and build scripts to handle different Tcl and Tk versions. - Ported several libraries to build with Tcl/Tk 9. - Added gcc 12.2.0, 13.2.0 and 14.2.0 as new optional Windows compilers. - Added support for MacOS universal binaries. - Added support for Linux ARM platforms. - Added support for Risc-V platforms. Note, that this version has some incompatible changes regarding build scripts. See https://www.tcl3d.org/bawt for more information and downloads. Best regards and happy near year, Paul |
From: <apn...@ya...> - 2024-12-31 03:52:13
|
Nathan, While thanking you for your efforts, I would request you to not rewrite substantial portions of a passed TIP for purposes of "correcting grammar and wording". Reasons are similar to those that led to reversal of your dodekalogue and other manpage edits. Minor typos are one thing (though even then it's debatable whether they need fixing in passed TIPs), but substantial rewrites risk altering the semantics of the TIP or manpage, whether intentionally or unintentionally, and must be reviewed and agreed to. The dodekalogue edits were reverted because it was unclear whether the semantics were preserved or if the rewrite was actually clearer than the original. And edits to the fileevent manpage, which removed the stated conditions for generating writable events, actually altered semantics. In the case of voted TIP's in particular, as opposed to manpages, there is also the whole other issue of whether the original was really unclear enough to need changing (clarifications would have been sought before the vote) and justifies expenditure of time to review again. /Ashok |
From: <apn...@ya...> - 2024-12-24 01:06:18
|
-----Original Message----- From: Harald Oehlmann <har...@el...> Sent: Monday, December 23, 2024 6:29 PM To: Ashok P. Nadkarni <apn...@ya...> Subject: Report biweekly TCL/Tk meeting on 2024-12-23 Dear TCL/Tk group, the biweekly TCL/Tk meeting took place today to celebrate great TCL/Tk 9.0.1 release ! Great release with a lot of bug-fixes and additions. 1) Version field of Tcl_InitStubs(i,"8.6-9",0) The migration hints recommend: "Tcl_InitStubs(i,"8.6-9",0)". The proposal is to better use: "Tcl_InitStubs(i,TCL_VERSION,0)". If a library is compiled for 9, it will probably crash, when loaded into 8.6 due to missing stubs entries. There was work by Jan (not present in the call) to make a library work for 8.7 and 9, so "Tcl_InitStubs(i,"8.7-9",0)" might be senseful. Currently, 8.7 is not planned for release and a library author may require a lot of background information, what 9 feature is emulated in 8.7. So, the TCL_VERSION argument is seen as mostly appropriate. In addition, the macro magic in Tcl 9 about Tcl_InitStubs is seen as critical: - the parameter "exact" is abused to encode TCL_VERSION - there is a 4th magic parameter not exposed It would be preferable, to have a new call: Tcl_InitStubsEx(i,v,e,TCL_VERSION,MAGIC_PARAMETER) instead of the macro magic. In addition, a macro magic is added to Tcl_InitStubs, which replaces Tcl_InitStubs by something like Tcl_PackagePresent("TCL",Version), if USE_TCL_STUBS is not defined. That is great, but not tipped and not understandable for the user, as the command name is not correct. So, also this may be included in a new command with a different name. Don pointed to his historic ticket, probably outdated now: https://core.tcl-lang.org/tcl/tktview/3588687fffffffffffff 2) Further releases There was a brainstorming discussion how to proceed. In the next meeting, a plan should be done and be published about tentative release dates for the next versions. The loose idea is to have two release waves per year. The dates to define: - 9.1a0 release - 9.1b0 release - 9.1.0 release - 9.0.x maintenance period - 8.6.x maintenance period 3) Next telcos 7th of January 2025: Tk meeting at 18:00 UTC (Don probably not present) 20th of January 2025: biweekly TCL/Tk at 12:00 UTC We wish a blessed time and a happy new year to everyone ! Ashok & Harald |
From: Dipl. I. S. G. B. <se...@us...> - 2024-12-23 18:11:01
|
Thx! However this is weird. Something seems to be wrong with the length calculation here, but... Despite the expr {1e50+1 - 1e50} shall be 0.0 (in double float values of 1e50+1 and 1e50 are equal), the failing test would imply, that in this line [1] or in this line [2]: 325 return (iend / istep) + 1; 331 len = end / step + 1; it will calculate the length of series as 0. Related to the code, this is possible only if the value of end (here a distance, e. g. 1e50+1 - 1e50), gets -1 (or even smaller than -1), so by any positive step (what is anyway 1.0 or 1 in all that tests) it would result to 0 (or smaller than 0). But it is impossible at all, since neither the former nor the latter could be ever negative by used numbers (I never listened that double 1e50 may overflow on arm64 by +1, even less that it'd do that silently instead of growth to the Inf). Especially because another tests with larger values like 1e307 succeed. Basically for instance for [lseq 1e50 1e50+1] it must be (0 / 1) + 1, what is never zero (let alone negative), by no stretch of imagination, neither in wide- nor in FP-arithmetics. Even for [lseq 1e50 1e50] it must be the same, but... As I said - it is weird. Can you please possibly debug it a bit, e. g. apply this patch on current state of branch: static Tcl_WideInt ARITHSERIESLENDBL( double start, double end, double step, unsigned precision) { double scaleFactor; volatile double len; /* use volatile for more deterministic cross-platform * FP arithmetics, (e. g. to avoid wrong optimization * and divergent results by different compilers/platforms * with and w/o FPU_INLINE_ASM, _CONTROLFP, etc) */ + PRINTF("****A %G, %G, %G, %UN", START, END, STEP, PRECISION); if (step == 0) { return 0; } if (precision) { scaleFactor = power10(precision); start *= scaleFactor; end *= scaleFactor; step *= scaleFactor; } /* distance */ end -= start; /* * To improve numerical stability use wide arithmetic instead of IEEE-754 * when distance and step do not exceed wide-integers. */ + PRINTF("****B %F, %F, %F, %FN", START, END, STEP, PRECISION ? SCALEFACTOR : 0); if ( ((double)WIDE_MIN <= end && end <= (double)WIDE_MAX) && ((double)WIDE_MIN <= step && step <= (double)WIDE_MAX) ) { Tcl_WideInt iend = end < 0 ? end - 0.5 : end + 0.5; Tcl_WideInt istep = step < 0 ? step - 0.5 : step + 0.5; + PRINTF("****W %" TCL_LL_MODIFIER "D / %" TCL_LL_MODIFIER "D + 1 => %" TCL_LL_MODIFIER "DN", IEND, ISTEP, (IEND / ISTEP) + 1); if (istep) { /* avoid div by zero, steps like 0.1, precision 0 */ return (iend / istep) + 1; } } /* * Too large, so use double (note the result may be instable due * to IEEE-754, so to be as precise as possible we'll use volatile len) */ + PRINTF("****F %F / %F + 1 => %FN", END, STEP, (END / STEP) + 1); len = (end / step) + 1; if (len >= (double)TCL_SIZE_MAX) { return TCL_SIZE_MAX; } if (len < 0) { return 0; } return (Tcl_WideInt)len; } and then test it with few cases, e. g. with this in the tclsh: lseq 1e50 1e50+1 lseq 1e50 1e50 lseq 1e50 1e50-1 1 Here is my output for that: % lseq 1e50 1e50+1 ****A 1e+050, 1e+050, 1, 0 ****B 100000000000000010000000000000000000000000000000000.000000, 0.000000, 1.000000, 0.000000 ****W 0 / 1 + 1 => 1 1e+50 % lseq 1e50 1e50 ****A 1e+050, 1e+050, 1, 0 ****B 100000000000000010000000000000000000000000000000000.000000, 0.000000, 1.000000, 0.000000 ****W 0 / 1 + 1 => 1 1e+50 % lseq 1e50 1e50-1 1 ****A 1e+050, 1e+050, 1, 0 ****B 100000000000000010000000000000000000000000000000000.000000, 0.000000, 1.000000, 0.000000 ****W 0 / 1 + 1 => 1 1e+50 Regards, Sergey 22.12.2024 19:21, Paul Obermeier wrote: > The test suite now runs without errors using gcc 7.2.0 on Windows in 32-bit mode. > > No hangs anymore on Debian for Arm using option "-Os", but identical results as with option "-O2". > > On Debian for Arm there is 1 lseq error: > > ==== lseq-1.27 consistence, double always remains double FAILED > ---- Result was: > {} {} {} {} 1e+50 1e+50 > ---- Result should have been (exact matching): > 1e+50 1e+50 1e+50 1e+50 1e+50 1e+50 > ==== lseq-1.27 FAILED > > Note: These tests do not include latest commit "prohibit NaN in the arith-series" > > Paul Links: ------ [1] https://core.tcl-lang.org/tcl/artifact?name=9ed07e336f27caf0&ln=325 [2] https://core.tcl-lang.org/tcl/artifact?name=9ed07e336f27caf0&ln=331 |
From: <apn...@ya...> - 2024-12-23 04:34:18
|
Brian, TLS is a basic requirement for almost any Web interaction these days so very glad to see this updated for Tcl 9, and with some long-awaited enhancements as well. Thanks. Regarding the certificate requirements, my preference is to mandate certificate validation (-require 1 default) unless explicitly disabled by the caller. The paper https://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf makes a compelling case. Tcl (and by extension, packages) should default to secure options. No doubt this will cause pain (akin to -profile strict default in Tcl 9) but it's up to the programmer to fix broken (as in vulnerable) code or add -require 0 as an explicit workaround. As you said, I presume on Unix systems, there should already be an updated system certificate store. On Windows, I'd prefer requiring OpenSSL 3.2 and making the windows system store the default. Windows in any case does not come with openssl so it is not a big deal to ask the distribution to use 3.2 for their builds. For MacOS and other cases, the curl certificate store can be shipped and it is up to the application or distribution to keep it updated. For self-signed certs, applications have to -require 0, no choice there. Re. (2), I agree. Re. (3), no objection. I also have no issues with (potential) loss of libressl compatibility. Thanks again, /Ashok From: Brian O'hagan via Tcl-Core <tcl...@li...> Sent: Friday, December 20, 2024 4:24 AM To: tcl...@li... Subject: [TCLCORE] TclTLS Update So, I'm done with my planned updates for the next TclTLS release. The only thing left is to finish testing on all platforms this week. The original plan per the roadmap <https://chiselapp.com/user/bohagan/repository/TCLTLS/index> was to release this as version 1.8. However given the extent of the changes and compatibility changes to the callback function handler, there is a desire to move to version 2.0. I'm ok with that, but this also presents us with an opportunity to make some other potentially incompatible changes. (1) Requiring certificate validation The first is requiring certificate validation as the default. This is what most users expect when using https. If you aren't familiar with the options, see https://core.tcl-lang.org/tcltls/file?name=doc/tls.html <https://core.tcl-lang.org/tcltls/file?name=doc/tls.html&ci=trunk> &ci=trunk under Certificate Validation. I already default -request to 1, so that's not an issue. The main issue is if we change the default to -require 1, then connect will fail on any system without the Certificate Authority database in PEM format and the users may not know why. This isn't an issue for most Linux and other *nix systems that have them installed, but it is an issue for Windows and Mac. There are 2 options to make it work: always install OpenSSL or bundle the OpenSSL libs and the Certificate Authority (CA) certificates file from the CURL team with the TclTLS distro package and any batteries included distros. Either will work, but the latter is likely better. It also requires us to stay up to date on OpenSSL version and the CA cert file. Another option for Windows, is if you use OpenSSL 3.2 or later you now also have the option to use the Windows Certificate Store. This is likely what most Windows users would want anyway, but you would need to use -castore "org.openssl.winstore://". I could just make this the default, but you would need to make sure to not override it in your code. This also means any batteries included distros will need to use OpenSSL 3.2 or later. As an FYI, OpenSSL 3.0 is the long-term support version and also the only FIPS certified version, so keep that restriction in mind. MacOS is the same, but without the option for -castore to use Keychain. Feel free to submit that as an issue to the OpenSSL folks. However, there are scripts out there that can sync keychain certs to the CA cert file, so that may be a way to stay current. I don't have a Mac, so I can't say if it works. So, I'm asking for feedback on whether to change the default to -require 1. (2) Which SSL/TLS protocols are enabled by default This is really more of an FYI since the change has already been made, but may impact some folks. it deals with which SSL/TLS protocols are enabled by default. OpenSSL no longer supports SSL2, so unless you compile with an older version it will not be available. I've also disabled SSL3 in the C code, but it can be enabled via a compile time option. But don't do that, since it is unsecure and obsolete. TLS 1 and 1.1 are supported, but disabled by default since they are unsecure and many sites will refuse a connection if the client hello says they are supported. They can be enabled using the arguments to the tls::import or tls::socket commands if you need them. So, only TLS 1.2 and 1.3 will be used for connections by default. I assume this isn't an issue, but now is the time to speak up. (3) Callback Changes Another FYI is I changed the callback handling to move the validation processing to the new -validatecommand option. You can make your handlers backwards compatible to support both the old and new methods. See the library/tls.tcl file for an example. I don't see this an a big issue, since unlike the old version of TclTLS, you don't need to check the certificates manually anymore to validate them. OpenSSL does it for you if -require 1 is set. Repo: https://core.tcl-lang.org/tcltls/index FYI, I have not tested with LibreSSL, so I don't know if it still works. Likely not with the new OpenSSL APIs I had to use. |
From: Alexander S. <a.s...@gm...> - 2024-12-22 19:15:12
|
updated-to: b999132201bb706def264f61d795d766850ab3b3 2024-12-22 17:54:53 UTC tags: sebres-arith-series-rework comment: clean up unused code (user: sebres) gcc -v Apple clang version 16.0.0 (clang-1600.0.26.6) Target: arm64-apple-darwin23.6.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin macos Sonoma 14.7.2 (23H311) arm64 MacBook Pro M2 No failures. See log1. > Am 22.12.2024 um 15:52 schrieb Dipl. Ing. Sergey G. Brester via Tcl-Core <tcl...@li...>: > > Hi Brian, > > thx for the testing! > > I tried it with clang 19.1.1 on amd64, it is not reproducible there, but I can indeed imagine that > the result of the addition of Inf and -Inf may depend on the platform/compiler/optimization, > and so may be "undefined" (becomes either -NaN or NaN), therefore I made this new test > platform/compiler independent now. > We could surely completely remove them, but I would like to retain it for the sake of completeness, > even if it is not quite stable. And an expansion of code with an additional logic, to make it resilient, > would be too expensive in my option (let alone, probably no one would ever really need such series, > since NaN is not a number, whether positive or negative). > Regards, > Serg. > 22.12.2024 02:38, Brian Griffin wrote: >> Hi Sergey, >> Thanks for all your efforts on this! >> Tried it on Apple Mac M3 Pro, Sonoma 14.6.1, >> using compilter: >> % gcc --version >> Apple clang version 16.0.0 (clang-1600.0.26.4) >> Target: arm64-apple-darwin23.6.0 >> Thread model: posix >> Built w/o any special CFLAGS >> Tests pass except for: >> ---- lseq-4.21.1 start >> ---- lseq-4.21.2 start >> ==== lseq-4.21.2 Corner cases: expected Inf FAILED >> ---- Result was: >> {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf NaN NaN NaN NaN} {0.0 Inf Inf Inf Inf} {0.0 Inf Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} >> ---- Result should have been (exact matching): >> {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf -NaN -NaN -NaN -NaN} {0.0 Inf Inf Inf Inf} {0.0 Inf Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} >> ==== lseq-4.21.2 FAILED >> ---- lseq-4.21.3 start >> ==== lseq-4.21.3 Corner cases: expected -Inf FAILED >> ---- Result was: >> {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf NaN NaN NaN NaN} {0.0 -Inf -Inf -Inf -Inf} {0.0 -Inf -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} >> ---- Result should have been (exact matching): >> {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -NaN -NaN -NaN -NaN} {0.0 -Inf -Inf -Inf -Inf} {0.0 -Inf -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} >> ==== lseq-4.21.3 FAILED >> ---- lseq-4.21.4 start >> ---- lseq-4.21.5 start >> ---- lseq-4.21.6 start >> ---- lseq-4.21.7 start >> >>> On Dec 21, 2024, at 14:36, Dipl. Ing. Sergey G. Brester via Tcl-Core <tcl...@li...> wrote: >>> >>> Hi, >>> there is a new branch sebres-arith-series-rework with a large rework. >>> Could you please test this, whether the numerical stability gets fixed with this improved revision? >>> >>> I tested it for x86, but my smallest gcc-version in toolchain is 8.1 (although it was also reproducible previously, exactly like in your excerpts). >>> Now the behavior is the same for any gcc I have, from 8.1 to 14.2 and both platforms x86/x64. >>> BTW, I hope the branch would solve [d2a3c5f80b] too, but have no such arm64 to hand for the test, and no time for cross compile and roll out process on some phone. >>> And for some reason I was not able to reproduce it on my old raspberry pi. >>> Regards, >>> Sergey. >>> 20.12.2024 11:03, Paul Obermeier wrote: >>> Test suite runs fine on the following systems: >>> MacBook Air M2 Sonoma >>> Debian Jessie and 12.6 >>> Windows 11 (using VS2022, gcc 12.2.0, gcc 13.2.0) >>> >>> Using gcc 7.2.0 in 32-bit mode on Windows gives 3 errors regarding lseq. >>> >>> In conjunction with ticket https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b >>> (lseq hangs on Debian ARM) I assume, that the lseq algorithms are numerically >>> instable and the results depend on the optimization strategy of the used compiler. >>> >>> >>> ==== lseq-3.31 lreverse inplace with doubles FAILED >>> ==== Contents of test case: >>> >>> lreverse [lseq 1.1 29.9 0.3] >>> >>> ---- Result was: >>> 29.6 29.3 29.0 28.7 28.4 28.1 27.8 27.5 27.2 26.9 26.6 26.3 26.0 25.7 25.4 25.1 24.8 24.5 24.2 23.9 23.6 23.3 23.0 22.7 22.4 22.1 21.8 21.5 21.2 20.9 20.6 20.3 20.0 19.7 19.4 19.1 18.8 18.5 18.2 17.9 17.6 17.3 17.0 16.7 16.4 16.1 15.8 15.5 15.2 14.9 14.6 14.3 14.0 13.7 13.4 13.1 12.8 12.5 12.2 11.9 11.6 11.3 11.0 10.7 10.4 10.1 9.8 9.5 9.2 8.9 8.6 8.3 8.0 7.7 7.4 7.1 6.8 6.5 6.2 5.9 5.6 5.3 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7 1.4 1.1 >>> ---- Result should have been (exact matching): >>> 29.9 29.6 29.3 29.0 28.7 28.4 28.1 27.8 27.5 27.2 26.9 26.6 26.3 26.0 25.7 25.4 25.1 24.8 24.5 24.2 23.9 23.6 23.3 23.0 22.7 22.4 22.1 21.8 21.5 21.2 20.9 20.6 20.3 20.0 19.7 19.4 19.1 18.8 18.5 18.2 17.9 17.6 17.3 17.0 16.7 16.4 16.1 15.8 15.5 15.2 14.9 14.6 14.3 14.0 13.7 13.4 13.1 12.8 12.5 12.2 11.9 11.6 11.3 11.0 10.7 10.4 10.1 9.8 9.5 9.2 8.9 8.6 8.3 8.0 7.7 7.4 7.1 6.8 6.5 6.2 5.9 5.6 5.3 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7 1.4 1.1 >>> ==== lseq-3.31 FAILED >>> >>> >>> >>> ==== lseq-4.14 bug lseq - inconsistent rounding FAILED >>> ==== Contents of test case: >>> >>> # using a non-integer increment, [lseq] rounding seems to be not consistent: >>> lseq 4 40 0.1 >>> >>> ---- Result was: >>> 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 >>> ---- Result should have been (exact matching): >>> 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40.0 >>> ==== lseq-4.14 FAILED >>> >>> >>> >>> ==== lseq-4.15 bug lseq - inconsistent rounding FAILED >>> ==== Contents of test case: >>> >>> # using a non-integer increment, [lseq] rounding seems to be not consistent: >>> lseq 6 40 0.1 >>> >>> ---- Result was: >>> 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 >>> ---- Result should have been (exact matching): >>> 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40.0 >>> ==== lseq-4.15 FAILED >>> >>> >>> Am 19.12.2024 um 20:09 schrieb Donald G Porter via Tcl-Core: >>> Now available at https://sourceforge.net/projects/tcl/files/Tcl/9.0.1/ is an RC0 candidate source code distribution pre-release of Tcl 9.0.1 This is the first candidate release leading to the release of Tcl 9.0.1. Testing of builds and operations on multiple platforms is invited. Any critical problem that should block the release should be reported immediately. The Tcl pre-release includes pre-releases of the package Thread 3.0.1. The same level of vetting on it is also appreciated. The released packages sqlite 3.47.2, TDBC* 1.1.10, and Itcl 4.3.2 are also included. Draft release notes are also present for review. The intent is to promote this candidate to the release tomorrow, Dec. 20. Blocking issues should be urgently reported. Other flaws will be addressed in Tcl 9.0.2. Thank you for your contributions and assistance. _______________________________________________ >>> Tcl-Core mailing list >>> Tcl...@li... >>> https://lists.sourceforge.net/lists/listinfo/tcl-core >>> >>> _______________________________________________ >>> Tcl-Core mailing list >>> Tcl...@li... >>> https://lists.sourceforge.net/lists/listinfo/tcl-core > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Paul O. <pa...@po...> - 2024-12-22 18:21:34
|
The test suite now runs without errors using gcc 7.2.0 on Windows in 32-bit mode. No hangs anymore on Debian for Arm using option "-Os", but identical results as with option "-O2". On Debian for Arm there is 1 lseq error: ==== lseq-1.27 consistence, double always remains double FAILED ---- Result was: {} {} {} {} 1e+50 1e+50 ---- Result should have been (exact matching): 1e+50 1e+50 1e+50 1e+50 1e+50 1e+50 ==== lseq-1.27 FAILED Note: These tests do not include latest commit "prohibit NaN in the arith-series" Paul Am 21.12.2024 um 23:36 schrieb Dipl. Ing. Sergey G. Brester: > > Hi, > > there is a new branch sebres-arith-series-rework <https://core.tcl-lang.org/tcl/vdiff?from=903799065b999ea2&to=sebres-arith-series-rework> with a large rework. > Could you please test this, whether the numerical stability gets fixed with this improved revision? > > I tested it for x86, but my smallest gcc-version in toolchain is 8.1 (although it was also reproducible previously, exactly like in your excerpts). > Now the behavior is the same for any gcc I have, from 8.1 to 14.2 and both platforms x86/x64. > > BTW, I hope the branch would solve [d2a3c5f80b] <https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b> too, but have no such arm64 to hand for the test, and no time for cross compile and roll out process on some phone. > And for some reason I was not able to reproduce it on my old raspberry pi. > > Regards, > Sergey. > > 20.12.2024 11:03, Paul Obermeier wrote: > >> Test suite runs fine on the following systems: >> MacBook Air M2 Sonoma >> Debian Jessie and 12.6 >> Windows 11 (using VS2022, gcc 12.2.0, gcc 13.2.0) >> >> Using gcc 7.2.0 in 32-bit mode on Windows gives 3 errors regarding lseq. >> >> In conjunction with tickethttps://core.tcl-lang.org/tcl/tktview/d2a3c5f80b >> (lseq hangs on Debian ARM) I assume, that the lseq algorithms are numerically >> instable and the results depend on the optimization strategy of the used compiler. >> >> >> ==== lseq-3.31 lreverse inplace with doubles FAILED >> ==== Contents of test case: >> >> lreverse [lseq 1.1 29.9 0.3] >> >> ---- Result was: >> 29.6 29.3 29.0 28.7 28.4 28.1 27.8 27.5 27.2 26.9 26.6 26.3 26.0 25.7 25.4 25.1 24.8 24.5 24.2 23.9 23.6 23.3 23.0 22.7 22.4 22.1 21.8 21.5 21.2 20.9 20.6 20.3 20.0 19.7 19.4 19.1 18.8 18.5 18.2 17.9 17.6 17.3 17.0 16.7 16.4 16.1 15.8 15.5 15.2 14.9 14.6 14.3 14.0 13.7 13.4 13.1 12.8 12.5 12.2 11.9 11.6 11.3 11.0 10.7 10.4 10.1 9.8 9.5 9.2 8.9 8.6 8.3 8.0 7.7 7.4 7.1 6.8 6.5 6.2 5.9 5.6 5.3 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7 1.4 1.1 >> ---- Result should have been (exact matching): >> 29.9 29.6 29.3 29.0 28.7 28.4 28.1 27.8 27.5 27.2 26.9 26.6 26.3 26.0 25.7 25.4 25.1 24.8 24.5 24.2 23.9 23.6 23.3 23.0 22.7 22.4 22.1 21.8 21.5 21.2 20.9 20.6 20.3 20.0 19.7 19.4 19.1 18.8 18.5 18.2 17.9 17.6 17.3 17.0 16.7 16.4 16.1 15.8 15.5 15.2 14.9 14.6 14.3 14.0 13.7 13.4 13.1 12.8 12.5 12.2 11.9 11.6 11.3 11.0 10.7 10.4 10.1 9.8 9.5 9.2 8.9 8.6 8.3 8.0 7.7 7.4 7.1 6.8 6.5 6.2 5.9 5.6 5.3 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7 1.4 1.1 >> ==== lseq-3.31 FAILED >> >> >> >> ==== lseq-4.14 bug lseq - inconsistent rounding FAILED >> ==== Contents of test case: >> >> # using a non-integer increment, [lseq] rounding seems to be not consistent: >> lseq 4 40 0.1 >> >> ---- Result was: >> 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 >> ---- Result should have been (exact matching): >> 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40.0 >> ==== lseq-4.14 FAILED >> >> >> >> ==== lseq-4.15 bug lseq - inconsistent rounding FAILED >> ==== Contents of test case: >> >> # using a non-integer increment, [lseq] rounding seems to be not consistent: >> lseq 6 40 0.1 >> >> ---- Result was: >> 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 >> ---- Result should have been (exact matching): >> 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40.0 >> ==== lseq-4.15 FAILED >> >> >> Am 19.12.2024 um 20:09 schrieb Donald G Porter via Tcl-Core: >>> Now available at https://sourceforge.net/projects/tcl/files/Tcl/9.0.1/ is an RC0 candidate source code distribution pre-release of Tcl 9.0.1 This is the first candidate release leading to the release of Tcl 9.0.1. Testing of builds and operations on multiple platforms is invited. Any critical problem that should block the release should be reported immediately. The Tcl pre-release includes pre-releases of the package Thread 3.0.1. The same level of vetting on it is also appreciated. The released packages sqlite 3.47.2, TDBC* 1.1.10, and Itcl 4.3.2 are also included. Draft release notes are also present for review. The intent is to promote this candidate to the release tomorrow, Dec. 20. Blocking issues should be urgently reported. Other flaws will be addressed in Tcl 9.0.2. Thank you for your contributions and assistance. >> _______________________________________________ >> Tcl-Core mailing list >> Tcl...@li... >> https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Brian G. <bri...@ea...> - 2024-12-22 17:30:56
|
On Dec 22, 2024, at 09:20, Dipl. Ing. Sergey G. Brester <se...@us...> wrote: I don't think we shall always trigger an error here, since they are "valid" double, just a bit special. Although `expr {Inf + -Inf}` will surely throw an error "domain error: argument not in valid range". But `expr {5 + -Inf}` or `expr {-Inf + 5}` are pretty valid and result as expected to -Inf. So from this point of view, the start, end, step arguments may be Inf/-Inf (only the count must not), as well as the Inf/-Inf at end of sequence shall be valid by deterministic but large lseq arguments. So the only questionable cases are things like `lseq Inf count $c by -Inf` and `lseq -Inf count $c by Inf`, so we can indeed behaves like an expr-command here. I'll try to fix it now in that way. Agreed. Thanks, -Brian Regards, Serg. 22.12.2024 17:21, Brian Griffin wrote: I wonder if these particular values should trigger an error from [lseq]? Is such a result reasonably expected or useful? |
From: Dipl. I. S. G. B. <se...@us...> - 2024-12-22 17:20:30
|
I don't think we shall ALWAYS trigger an error here, since they are "valid" double, just a bit special. Although `expr {Inf + -Inf}` will surely throw an error "domain error: argument not in valid range". But `expr {5 + -Inf}` or `expr {-Inf + 5}` are pretty valid and result as expected to -Inf. So from this point of view, the start, end, step arguments may be Inf/-Inf (only the count must not), as well as the Inf/-Inf at end of sequence shall be valid by deterministic but large lseq arguments. So the only questionable cases are things like `lseq Inf count $c by -Inf` and `lseq -Inf count $c by Inf`, so we can indeed behaves like an expr-command here. I'll try to fix it now in that way. Regards, Serg. 22.12.2024 17:21, Brian Griffin wrote: > I wonder if these particular values should trigger an error from [lseq]? Is such a result reasonably expected or useful? |
From: Brian G. <bri...@ea...> - 2024-12-22 16:22:12
|
On Dec 22, 2024, at 06:52, Dipl. Ing. Sergey G. Brester <se...@us...> wrote: Hi Brian, thx for the testing! I tried it with clang 19.1.1 on amd64, it is not reproducible there, but I can indeed imagine that the result of the addition of Inf and -Inf may depend on the platform/compiler/optimization, and so may be "undefined" (becomes either -NaN or NaN), therefore I made this new test<https://core.tcl-lang.org/tcl/vdiff?diff=1&from=02c874069610ad01&to=06a7dfbdcd8895b0> platform/compiler independent now. That's the solution I immediately thought of when I first looked into this test failure. We could surely completely remove them, but I would like to retain it for the sake of completeness, even if it is not quite stable. And an expansion of code with an additional logic, to make it resilient, would be too expensive in my option (let alone, probably no one would ever really need such series, since NaN is not a number, whether positive or negative). I wonder if these particular values should trigger an error from [lseq]? Is such a result reasonably expected or useful? Another way to think about it is: set x [lseq Inf count 5 by -Inf] if {[llength $x] != [llength [lsort -unique $x]]} { puts "Repeating values in sequence!" } -Brian Regards, Serg. 22.12.2024 02:38, Brian Griffin wrote: Hi Sergey, Thanks for all your efforts on this! Tried it on Apple Mac M3 Pro, Sonoma 14.6.1, using compilter: % gcc --version Apple clang version 16.0.0 (clang-1600.0.26.4) Target: arm64-apple-darwin23.6.0 Thread model: posix Built w/o any special CFLAGS Tests pass except for: ---- lseq-4.21.1 start ---- lseq-4.21.2 start ==== lseq-4.21.2 Corner cases: expected Inf FAILED ---- Result was: {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf NaN NaN NaN NaN} {0.0 Inf Inf Inf Inf} {0.0 Inf Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} ---- Result should have been (exact matching): {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf -NaN -NaN -NaN -NaN} {0.0 Inf Inf Inf Inf} {0.0 Inf Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} ==== lseq-4.21.2 FAILED ---- lseq-4.21.3 start ==== lseq-4.21.3 Corner cases: expected -Inf FAILED ---- Result was: {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf NaN NaN NaN NaN} {0.0 -Inf -Inf -Inf -Inf} {0.0 -Inf -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} ---- Result should have been (exact matching): {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -NaN -NaN -NaN -NaN} {0.0 -Inf -Inf -Inf -Inf} {0.0 -Inf -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} ==== lseq-4.21.3 FAILED ---- lseq-4.21.4 start ---- lseq-4.21.5 start ---- lseq-4.21.6 start ---- lseq-4.21.7 start On Dec 21, 2024, at 14:36, Dipl. Ing. Sergey G. Brester via Tcl-Core <tcl...@li...> wrote: Hi, there is a new branch sebres-arith-series-rework<https://core.tcl-lang.org/tcl/vdiff?from=903799065b999ea2&to=sebres-arith-series-rework> with a large rework. Could you please test this, whether the numerical stability gets fixed with this improved revision? I tested it for x86, but my smallest gcc-version in toolchain is 8.1 (although it was also reproducible previously, exactly like in your excerpts). Now the behavior is the same for any gcc I have, from 8.1 to 14.2 and both platforms x86/x64. BTW, I hope the branch would solve [d2a3c5f80b]<https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b> too, but have no such arm64 to hand for the test, and no time for cross compile and roll out process on some phone. And for some reason I was not able to reproduce it on my old raspberry pi. Regards, Sergey. 20.12.2024 11:03, Paul Obermeier wrote: Test suite runs fine on the following systems: MacBook Air M2 Sonoma Debian Jessie and 12.6 Windows 11 (using VS2022, gcc 12.2.0, gcc 13.2.0) Using gcc 7.2.0 in 32-bit mode on Windows gives 3 errors regarding lseq. In conjunction with ticket https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b (lseq hangs on Debian ARM) I assume, that the lseq algorithms are numerically instable and the results depend on the optimization strategy of the used compiler. ==== lseq-3.31 lreverse inplace with doubles FAILED ==== Contents of test case: lreverse [lseq 1.1 29.9 0.3] ---- Result was: 29.6 29.3 29.0 28.7 28.4 28.1 27.8 27.5 27.2 26.9 26.6 26.3 26.0 25.7 25.4 25.1 24.8 24.5 24.2 23.9 23.6 23.3 23.0 22.7 22.4 22.1 21.8 21.5 21.2 20.9 20.6 20.3 20.0 19.7 19.4 19.1 18.8 18.5 18.2 17.9 17.6 17.3 17.0 16.7 16.4 16.1 15.8 15.5 15.2 14.9 14.6 14.3 14.0 13.7 13.4 13.1 12.8 12.5 12.2 11.9 11.6 11.3 11.0 10.7 10.4 10.1 9.8 9.5 9.2 8.9 8.6 8.3 8.0 7.7 7.4 7.1 6.8 6.5 6.2 5.9 5.6 5.3 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7 1.4 1.1 ---- Result should have been (exact matching): 29.9 29.6 29.3 29.0 28.7 28.4 28.1 27.8 27.5 27.2 26.9 26.6 26.3 26.0 25.7 25.4 25.1 24.8 24.5 24.2 23.9 23.6 23.3 23.0 22.7 22.4 22.1 21.8 21.5 21.2 20.9 20.6 20.3 20.0 19.7 19.4 19.1 18.8 18.5 18.2 17.9 17.6 17.3 17.0 16.7 16.4 16.1 15.8 15.5 15.2 14.9 14.6 14.3 14.0 13.7 13.4 13.1 12.8 12.5 12.2 11.9 11.6 11.3 11.0 10.7 10.4 10.1 9.8 9.5 9.2 8.9 8.6 8.3 8.0 7.7 7.4 7.1 6.8 6.5 6.2 5.9 5.6 5.3 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7 1.4 1.1 ==== lseq-3.31 FAILED ==== lseq-4.14 bug lseq - inconsistent rounding FAILED ==== Contents of test case: # using a non-integer increment, [lseq] rounding seems to be not consistent: lseq 4 40 0.1 ---- Result was: 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 ---- Result should have been (exact matching): 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40.0 ==== lseq-4.14 FAILED ==== lseq-4.15 bug lseq - inconsistent rounding FAILED ==== Contents of test case: # using a non-integer increment, [lseq] rounding seems to be not consistent: lseq 6 40 0.1 ---- Result was: 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 ---- Result should have been (exact matching): 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40.0 ==== lseq-4.15 FAILED Am 19.12.2024 um 20:09 schrieb Donald G Porter via Tcl-Core: Now available at https://sourceforge.net/projects/tcl/files/Tcl/9.0.1/ is an RC0 candidate source code distribution pre-release of Tcl 9.0.1 This is the first candidate release leading to the release of Tcl 9.0.1. Testing of builds and operations on multiple platforms is invited. Any critical problem that should block the release should be reported immediately. The Tcl pre-release includes pre-releases of the package Thread 3.0.1. The same level of vetting on it is also appreciated. The released packages sqlite 3.47.2, TDBC* 1.1.10, and Itcl 4.3.2 are also included. Draft release notes are also present for review. The intent is to promote this candidate to the release tomorrow, Dec. 20. Blocking issues should be urgently reported. Other flaws will be addressed in Tcl 9.0.2. Thank you for your contributions and assistance. _______________________________________________ Tcl-Core mailing list Tcl...@li...<mailto:Tcl...@li...> https://lists.sourceforge.net/lists/listinfo/tcl-core _______________________________________________ Tcl-Core mailing list Tcl...@li... https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Dipl. I. S. G. B. <se...@us...> - 2024-12-22 14:53:12
|
Hi Brian, thx for the testing! I tried it with clang 19.1.1 on amd64, it is not reproducible there, but I can indeed imagine that the result of the addition of Inf and -Inf may depend on the platform/compiler/optimization, and so may be "undefined" (becomes either -NaN or NaN), therefore I made this new test [5] platform/compiler independent now. We could surely completely remove them, but I would like to retain it for the sake of completeness, even if it is not quite stable. And an expansion of code with an additional logic, to make it resilient, would be too expensive in my option (let alone, probably no one would ever really need such series, since NaN is not a number, whether positive or negative). Regards, Serg. 22.12.2024 02:38, Brian Griffin wrote: > Hi Sergey, > > Thanks for all your efforts on this! > > Tried it on Apple Mac M3 Pro, Sonoma 14.6.1, > using compilter: > > % gcc --version > Apple clang version 16.0.0 (clang-1600.0.26.4) > Target: arm64-apple-darwin23.6.0 > Thread model: posix > > Built w/o any special CFLAGS > > Tests pass except for: > > ---- lseq-4.21.1 start > ---- lseq-4.21.2 start > > ==== lseq-4.21.2 Corner cases: expected Inf FAILED > ---- Result was: > {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {INF NAN NAN NAN NAN} {0.0 Inf Inf Inf Inf} {0.0 Inf Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} > ---- Result should have been (exact matching): > {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {INF -NAN -NAN -NAN -NAN} {0.0 Inf Inf Inf Inf} {0.0 Inf Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} > ==== lseq-4.21.2 FAILED > > ---- lseq-4.21.3 start > > ==== lseq-4.21.3 Corner cases: expected -Inf FAILED > ---- Result was: > {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-INF NAN NAN NAN NAN} {0.0 -Inf -Inf -Inf -Inf} {0.0 -Inf -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} > ---- Result should have been (exact matching): > {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-INF -NAN -NAN -NAN -NAN} {0.0 -Inf -Inf -Inf -Inf} {0.0 -Inf -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} > ==== lseq-4.21.3 FAILED > > ---- lseq-4.21.4 start > ---- lseq-4.21.5 start > ---- lseq-4.21.6 start > ---- lseq-4.21.7 start > > On Dec 21, 2024, at 14:36, Dipl. Ing. Sergey G. Brester via Tcl-Core <tcl...@li...> wrote: > > Hi, > > there is a new branch sebres-arith-series-rework [3] with a large rework. > Could you please test this, whether the numerical stability gets fixed with this improved revision? > > I tested it for x86, but my smallest gcc-version in toolchain is 8.1 (although it was also reproducible previously, exactly like in your excerpts). > Now the behavior is the same for any gcc I have, from 8.1 to 14.2 and both platforms x86/x64. > > BTW, I hope the branch would solve [d2a3c5f80b] [1] too, but have no such arm64 to hand for the test, and no time for cross compile and roll out process on some phone. > And for some reason I was not able to reproduce it on my old raspberry pi. > > Regards, > Sergey. > > 20.12.2024 11:03, Paul Obermeier wrote: > > Test suite runs fine on the following systems: > MacBook Air M2 Sonoma > Debian Jessie and 12.6 > Windows 11 (using VS2022, gcc 12.2.0, gcc 13.2.0) > > Using gcc 7.2.0 in 32-bit mode on Windows gives 3 errors regarding lseq. > > In conjunction with ticket https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b [1] > (lseq hangs on Debian ARM) I assume, that the lseq algorithms are numerically > instable and the results depend on the optimization strategy of the used compiler. > > ==== lseq-3.31 lreverse inplace with doubles FAILED > ==== Contents of test case: > > lreverse [lseq 1.1 29.9 0.3] > > ---- Result was: > 29.6 29.3 29.0 28.7 28.4 28.1 27.8 27.5 27.2 26.9 26.6 26.3 26.0 25.7 25.4 25.1 24.8 24.5 24.2 23.9 23.6 23.3 23.0 22.7 22.4 22.1 21.8 21.5 21.2 20.9 20.6 20.3 20.0 19.7 19.4 19.1 18.8 18.5 18.2 17.9 17.6 17.3 17.0 16.7 16.4 16.1 15.8 15.5 15.2 14.9 14.6 14.3 14.0 13.7 13.4 13.1 12.8 12.5 12.2 11.9 11.6 11.3 11.0 10.7 10.4 10.1 9.8 9.5 9.2 8.9 8.6 8.3 8.0 7.7 7.4 7.1 6.8 6.5 6.2 5.9 5.6 5.3 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7 1.4 1.1 > ---- Result should have been (exact matching): > 29.9 29.6 29.3 29.0 28.7 28.4 28.1 27.8 27.5 27.2 26.9 26.6 26.3 26.0 25.7 25.4 25.1 24.8 24.5 24.2 23.9 23.6 23.3 23.0 22.7 22.4 22.1 21.8 21.5 21.2 20.9 20.6 20.3 20.0 19.7 19.4 19.1 18.8 18.5 18.2 17.9 17.6 17.3 17.0 16.7 16.4 16.1 15.8 15.5 15.2 14.9 14.6 14.3 14.0 13.7 13.4 13.1 12.8 12.5 12.2 11.9 11.6 11.3 11.0 10.7 10.4 10.1 9.8 9.5 9.2 8.9 8.6 8.3 8.0 7.7 7.4 7.1 6.8 6.5 6.2 5.9 5.6 5.3 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7 1.4 1.1 > ==== lseq-3.31 FAILED > > ==== lseq-4.14 bug lseq - inconsistent rounding FAILED > ==== Contents of test case: > > # using a non-integer increment, [lseq] rounding seems to be not consistent: > lseq 4 40 0.1 > > ---- Result was: > 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 > ---- Result should have been (exact matching): > 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40.0 > ==== lseq-4.14 FAILED > > ==== lseq-4.15 bug lseq - inconsistent rounding FAILED > ==== Contents of test case: > > # using a non-integer increment, [lseq] rounding seems to be not consistent: > lseq 6 40 0.1 > > ---- Result was: > 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 > ---- Result should have been (exact matching): > 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40.0 > ==== lseq-4.15 FAILED > > Am 19.12.2024 um 20:09 schrieb Donald G Porter via Tcl-Core: > Now available at https://sourceforge.net/projects/tcl/files/Tcl/9.0.1/ [4] is an RC0 candidate source code distribution pre-release of Tcl 9.0.1 This is the first candidate release leading to the release of Tcl 9.0.1. Testing of builds and operations on multiple platforms is invited. Any critical problem that should block the release should be reported immediately. The Tcl pre-release includes pre-releases of the package Thread 3.0.1. The same level of vetting on it is also appreciated. The released packages sqlite 3.47.2, TDBC* 1.1.10, and Itcl 4.3.2 are also included. Draft release notes are also present for review. The intent is to promote this candidate to the release tomorrow, Dec. 20. Blocking issues should be urgently reported. Other flaws will be addressed in Tcl 9.0.2. Thank you for your contributions and assistance. > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core [2] _______________________________________________ Tcl-Core mailing list Tcl...@li... https://lists.sourceforge.net/lists/listinfo/tcl-core Links: ------ [1] https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b [2] https://lists.sourceforge.net/lists/listinfo/tcl-core [3] https://core.tcl-lang.org/tcl/vdiff?from=903799065b999ea2&to=sebres-arith-series-rework [4] https://sourceforge.net/projects/tcl/files/Tcl/9.0.1/ [5] https://core.tcl-lang.org/tcl/vdiff?diff=1&from=02c874069610ad01&to=06a7dfbdcd8895b0 |
From: Pietro C. <ga...@ga...> - 2024-12-22 13:33:35
|
Congrats on the release! I haven't had the chance to test the RC and I wasn't expecting a release just two days after the first RC was announced. Was there any urgency to push this out? -- Pietro Cerutti I've pledged to give 10% of income to effective charities and invite you to join me. https://givingwhatwecan.org Sent from a small device - please excuse brevity and typos. > On 21 Dec 2024, at 16:44, Donald G Porter via Tcl-Core <tcl...@li...> wrote: > > > Tcl 9.0.1 Release Announcement > ============================== > > December 20, 2024 > > The Tcl Core Team is pleased to announce the release of Tcl 9.0.1. > This is the first patch of Tcl 9.0. > > Tcl is the Tool Command Language originated by John Ousterhout and his > team at U.C. Berkeley in the late 1980s. Its development is continued > by the efforts of a global network of volunteers guided by the Tcl Core Team. > > We would like to express our gratitude to all those who submit bug > reports and patches. This information is invaluable in enabling us > to identify and eliminate problems. Such reports can be submitted here. > > > [Tcl Ticket Tracker](https://core.tcl-lang.org/tcl/ticket) > > We ask that you log in (anonymous if you wish) to create tickets. > This deters abuse of the ticketing system: > > > [Tcl Contributor Login](https://core.tcl-lang.org/tcl/login) > > Where to get the new releases > ============================= > > Tcl 9.0.1 sources are freely available as open source from the Tcl > SourceForge project's file distribution area: > > > [Tcl Source Distribution](https://sourceforge.net/projects/tcl/files/) > > The Tcl 9.0.1 distribution is source code only. We keep links to some > third parties offering pre-built binaries for various systems here: > > > [Tcl Binary Distribution](https://www.tcl-lang.org/software/tcltk/bindist.html) > > Tcl Summary > =========== > > The Tcl distribution delivers C source code that builds into a C library > providing interpreters and related supports to execute programs written > in the Tcl programming language. Source code for the application program > `tclsh` is also included. `tclsh` provides a shell for either interactive > execution of Tcl commands, or execution of files containing Tcl programs. > > Tcl is an extensible language, and the Tcl C library provides interfaces > for the creation of extension libraries adding new commands and features > to the core Tcl command set. Tcl 9 debuts the full feature set needed to > package an application written in C and Tcl into a single file executable > exploiting virtual filesystem archives. > > Tcl Improvement Proposals (TIPs) > ================================ > > Each new user-visible feature in Tcl should find its origins in a Tcl > Improvement Proposal (TIP). TIPs are published, edited, considered and > voted in public, and should contain valuable information about how a > feature came to be the way it is. See the full collection here: > > > [TIP Index](https://tip.tcl-lang.org/) > > Tcl 9.0.1 Changes Summary > ========================= > > (from changes.md in the source code distribution) > > The source code for Tcl is managed by fossil. Tcl developers coordinate all > changes to the Tcl source code at > > > [Tcl Source Code](https://core.tcl-lang.org/tcl/timeline) > > Release Tcl 9.0.1 arises from the check-in with tag `core-9-0-1`. > > Tcl patch releases have the primary purpose of delivering bug fixes > to the userbase. As the first patch release in the Tcl 9.0.\* series, > Tcl 9.0.1 also includes a small number of interface changes that complete > some incomplete features first delivered in Tcl 9.0.0. > > # Completed 9.0 Features and Interfaces > - [TIP 701 - Tcl_FSTildeExpand C API](https://core.tcl-lang.org/tips/doc/trunk/tip/701.md) > - [TIP 707 - ptrAndSize internal rep in Tcl_Obj](https://core.tcl-lang.org/tips/doc/trunk/tip/707.md) > - [Size modifiers j, q, z, t not implemented]( https://core.tcl-lang.org/tcl/info/c4f365) > > # Bug fixes > - [regression in tzdata, %z instead of offset TZ-name](https://core.tcl-lang.org/tcl/tktview/2c237b) > - [Tcl will not start properly if there is an init.tcl file in the current dir](https://core.tcl-lang.org/tcl/tktview/43c94f) > - [clock scan "24:00", ISO-8601 compatibility](https://core.tcl-lang.org/tcl/tktview/aee9f2) > - [Temporary folder with file "tcl9registry13.dll" remains after "exit"](https://core.tcl-lang.org/tcl/tktview/6ce3c0) > - [Wrong result by "lsearch -stride -subindices -inline -all"](https://core.tcl-lang.org/tcl/info/5a1aaa) > - [TIP 609 - required Tcl_ThreadAlert() skipped with nested event loop](https://core.tcl-lang.org/tcl/info/c7e4c4) > - [buffer overwrite for non-BMP characters in utf-16](https://core.tcl-lang.org/tcl/tktview/66da4d) > - [zipfs info on mountpoint of executable returns zero offset in field 4"](https://core.tcl-lang.org/tcl/info/aaa84f) > - [zlib-8.8, zlib-8.16 fail on Fedora 40, gcc 14.1.1](https://core.tcl-lang.org/tcl/tktview/73d5cb) > - [install registry and dde in $INSTALL_DIR\lib always](https://core.tcl-lang.org/tcl/tktview/364bd9) > - [cannot build .chm help file (Windows)](https://core.tcl-lang.org/tcl/tktview/bb110c) > > # Incompatibilities > - No known incompatibilities with the Tcl 9.0.0 public interface. > > # Updated bundled packages, libraries, standards, data > - Itcl 4.3.2 > - sqlite3 3.47.2 > - Thread 3.0.1 > - TDBC\* 1.1.10 > - tcltest 2.5.9 > - tzdata 2024b, corrected > > # Known bugs > - [changed behaviour wrt command names, namespaces and resolution](https://core.tcl-lang.org/tcl/tktview/f14b33) > - [windows dos device paths inconsistencies and missing functionality](https://core.tcl-lang.org/tcl/tktview/d8f121) > - [load library (dll) from zipfs-library causes a leak in temporary folder](https://core.tcl-lang.org/tcl/tktview/a8e4f7) > - [lsearch -sorted -inline -subindices incorrect result](https://core.tcl-lang.org/tcl/tktview/bc4ac0) > - ["No error" when load fails due to a missing secondary DLL](https://core.tcl-lang.org/tcl/tktview/bc4ac0) > > For additional information: > =========================== > > Please visit the Tcl Developer Xchange web site: > > > [Tcl Developer Xchange](https://www.tcl-lang.org/) > > This site contains a variety of information about Tcl/Tk in general, the > core Tcl and Tk distributions, Tcl development tools, and much more. > > -- > Tcl Core Team and Maintainers > Don Porter, Tcl Core Release Manager > > -- > | Don Porter Applied and Computational Mathematics Division | > | don...@ni... Information Technology Laboratory | > | http://math.nist.gov/~DPorter/ NIST | > |______________________________________________________________________| > > > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Brian G. <bri...@ea...> - 2024-12-22 04:11:54
|
Hi Sergey, Thanks for all your efforts on this! Tried it on Apple Mac M3 Pro, Sonoma 14.6.1, using compilter: % gcc --version Apple clang version 16.0.0 (clang-1600.0.26.4) Target: arm64-apple-darwin23.6.0 Thread model: posix Built w/o any special CFLAGS Tests pass except for: ---- lseq-4.21.1 start ---- lseq-4.21.2 start ==== lseq-4.21.2 Corner cases: expected Inf FAILED ---- Result was: {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf NaN NaN NaN NaN} {0.0 Inf Inf Inf Inf} {0.0 Inf Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} ---- Result should have been (exact matching): {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf Inf Inf Inf Inf} {Inf -NaN -NaN -NaN -NaN} {0.0 Inf Inf Inf Inf} {0.0 Inf Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 1e+307 Inf Inf Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} {0.0 5e+306 1e+307 1.5e+307 Inf} ==== lseq-4.21.2 FAILED ---- lseq-4.21.3 start ==== lseq-4.21.3 Corner cases: expected -Inf FAILED ---- Result was: {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf NaN NaN NaN NaN} {0.0 -Inf -Inf -Inf -Inf} {0.0 -Inf -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} ---- Result should have been (exact matching): {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -Inf -Inf -Inf -Inf} {-Inf -NaN -NaN -NaN -NaN} {0.0 -Inf -Inf -Inf -Inf} {0.0 -Inf -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -1e+307 -Inf -Inf -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} {0.0 -5e+306 -1e+307 -1.5e+307 -Inf} ==== lseq-4.21.3 FAILED ---- lseq-4.21.4 start ---- lseq-4.21.5 start ---- lseq-4.21.6 start ---- lseq-4.21.7 start On Dec 21, 2024, at 14:36, Dipl. Ing. Sergey G. Brester via Tcl-Core <tcl...@li...> wrote: Hi, there is a new branch sebres-arith-series-rework<https://core.tcl-lang.org/tcl/vdiff?from=903799065b999ea2&to=sebres-arith-series-rework> with a large rework. Could you please test this, whether the numerical stability gets fixed with this improved revision? I tested it for x86, but my smallest gcc-version in toolchain is 8.1 (although it was also reproducible previously, exactly like in your excerpts). Now the behavior is the same for any gcc I have, from 8.1 to 14.2 and both platforms x86/x64. BTW, I hope the branch would solve [d2a3c5f80b]<https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b> too, but have no such arm64 to hand for the test, and no time for cross compile and roll out process on some phone. And for some reason I was not able to reproduce it on my old raspberry pi. Regards, Sergey. 20.12.2024 11:03, Paul Obermeier wrote: Test suite runs fine on the following systems: MacBook Air M2 Sonoma Debian Jessie and 12.6 Windows 11 (using VS2022, gcc 12.2.0, gcc 13.2.0) Using gcc 7.2.0 in 32-bit mode on Windows gives 3 errors regarding lseq. In conjunction with ticket https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b (lseq hangs on Debian ARM) I assume, that the lseq algorithms are numerically instable and the results depend on the optimization strategy of the used compiler. ==== lseq-3.31 lreverse inplace with doubles FAILED ==== Contents of test case: lreverse [lseq 1.1 29.9 0.3] ---- Result was: 29.6 29.3 29.0 28.7 28.4 28.1 27.8 27.5 27.2 26.9 26.6 26.3 26.0 25.7 25.4 25.1 24.8 24.5 24.2 23.9 23.6 23.3 23.0 22.7 22.4 22.1 21.8 21.5 21.2 20.9 20.6 20.3 20.0 19.7 19.4 19.1 18.8 18.5 18.2 17.9 17.6 17.3 17.0 16.7 16.4 16.1 15.8 15.5 15.2 14.9 14.6 14.3 14.0 13.7 13.4 13.1 12.8 12.5 12.2 11.9 11.6 11.3 11.0 10.7 10.4 10.1 9.8 9.5 9.2 8.9 8.6 8.3 8.0 7.7 7.4 7.1 6.8 6.5 6.2 5.9 5.6 5.3 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7 1.4 1.1 ---- Result should have been (exact matching): 29.9 29.6 29.3 29.0 28.7 28.4 28.1 27.8 27.5 27.2 26.9 26.6 26.3 26.0 25.7 25.4 25.1 24.8 24.5 24.2 23.9 23.6 23.3 23.0 22.7 22.4 22.1 21.8 21.5 21.2 20.9 20.6 20.3 20.0 19.7 19.4 19.1 18.8 18.5 18.2 17.9 17.6 17.3 17.0 16.7 16.4 16.1 15.8 15.5 15.2 14.9 14.6 14.3 14.0 13.7 13.4 13.1 12.8 12.5 12.2 11.9 11.6 11.3 11.0 10.7 10.4 10.1 9.8 9.5 9.2 8.9 8.6 8.3 8.0 7.7 7.4 7.1 6.8 6.5 6.2 5.9 5.6 5.3 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7 1.4 1.1 ==== lseq-3.31 FAILED ==== lseq-4.14 bug lseq - inconsistent rounding FAILED ==== Contents of test case: # using a non-integer increment, [lseq] rounding seems to be not consistent: lseq 4 40 0.1 ---- Result was: 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 ---- Result should have been (exact matching): 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40.0 ==== lseq-4.14 FAILED ==== lseq-4.15 bug lseq - inconsistent rounding FAILED ==== Contents of test case: # using a non-integer increment, [lseq] rounding seems to be not consistent: lseq 6 40 0.1 ---- Result was: 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 ---- Result should have been (exact matching): 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40.0 ==== lseq-4.15 FAILED Am 19.12.2024 um 20:09 schrieb Donald G Porter via Tcl-Core: Now available at https://sourceforge.net/projects/tcl/files/Tcl/9.0.1/ is an RC0 candidate source code distribution pre-release of Tcl 9.0.1 This is the first candidate release leading to the release of Tcl 9.0.1. Testing of builds and operations on multiple platforms is invited. Any critical problem that should block the release should be reported immediately. The Tcl pre-release includes pre-releases of the package Thread 3.0.1. The same level of vetting on it is also appreciated. The released packages sqlite 3.47.2, TDBC* 1.1.10, and Itcl 4.3.2 are also included. Draft release notes are also present for review. The intent is to promote this candidate to the release tomorrow, Dec. 20. Blocking issues should be urgently reported. Other flaws will be addressed in Tcl 9.0.2. Thank you for your contributions and assistance. _______________________________________________ Tcl-Core mailing list Tcl...@li...<mailto:Tcl...@li...> https://lists.sourceforge.net/lists/listinfo/tcl-core _______________________________________________ Tcl-Core mailing list Tcl...@li... https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Dipl. I. S. G. B. <se...@us...> - 2024-12-21 22:37:06
|
Hi, there is a new branch sebres-arith-series-rework [4] with a large rework. Could you please test this, whether the numerical stability gets fixed with this improved revision? I tested it for x86, but my smallest gcc-version in toolchain is 8.1 (although it was also reproducible previously, exactly like in your excerpts). Now the behavior is the same for any gcc I have, from 8.1 to 14.2 and both platforms x86/x64. BTW, I hope the branch would solve [d2a3c5f80b] [2] too, but have no such arm64 to hand for the test, and no time for cross compile and roll out process on some phone. And for some reason I was not able to reproduce it on my old raspberry pi. Regards, Sergey. 20.12.2024 11:03, Paul Obermeier wrote: > Test suite runs fine on the following systems: > MacBook Air M2 Sonoma > Debian Jessie and 12.6 > Windows 11 (using VS2022, gcc 12.2.0, gcc 13.2.0) > > Using gcc 7.2.0 in 32-bit mode on Windows gives 3 errors regarding lseq. > > In conjunction with ticket https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b [2] > (lseq hangs on Debian ARM) I assume, that the lseq algorithms are numerically > instable and the results depend on the optimization strategy of the used compiler. > > ==== lseq-3.31 lreverse inplace with doubles FAILED > ==== Contents of test case: > > lreverse [lseq 1.1 29.9 0.3] > > ---- Result was: > 29.6 29.3 29.0 28.7 28.4 28.1 27.8 27.5 27.2 26.9 26.6 26.3 26.0 25.7 25.4 25.1 24.8 24.5 24.2 23.9 23.6 23.3 23.0 22.7 22.4 22.1 21.8 21.5 21.2 20.9 20.6 20.3 20.0 19.7 19.4 19.1 18.8 18.5 18.2 17.9 17.6 17.3 17.0 16.7 16.4 16.1 15.8 15.5 15.2 14.9 14.6 14.3 14.0 13.7 13.4 13.1 12.8 12.5 12.2 11.9 11.6 11.3 11.0 10.7 10.4 10.1 9.8 9.5 9.2 8.9 8.6 8.3 8.0 7.7 7.4 7.1 6.8 6.5 6.2 5.9 5.6 5.3 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7 1.4 1.1 > ---- Result should have been (exact matching): > 29.9 29.6 29.3 29.0 28.7 28.4 28.1 27.8 27.5 27.2 26.9 26.6 26.3 26.0 25.7 25.4 25.1 24.8 24.5 24.2 23.9 23.6 23.3 23.0 22.7 22.4 22.1 21.8 21.5 21.2 20.9 20.6 20.3 20.0 19.7 19.4 19.1 18.8 18.5 18.2 17.9 17.6 17.3 17.0 16.7 16.4 16.1 15.8 15.5 15.2 14.9 14.6 14.3 14.0 13.7 13.4 13.1 12.8 12.5 12.2 11.9 11.6 11.3 11.0 10.7 10.4 10.1 9.8 9.5 9.2 8.9 8.6 8.3 8.0 7.7 7.4 7.1 6.8 6.5 6.2 5.9 5.6 5.3 5.0 4.7 4.4 4.1 3.8 3.5 3.2 2.9 2.6 2.3 2.0 1.7 1.4 1.1 > ==== lseq-3.31 FAILED > > ==== lseq-4.14 bug lseq - inconsistent rounding FAILED > ==== Contents of test case: > > # using a non-integer increment, [lseq] rounding seems to be not consistent: > lseq 4 40 0.1 > > ---- Result was: > 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 > ---- Result should have been (exact matching): > 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40.0 > ==== lseq-4.14 FAILED > > ==== lseq-4.15 bug lseq - inconsistent rounding FAILED > ==== Contents of test case: > > # using a non-integer increment, [lseq] rounding seems to be not consistent: > lseq 6 40 0.1 > > ---- Result was: > 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 > ---- Result should have been (exact matching): > 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11.0 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14.0 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15.0 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18.0 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 21.0 21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 22.0 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.0 23.1 23.2 23.3 23.4 23.5 23.6 23.7 23.8 23.9 24.0 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 25.8 25.9 26.0 26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 27.0 27.1 27.2 27.3 27.4 27.5 27.6 27.7 27.8 27.9 28.0 28.1 28.2 28.3 28.4 28.5 28.6 28.7 28.8 28.9 29.0 29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 30.0 30.1 30.2 30.3 30.4 30.5 30.6 30.7 30.8 30.9 31.0 31.1 31.2 31.3 31.4 31.5 31.6 31.7 31.8 31.9 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 32.9 33.0 33.1 33.2 33.3 33.4 33.5 33.6 33.7 33.8 33.9 34.0 34.1 34.2 34.3 34.4 34.5 34.6 34.7 34.8 34.9 35.0 35.1 35.2 35.3 35.4 35.5 35.6 35.7 35.8 35.9 36.0 36.1 36.2 36.3 36.4 36.5 36.6 36.7 36.8 36.9 37.0 37.1 37.2 37.3 37.4 37.5 37.6 37.7 37.8 37.9 38.0 38.1 38.2 38.3 38.4 38.5 38.6 38.7 38.8 38.9 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 40.0 > ==== lseq-4.15 FAILED > > Am 19.12.2024 um 20:09 schrieb Donald G Porter via Tcl-Core: > >> Now available at https://sourceforge.net/projects/tcl/files/Tcl/9.0.1/ [1] is an RC0 candidate source code distribution pre-release of Tcl 9.0.1 This is the first candidate release leading to the release of Tcl 9.0.1. Testing of builds and operations on multiple platforms is invited. Any critical problem that should block the release should be reported immediately. The Tcl pre-release includes pre-releases of the package Thread 3.0.1. The same level of vetting on it is also appreciated. The released packages sqlite 3.47.2, TDBC* 1.1.10, and Itcl 4.3.2 are also included. Draft release notes are also present for review. The intent is to promote this candidate to the release tomorrow, Dec. 20. Blocking issues should be urgently reported. Other flaws will be addressed in Tcl 9.0.2. Thank you for your contributions and assistance. > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core [3] Links: ------ [1] https://sourceforge.net/projects/tcl/files/Tcl/9.0.1/ [2] https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b [3] https://lists.sourceforge.net/lists/listinfo/tcl-core [4] https://core.tcl-lang.org/tcl/vdiff?from=903799065b999ea2&to=sebres-arith-series-rework |
From: Donald G P. <don...@ni...> - 2024-12-21 15:47:37
|
Tk 9.0.1 Release Announcement ============================== December 20, 2024 The Tcl Core Team is pleased to announce the release of Tk 9.0.1. This is the first patch release of Tk 9.0. The Tk Toolkit is an extension to Tcl, providing commands and supports for the creation of graphical user interfaces. Tk originates with John Ousterhout and his team at U.C. Berkeley in the late 1980s. Its development is continued by the efforts of a global network of volunteers guided by the Tcl Core Team. We would like to express our gratitude to all those who submit bug reports and patches. This information is invaluable in enabling us to identify and eliminate problems. Such reports can be submitted here. > [Tk Ticket Tracker](https://core.tcl-lang.org/tk/ticket) We ask that you log in (anonymous if you wish) to create tickets. This deters abuse of the ticketing system: > [Tk Contributor Login](https://core.tcl-lang.org/tk/login) Where to get the new releases ============================= Tk 9.0.1 sources are freely available as open source from the Tcl SourceForge project's file distribution area: > [Tcl Source Distribution](https://sourceforge.net/projects/tcl/files/) The Tk 9.0.1 distribution is source code only. We keep links to some third parties offering pre-built binaries for various systems here: > [Tcl Binary Distribution](https://www.tcl-lang.org/software/tcltk/bindist.html) Tcl Improvement Proposals (TIPs) ================================ Each new user-visible feature in Tk should find its origins in a Tcl Improvement Proposal (TIP). TIPs are published, edited, considered and voted in public, and should contain valuable information about how a feature came to be the way it is. See the full collection here: > [TIP Index](https://tip.tcl-lang.org/) Tk 9.0.1 Changes Summary ======================== (from changes.md in the source code distribution) The source code for Tk is managed by fossil. Tk developers coordinate all changes to the Tk source code at > [Tk Source Code](https://core.tcl-lang.org/tk/) Release Tk 9.0.1 arises from the check-in with tag core-9-0-1. Tk 9.0.1 continues the Tk 9.0 series of releases. The Tk 9.0 series does not support Tcl 8.6. The Tk 9.0 series extends the Tcl 9.0 series. To make use of Tk 9.0.1, first a Tcl 9.0 release must be present. As new Tk features are developed, expect them to appear in Tk 9, but not necessarily in Tk 8. Tk patch releases have the primary purpose of delivering bug fixes to the userbase. As the first patch release in the Tk 9.0 series, Tk 9.0.1 also includes a small number of interface changes that complete some incomplete features first delivered in Tk 9.0.0. # Completed 9.0 Features and Interfaces - [TIP #706: Expose three Tk "In Context" functions via stubs table](https://core.tcl-lang.org/tips/doc/trunk/tip/706.md) - [Tilde file syntax not available on 9.0 but used by "~/.Xdefaults"](https://core.tcl-lang.org/tk/tktview/fcfddc) - [leftover use of tilde in filename string](https://core.tcl-lang.org/tk/tktview/767702) # Bug fixes - [Canvas widget handles pixel objects incorrectly in Tk 9.0](https://core.tcl-lang.org/tk/tktview/610a73) - [SIGABRT from Tk_DeleteErrorHandler()](https://core.tcl-lang.org/tk/tktview/f52986) - [build failure on macOS < 10.13](https://core.tcl-lang.org/tk/tktview/d48cbf) - [Two potentially bogus binding scripts for <TouchpadScroll>](https://core.tcl-lang.org/tk/tktview/73c5e3) - [Aqua: canvas items are not always redrawn](https://core.tcl-lang.org/tk/tktview/5869c2) - [Aqua: color rgb values do not behave as expected when appearance is changed](https://core.tcl-lang.org/tk/tktview/01f58b) - [Aqua: winfo rgb . systemLabelColor returns a weird result on aqua](https://core.tcl-lang.org/tk/tktview/23b57a) - [Aqua: background thread became slower](https://core.tcl-lang.org/tk/tktview/547cc6) - [Use of Tcl_Obj vs char * in Widget storage](https://core.tcl-lang.org/tk/tktview/f91aa2) - [cannot build .chm help file (Windows)](https://core.tcl-lang.org/tk/tktview/bb110c) - [Tk initialization overwrites thread specific data](https://core.tcl-lang.org/tk/tktview/bcbf4c) - [File clamTheme.tcl misses code related to the -indicatorforeground option](https://core.tcl-lang.org/tk/tktview/a69fd7) - [Segfault when using menu(button) with the -font option](https://core.tcl-lang.org/tk/tktview/8ce672) - [Bind mechanism vs. GNOME](https://core.tcl-lang.org/tk/tktview/6bdf1a) - [many PIXEL options don't keep their configured value](https://core.tcl-lang.org/tk/tktview/29ba53) - [Menu entry underline does not consider activeborderwidth](https://core.tcl-lang.org/tk/tktview/844c0b) ## Known bugs - [Inconsistent reporting of child geometry changes to grid container](https://core.tcl-lang.org/tk/tktview/beaa8e) - [Inconsistency in whether widgets allow negative borderwidths](https://core.tcl-lang.org/tk/tktview/5f739d) - [slow widget creation if default font is not used](https://core.tcl-lang.org/tk/tktview/8da7af) - [The wm manage command does not work on current macOS versions](https://core.tcl-lang.org/tk/tktview/8a6012) - [Slow processing irregular transparencies](https://core.tcl-lang.org/tk/tktview/919066) - [text's cursor width on 0th column](https://core.tcl-lang.org/tk/tktview/47fbfc) - [text widget breaks graphemes with combining diacritical marks](https://core.tcl-lang.org/tk/tktview/442208) For additional information: =========================== Please visit the Tcl Developer Xchange web site: > [Tcl Developer Xchange](https://www.tcl-lang.org/) This site contains a variety of information about Tcl/Tk in general, the core Tcl and Tk distributions, Tcl development tools, and much more. -- Tcl Core Team and Maintainers Don Porter, Tcl Core Release Manager -- | Don Porter Applied and Computational Mathematics Division | | don...@ni... Information Technology Laboratory | | http://math.nist.gov/~DPorter/ NIST | |______________________________________________________________________| |
From: Donald G P. <don...@ni...> - 2024-12-21 15:44:12
|
Tcl 9.0.1 Release Announcement ============================== December 20, 2024 The Tcl Core Team is pleased to announce the release of Tcl 9.0.1. This is the first patch of Tcl 9.0. Tcl is the Tool Command Language originated by John Ousterhout and his team at U.C. Berkeley in the late 1980s. Its development is continued by the efforts of a global network of volunteers guided by the Tcl Core Team. We would like to express our gratitude to all those who submit bug reports and patches. This information is invaluable in enabling us to identify and eliminate problems. Such reports can be submitted here. > [Tcl Ticket Tracker](https://core.tcl-lang.org/tcl/ticket) We ask that you log in (anonymous if you wish) to create tickets. This deters abuse of the ticketing system: > [Tcl Contributor Login](https://core.tcl-lang.org/tcl/login) Where to get the new releases ============================= Tcl 9.0.1 sources are freely available as open source from the Tcl SourceForge project's file distribution area: > [Tcl Source Distribution](https://sourceforge.net/projects/tcl/files/) The Tcl 9.0.1 distribution is source code only. We keep links to some third parties offering pre-built binaries for various systems here: > [Tcl Binary Distribution](https://www.tcl-lang.org/software/tcltk/bindist.html) Tcl Summary =========== The Tcl distribution delivers C source code that builds into a C library providing interpreters and related supports to execute programs written in the Tcl programming language. Source code for the application program `tclsh` is also included. `tclsh` provides a shell for either interactive execution of Tcl commands, or execution of files containing Tcl programs. Tcl is an extensible language, and the Tcl C library provides interfaces for the creation of extension libraries adding new commands and features to the core Tcl command set. Tcl 9 debuts the full feature set needed to package an application written in C and Tcl into a single file executable exploiting virtual filesystem archives. Tcl Improvement Proposals (TIPs) ================================ Each new user-visible feature in Tcl should find its origins in a Tcl Improvement Proposal (TIP). TIPs are published, edited, considered and voted in public, and should contain valuable information about how a feature came to be the way it is. See the full collection here: > [TIP Index](https://tip.tcl-lang.org/) Tcl 9.0.1 Changes Summary ========================= (from changes.md in the source code distribution) The source code for Tcl is managed by fossil. Tcl developers coordinate all changes to the Tcl source code at > [Tcl Source Code](https://core.tcl-lang.org/tcl/timeline) Release Tcl 9.0.1 arises from the check-in with tag `core-9-0-1`. Tcl patch releases have the primary purpose of delivering bug fixes to the userbase. As the first patch release in the Tcl 9.0.\* series, Tcl 9.0.1 also includes a small number of interface changes that complete some incomplete features first delivered in Tcl 9.0.0. # Completed 9.0 Features and Interfaces - [TIP 701 - Tcl_FSTildeExpand C API](https://core.tcl-lang.org/tips/doc/trunk/tip/701.md) - [TIP 707 - ptrAndSize internal rep in Tcl_Obj](https://core.tcl-lang.org/tips/doc/trunk/tip/707.md) - [Size modifiers j, q, z, t not implemented]( https://core.tcl-lang.org/tcl/info/c4f365) # Bug fixes - [regression in tzdata, %z instead of offset TZ-name](https://core.tcl-lang.org/tcl/tktview/2c237b) - [Tcl will not start properly if there is an init.tcl file in the current dir](https://core.tcl-lang.org/tcl/tktview/43c94f) - [clock scan "24:00", ISO-8601 compatibility](https://core.tcl-lang.org/tcl/tktview/aee9f2) - [Temporary folder with file "tcl9registry13.dll" remains after "exit"](https://core.tcl-lang.org/tcl/tktview/6ce3c0) - [Wrong result by "lsearch -stride -subindices -inline -all"](https://core.tcl-lang.org/tcl/info/5a1aaa) - [TIP 609 - required Tcl_ThreadAlert() skipped with nested event loop](https://core.tcl-lang.org/tcl/info/c7e4c4) - [buffer overwrite for non-BMP characters in utf-16](https://core.tcl-lang.org/tcl/tktview/66da4d) - [zipfs info on mountpoint of executable returns zero offset in field 4"](https://core.tcl-lang.org/tcl/info/aaa84f) - [zlib-8.8, zlib-8.16 fail on Fedora 40, gcc 14.1.1](https://core.tcl-lang.org/tcl/tktview/73d5cb) - [install registry and dde in $INSTALL_DIR\lib always](https://core.tcl-lang.org/tcl/tktview/364bd9) - [cannot build .chm help file (Windows)](https://core.tcl-lang.org/tcl/tktview/bb110c) # Incompatibilities - No known incompatibilities with the Tcl 9.0.0 public interface. # Updated bundled packages, libraries, standards, data - Itcl 4.3.2 - sqlite3 3.47.2 - Thread 3.0.1 - TDBC\* 1.1.10 - tcltest 2.5.9 - tzdata 2024b, corrected # Known bugs - [changed behaviour wrt command names, namespaces and resolution](https://core.tcl-lang.org/tcl/tktview/f14b33) - [windows dos device paths inconsistencies and missing functionality](https://core.tcl-lang.org/tcl/tktview/d8f121) - [load library (dll) from zipfs-library causes a leak in temporary folder](https://core.tcl-lang.org/tcl/tktview/a8e4f7) - [lsearch -sorted -inline -subindices incorrect result](https://core.tcl-lang.org/tcl/tktview/bc4ac0) - ["No error" when load fails due to a missing secondary DLL](https://core.tcl-lang.org/tcl/tktview/bc4ac0) For additional information: =========================== Please visit the Tcl Developer Xchange web site: > [Tcl Developer Xchange](https://www.tcl-lang.org/) This site contains a variety of information about Tcl/Tk in general, the core Tcl and Tk distributions, Tcl development tools, and much more. -- Tcl Core Team and Maintainers Don Porter, Tcl Core Release Manager -- | Don Porter Applied and Computational Mathematics Division | | don...@ni... Information Technology Laboratory | | http://math.nist.gov/~DPorter/ NIST | |______________________________________________________________________| |
From: Harald O. <har...@el...> - 2024-12-20 13:56:37
|
Am 20.12.2024 um 13:23 schrieb Donald Porter: > > >> On Dec 19, 2024, at 3:43 PM, Harald Oehlmann <har...@el...> wrote: >> >> Am 19.12.2024 um 20:10 schrieb Donald G Porter via Tcl-Core: >>> Now available at >>> https://sourceforge.net/projects/tcl/files/Tcl/9.0.1/ >>> is an RC0 candidate source code distribution pre-release of Tk 9.0.1 >> Great ! >> >> I am sorry. I throw out an early error before going to bed… >> ... >> NMAKE : fatal error U1077: "if": Rückgabe-Code “0x1" > > Do you experience the same problem with the Tcl/Tk 9.0.0 releases from September? > > DGP Yes, same issue. Build environment is messed-up. Sorry, Harald |
From: Donald P. <d.g...@co...> - 2024-12-20 13:08:08
|
No need to rush. It can be fixed in the next release. > On Dec 20, 2024, at 8:00 AM, Dipl. Ing. Sergey G. Brester <se...@us...> wrote: > > I'm in... > Just I cannot reproduce all the issues (e. g. no arm64 to hand for the development), > so if I'll provide the fix soon, it may need extensive testing, especially because it is heavy reworked (). > > Regards, > Serg. > > Am 20.12.2024 13:45, schrieb Donald Porter via Tcl-Core: > >>> On Dec 20, 2024, at 5:03 AM, Paul Obermeier <pa...@po... <mailto:pa...@po...>> wrote: Using gcc 7.2.0 in 32-bit mode on Windows gives 3 errors regarding lseq. In conjunction with ticket https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b (lseq hangs on Debian ARM) I assume, that the lseq algorithms are numerically instable and the results depend on the optimization strategy of the used compiler. >> Thank you for the testing and the report. >> >> It appears this is a recently reported bug, and people are working on it, but the fix just didn't get completed in time for this release. >> >> DGP >> >> >> >> _______________________________________________ >> Tcl-Core mailing list >> Tcl...@li... <mailto:Tcl...@li...> >> https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Dipl. I. S. G. B. <se...@us...> - 2024-12-20 13:00:58
|
I'm in... Just I cannot reproduce all the issues (e. g. no arm64 to hand for the development), so if I'll provide the fix soon, it may need extensive testing, especially because it is heavy reworked (). Regards, Serg. Am 20.12.2024 13:45, schrieb Donald Porter via Tcl-Core: >> On Dec 20, 2024, at 5:03 AM, Paul Obermeier <pa...@po...> wrote: Using gcc 7.2.0 in 32-bit mode on Windows gives 3 errors regarding lseq. In conjunction with ticket https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b [1] (lseq hangs on Debian ARM) I assume, that the lseq algorithms are numerically instable and the results depend on the optimization strategy of the used compiler. > > Thank you for the testing and the report. > > It appears this is a recently reported bug, and people are working on it, but the fix just didn't get completed in time for this release. > > DGP > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core [2] Links: ------ [1] https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b [2] https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Donald P. <d.g...@co...> - 2024-12-20 12:45:51
|
> On Dec 20, 2024, at 5:03 AM, Paul Obermeier <pa...@po...> wrote: > > Using gcc 7.2.0 in 32-bit mode on Windows gives 3 errors regarding lseq. > > In conjunction with ticket https://core.tcl-lang.org/tcl/tktview/d2a3c5f80b > (lseq hangs on Debian ARM) I assume, that the lseq algorithms are numerically > instable and the results depend on the optimization strategy of the used compiler. Thank you for the testing and the report. It appears this is a recently reported bug, and people are working on it, but the fix just didn’t get completed in time for this release. DGP |
From: Donald P. <d.g...@co...> - 2024-12-20 12:24:51
|
> On Dec 19, 2024, at 3:43 PM, Harald Oehlmann <har...@el...> wrote: > > Am 19.12.2024 um 20:10 schrieb Donald G Porter via Tcl-Core: >> Now available at >> https://sourceforge.net/projects/tcl/files/Tcl/9.0.1/ >> is an RC0 candidate source code distribution pre-release of Tk 9.0.1 > Great ! > > I am sorry. I throw out an early error before going to bed… > ... > NMAKE : fatal error U1077: "if": Rückgabe-Code “0x1" Do you experience the same problem with the Tcl/Tk 9.0.0 releases from September? DGP |