public static AST.Address NormalPerRange_Step(DAG dag, Excel.Workbook wb, HashSet <AST.Address> known_good, long max_duration_in_ms, Stopwatch sw) { AST.Address flagged_cell = null; //Generate normal distributions for every input range until an error is found //Then break out of the loop and report it. foreach (var vect_addr in dag.allVectors()) { var normal_dist = new DataDebugMethods.NormalDistribution(dag.getCOMRefForRange(vect_addr).Range); // Get top outlier which has not been inspected already if (normal_dist.getErrorsCount() > 0) { for (int i = 0; i < normal_dist.getErrorsCount(); i++) { // check for timeout if (sw.ElapsedMilliseconds > max_duration_in_ms) { throw new TimeoutException("Timeout exception in NormalPerRange_Step."); } var flagged_com = normal_dist.getErrorAtPosition(i); flagged_cell = AST.Address.AddressFromCOMObject(flagged_com, wb); if (known_good.Contains(flagged_cell)) { flagged_cell = null; } else { break; } } } //If a cell is flagged, do not move on to the next range (if you do, you'll overwrite the flagged_cell if (flagged_cell != null) { break; } } return(flagged_cell); }
public static AST.Address NormalAllOutputs_Step(DAG dag, Excel.Application app, Excel.Workbook wb, HashSet<AST.Address> known_good, long max_duration_in_ms, Stopwatch sw) { AST.Address flagged_cell = null; //Generate a normal distribution for the entire set of inputs var normal_dist = new DataDebugMethods.NormalDistribution(dag.terminalInputVectors(), app); // Get top outlier if (normal_dist.getErrorsCount() > 0) { for (int i = 0; i < normal_dist.getErrorsCount(); i++) { // check for timeout if (sw.ElapsedMilliseconds > max_duration_in_ms) { throw new TimeoutException("Timeout exception in NormalAllOutputs_Step."); } var flagged_com = normal_dist.getErrorAtPosition(i); flagged_cell = AST.Address.AddressFromCOMObject(flagged_com, wb); if (known_good.Contains(flagged_cell)) { flagged_cell = null; } else { break; } } } return flagged_cell; }
public static AST.Address NormalAllOutputs_Step(DAG dag, Excel.Application app, Excel.Workbook wb, HashSet <AST.Address> known_good, long max_duration_in_ms, Stopwatch sw) { AST.Address flagged_cell = null; //Generate a normal distribution for the entire set of inputs var normal_dist = new DataDebugMethods.NormalDistribution(dag.terminalInputVectors(), app); // Get top outlier if (normal_dist.getErrorsCount() > 0) { for (int i = 0; i < normal_dist.getErrorsCount(); i++) { // check for timeout if (sw.ElapsedMilliseconds > max_duration_in_ms) { throw new TimeoutException("Timeout exception in NormalAllOutputs_Step."); } var flagged_com = normal_dist.getErrorAtPosition(i); flagged_cell = AST.Address.AddressFromCOMObject(flagged_com, wb); if (known_good.Contains(flagged_cell)) { flagged_cell = null; } else { break; } } } return(flagged_cell); }
public static AST.Address NormalPerRange_Step(DAG dag, Excel.Workbook wb, HashSet<AST.Address> known_good, long max_duration_in_ms, Stopwatch sw) { AST.Address flagged_cell = null; //Generate normal distributions for every input range until an error is found //Then break out of the loop and report it. foreach (var vect_addr in dag.allVectors()) { var normal_dist = new DataDebugMethods.NormalDistribution(dag.getCOMRefForRange(vect_addr).Range); // Get top outlier which has not been inspected already if (normal_dist.getErrorsCount() > 0) { for (int i = 0; i < normal_dist.getErrorsCount(); i++) { // check for timeout if (sw.ElapsedMilliseconds > max_duration_in_ms) { throw new TimeoutException("Timeout exception in NormalPerRange_Step."); } var flagged_com = normal_dist.getErrorAtPosition(i); flagged_cell = AST.Address.AddressFromCOMObject(flagged_com, wb); if (known_good.Contains(flagged_cell)) { flagged_cell = null; } else { break; } } } //If a cell is flagged, do not move on to the next range (if you do, you'll overwrite the flagged_cell if (flagged_cell != null) { break; } } return flagged_cell; }