#!/usr/bin/perl 

use POSIX qw /floor/;

if ($#ARGV != 0) {
  print "Usage:  gen_samples.pl n\n";
  exit;
}

$n = shift @ARGV;

open IN, "labeled";
@lines = <IN>;

$fold_size = floor(($#lines+1)/$n);

if($fold_size == 0) {
  print "At least 1 example required per fold.\n";
  exit;
}

for($i=1; $i<$n; $i++) {
  open OUTPUT, '>', "train_" . $i;
  print OUTPUT @lines[0..(($i-1)*$fold_size-1)];
  print OUTPUT @lines[($i*$fold_size)..$#lines];
  close OUTPUT;
  open OUTPUT, '>', "test_" . $i;
  print OUTPUT @lines[($i-1)*$fold_size..($i*$fold_size-1)];
  close OUTPUT;
}
open OUTPUT, '>', "train_" . $i;
print OUTPUT @lines[0..(($i-1)*$fold_size-1)];
close OUTPUT;
open OUTPUT, '>', "test_" . $i;
print OUTPUT @lines[($i-1)*$fold_size..$#lines];
close OUTPUT;
