summaryrefslogtreecommitdiff
path: root/src/solvers/gpusolver.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/solvers/gpusolver.rs')
-rw-r--r--src/solvers/gpusolver.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/solvers/gpusolver.rs b/src/solvers/gpusolver.rs
index 0ddc4a6..dc54bda 100644
--- a/src/solvers/gpusolver.rs
+++ b/src/solvers/gpusolver.rs
@@ -81,7 +81,11 @@ impl GpuSolver {
});
} else {
for j in 0..self.chunk {
- new_num[index] = i * self.chunk + j;
+ let n_i = i * self.chunk + j;
+ if curr_mask & (1 << (self.permutations[n_i as usize][0] + 1)) > 0 {
+ continue;
+ }
+ new_num[index] = n_i;
self.permute(
index + 1,
curr_mask | self.masks[new_num[index] as usize],