private static void parseInputSeparately(InputParser inputParser, out int serverNO, out int pointNO, out int spaceDimension, out int histogramResolution, out Array array) { inputParser.parseInputSizes(out spaceDimension, out histogramResolution, out serverNO); Console.WriteLine("Space dim: {0}, resolution: {1}, server no.: {2}", spaceDimension, histogramResolution, serverNO); int[] lengthsArray = new int[spaceDimension]; for (int idx = 0; idx < spaceDimension; idx++) { lengthsArray[idx] = histogramResolution; } array = Array.CreateInstance(typeof(int), lengthsArray); inputParser.parseInputArray(serverNO, histogramResolution, array, out pointNO); }
static void Main(string[] args) { Transformator transformator = new Transformator(); InputParser inputParser = new InputParser(transformator); HeftArrayCreator heftArrayCreator = new HeftArrayCreator(transformator); int serverNO; int pointNO; int spaceDimension; int histogramResolution; Array array; bool together = inputParser.determineTogetherOrSeparately(); if (together) { array = inputParser.parseInputFile(out spaceDimension, out histogramResolution, out serverNO, out pointNO); } else { parseInputSeparately(inputParser, out serverNO, out pointNO, out spaceDimension, out histogramResolution, out array); } double delta = (double)pointNO / (double)serverNO; Console.WriteLine("Point no.: {0}", pointNO); Console.WriteLine("Delta: {0}", delta); Array heftArray = heftArrayCreator.createHeftArray(spaceDimension, histogramResolution, array); LoadBalancingMeasure lbMeasure = new LoadBalancingMeasure(serverNO, pointNO, delta); BinaryDecomposer binaryDecomposer = new BinaryDecomposer(array, heftArray, transformator, spaceDimension, histogramResolution, serverNO, pointNO); Coords[] partition = binaryDecomposer.decompose(); double measureOfLB = lbMeasure.computeMeasure(partition); Console.WriteLine("Load balancing measure of the partition: {0}", measureOfLB); writeOutTiles(serverNO, spaceDimension, partition); writeOutServers(serverNO, partition); Console.WriteLine("Press any key to exit!"); Console.Read(); }