PDLOptimising Multitasking in PDL#8

$self->get_selected_scan()

# If no boards were solved, then try with a larger quota
while ($num_solved_in_iter == 0)
{
    my $q_more = shift(@$quotas);
    if (!defined($q_more))
    {
        throw Shlomif::FCS::CalcMetaScan::Error::OutOfQuotas;
    }

    $iters_quota += $q_more;

    (undef, $num_solved_in_iter, undef, $selected_scan_idx) =
        PDL::minmaximum(
            PDL::sumover(
                ($self->scans_data() <= $iters_quota) &
                ($self->scans_data() > 0)
            )
          );
}
return
    (
        quota => $iters_quota,
        num_solved => $num_solved_in_iter,
        scan_idx => $selected_scan_idx,
    );
Copyright © 2005 Shlomi Fish