Am 02.09.2020 um 02:26 schrieb Kurt-Karen Carlson-Lougheed:
Thomas:
As stated, twice, the full code is on SourceForge as uac19 v3.3. If
you need me to send you a tgz with sample data please let me know, but
note the comments and patch below. I can certainly walk you through
reproducing the problem if you believe that is worthwhile.
Kurt-Karen:
I am not uac savvy. The proposal to dig out some software package, build
it (which may create hours-long trouble in some cases), collect data
from somewhere else etc, to reproduce an assumed bug, is not
appropriate. It's your term to provide a single, reproducible
demonstration of a bug. If this were an issue in my project, I would
close it now for refusal of cooperation.
Stephen:
Thank you. I couldn't get the 'blame' to work (I am not git savvy),
but I got the cygwin qsort.c. The problem is *EXACTLY* as described by
Dennis de Champeaux in the 2015-01-11 cygwin list posting. The
secondary insertion sort attempt is not safe. I patched as follows,
the de Champeaux is code is more correct in removing swap_cnt as it is
no longer used:
kc: diff -u qsort.c cygsort.c
--- qsort.c 2020-09-01 15:36:39.716029300 -0700
+++ cygsort.c 2020-09-01 16:47:30.152545600 -0700
@@ -252,14 +252,15 @@
pb += es;
pc -= es;
}
- if (swap_cnt == 0) { /* Switch to insertion sort */
+/* kc
+ if (swap_cnt == 0) { // Switch to insertion sort
for (pm = (char *) a + es; pm < (char *) a + n * es;
pm += es)
for (pl = pm; pl > (char *) a && CMP(thunk, pl
- es, pl) > 0;
pl -= es)
swap(pl, pl - es);
goto pop;
}
-
+kc */
/*
* Rearrange the array in three parts sorted like this:
* { elements < pivot, elements == pivot, elements > pivot }
If you need me to provide further information, please advise.
Regards, kurt
On Tue, Sep 1, 2020 at 3:02 PM Thomas Wolff <t...@towo.net
<mailto:t...@towo.net>> wrote:
Am 01.09.2020 um 22:29 schrieb Kurt-Karen Carlson-Lougheed via Cygwin:
> Brian:
> 1. The Qsort() source I sent was from netbsd.org
<http://netbsd.org>, NOT cygwin. netbsd works.
> 2. Complete package is on SourceForge as uac19 v3.3. I'm happy
to send a
> tgz if you prefer that. Read 3 choices at end before considering
this.
> 3. Data is curl'd from owid as shown in the script example.
Likewise I can
> send a sample data set. The program analyzes COVID-19 csv files
from either
> owid or github/nytimes
> 4. I've used qsort() for years. I agree, keeping the sort
routines simple
> is always appropriate. I confirmed today the only ones that fail
include
> float divides, lDsort() and lXsort() in attached c19sort.c. When
it's
> pre-calculated and added to the struct it works, the code has a
toggle now
> for testing that.
>
> Thomas:
> I tried (again) today to build a simple test case. The data
structures in
> use are complex, probably the only thing I can attempt is
stripping down
> the code which will be very time consuming. I know you don't
know me at
> all, but I've written code, debugged proprietary operating systems
> (assembler), performed OS dump analysis, troubleshot
intermittent hardware
> issues, identified disk firmware issues causing intermittent data
> corruption, identified nfs performance issues, managed large hpc
clusters,
> etc. etc. etc. over 40+ years.
Your code does not even compile. I did not ask for a minimal test
case
although that is generally appreciated. But a working test case at
least
is required to establlish your claim of a bug.
>
> I see three choices:
> A. One of you look at simple the qqsort wrapper. I modified my
code to
> toggle between the functional netbsd Qsort() and cygwin qsort().
I have
> demonstrated erroneous results coming from the cygwin version in
a small
> percentage of requests. If you can acknowledge that, perhaps you
can check
> the cygwin version of qsort() vs. the current netbsd.org
<http://netbsd.org>?
> B. If you could kindly provide me or point me to the cygwin
qsort() source
> I'll check it out myself.
> C. We can thank each other and leave cygwin's qsort() as is
broken in some
> small number of circumstances since I've compiled netbsd's into
my code and
> that always works.
>
> Regards, kurt
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple