zad 02,03 #37

Closed
s426159 wants to merge 14 commits from s426159/DALGLI0:master into master
Showing only changes of commit 9bf6d4721e - Show all commits

View File

@ -30,6 +30,50 @@ function add(p1, p2) {
}
exports.add = add;
function sub(p1, p2) {
let n;
if (p1.mod !== p2.mod) {
throw "different modulo"
} else {
n = p1.mod;
}
let len_p1 = p1.coefficients.length;
let len_p2 = p2.coefficients.length;
result = new Array(Math.max(len_p1, len_p2)).fill(0);
if (len_p1 > len_p2) {
for (let x = 0; x < len_p1 - len_p2; x++) p2.coefficients.push(0);
} else {
for (let x = 0; x < len_p2 - len_p1; x++) p1.coefficients.push(0);
}
for (let i = 0; i < result.length; i++) {
result[i] = (p1.coefficients[i] - p2.coefficients[i]) % n;
}
return new Polynomial(n, result);
}
exports.sub = sub;
function sub(p1, p2) {
let n;
if (p1.mod !== p2.mod) {
throw "different modulo"
} else {
n = p1.mod;
}
let len_p1 = p1.coefficients.length;
let len_p2 = p2.coefficients.length;
result = new Array(Math.max(len_p1, len_p2)).fill(0);
if (len_p1 > len_p2) {
for (let x = 0; x < len_p1 - len_p2; x++) p2.coefficients.push(0);
} else {
for (let x = 0; x < len_p2 - len_p1; x++) p1.coefficients.push(0);
}
for (let i = 0; i < result.length; i++) {
result[i] = (p1.coefficients[i] - p2.coefficients[i]) % n;
}
return new Polynomial(n, result);
}
exports.add = add;
function multiply(p1, p2) {
let n;
if (p1.mod !== p2.mod) {