Skip to content

Commit

Permalink
Update for new constraints setup in BacktrackKit
Browse files Browse the repository at this point in the history
  • Loading branch information
wilfwilson committed Dec 3, 2021
1 parent af8249e commit 94de6ab
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 8 deletions.
4 changes: 1 addition & 3 deletions gap/interface.gi
Original file line number Diff line number Diff line change
Expand Up @@ -122,10 +122,8 @@ VoleFind.Canonical := function(G, arguments...)
"To restrict the moved points, canonise in a different ",
"group;");

elif ForAny(constraints, c -> IsRefiner(c) and StartsWith(c!.name, "InCoset"))
elif ForAny(constraints, c -> IsRefiner(c) and not IsGroupConstraint(c!.constraint))
or ForAny(constraints, c -> IsRecord(c) and EndsWith(RecNames(c.con)[1], "Transport"))
or ForAny(constraints, c -> IsRefiner(c) and IsBound(c!.check) and not c!.check(()))
or ForAny(constraints, c -> IsRefiner(c) and not IsBound(c!.check) and c!.image(()) <> c!.result)
then
# Try to check for "coset" refiners/constraints
ErrorNoReturn("VoleFind.Canonical: ",
Expand Down
6 changes: 3 additions & 3 deletions gap/internal/comms.gi
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,10 @@ function(savedvals, state, type, args)
Info(InfoVole, 2, "Generating image", args[1]);
Assert(2, args[1] in ["Left", "Right"]);
if args[1] = "Left" then
val := state!.conlist[1]!.image(PermList(List(args[2].values, x -> x+1)));
val := ImageFunc(state!.conlist[1]!.constraint)(PermList(List(args[2].values, x -> x+1)));
else
Assert(2, args[2].values = []);
val := state!.conlist[1]!.result();
val := ResultObject(state!.conlist[1]!.constraint);
fi;
savedvals.map[savedvals.count] := val;
Info(InfoVole, 2, "Saving: ", val , " as ", savedvals.count);
Expand Down Expand Up @@ -464,4 +464,4 @@ _Vole.CosetSingleSolve :=
_Vole.CanonicalSolve :=
{points, group, constraints} -> _Vole.Solve(points, false, false, true, constraints, group, false);

_Vole.RootSolve := {points, constraints} -> _Vole.Solve(points, false, false, false, constraints, false, true);
_Vole.RootSolve := {points, constraints} -> _Vole.Solve(points, false, false, false, constraints, false, true);
4 changes: 2 additions & 2 deletions gap/internal/util.g
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ _Vole.getBounds := function(constraints, initial_max, allow_max_inf)
fi;
elif IsRefiner(c) then
this_min := c!.largest_required_point;
if IsBound(c!.largest_moved_point) then
this_max := c!.largest_moved_point;
if HasLargestMovedPoint(c!.constraint) then
this_max := LargestMovedPoint(c!.constraint);
fi;
fi;
min := Maximum(min, this_min);
Expand Down

0 comments on commit 94de6ab

Please sign in to comment.