aureooms-js-integer
Version:
integer code bricks for JavaScript
28 lines (20 loc) • 2.19 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.__pow__ = __pow__;
/**
* Computes pow(a, b) using naive exponentiation.
*
*/
function __pow__(alloc, isnotzero, setone, iseven, div2, minus1) {
var pow = function pow(a, ai, aj, b, bi, bj, c, ci, cj) {
var t, m;
setone(c, ci, cj);
while (isnotzero(b, bi, bj)) {
mul(c, ci, cj, a, ai, aj, c, ci, cj);
minus1(b, bi, bj, b, bi, bj);
}
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy8wLWxlZ2FjeS9vdGhlcnMvcG93L3Bvdy5qcyJdLCJuYW1lcyI6WyJfX3Bvd19fIiwiYWxsb2MiLCJpc25vdHplcm8iLCJzZXRvbmUiLCJpc2V2ZW4iLCJkaXYyIiwibWludXMxIiwicG93IiwiYSIsImFpIiwiYWoiLCJiIiwiYmkiLCJiaiIsImMiLCJjaSIsImNqIiwidCIsIm0iLCJtdWwiXSwibWFwcGluZ3MiOiI7Ozs7O1FBS2dCQSxPLEdBQUFBLE87QUFMaEI7Ozs7O0FBS08sU0FBU0EsT0FBVCxDQUFrQkMsS0FBbEIsRUFBeUJDLFNBQXpCLEVBQW9DQyxNQUFwQyxFQUE0Q0MsTUFBNUMsRUFBb0RDLElBQXBELEVBQTBEQyxNQUExRCxFQUFrRTs7QUFFeEUsS0FBSUMsTUFBTSxTQUFOQSxHQUFNLENBQVVDLENBQVYsRUFBYUMsRUFBYixFQUFpQkMsRUFBakIsRUFBcUJDLENBQXJCLEVBQXdCQyxFQUF4QixFQUE0QkMsRUFBNUIsRUFBZ0NDLENBQWhDLEVBQW1DQyxFQUFuQyxFQUF1Q0MsRUFBdkMsRUFBMkM7O0FBRXBELE1BQUlDLENBQUosRUFBT0MsQ0FBUDs7QUFFQWYsU0FBT1csQ0FBUCxFQUFVQyxFQUFWLEVBQWNDLEVBQWQ7O0FBRUEsU0FBT2QsVUFBVVMsQ0FBVixFQUFhQyxFQUFiLEVBQWlCQyxFQUFqQixDQUFQLEVBQTZCOztBQUU1Qk0sT0FBSUwsQ0FBSixFQUFPQyxFQUFQLEVBQVdDLEVBQVgsRUFBZVIsQ0FBZixFQUFrQkMsRUFBbEIsRUFBc0JDLEVBQXRCLEVBQTBCSSxDQUExQixFQUE2QkMsRUFBN0IsRUFBaUNDLEVBQWpDOztBQUVBVixVQUFPSyxDQUFQLEVBQVVDLEVBQVYsRUFBY0MsRUFBZCxFQUFrQkYsQ0FBbEIsRUFBcUJDLEVBQXJCLEVBQXlCQyxFQUF6QjtBQUNBO0FBRUQsRUFiRDtBQWNBIiwiZmlsZSI6InBvdy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29tcHV0ZXMgcG93KGEsIGIpIHVzaW5nIG5haXZlIGV4cG9uZW50aWF0aW9uLlxuICpcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gX19wb3dfXyAoYWxsb2MsIGlzbm90emVybywgc2V0b25lLCBpc2V2ZW4sIGRpdjIsIG1pbnVzMSkge1xuXG5cdHZhciBwb3cgPSBmdW5jdGlvbiAoYSwgYWksIGFqLCBiLCBiaSwgYmosIGMsIGNpLCBjaikge1xuXG5cdFx0dmFyIHQsIG07XG5cblx0XHRzZXRvbmUoYywgY2ksIGNqKTtcblxuXHRcdHdoaWxlIChpc25vdHplcm8oYiwgYmksIGJqKSkge1xuXG5cdFx0XHRtdWwoYywgY2ksIGNqLCBhLCBhaSwgYWosIGMsIGNpLCBjaik7XG5cblx0XHRcdG1pbnVzMShiLCBiaSwgYmosIGIsIGJpLCBiaik7XG5cdFx0fVxuXG5cdH07XG59XG4iXX0=
;