This repository has been archived on 2024-07-27. You can view files and clone it, but cannot push or open issues or pull requests.
keksAccountGUI/node_modulesOLD/miller-rabin/bin/miller-rabin

30 lines
599 B
Text
Raw Normal View History

2019-08-11 18:48:02 +00:00
#!/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));
}