package clear.experiment;
import clear.dep.DepTree;
import clear.reader.SRLReader;
import clear.util.IOUtil;
import java.io.File;
import java.io.PrintStream;
public class generateCV {
static public void main(String[] args) {
String inputFile = args[0];
String outputDir = args[1];
int n = Integer.parseInt(args[2]);
int cv = Integer.parseInt(args[3]);
SRLReader reader = new SRLReader(inputFile, true);
DepTree tree;
PrintStream[] ftrn = new PrintStream[cv];
PrintStream[] ftst = new PrintStream[cv];
for (int i = 0; i < cv; i++) {
ftrn[i] = IOUtil.createPrintFileStream(outputDir + File.separator + "cv" + i + ".trn");
ftst[i] = IOUtil.createPrintFileStream(outputDir + File.separator + "cv" + i + ".tst");
}
int stop = (int) Math.ceil((float) n / cv);
for (int treeId = 0; (tree = reader.nextTree()) != null; treeId++) {
int idx = treeId / stop;
ftst[idx].println(tree + "\n");
for (int i = 0; i < cv; i++) {
if (i != idx) {
ftrn[i].println(tree + "\n");
}
}
if (treeId % 1000 == 0) {
System.out.print("\r" + treeId);
}
}
for (int i = 0; i < cv; i++) {
ftrn[i].close();
ftst[i].close();
}
}
}