ライブラリの設計, 特徴, アルゴリズム - 自動生成ドキュメント - RSA暗号デモ
var x = Math.random.mt.res53() * Math.pow(2, 53); var y = Math.random.mt.res53() * Math.pow(2, 53); output.println("N:", x, "*", y, "=", x * y); x = Math.BigInt.valueOf(x); y = Math.BigInt.valueOf(y); output.println("A:", x, "*", y, "=", x.multiply(y));
実行
var x = Math.random.mt.res53() * Math.pow(2, 53); var y = Math.random.mt.res53() * Math.pow(2, 53); var z = Math.random.mt.res53() * Math.pow(2, 53); output.println("N:", "(", x, "*", y, ")", "/", z, "=", Math.floor(x * y / z), "...", x * y % z); x = Math.BigInt.valueOf(x); y = Math.BigInt.valueOf(y); z = Math.BigInt.valueOf(z); output.println("A:", "(", x, "*", y, ")", "/", z, "=", x.multiply(y).divide(z), "...", x.multiply(y).remainder(z));
var x = Math.random.mt.int32() * 2 + 1; x = Math.BigInt.valueOf(x); output.println(x, "is", x.isProbablePrime(10) ? "probably prime" : "composite");
var x = 10000; // start x = Math.BigInt.valueOf(x); for (var i = 30; i > 0; --i) { output.println(x = x.nextProbablePrime()); }
非同期実行 ( Firefox のみサポート )
var x = 1000000; // start x = Math.BigInt.valueOf(x); var i = Math.BigInt.iterable.nextProbablePrime(x, 200); output.println('started'); (function(){ x = i.next(); if (x) { output.println(x); i = Math.BigInt.iterable.nextProbablePrime(x, 200); } if (control.stopped()) { output.println('stopped'); } else { setTimeout(arguments.callee, 5); } })();
実行 停止
var len = 32; // bit length output.println(Math.BigInt.probablePrime(len, Math.random));
var len = 1024; // bit length var i = Math.BigInt.iterable.probablePrime(len, Math.random); output.println('started', new Date()); (function(){ var x = i.next(); if (x) { output.println(x, new Date()); } else if (control.stopped()) { output.println('stopped'); } else { setTimeout(arguments.callee, 5); } })();