Files
portfolio/node_modules/.cache/babel-loader/12e5932b25901721b9786d4cbe2923f8.json
2021-09-20 16:54:47 -04:00

1 line
9.4 KiB
JSON

{"ast":null,"code":"var bn = require('bn.js');\n\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\n\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8); // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n\n do var a = new bn(this.rand.generate(min_bytes)); while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n if (!k) k = Math.max(1, len / 48 | 0); // Find d and s, (n - 1) = (2 ^ s) * d;\n\n var n1 = n.subn(1);\n\n for (var s = 0; !n1.testn(s); s++) {}\n\n var d = n.shrn(s);\n var rn1 = n1.toRed(red);\n var prime = true;\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n if (cb) cb(a);\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0) continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n if (x.cmp(rone) === 0) return false;\n if (x.cmp(rn1) === 0) break;\n }\n\n if (i === s) return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n if (!k) k = Math.max(1, len / 48 | 0); // Find d and s, (n - 1) = (2 ^ s) * d;\n\n var n1 = n.subn(1);\n\n for (var s = 0; !n1.testn(s); s++) {}\n\n var d = n.shrn(s);\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0) return g;\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0) continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n if (x.cmp(rone) === 0) return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0) break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/miller-rabin/lib/mr.js"],"names":["bn","require","brorand","MillerRabin","rand","Rand","module","exports","create","prototype","_randbelow","n","len","bitLength","min_bytes","Math","ceil","a","generate","cmp","_randrange","start","stop","size","sub","add","test","k","cb","red","mont","rone","toRed","max","n1","subn","s","testn","d","shrn","rn1","prime","x","redPow","i","redSqr","getDivisor","g","gcd","cmpn","fromRed"],"mappings":"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","sourcesContent":["var bn = require('bn.js');\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n"]},"metadata":{},"sourceType":"script"}