diff --git a/html/fcl/tipper.js b/html/fcl/tipper.js index 4688cef..dd0d45a 100644 --- a/html/fcl/tipper.js +++ b/html/fcl/tipper.js @@ -100,6 +100,9 @@ class FunctionBlock_tipper { sum_tip += this.defuzzify_tip[i]; wsum_tip += x * this.defuzzify_tip[i]; } + if (sum_tip == 0) { + sum_tip = 1.0; + } this.tip = wsum_tip / sum_tip; } diff --git a/out/artifacts/jFuzzyLogic_jar/jFuzzyLogic.jar b/out/artifacts/jFuzzyLogic_jar/jFuzzyLogic.jar index 5c7a3aa..c071a2d 100644 Binary files a/out/artifacts/jFuzzyLogic_jar/jFuzzyLogic.jar and b/out/artifacts/jFuzzyLogic_jar/jFuzzyLogic.jar differ diff --git a/src/main/java/net/sourceforge/jFuzzyLogic/defuzzifier/DefuzzifierCenterOfGravity.java b/src/main/java/net/sourceforge/jFuzzyLogic/defuzzifier/DefuzzifierCenterOfGravity.java index bb98cd5..5323ec8 100644 --- a/src/main/java/net/sourceforge/jFuzzyLogic/defuzzifier/DefuzzifierCenterOfGravity.java +++ b/src/main/java/net/sourceforge/jFuzzyLogic/defuzzifier/DefuzzifierCenterOfGravity.java @@ -68,6 +68,9 @@ public class DefuzzifierCenterOfGravity extends DefuzzifierContinuous { out.append("\t\t\t" + sumName + " += this." + defuzzName + "[i];\n"); out.append("\t\t\t" + wsumName + " += x * this." + defuzzName + "[i];\n"); out.append("\t\t}\n"); + out.append("\t\tif (" + sumName + " == 0) {\n"); + out.append("\t\t\t" + sumName + " = 1.0;\n"); + out.append("\t\t}\n"); out.append("\t\tthis." + variable.getName() + " = " + wsumName + " / " + sumName + ";\n"); return out.toString(); }