From 4c08e6e38c687c1254e02d3c1249f3af7d8b7df8 Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Mon, 26 Mar 2018 17:54:53 +0200
Subject: [PATCH] =?UTF-8?q?=20#44=20classe=20Nub=20:=20ajout=20d'une=20pro?=
 =?UTF-8?q?pri=C3=A9t=C3=A9=20de=20type=20Result?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/nub.ts | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/nub.ts b/src/nub.ts
index e1471dce..0b3cf86c 100644
--- a/src/nub.ts
+++ b/src/nub.ts
@@ -9,6 +9,11 @@ import { Result } from "./util/result";
 export abstract class Nub extends ComputeNode {
     private _dichoStartIntervalMaxSteps: number = 100;
 
+    /**
+     * résultat de Calc()/CalcSerie()
+     */
+    protected _result: Result;
+
     /*
      * paramétrage de la dichotomie
      */
@@ -36,17 +41,20 @@ export abstract class Nub extends ComputeNode {
             rInit = this._prms.map[sVarCalc].v;
         }
         if (this._prms.map[sVarCalc].isAnalytical()) {
-            return this.Equation(sVarCalc);
+            this._result = this.Equation(sVarCalc);
+            return this._result;
         }
 
         const resSolve: Result = this.Solve(sVarCalc, rInit, rPrec);
         if (!resSolve.ok) {
-            return resSolve;
+            this._result = resSolve;
+            return this._result;
         }
         const sAnalyticalPrm: string = this.getFirstAnalyticalParameter().symbol;
         this._prms.map[sVarCalc].v = resSolve.vCalc;
         const res: Result = this.Equation(sAnalyticalPrm);
         res.vCalc = resSolve.vCalc;
+        this._result = res;
         return res;
     }
 
@@ -71,4 +79,8 @@ export abstract class Nub extends ComputeNode {
         const target = this._prms.getFirstAnalyticalParameter();
         return dicho.Dichotomie(target.v, rPrec, rInit);
     }
+
+    public get result(): Result {
+        return this._result;
+    }
 }
-- 
GitLab