1. Shlomi Fish
  2. abc-path

Commits

shl...@b384bcd7-cfd4-0310-aca0-d78b80f7b91b  committed b517fda

Another optimisation.

Made _get_next_cells accept the layout directly instead of the state.

  • Participants
  • Parent commits bed95a8
  • Branches default

Comments (0)

Files changed (1)

File abc-path/generator/generate-abs-path.pl

View file
 
 sub _get_next_cells
 {
-    my ($self, $state, $init_idx) = @_;
-
-    my $l = $state->[$LAYOUT_FIELD];
+    my ($self, $l, $init_idx) = @_;
 
     return [ grep { vec($l, $_, 8) == 0 }
         @{$get_next_cells_lookup[$init_idx]}
 {
     my ($self, $state) = @_;
 
-    my $cells = $self->_get_next_cells($state, $state->[$LAST_CELL_FIELD]);
+    my $cells = $self->_get_next_cells(
+        $state->[$LAYOUT_FIELD], $state->[$LAST_CELL_FIELD]
+    );
     $self->_fisher_yates_shuffle($cells);
     push @$state, $cells;
 
 
                 push @connectivity_stack, 
                     (grep { !exists($connected{$_}) } 
-                        @{ $self->_get_next_cells($last_state, $int) }
+                        @{ $self->_get_next_cells($l, $int) }
                     );
             }