Age | Commit message (Collapse) | Author |
|
Another Murphy's law: complicated code always works right the first
time. Stupid dumb details, on the other hand.
Of course we can't share both arrays, as we don't know how they will
grow, duh !
|
|
- nodes without a hint should be fully transparent. The make_transparent
procedure is potentially slow, but in reality, it's very fast.
- don't automatically add an order to un-hinted nodes, so that they are
truely transparent.
Better memory allocation: split the hash of nodes into a single array
instead of duplicating the memory requirements.
Okay Todd.
|
|
will be first. Also, keep order around between hints file and reading
normal pairt, so that this option actually is useful.
|
|
- just warn if hints file holds duplicates. So what ? We sure can't use
uniq to remove those.
- on the other hand, warn in verbose mode if main file holds nodes that
are not in hints file.
Ok millert@
|
|
The old code suffers from a few defects:
- it does not even implement the standard optimal topological sort
algorithm. It's much slower.
- its longest cycle computation is completely bogus.
This is clean-slate code, that does implement the actual standard optimal
topological sort, together with a correct graph traversal to find longest
cycles.
It does also feature a `stable tsort' mode, where it uses a heap to yield
the least disturbed permutation of input nodes that satisfies the ordering
constraints (in particular, try tsort -f).
Thanks to the nature of the problem, the actual output won't exactly match
the old one, but it does pass the regression suite (and it is a topological
sorter).
Ok millert@
|
|
|
|
least, this is the impression I get from looking at a lot of Perl docs.
|
|
|
|
|
|
|
|
|
|
netbsd pr#1204
|
|
|