From b848b3d26fd723e46b7b36443cfab4dbf1503642 Mon Sep 17 00:00:00 2001
From: Robert Applin <40830825+robertapplin@users.noreply.github.com>
Date: Fri, 25 Jan 2019 11:05:13 +0000
Subject: [PATCH] Refs #21401. Avoid divide by zero

---
 .../algorithms/WorkflowAlgorithms/ElasticWindowMultiple.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ElasticWindowMultiple.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ElasticWindowMultiple.py
index dd39e4be12d..8be63a6b10d 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ElasticWindowMultiple.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ElasticWindowMultiple.py
@@ -27,8 +27,13 @@ def _normalize_by_index(workspace, index):
         y_values = workspace.readY(idx)
         y_errors = workspace.readE(idx)
 
+        # Avoid divide by zero
+        if y_values[index] == 0.0:
+            scale = np.reciprocal(1.0e-8)
+        else:
+            scale = np.reciprocal(y_values[index])
+
         # Normalise y values
-        scale = np.reciprocal(y_values[index])
         y_values_normalised = scale * y_values
 
         # Propagate y errors: C = A / B ; dC = sqrt( (dA/B)^2 + (A*dB/B^2)^2 )
-- 
GitLab