public void TestAlgorithmIncrementWaterDistance3() { var algorithmInitial = new AlgorithmInitialBool(); var algorithmZoom2DIteration1 = new AlgorithmZoom2D(); var algorithmZoom2DIteration2 = new AlgorithmZoom2D(); var algorithmZoom2DIteration3 = new AlgorithmZoom2D(); var algorithmIncrementWaterDistance1 = new AlgorithmIncrementWaterDistance { Initial = true }; var algorithmIncrementWaterDistance2 = new AlgorithmIncrementWaterDistance(); var algorithmIncrementWaterDistance3 = new AlgorithmIncrementWaterDistance(); var runtimeInitial = this.CreateRuntimeLayer(algorithmInitial); var runtimeZoom2DIteration1 = this.CreateRuntimeLayer(algorithmZoom2DIteration1); var runtimeZoom2DIteration2 = this.CreateRuntimeLayer(algorithmZoom2DIteration2); var runtimeZoom2DIteration3 = this.CreateRuntimeLayer(algorithmZoom2DIteration3); var runtimeIncrementWaterDistance1 = this.CreateRuntimeLayer(algorithmIncrementWaterDistance1); var runtimeIncrementWaterDistance2 = this.CreateRuntimeLayer(algorithmIncrementWaterDistance2); var runtimeIncrementWaterDistance3 = this.CreateRuntimeLayer(algorithmIncrementWaterDistance3); runtimeZoom2DIteration1.SetInput(0, runtimeInitial); runtimeIncrementWaterDistance1.SetInput(0, runtimeZoom2DIteration1); runtimeZoom2DIteration2.SetInput(0, runtimeIncrementWaterDistance1); runtimeIncrementWaterDistance2.SetInput(0, runtimeZoom2DIteration2); runtimeZoom2DIteration3.SetInput(0, runtimeIncrementWaterDistance2); runtimeIncrementWaterDistance3.SetInput(0, runtimeZoom2DIteration3); PerformSampling("AlgorithmIncrementWaterDistance (4 iterations)", runtimeIncrementWaterDistance3); }
public void TestForOCXOddAdjustmentShutterBug() { int computations; var input = new AlgorithmDebuggingInitialDelegate { ValueShouldBePlacedAt = (x, y, z) => true }; var zoom = new AlgorithmZoom2D { Mode = AlgorithmZoom2D.ZoomType.Square }; var runtimeInput = new RuntimeLayer(input); var runtimeZoom = new RuntimeLayer(zoom); runtimeZoom.SetInput(0, runtimeInput); var result = runtimeZoom.GenerateData(1, 0, 0, 32, 32, 32, out computations); // We have filled the entire block, therefore this bug can be detected by checking // every odd row. for (var x = 1; x < 32; x += 2) { Assert.True(result[x + 0 * 32 + 0 * 32 * 32] == 1); } //, "OCX odd adjustment shutter bug is present, where every odd row is blank when main adjustment is an odd number."); }
public static void TestAlgorithmIncrementWaterDistance4() { var algorithmInitial = new AlgorithmInitialBool(); var algorithmZoom2DIteration1 = new AlgorithmZoom2D(); var algorithmZoom2DIteration2 = new AlgorithmZoom2D(); var algorithmZoom2DIteration3 = new AlgorithmZoom2D(); var algorithmZoom2DIteration4 = new AlgorithmZoom2D(); var algorithmIncrementWaterDistance1 = new AlgorithmIncrementWaterDistance() { Initial = true }; var algorithmIncrementWaterDistance2 = new AlgorithmIncrementWaterDistance(); var algorithmIncrementWaterDistance3 = new AlgorithmIncrementWaterDistance(); var algorithmIncrementWaterDistance4 = new AlgorithmIncrementWaterDistance(); var runtimeInitial = new RuntimeLayer(algorithmInitial); var runtimeZoom2DIteration1 = new RuntimeLayer(algorithmZoom2DIteration1); var runtimeZoom2DIteration2 = new RuntimeLayer(algorithmZoom2DIteration2); var runtimeZoom2DIteration3 = new RuntimeLayer(algorithmZoom2DIteration3); var runtimeZoom2DIteration4 = new RuntimeLayer(algorithmZoom2DIteration4); var runtimeIncrementWaterDistance1 = new RuntimeLayer(algorithmIncrementWaterDistance1); var runtimeIncrementWaterDistance2 = new RuntimeLayer(algorithmIncrementWaterDistance2); var runtimeIncrementWaterDistance3 = new RuntimeLayer(algorithmIncrementWaterDistance3); var runtimeIncrementWaterDistance4 = new RuntimeLayer(algorithmIncrementWaterDistance4); runtimeZoom2DIteration1.SetInput(0, runtimeInitial); runtimeIncrementWaterDistance1.SetInput(0, runtimeZoom2DIteration1); runtimeZoom2DIteration2.SetInput(0, runtimeIncrementWaterDistance1); runtimeIncrementWaterDistance2.SetInput(0, runtimeZoom2DIteration2); runtimeZoom2DIteration3.SetInput(0, runtimeIncrementWaterDistance2); runtimeIncrementWaterDistance3.SetInput(0, runtimeZoom2DIteration3); runtimeZoom2DIteration4.SetInput(0, runtimeIncrementWaterDistance3); runtimeIncrementWaterDistance4.SetInput(0, runtimeZoom2DIteration4); PerformSampling("AlgorithmIncrementWaterDistance (4 iterations)", runtimeIncrementWaterDistance4); }
public static void TestAlgorithmZoom2DIteration1() { var algorithmInitial = new AlgorithmInitialBool(); var algorithmZoom2DIteration1 = new AlgorithmZoom2D(); var runtimeInitial = new RuntimeLayer(algorithmInitial); var runtimeZoom2DIteration1 = new RuntimeLayer(algorithmZoom2DIteration1); runtimeZoom2DIteration1.SetInput(0, runtimeInitial); PerformSampling("AlgorithmZoom2D (1 iteration)", runtimeZoom2DIteration1); }
public IGenerator GetConfiguration() { var algorithmInitial = new AlgorithmInitialBool(); var algorithmZoom2DIteration1 = new AlgorithmZoom2D(); var algorithmZoom2DIteration2 = new AlgorithmZoom2D(); var algorithmZoom2DIteration3 = new AlgorithmZoom2D(); var algorithmZoom2DIteration4 = new AlgorithmZoom2D(); var algorithmIncrementWaterDistance1 = new AlgorithmIncrementWaterDistance() { Initial = true }; var algorithmIncrementWaterDistance2 = new AlgorithmIncrementWaterDistance(); var algorithmIncrementWaterDistance3 = new AlgorithmIncrementWaterDistance(); var algorithmIncrementWaterDistance4 = new AlgorithmIncrementWaterDistance(); var runtimeInitial = this.m_RuntimeLayerFactory.CreateRuntimeLayer(algorithmInitial); var runtimeZoom2DIteration1 = this.m_RuntimeLayerFactory.CreateRuntimeLayer(algorithmZoom2DIteration1); var runtimeZoom2DIteration2 = this.m_RuntimeLayerFactory.CreateRuntimeLayer(algorithmZoom2DIteration2); var runtimeZoom2DIteration3 = this.m_RuntimeLayerFactory.CreateRuntimeLayer(algorithmZoom2DIteration3); var runtimeZoom2DIteration4 = this.m_RuntimeLayerFactory.CreateRuntimeLayer(algorithmZoom2DIteration4); var runtimeIncrementWaterDistance1 = this.m_RuntimeLayerFactory.CreateRuntimeLayer( algorithmIncrementWaterDistance1); var runtimeIncrementWaterDistance2 = this.m_RuntimeLayerFactory.CreateRuntimeLayer( algorithmIncrementWaterDistance2); var runtimeIncrementWaterDistance3 = this.m_RuntimeLayerFactory.CreateRuntimeLayer( algorithmIncrementWaterDistance3); var runtimeIncrementWaterDistance4 = this.m_RuntimeLayerFactory.CreateRuntimeLayer( algorithmIncrementWaterDistance4); runtimeZoom2DIteration1.SetInput(0, runtimeInitial); runtimeIncrementWaterDistance1.SetInput(0, runtimeZoom2DIteration1); runtimeZoom2DIteration2.SetInput(0, runtimeIncrementWaterDistance1); runtimeIncrementWaterDistance2.SetInput(0, runtimeZoom2DIteration2); runtimeZoom2DIteration3.SetInput(0, runtimeIncrementWaterDistance2); runtimeIncrementWaterDistance3.SetInput(0, runtimeZoom2DIteration3); runtimeZoom2DIteration4.SetInput(0, runtimeIncrementWaterDistance3); runtimeIncrementWaterDistance4.SetInput(0, runtimeZoom2DIteration4); runtimeInitial.Userdata = "runtimeInitial"; runtimeZoom2DIteration1.Userdata = "runtimeZoom2DIteration1"; runtimeIncrementWaterDistance1.Userdata = "runtimeIncrementWaterDistance1"; runtimeZoom2DIteration2.Userdata = "runtimeZoom2DIteration2"; runtimeIncrementWaterDistance2.Userdata = "runtimeIncrementWaterDistance2"; runtimeZoom2DIteration3.Userdata = "runtimeZoom2DIteration3"; runtimeIncrementWaterDistance3.Userdata = "runtimeIncrementWaterDistance3"; runtimeZoom2DIteration4.Userdata = "runtimeZoom2DIteration4"; runtimeIncrementWaterDistance4.Userdata = "runtimeIncrementWaterDistance4"; return runtimeIncrementWaterDistance4; }
public void TestForOCXOddAdjustmentShutterBug() { int computations; var input = new AlgorithmDebuggingInitialDelegate { ValueShouldBePlacedAt = (x, y, z) => true, ShowAs2D = true }; var zoom = new AlgorithmZoom2D { Mode = ZoomType.Square }; var runtimeInput = this.CreateRuntimeLayer(input); var runtimeZoom = this.CreateRuntimeLayer(zoom); runtimeZoom.SetInput(0, runtimeInput); var result = runtimeZoom.GenerateData(1, 0, 0, 32, 32, 32, out computations); // We have filled the entire block, therefore this bug can be detected by checking // every odd row. for (var x = 1; x < 32; x += 2) Assert.True( result[x] == 1, "OCX odd adjustment shutter bug is present, where every odd row is blank when main adjustment is an odd number."); }
public void TestAlgorithmZoom2DIteration2() { var algorithmInitial = new AlgorithmInitialBool(); var algorithmZoom2DIteration1 = new AlgorithmZoom2D(); var algorithmZoom2DIteration2 = new AlgorithmZoom2D(); var runtimeInitial = this.CreateRuntimeLayer(algorithmInitial); var runtimeZoom2DIteration1 = this.CreateRuntimeLayer(algorithmZoom2DIteration1); var runtimeZoom2DIteration2 = this.CreateRuntimeLayer(algorithmZoom2DIteration2); runtimeZoom2DIteration1.SetInput(0, runtimeInitial); runtimeZoom2DIteration2.SetInput(0, runtimeInitial); PerformSampling("AlgorithmZoom2D (2 iteration)", runtimeZoom2DIteration2); }
public static void Main(string[] args) { var algorithmInitial = new AlgorithmInitialBool(); var algorithmZoom2DIteration1 = new AlgorithmZoom2D(); var algorithmZoom2DIteration2 = new AlgorithmZoom2D(); var algorithmZoom2DIteration3 = new AlgorithmZoom2D(); var algorithmZoom2DIteration4 = new AlgorithmZoom2D(); var algorithmIncrementWaterDistance1 = new AlgorithmIncrementWaterDistance() { Initial = true }; var algorithmIncrementWaterDistance2 = new AlgorithmIncrementWaterDistance(); var algorithmIncrementWaterDistance3 = new AlgorithmIncrementWaterDistance(); var algorithmIncrementWaterDistance4 = new AlgorithmIncrementWaterDistance(); var runtimeInitial = new RuntimeLayer(algorithmInitial); var runtimeZoom2DIteration1 = new RuntimeLayer(algorithmZoom2DIteration1); var runtimeZoom2DIteration2 = new RuntimeLayer(algorithmZoom2DIteration2); var runtimeZoom2DIteration3 = new RuntimeLayer(algorithmZoom2DIteration3); var runtimeZoom2DIteration4 = new RuntimeLayer(algorithmZoom2DIteration4); var runtimeIncrementWaterDistance1 = new RuntimeLayer(algorithmIncrementWaterDistance1); var runtimeIncrementWaterDistance2 = new RuntimeLayer(algorithmIncrementWaterDistance2); var runtimeIncrementWaterDistance3 = new RuntimeLayer(algorithmIncrementWaterDistance3); var runtimeIncrementWaterDistance4 = new RuntimeLayer(algorithmIncrementWaterDistance4); runtimeZoom2DIteration1.SetInput(0, runtimeInitial); runtimeIncrementWaterDistance1.SetInput(0, runtimeZoom2DIteration1); runtimeZoom2DIteration2.SetInput(0, runtimeIncrementWaterDistance1); runtimeIncrementWaterDistance2.SetInput(0, runtimeZoom2DIteration2); runtimeZoom2DIteration3.SetInput(0, runtimeIncrementWaterDistance2); runtimeIncrementWaterDistance3.SetInput(0, runtimeZoom2DIteration3); runtimeZoom2DIteration4.SetInput(0, runtimeIncrementWaterDistance3); runtimeIncrementWaterDistance4.SetInput(0, runtimeZoom2DIteration4); runtimeInitial.Userdata = "runtimeInitial"; runtimeZoom2DIteration1.Userdata = "runtimeZoom2DIteration1"; runtimeIncrementWaterDistance1.Userdata = "runtimeIncrementWaterDistance1"; runtimeZoom2DIteration2.Userdata = "runtimeZoom2DIteration2"; runtimeIncrementWaterDistance2.Userdata = "runtimeIncrementWaterDistance2"; runtimeZoom2DIteration3.Userdata = "runtimeZoom2DIteration3"; runtimeIncrementWaterDistance3.Userdata = "runtimeIncrementWaterDistance3"; runtimeZoom2DIteration4.Userdata = "runtimeZoom2DIteration4"; runtimeIncrementWaterDistance4.Userdata = "runtimeIncrementWaterDistance4"; EnableHandler = () => { runtimeInitial.DataGenerated += HandleDataGenerated; runtimeZoom2DIteration1.DataGenerated += HandleDataGenerated; runtimeIncrementWaterDistance1.DataGenerated += HandleDataGenerated; runtimeZoom2DIteration2.DataGenerated += HandleDataGenerated; runtimeIncrementWaterDistance2.DataGenerated += HandleDataGenerated; runtimeZoom2DIteration3.DataGenerated += HandleDataGenerated; runtimeIncrementWaterDistance3.DataGenerated += HandleDataGenerated; runtimeZoom2DIteration4.DataGenerated += HandleDataGenerated; runtimeIncrementWaterDistance4.DataGenerated += HandleDataGenerated; }; DisableHandler = () => { runtimeInitial.DataGenerated -= HandleDataGenerated; runtimeZoom2DIteration1.DataGenerated -= HandleDataGenerated; runtimeIncrementWaterDistance1.DataGenerated -= HandleDataGenerated; runtimeZoom2DIteration2.DataGenerated -= HandleDataGenerated; runtimeIncrementWaterDistance2.DataGenerated -= HandleDataGenerated; runtimeZoom2DIteration3.DataGenerated -= HandleDataGenerated; runtimeIncrementWaterDistance3.DataGenerated -= HandleDataGenerated; runtimeZoom2DIteration4.DataGenerated -= HandleDataGenerated; runtimeIncrementWaterDistance4.DataGenerated -= HandleDataGenerated; }; EnableHandler(); var s = 64; var o = 10000000; int computations; runtimeIncrementWaterDistance4.GenerateData(-s + o, -s + o, -s + o, s * 2, s * 2, s * 2, out computations); }