summaryrefslogtreecommitdiffstats
path: root/node_modules/miller-rabin/bin
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/miller-rabin/bin
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
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 0000000..2e18dfd
--- /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));
+}