enh(std) enhance standard library plugin with math functionalities

This commit is contained in:
Benjamin Wegener
2024-01-16 20:03:25 +00:00
parent f29b939bdf
commit 06964eaa05

View File

@@ -0,0 +1,60 @@
function inc(val, options = [1]) {
let [name, amount = 1, ..._rest] = options;
return {
varName: name,
new: val * 1 + amount * 1,
old: val * 1,
};
}
function dec(val, options = [1]) {
let [name, amount = 1, ..._rest] = options;
return {
varName: name,
new: val * 1 - amount * 1,
old: val * 1,
};
}
function mult(val, options = [1]) {
let [name, amount = 1, ..._rest] = options;
return {
varName: name,
new: val * 1 * amount * 1,
old: val * 1,
};
}
function div(val, options = [1]) {
let [name, amount = 1, ..._rest] = options;
return {
varName: name,
new: ((val * 1) / amount) * 1,
old: val * 1,
};
}
function pow(val, options = [1]) {
let [name, amount = 1, ..._rest] = options;
return {
varName: name,
new: Math.pow(val * 1, amount * 1),
old: val * 1,
};
}
const BasicArithmetic = new Map([
['increment', inc],
['increase', inc],
['inc', inc],
['decrement', dec],
['decrease', dec],
['dec', dec],
['multiply', mult],
['mult', mult],
['divide', div],
['div', div],
['pow', pow],
]);
export default new Map([...BasicArithmetic.entries()]);