PHP 8.2.31
Preview: QRPolynomial.js Size: 1.30 KB
/proc/self/root/proc/self/root/usr/lib/node_modules/npm/node_modules/qrcode-terminal/vendor/QRCode/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;

Directory Contents

Dirs: 0 × Files: 10

Name Size Perms Modified Actions
10.42 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
382 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
702 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
54 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
157 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
673 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
149 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
1.30 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
5.43 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
8.03 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).