aboutsummaryrefslogtreecommitdiff
path: root/node_modules/miller-rabin/bin
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
commitde98e0b232509d5f40c135d540a70e415272ff85 (patch)
treea79222a5b58484ab3b80d18efcaaa7ccc4769b33 /node_modules/miller-rabin/bin
parente0c9d480a73fa629c1e4a47d3e721f1d2d345406 (diff)
downloadwallet-core-de98e0b232509d5f40c135d540a70e415272ff85.tar.xz
node_modules
Diffstat (limited to 'node_modules/miller-rabin/bin')
-rwxr-xr-xnode_modules/miller-rabin/bin/miller-rabin29
1 files changed, 29 insertions, 0 deletions
diff --git a/node_modules/miller-rabin/bin/miller-rabin b/node_modules/miller-rabin/bin/miller-rabin
new file mode 100755
index 000000000..2e18dfd53
--- /dev/null
+++ b/node_modules/miller-rabin/bin/miller-rabin
@@ -0,0 +1,29 @@
+#!/usr/bin/env node
+var bn = require('bn.js');
+var fs = require('fs');
+var mr = require('../').create();
+
+var num = '';
+if (process.argv[2]) {
+ num += fs.readFileSync(process.argv[2]);
+ start(num);
+} else {
+ process.stdin.on('data', function(chunk) {
+ num += chunk.toString().replace(/[^0-9a-f]/gi, '');
+ });
+ process.stdin.once('end', function() {
+ start(num);
+ });
+}
+
+function start(text) {
+ var num = new bn(text, 16);
+
+ var divisor = mr.getDivisor(num);
+ if (!divisor)
+ process.exit(1);
+ if (divisor.cmpn(1) === 0)
+ process.exit(0);
+
+ console.log(divisor.toString(16));
+}