Repository navigation
Remove -spairQueue, which has selected nothing since 2013 - #92
Merged
Merged
Conversation
mgb help gb offered four S-pair priority queues -- a tournament tree or a heap, in front of the triangle or not. None of them has existed since 28fb618 removed PairTriangle in 2013, replaced by mathic::PairQueue with its column queue fixed to a TourTree. The code went; the option stayed, its value threaded through ClassicGBAlgParams, ClassicGBAlg, SignatureGB and SigSPairs, and discarded at both ends. 33d4394 later added the (void)queueType casts that kept that quiet. So every code gave the same result, and mgb reported the same queue whatever was asked for. An option that is accepted, advertised and ignored tells a user they chose something when they did not. Restoring it is not worth it. Only the heap-versus-tree half could come back, since staging behind the triangle is how mathic::PairQueue works, and even that half needs a new mathic API, which mathicgb could use only behind feature detection with a fallback, to reach users years later. This removes the option and every queueType parameter behind it. The test harness's all-pairs table loses its spairQueue column, and pict.in the matching parameter; the remaining columns still cover every pair. -spairQueue is now rejected as an unknown option. Output is otherwise unchanged: mgb gb and mgb sig -outputResult give byte-identical bases before and after on cyclic5 and hilbertkunz1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pict.in said PICT was a closed-source Windows utility and linked a pict33.msi installer. Microsoft released it under the MIT license in 2015, and it builds on Linux with cmake. Built from github.com/microsoft/pict and run on this pict.in, it produces a 101-row table with the same columns as the one in gb-test.cpp. The instructions in both files also named the table's string allPairsTest; it is allPairsTests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
mgb help gboffers four S-pair priority queues:None of them has existed since 2013. This removes the option.
It does nothing
28fb618, "Removed PairTriangle as it is no longer used (it's replaced by themathic version)", deleted the code the option selected.
mathic::PairQueuereplaced it, with its column queue fixed to a
TourTree. The option stayed:its value was still threaded through
ClassicGBAlgParams,ClassicGBAlg,SignatureGBandSigSPairs, and discarded at both ends, where33d4394later added
(void)queueType;to keep the compiler quiet.So every code gives byte-identical output, and
mgbreports the same queuewhatever is asked for:
An option that is accepted, advertised and ignored tells a user they chose
something when they did not.
Why not restore it instead
Only half of it could come back. The four codes were two bits: heap or
tournament tree, and whether S-pairs were staged behind a triangle. Staging
is how
mathic::PairQueueworks, so turning it off would mean a secondimplementation. The heap-or-tree half needs a new mathic API, which mathicgb
could use only behind feature detection with a fallback, since it has to keep
building against older mathic -- and packaged mathic trails git by years, so
the option would reach almost nobody. That is a lot of machinery for a knob
nobody has been able to turn for twelve years, with no measurement suggesting
a heap ever wins.
Commits
dd03d5b-- removes the option, its help text, and everyqueueTypeparameter behind it. The test harness's all-pairs table loses its
spairQueuecolumn, andpict.inthe matching parameter; the remainingcolumns still cover every pair.
e7241d9--pict.insaid PICT was a closed-source Windows utility andlinked a
pict33.msi. It has been MIT-licensed on GitHub since 2015 andbuilds on Linux; the comment now says so. Both instructions also named the
table's string
allPairsTestrather thanallPairsTests.The table was edited rather than regenerated. PICT built from source and run
on the new
pict.ingives 101 rows, the same number, so regenerating wouldonly have swapped every configuration for a different set of equal size.
Compatibility
-spairQueueis now an unknown option:Nothing else changes. In Macaulay2 the only reference is the option table of
MGBInterface.m2, an undistributed package, which passes the flag only when acaller sets
"SPairQueue"explicitly.Verification
mgb gb -outputResultandmgb sig -outputResultgive byte-identical basesbefore and after on
cyclic5andhilbertkunz1.spairQueue,sPairQueueTypeorqueueTyperemains in thetree.
No autotools
distcheckrun locally; neither commit touches a build system andCI covers it.
🤖 Generated with Claude Code