X7ROOT File Manager
Current Path:
/lib/node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode
lib
/
node_modules
/
npm
/
node_modules
/
qrcode-terminal
/
vendor
/
QRCode
/
??
..
??
QR8bitByte.js
(382 B)
??
QRBitBuffer.js
(702 B)
??
QRErrorCorrectLevel.js
(54 B)
??
QRMaskPattern.js
(157 B)
??
QRMath.js
(673 B)
??
QRMode.js
(149 B)
??
QRPolynomial.js
(1.3 KB)
??
QRRSBlock.js
(5.43 KB)
??
QRUtil.js
(8.03 KB)
??
index.js
(10.42 KB)
Editing: QRPolynomial.js
var QRMath = require('./QRMath'); function QRPolynomial(num, shift) { if (num.length === undefined) { throw new Error(num.length + "/" + shift); } var offset = 0; while (offset < num.length && num[offset] === 0) { offset++; } this.num = new Array(num.length - offset + shift); for (var i = 0; i < num.length - offset; i++) { this.num[i] = num[i + offset]; } } QRPolynomial.prototype = { get : function(index) { return this.num[index]; }, getLength : function() { return this.num.length; }, multiply : function(e) { var num = new Array(this.getLength() + e.getLength() - 1); for (var i = 0; i < this.getLength(); i++) { for (var j = 0; j < e.getLength(); j++) { num[i + j] ^= QRMath.gexp(QRMath.glog(this.get(i) ) + QRMath.glog(e.get(j) ) ); } } return new QRPolynomial(num, 0); }, mod : function(e) { if (this.getLength() - e.getLength() < 0) { return this; } var ratio = QRMath.glog(this.get(0) ) - QRMath.glog(e.get(0) ); var num = new Array(this.getLength() ); for (var i = 0; i < this.getLength(); i++) { num[i] = this.get(i); } for (var x = 0; x < e.getLength(); x++) { num[x] ^= QRMath.gexp(QRMath.glog(e.get(x) ) + ratio); } // recursive call return new QRPolynomial(num, 0).mod(e); } }; module.exports = QRPolynomial;
Upload File
Create Folder