Fix #5654 - roojspacker - get it working as a doc tool...
[roojs1] / docs.old / symbols / src / Roo_util_Math.js.html
diff --git a/docs.old/symbols/src/Roo_util_Math.js.html b/docs.old/symbols/src/Roo_util_Math.js.html
new file mode 100644 (file)
index 0000000..6d0b743
--- /dev/null
@@ -0,0 +1,354 @@
+<html><head><title>../roojs1/Roo/util/Math.js</title><link rel="stylesheet" type="text/css" href="../../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">//&lt;script type=&quot;text/javascript&quot;&gt;
+</span><span class="jsdoc-var">Roo </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">Roo </span><span class="jsdoc-syntax">:  { </span><span class="jsdoc-var">util </span><span class="jsdoc-syntax">: { }};
+
+</span><span class="jsdoc-comment">/**
+//+ based on.. Jonas Raoni Soares Silva
+//@ http://jsfromhell.com/classes/bignumber [rev. #4]
+**/
+
+
+/**
+ * @class Roo.util.Math
+ *  based on.. Jonas Raoni Soares Silva
+ *  http://jsfromhell.com/classes/bignumber [rev. #4]
+ * @constructor
+ * @param {Object|Number} number to wrap
+ * @param {number} precision to use when doing calculations
+ * @param {number} rounding type.
+ */
+
+</span><span class="jsdoc-var">Roo.util.Math </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">num</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">roundType</span><span class="jsdoc-syntax">){
+    </span><span class="jsdoc-var">this.ctor</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">num</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">roundType</span><span class="jsdoc-syntax">);
+};
+
+</span><span class="jsdoc-var">Roo.util.Math.ROUND_HALF_EVEN </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">Roo.util.Math.ROUND_HALF_DOWN </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">Roo.util.Math.ROUND_HALF_UP </span><span class="jsdoc-syntax">=
+    (</span><span class="jsdoc-var">Roo.util.Math.ROUND_FLOOR </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">Roo.util.Math.ROUND_CEIL </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">Roo.util.Math.ROUND_DOWN 
+    </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">Roo.util.Math.ROUND_UP </span><span class="jsdoc-syntax">= 0) + 1) + 1) + 1) + 1) + 1) + 1;
+    
+</span><span class="jsdoc-var">Roo.util.Math.defaultPrecision </span><span class="jsdoc-syntax">= 40;
+</span><span class="jsdoc-var">Roo.util.Math.defaultRoundType </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.util.Math.ROUND_HALF_UP</span><span class="jsdoc-syntax">;
+
+    
+</span><span class="jsdoc-var">Roo.util.Math.prototype </span><span class="jsdoc-syntax">= {
+    </span><span class="jsdoc-var">_s </span><span class="jsdoc-syntax">: 0,
+    </span><span class="jsdoc-var">_f </span><span class="jsdoc-syntax">: 0,
+    </span><span class="jsdoc-var">roundType </span><span class="jsdoc-syntax">: 0,
+    </span><span class="jsdoc-var">precision </span><span class="jsdoc-syntax">: 0,
+    
+    </span><span class="jsdoc-comment">//private
+    </span><span class="jsdoc-var">ctor </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">num</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">roundType</span><span class="jsdoc-syntax">) {
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">num </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">){
+            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-keyword">in </span><span class="jsdoc-syntax">{</span><span class="jsdoc-var">precision</span><span class="jsdoc-syntax">: 0, </span><span class="jsdoc-var">roundType</span><span class="jsdoc-syntax">: 0, </span><span class="jsdoc-var">_s</span><span class="jsdoc-syntax">: 0, </span><span class="jsdoc-var">_f</span><span class="jsdoc-syntax">: 0}) </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">num</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
+            </span><span class="jsdoc-var">this._d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">num._d.slice</span><span class="jsdoc-syntax">();
+            </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+        }
+        
+        </span><span class="jsdoc-var">this.precision </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">isNaN</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">precision </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.abs</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">precision</span><span class="jsdoc-syntax">)) ? </span><span class="jsdoc-var">Roo.util.Math.defaultPrecision </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">precision</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-var">this.roundType </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">isNaN</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.abs</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">roundType</span><span class="jsdoc-syntax">)) ? </span><span class="jsdoc-var">Roo.util.Math.defaultRoundType </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">roundType</span><span class="jsdoc-syntax">;
+        
+        </span><span class="jsdoc-var">this._s </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">num </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.charAt</span><span class="jsdoc-syntax">(0) == </span><span class="jsdoc-string">&quot;-&quot;</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-var">this._f </span><span class="jsdoc-syntax">= (
+                (</span><span class="jsdoc-var">num </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">num.replace</span><span class="jsdoc-syntax">(/[^\d.]/g, </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;.&quot;</span><span class="jsdoc-syntax">, 2))[0] = </span><span class="jsdoc-var">num</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(/^0+/, </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-string">&quot;0&quot;
+            </span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">num </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this._d </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">num.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-string">&quot;0&quot;</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">))</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">num</span><span class="jsdoc-syntax">[--</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = +</span><span class="jsdoc-var">num</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
+        </span><span class="jsdoc-var">this.round</span><span class="jsdoc-syntax">();
+    },
+</span><span class="jsdoc-comment">/**
+ * Add number
+ * @param {Object|Number} value to add
+ * @return {Object} The result
+ */
+    </span><span class="jsdoc-var">add </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">num</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-var">num </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">num</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">);
+        
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this._s </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">num._s</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-comment">//netagive...
+            </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">num._s </span><span class="jsdoc-syntax">^= 1, </span><span class="jsdoc-var">this.subtract</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">num</span><span class="jsdoc-syntax">);
+        }
+        
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">), 
+            </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o._d</span><span class="jsdoc-syntax">, 
+            </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">num._d</span><span class="jsdoc-syntax">, 
+            </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o._f</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">num._f</span><span class="jsdoc-syntax">, 
+            </span><span class="jsdoc-var">num </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">la</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">), 
+            </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">;
+        
+        </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">&amp;&amp; ((</span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">) &gt; 0 ? </span><span class="jsdoc-var">o._zeroes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">, 1) : </span><span class="jsdoc-var">o._zeroes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, -</span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">, 1));
+        </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a.length</span><span class="jsdoc-syntax">) == (</span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b.length</span><span class="jsdoc-syntax">) ?
+                </span><span class="jsdoc-var">a.length </span><span class="jsdoc-syntax">: (
+                    (</span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">) &gt; 0 ? </span><span class="jsdoc-var">o._zeroes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">o._zeroes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, -</span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">)
+                )</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">;
+                
+        </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">; 
+            </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[--</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] + </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] + </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">) / 10 &gt;&gt;&gt; 0, 
+            </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] %= 10
+        );
+        </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">&amp;&amp; ++</span><span class="jsdoc-var">num </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">a.unshift</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">o._f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">num</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">o.round</span><span class="jsdoc-syntax">();
+         
+    },
+    
+</span><span class="jsdoc-comment">/**
+ * Subtract number
+ * @param {Object|Number} value to subtract
+ * @return {Object} The result
+ */
+    
+    </span><span class="jsdoc-var">subtract </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">){
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this._s </span><span class="jsdoc-syntax">!= (</span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">))</span><span class="jsdoc-var">._s</span><span class="jsdoc-syntax">)
+            </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">n._s </span><span class="jsdoc-syntax">^= 1, </span><span class="jsdoc-var">this.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.abs</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.compare</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.abs</span><span class="jsdoc-syntax">()) + 1, </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a._f</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b._f</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">la</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a._d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b._d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">&amp;&amp; ((</span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">) &gt; 0 ? </span><span class="jsdoc-var">o._zeroes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">, 1) : </span><span class="jsdoc-var">o._zeroes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, -</span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">, 1));
+        </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a.length</span><span class="jsdoc-syntax">) == (</span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b.length</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-var">a.length </span><span class="jsdoc-syntax">: ((</span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">) &gt; 0 ? </span><span class="jsdoc-var">o._zeroes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">o._zeroes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, -</span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">))</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">;){
+            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[--</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] &lt; </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]){
+                </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[--</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">]; </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">] = 9);
+                --</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] += 10;
+            }
+            </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] - </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
+        }
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">o._s </span><span class="jsdoc-syntax">^= 1), </span><span class="jsdoc-var">o._f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o._d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o.round</span><span class="jsdoc-syntax">();
+    },
+    
+    
+</span><span class="jsdoc-comment">/**
+ * Mulitply number
+ * @param {Object|Number} value to mutiply
+ * @return {Object} The result
+ */    
+    </span><span class="jsdoc-var">multiply </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">), 
+            </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o._d.length </span><span class="jsdoc-syntax">&gt;= (</span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">))</span><span class="jsdoc-var">._d.length</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">._d</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">._d</span><span class="jsdoc-syntax">, 
+            </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a.length</span><span class="jsdoc-syntax">, 
+            </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b.length</span><span class="jsdoc-syntax">, 
+            </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(0,</span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">), 
+            </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">;
+            
+        </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">;   </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">; 
+                </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">s.unshift</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">), 
+                </span><span class="jsdoc-var">x.set</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">x.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">)))
+        ) {
+            
+            </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Array</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">- --</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">))</span><span class="jsdoc-var">.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;0&quot;</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">); </span><span class="jsdoc-comment">// pads 000...
+            </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">la</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= 0 ; </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[--</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">] * </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">s.unshift</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">% 10), </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">/ 10) &gt;&gt;&gt; 0);
+            
+          </span><span class="jsdoc-comment">//  console.log(s);
+        </span><span class="jsdoc-syntax">}
+        
+       </span><span class="jsdoc-comment">// console.log(o);
+        
+        </span><span class="jsdoc-var">o._s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o._s </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">n._s</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-var">o._f </span><span class="jsdoc-syntax">= (
+                    (</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">o._f </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">n._f</span><span class="jsdoc-syntax">) &gt;= (</span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">o._d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">x._d</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">) ? 
+                        </span><span class="jsdoc-var">this._zeroes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o._d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">+ 1, 1)</span><span class="jsdoc-var">.length </span><span class="jsdoc-syntax">: 
+                        </span><span class="jsdoc-var">j
+            </span><span class="jsdoc-syntax">) - </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">; 
+            
+        </span><span class="jsdoc-keyword">return  </span><span class="jsdoc-var">o.round</span><span class="jsdoc-syntax">();
+    },
+    
+    </span><span class="jsdoc-var">divide </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">){
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">)) == </span><span class="jsdoc-string">&quot;0&quot;</span><span class="jsdoc-syntax">)
+            </span><span class="jsdoc-keyword">throw new </span><span class="jsdoc-var">Error</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;Division by 0&quot;</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;0&quot;</span><span class="jsdoc-syntax">)
+            </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o._d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n._d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a.length </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">o._f</span><span class="jsdoc-syntax">,
+        </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b.length </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">n._f</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= 1, </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">e </span><span class="jsdoc-syntax">= 0;
+        </span><span class="jsdoc-var">r._s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o._s </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">n._s</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r.precision </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">n.precision</span><span class="jsdoc-syntax">),
+        </span><span class="jsdoc-var">r._f </span><span class="jsdoc-syntax">= +</span><span class="jsdoc-var">r._d.pop</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">o._zeroes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Math.abs</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">));
+        </span><span class="jsdoc-var">n._f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b.length</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b._s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b.round</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">); </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[0] == </span><span class="jsdoc-string">&quot;0&quot;</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">a.shift</span><span class="jsdoc-syntax">());
+        </span><span class="jsdoc-var">out</span><span class="jsdoc-syntax">:
+        </span><span class="jsdoc-keyword">do</span><span class="jsdoc-syntax">{
+            </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;0&quot; </span><span class="jsdoc-syntax">&amp;&amp; (</span><span class="jsdoc-var">n._d </span><span class="jsdoc-syntax">= [], </span><span class="jsdoc-var">n._f </span><span class="jsdoc-syntax">= 0); </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">a.length </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">n.compare</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) == -1; ++</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">){
+                (</span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">+ 1 == </span><span class="jsdoc-var">a.length</span><span class="jsdoc-syntax">, (!</span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">&amp;&amp; ++</span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">&gt; 1 || (</span><span class="jsdoc-var">e </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;0&quot; </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] == </span><span class="jsdoc-string">&quot;0&quot;</span><span class="jsdoc-syntax">)))
+                &amp;&amp; (</span><span class="jsdoc-var">r._f </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">r._d.length </span><span class="jsdoc-syntax">&amp;&amp; ++</span><span class="jsdoc-var">r._f</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r._d.push</span><span class="jsdoc-syntax">(0));
+                (</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] == </span><span class="jsdoc-string">&quot;0&quot; </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;0&quot;</span><span class="jsdoc-syntax">) || (</span><span class="jsdoc-var">n._d.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]), ++</span><span class="jsdoc-var">n._f</span><span class="jsdoc-syntax">);
+                </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)
+                    </span><span class="jsdoc-keyword">break </span><span class="jsdoc-var">out</span><span class="jsdoc-syntax">;
+                </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">n.compare</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) == -1 &amp;&amp; (</span><span class="jsdoc-var">r._f </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">r._d.length </span><span class="jsdoc-syntax">&amp;&amp; ++</span><span class="jsdoc-var">r._f</span><span class="jsdoc-syntax">, 1)) || (</span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= 0))
+                    </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r._d.push</span><span class="jsdoc-syntax">(0), </span><span class="jsdoc-var">n._d.push</span><span class="jsdoc-syntax">(0), ++</span><span class="jsdoc-var">n._f</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">n.compare</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) == -1);
+            }
+            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">n.compare</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) == -1 &amp;&amp; !(</span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= 0))
+                </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">r._d.push</span><span class="jsdoc-syntax">(0) : </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= 1, </span><span class="jsdoc-var">n._d.push</span><span class="jsdoc-syntax">(0), ++</span><span class="jsdoc-var">n._f</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">n.compare</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) == -1);
+            </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">n.compare</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">s.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">)) + 1 &amp;&amp; ++</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">s.set</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">y</span><span class="jsdoc-syntax">));
+            </span><span class="jsdoc-var">n.set</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.subtract</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">)), !</span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">r._f </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">r._d.length </span><span class="jsdoc-syntax">&amp;&amp; ++</span><span class="jsdoc-var">r._f</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r._d.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">);
+        }
+        </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">a.length </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">&quot;0&quot;</span><span class="jsdoc-syntax">) &amp;&amp; (</span><span class="jsdoc-var">r._d.length </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">r._f</span><span class="jsdoc-syntax">) &lt;= </span><span class="jsdoc-var">r.precision</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">r.round</span><span class="jsdoc-syntax">();
+    },
+        
+</span><span class="jsdoc-comment">/**
+ * Modulus number
+ * @param {Object|Number} value to modulus by
+ * @return {Object} The result
+ */    
+    
+    </span><span class="jsdoc-var">mod </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">){
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.subtract</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.divide</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.intPart</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.multiply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">));
+    },
+    
+</span><span class="jsdoc-comment">/**
+ * To Power number
+ * @param {Object|Number} value to power by
+ * @return {Object} The result
+ */        
+    </span><span class="jsdoc-var">pow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">){
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">))</span><span class="jsdoc-var">.intPart</span><span class="jsdoc-syntax">()) == 0) </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">o.set</span><span class="jsdoc-syntax">(1);
+        </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.abs</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">); --</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">o.set</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.multiply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">)));
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">&lt; 0 ? </span><span class="jsdoc-var">o.set</span><span class="jsdoc-syntax">((</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(1, </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">))</span><span class="jsdoc-var">.divide</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">)) : </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
+    },
+    </span><span class="jsdoc-comment">/**
+ * Set number
+ * @param {Object|Number} value to set object to
+ * @return {Object} This
+ */    
+    
+    </span><span class="jsdoc-var">set </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">)
+    {
+        </span><span class="jsdoc-var">this.ctor</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
+    },
+</span><span class="jsdoc-comment">/**
+ * Compare number
+ * @param {Object|Number} value to compare to
+ * @return {boolean} true if the same
+ */        
+    
+    </span><span class="jsdoc-var">compare </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">){
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this._f</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b._f</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= [-1, 1], </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a._s </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">b._s</span><span class="jsdoc-syntax">)
+            </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">a._s </span><span class="jsdoc-syntax">? -1 : 1;
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">)
+            </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">[(</span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">) ^ </span><span class="jsdoc-var">a._s</span><span class="jsdoc-syntax">];
+        </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a._d</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b._d</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= -1, </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">la</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">); ++</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">;)
+            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] != </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">])
+                </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">[(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] &gt; </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]) ^ </span><span class="jsdoc-var">a._s</span><span class="jsdoc-syntax">];
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">[(</span><span class="jsdoc-var">la </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">) ^ </span><span class="jsdoc-var">a._s</span><span class="jsdoc-syntax">] : 0;
+    },
+</span><span class="jsdoc-comment">/**
+ * negate number 
+ * @return {Object} the result
+ */            
+    </span><span class="jsdoc-var">negate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">); 
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">n._s </span><span class="jsdoc-syntax">^= 1, </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">;
+    },
+</span><span class="jsdoc-comment">/**
+ * abs number 
+ * @return {Object} the result
+ */                
+    </span><span class="jsdoc-var">abs </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">n._s </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">;
+    },
+</span><span class="jsdoc-comment">/**
+ * integer part of number
+ * @return {Object} the result
+ */        
+    </span><span class="jsdoc-var">intPart </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+        </span><span class="jsdoc-keyword">return new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">this._s </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">&quot;-&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.precision</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">) + (</span><span class="jsdoc-var">this._d.slice</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">this._f</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-string">&quot;0&quot;</span><span class="jsdoc-syntax">));
+    },
+</span><span class="jsdoc-comment">/**
+ * value of thenumber
+ * @return {String} the result
+ */        
+    </span><span class="jsdoc-var">valueOf </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.toString</span><span class="jsdoc-syntax">();
+    },
+</span><span class="jsdoc-comment">/**
+ * value of the number
+ * @return {String} the result
+ */            
+    </span><span class="jsdoc-var">toString </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o._s </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">&quot;-&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">) + (</span><span class="jsdoc-var">o._d.slice</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">o._f</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-string">&quot;0&quot;</span><span class="jsdoc-syntax">) + (</span><span class="jsdoc-var">o._f </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">o._d.length </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">&quot;.&quot; </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">o._d.slice</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o._f</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">);
+    },
+</span><span class="jsdoc-comment">/**
+ * value of the number at a fixed precission
+ * @return {String} the result
+ */                
+    </span><span class="jsdoc-var">toFixed </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">) {
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-var">n.precision </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ret</span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.round</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.toString</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lr </span><span class="jsdoc-syntax">=</span><span class="jsdoc-var">ret.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.'</span><span class="jsdoc-syntax">);
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">lr.shift</span><span class="jsdoc-syntax">();
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">) {
+            </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">;
+        }
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">lr.length </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">lr</span><span class="jsdoc-syntax">[0] : </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">r.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
+            </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">'0'</span><span class="jsdoc-syntax">;
+        }
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'.'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">;
+        
+    },
+    </span><span class="jsdoc-comment">//private
+    </span><span class="jsdoc-var">_zeroes </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">){
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-string">&quot;push&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;unshift&quot;</span><span class="jsdoc-syntax">][</span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">|| 0];
+        </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(++</span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">; --</span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">;  </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">](0));
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">;
+    },
+    </span><span class="jsdoc-comment">//private    
+    </span><span class="jsdoc-var">round </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
+    {
+        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">m </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.util.Math</span><span class="jsdoc-syntax">;
+        
+        </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m._rounding</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// stop recursion..
+        </span><span class="jsdoc-var">m._rounding </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+        
+        </span><span class="jsdoc-keyword">var   </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.roundType</span><span class="jsdoc-syntax">,
+            </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this._d</span><span class="jsdoc-syntax">, 
+            </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">;
+        </span><span class="jsdoc-comment">//console.log(b.join(','));    
+        </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">this._f </span><span class="jsdoc-syntax">&gt; 1 &amp;&amp; !</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[0]) {
+            --</span><span class="jsdoc-var">this._f</span><span class="jsdoc-syntax">;
+            </span><span class="jsdoc-var">b.shift</span><span class="jsdoc-syntax">();
+        }
+        </span><span class="jsdoc-comment">//console.log(b.join(','));    
+        </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this._f</span><span class="jsdoc-syntax">, 
+            </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.precision </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, 
+            </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">];
+            
+            </span><span class="jsdoc-var">b.length </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">b.length </span><span class="jsdoc-syntax">-1]; </span><span class="jsdoc-comment">// condition... 
+         
+            </span><span class="jsdoc-var">b.pop</span><span class="jsdoc-syntax">()
+        );
+            
+         </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">this._s </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">&quot;-&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">) + (</span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">&quot;0.&quot; </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this._zeroes</span><span class="jsdoc-syntax">([], </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">- 1)</span><span class="jsdoc-var">.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">) + 1;
+        
+       
+         
+        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b.length </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) {
+        </span><span class="jsdoc-comment">//if(b.length &gt; p &amp;&amp; n){
+            //console.log(&quot;rounding&quot; +n + &quot; Method? &quot; + r);
+            </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(
+                (</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">m.ROUND_UP</span><span class="jsdoc-syntax">) ||
+                (</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">m.ROUND_CEIL </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">this._s</span><span class="jsdoc-syntax">) ||
+                (</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">m.ROUND_FLOOR </span><span class="jsdoc-syntax">&amp;&amp;  </span><span class="jsdoc-var">this._s</span><span class="jsdoc-syntax">) ||
+                (</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">m.ROUND_HALF_UP </span><span class="jsdoc-syntax">&amp;&amp;   </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">&gt;= 5) ||
+                (</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">m.ROUND_HALF_DOWN </span><span class="jsdoc-syntax">&amp;&amp;  </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">&gt; 5)  ||
+                (</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">m.ROUND_HALF_EVEN </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">&gt;= 5 &amp;&amp; (</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">- 1] &amp; 1))
+               ) {
+                </span><span class="jsdoc-comment">//console.log(&quot;add&quot; +x);
+               // this.precision++;
+                </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ret </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">);
+                </span><span class="jsdoc-var">this._d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ret._d</span><span class="jsdoc-syntax">;
+                </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">=</span><span class="jsdoc-var">ret._d</span><span class="jsdoc-syntax">;
+                </span><span class="jsdoc-comment">//this.precision--;
+            </span><span class="jsdoc-syntax">}
+
+            </span><span class="jsdoc-var">b.splice</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b.length </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">);
+        }
+        </span><span class="jsdoc-keyword">return delete </span><span class="jsdoc-var">m._rounding</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
+    }
+};</span></code></body></html>
\ No newline at end of file