public static void OutputIndex(Index <RawShapeletFormat> index, String parent) { int splitDepth = index.SplitDepth; foreach (IndexEntry i in index.GetIndexEntries()) { if (i is TermEntry) { TermEntry term = ((TermEntry)i); String saxWord = term.SaxWord; String iSaxWord = term.iSaxWord; String fileName = term.FileName; int numNodes = term.NumNodes; int numTimeSeries = term.NumTimeSeries; System.Console.WriteLine("SAX word: {0}, iSax word: {1}, file name: {2}, parent: {3}, split depth: {4}, num nodes: {5}, num TS: {6}", saxWord, iSaxWord, fileName, parent, splitDepth, numNodes, numTimeSeries); String[] line = { saxWord, iSaxWord, "TermEntry", "", fileName, parent, splitDepth.ToString(), "", numNodes.ToString(), numTimeSeries.ToString() }; output = output + String.Join(";", line) + "\n"; } else { SplitEntry <RawShapeletFormat> split = (SplitEntry <RawShapeletFormat>)i; String saxWord = split.SaxWord; String iSaxWord = split.iSaxWord; String baseDir = split.Options.BaseDir; String maskValue = split.Options.maskValue(); int numNodes = split.NumNodes; int numTimeSeries = split.NumTimeSeries; System.Console.WriteLine("SAX word: {0}, iSax word: {1}, dir: {2}, mask: {3}, split depth: {4}, num nodes: {5}, num TS: {6}", saxWord, iSaxWord, baseDir, maskValue, splitDepth, numNodes, numTimeSeries); String[] line = { saxWord, iSaxWord, "SplitEntry", baseDir, "", parent, splitDepth.ToString(), maskValue, numNodes.ToString(), numTimeSeries.ToString() }; output = output + String.Join(";", line) + "\n"; Index <RawShapeletFormat> splitIndex = split.GetIndex(); OutputIndex(splitIndex, saxWord); } } }