MCPcopy Create free account
hub / github.com/cxapython/catvm / tWVv

Function tWVv

geetest/test.js:735–800  ·  view source on GitHub ↗
(e, t, r)

Source from the content-addressed store, hash-verified

733 }
734
735 function tWVv(e, t, r) {
736 var n = e["abs"]();
737 if (n["t"] <= 0)
738 return;
739 var i = this["abs"]();
740 if (i["t"] < n["t"]) {
741 if (t != null)
742 t["fromInt"](0);
743 if (r != null)
744 this["copyTo"](r);
745 return;
746 }
747 if (r == null)
748 r = VGqq();
749 var o = VGqq()
750 , a = this["s"]
751 , s = e["s"];
752 var u = this["DB"] - kSca(n[n["t"] - 1]);
753 if (u > 0) {
754 n["lShiftTo"](u, o);
755 i["lShiftTo"](u, r);
756 } else {
757 n["copyTo"](o);
758 i["copyTo"](r);
759 }
760 var _ = o["t"];
761 var c = o[_ - 1];
762 if (c == 0)
763 return;
764 var f = c * (1 << this["F1"]) + (_ > 1 ? o[_ - 2] >> this["F2"] : 0);
765 var l = this["FV"] / f
766 , h = (1 << this["F1"]) / f
767 , v = 1 << this["F2"];
768 var d = r["t"]
769 , p = d - _
770 , g = t == null ? VGqq() : t;
771 o["dlShiftTo"](p, g);
772 if (r["compareTo"](g) >= 0) {
773 r[r["t"]++] = 1;
774 r["subTo"](g, r);
775 }
776 UoGV["ONE"]["dlShiftTo"](_, g);
777 g["subTo"](o, o);
778 while (o["t"] < _)
779 o[o["t"]++] = 0;
780 while (--p >= 0) {
781 var m = r[--d] == c ? this["DM"] : Math["floor"](r[d] * l + (r[d - 1] + v) * h);
782 if ((r[d] += o["am"](0, m, r, p, 0, _)) < m) {
783 o["dlShiftTo"](p, g);
784 r["subTo"](g, r);
785 while (r[d] < --m)
786 r["subTo"](g, r);
787 }
788 }
789 if (t != null) {
790 r["drShiftTo"](_, t);
791 if (a != s)
792 UoGV["ZERO"]["subTo"](t, t);

Callers

nothing calls this directly

Calls 2

VGqqFunction · 0.85
kScaFunction · 0.85

Tested by

no test coverage detected