Skip to content

Comments

NiceGeneratorsAn (Odd and Even): Improve documentation, rename variables, restructure code, add tests#382

Open
TWiedemann wants to merge 14 commits intogap-packages:masterfrom
TWiedemann:tw/permrecoggens
Open

NiceGeneratorsAn (Odd and Even): Improve documentation, rename variables, restructure code, add tests#382
TWiedemann wants to merge 14 commits intogap-packages:masterfrom
TWiedemann:tw/permrecoggens

Conversation

@TWiedemann
Copy link
Collaborator

@TWiedemann TWiedemann commented Feb 10, 2026

The same changes as in #369 but for NiceGeneratorsAnOdd.

In addition, the random search for cycles of lengths 2, 3, and n in NiceGeneratorsAnOdd and NiceGeneratorsSn is moved to a new function RECOG.FindCycles.

Issue #381 is not resolved by this PR, but it is slightly related.

Update 19.02.2026: Added the same changes for NiceGeneratorsAnEven and updated RECOG.FindCycles to also accept n-1.

@codecov
Copy link

codecov bot commented Feb 10, 2026

Codecov Report

❌ Patch coverage is 98.27586% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 72.67%. Comparing base (1d173f8) to head (5d49fbf).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
gap/perm/giant.gi 98.27% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #382      +/-   ##
==========================================
+ Coverage   69.19%   72.67%   +3.48%     
==========================================
  Files          43       43              
  Lines       18403    18400       -3     
==========================================
+ Hits        12734    13373     +639     
+ Misses       5669     5027     -642     
Files with missing lines Coverage Δ
gap/perm/giant.gi 74.33% <98.27%> (+18.75%) ⬆️

... and 6 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@fingolfin
Copy link
Member

If you write "does not resolve XYZ" then GitHub still parses this as "resolves XYZ" and will thus close that issue if this PR is merged.

You need to rephrase it, e.g. "does no resolve issue XYZ" or "XYZ is not resolved by this" or so.

Copy link
Member

@fingolfin fingolfin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks pretty good! Some minor nitpicks

TWiedemann and others added 5 commits February 13, 2026 09:51
Co-authored-by: Max Horn <max@quendi.de>
Co-authored-by: Max Horn <max@quendi.de>
Co-authored-by: Max Horn <max@quendi.de>
Co-authored-by: Max Horn <max@quendi.de>
Co-authored-by: Max Horn <max@quendi.de>
@TWiedemann
Copy link
Collaborator Author

If you write "does not resolve XYZ" then GitHub still parses this as "resolves XYZ" and will thus close that issue if this PR is merged.

You need to rephrase it, e.g. "does no resolve issue XYZ" or "XYZ is not resolved by this" or so.

Done.

I commited your suggestions. Some checks fail which are apparently related to #362.

@TWiedemann
Copy link
Collaborator Author

I changed the test "PSL(2,23)" in ri.possibleNearlySimple as discussed. The CI check still fails, but I cannot reproduce this failure locally. Instead, I get an error in another line, but only on the first run of the test:

gap> Test("MoreNaming.tst");
########> Diff in MoreNaming.tst:941
# Input is:
ri := RecogniseClassical(maxes_cgo_plus_8_5[1]);;
# Expected output:
# But found:
#I  Have 38644 points.
########
false
gap> Test("MoreNaming.tst");
true
gap> Test("MoreNaming.tst");
true
gap> Test("MoreNaming.tst");
true
gap> Test("MoreNaming.tst");
true
gap> Test("MoreNaming.tst");
true

@TWiedemann TWiedemann changed the title NiceGeneratorsAnOdd: Improve documentation, rename variables, restructure code, add tests NiceGeneratorsAn (Odd and Even): Improve documentation, rename variables, restructure code, add tests Feb 19, 2026
@TWiedemann
Copy link
Collaborator Author

TWiedemann commented Feb 19, 2026

Added the same changes for NiceGeneratorsAnEven and updated RECOG.FindCycles to also accept n-1.

The CI checks now succeed (without any of my doing). Locally, Test("MoreNaming.tst"); still produces the same error as before:

gap> Test("MoreNaming.tst");
########> Diff in MoreNaming.tst:941
# Input is:
ri := RecogniseClassical(maxes_cgo_plus_8_5[1]);;
# Expected output:
# But found:
#I  Have 38644 points.
########
false                               
gap> Test("MoreNaming.tst");
true                                
gap> Test("MoreNaming.tst");
true 

I think we can merge this now, but I am not sure about the error above that appears only locally on my machine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants