Lingua-TT

 view release on metacpan or  search on metacpan

TT/Document.pm  view on Meta::CPAN

    ##-- contiguous mode
    my $oi = 0;
    my $osize = $doc->nTokens / ($n || 1);
    my ($sent);
    foreach $sent (@$doc) {
      push(@{$odocs[$oi]}, $sent);
      $osizes[$oi] += scalar(@$sent);
      ++$oi if ($osizes[$oi] >= $osize);
    }
  } else {
    ##-- best-split mode
    my ($sent,$oi,$oi_min);
    foreach $sent (@$doc) {
      ##-- find smallest @odoc
      $oi_min = 0;
      foreach $oi (1..$#odocs) {
	$oi_min = $oi if ($osizes[$oi] < $osizes[$oi_min]);
      }
      push(@{$odocs[$oi_min]}, $sent);
      $osizes[$oi_min] += scalar(@$sent);
    }



( run in 1.605 second using v1.01-cache-2.11-cpan-71847e10f99 )