Current master non-deterministic

2012-09-15 Thread mike
Hey all, In my quest to debug issue 2801, I stumbled upon behavior in LilyPond that is non-deterministic. You'll see four attached files: a simple diff to apply to current master, two .ly files, and a python script to run in the same directory as the LilyPond files. 1) Apply the diff and comp

Current master non-deterministic

2012-09-15 Thread mike
Hey all, In my quest to debug issue 2801, I stumbled upon behavior in LilyPond that is non-deterministic. You'll see four attached files: a simple diff to apply to current master, two .ly files, and a python script to run in the same directory as the LilyPond files. 1) Apply the diff and comp

Current master non-deterministic

2012-09-15 Thread mike
Hey all, In my quest to debug issue 2801, I stumbled upon behavior in LilyPond that is non-deterministic. You'll see four attached files: a simple diff to apply to current master, two .ly files, and a python script to run in the same directory as the LilyPond files. 1) Apply the diff and comp

Re: Current master non-deterministic

2012-09-15 Thread Keith OHara
mikesolomon.org> writes: > I stumbled upon behavior in LilyPond that is non-deterministic. If you mean that the order (in which LilyPond determines the sizes and locations of things) changes from run-to-run, I do not think that is a problem. For purposes of regression testing, `make check`

Re: Current master non-deterministic

2012-09-15 Thread Joe Neeman
On Sat, Sep 15, 2012 at 2:25 AM, wrote: > Hey all, > > In my quest to debug issue 2801, I stumbled upon behavior in LilyPond that > is non-deterministic. You'll see four attached files: a simple diff to > apply to current master, two .ly files, and a python script to run in the > same directory

Re: Current master non-deterministic

2012-09-15 Thread David Kastrup
Joe Neeman writes: > On Sat, Sep 15, 2012 at 2:25 AM, wrote: > >> I realize that LilyPond may be using containers that do not guarantee >> the order of things (i.e. sets) and that the test I've written may >> not be a good reflection of what "deterministic" should mean. >> However, for debugging

Re: Current master non-deterministic

2012-09-15 Thread Werner LEMBERG
> It would appear that the main application is the removal of > duplicates, with the idiom > > sort > uniq > > in some form or other. This can be replaced by > > make map/hash of pointers > iterate through list > if pointer in hash, delete list element, else put pointer in hash > > in order

Re: Current master non-deterministic

2012-09-16 Thread David Kastrup
Werner LEMBERG writes: >> It would appear that the main application is the removal of >> duplicates, with the idiom >> >> sort >> uniq >> >> in some form or other. This can be replaced by >> >> make map/hash of pointers >> iterate through list >> if pointer in hash, delete list element, els

Re: Current master non-deterministic

2012-09-16 Thread Colin Hall
On Sat, Sep 15, 2012 at 12:28:21PM +0300, Mike Solomon wrote: > Hey all, > > In my quest to debug issue 2801, I stumbled upon behavior in LilyPond that is > non-deterministic. Thanks for the report, Mike. We don't usually accept bug reports against unreleased code but I can see from other dev re

Re: Current master non-deterministic

2012-09-16 Thread Han-Wen Nienhuys
On Sun, Sep 16, 2012 at 5:06 AM, David Kastrup wrote: >>> in order to a "stable" O(n lg n) uniq for which the structure of the >>> final list does not depend on the memory order of the original >>> elements. >> >> This certainly sounds like a better solution. > > However, rethinking this, it seem