tiny-essentials
Version:
Collection of small, essential scripts designed to be used across various projects. These simple utilities are crafted for speed, ease of use, and versatility.
137 lines (119 loc) • 3.52 kB
JavaScript
;
/**
* Always returns 3 by summing the number three times and dividing once.
* Mathematically: (n + n + n) / n = 3
*
* @param {number} n - Any non-zero number.
* @returns {number} The constant value 3.
*/
function getTripleRatio(n) {
const sum = n + n + n;
const result = sum / n;
return result;
}
/**
* Sums the number 3 times and divides by itself.
* @param {number} n
* @returns {number} Always 3
*/
const tripleSumOverSelf = (n) => (n + n + n) / n;
/**
* Multiplies the number by 5 and divides by itself.
* @param {number} n
* @returns {number} Always 5
*/
const fiveTimesOverSelf = (n) => (5 * n) / n;
/**
* Performs linear operations that simplify to 3n/n.
* @param {number} n
* @returns {number} Always 3
*/
const mixedMultipliersToThree = (n) => (n * 7 - n * 4) / n;
/**
* Squares the number and divides by itself.
* @param {number} n
* @returns {number} Same as input n
*/
const squareOverSelf = (n) => (n * n) / n;
/**
* A long expression that simplifies to 3n / n.
* @param {number} n
* @returns {number} Always 3
*/
const complexToThree = (n) => (10 * n - 7 * n + 6 * n - 6 * n) / n;
/**
* Sums weighted values and divides by sum of weights.
* @param {number} n
* @returns {number} Always 3
*/
const weightedAverageToThree = (n) => (2 * n + 4 * n) / (n + n);
/**
* Simplifies to 3 regardless of n.
* @param {number} n
* @returns {number} Always 3
*/
const nestedMultiplicationToThree = (n) => (3 * (2 * n)) / (2 * n);
/**
* Adds three self-divisions.
* @param {number} n
* @returns {number} Always 3
*/
const repeatedDivisionSum = (n) => n / n + n / n + n / n;
/**
* Simplifies exponential division.
* @param {number} n
* @returns {number} Same as input n
*/
const cubicOverSquare = (n) => n ** 3 / n ** 2;
/**
* Multiplies and then uses modulus.
* @param {number} n
* @returns {number} Always 0
*/
const multipleModSelf = (n) => (n * 3) % n;
/**
* Expression that simplifies and divides by 1.
* @param {number} n
* @returns {number} Always 3
*/
const divideByOne = (n) => (3 * n) / n / 1;
/**
* Absolute value divided by itself.
* @param {number} n
* @returns {number} 1 if n > 0, -1 if n < 0, NaN if n = 0
*/
const absRatio = (n) => Math.abs(n) / n;
/**
* Returns minimum between fixed set and input.
* @param {number} n
* @returns {number} Always 3 if n ≥ 3
*/
const minClampToThree = (n) => Math.min(3, 5, 7, n);
/**
* Complex sum that simplifies to 1.
* @param {number} n
* @returns {number} Always 1
*/
const balancedReductionToOne = (n) => (3 * n - 2 * n + 6 * n - 6 * n) / n;
/**
* Weighted sum of multipliers simplifying to 3.
* @param {number} n
* @returns {number} Always 3
*/
const alternateSumToThree = (n) => (4 * n + 2 * n - 3 * n) / n;
exports.absRatio = absRatio;
exports.alternateSumToThree = alternateSumToThree;
exports.balancedReductionToOne = balancedReductionToOne;
exports.complexToThree = complexToThree;
exports.cubicOverSquare = cubicOverSquare;
exports.divideByOne = divideByOne;
exports.fiveTimesOverSelf = fiveTimesOverSelf;
exports.getTripleRatio = getTripleRatio;
exports.minClampToThree = minClampToThree;
exports.mixedMultipliersToThree = mixedMultipliersToThree;
exports.multipleModSelf = multipleModSelf;
exports.nestedMultiplicationToThree = nestedMultiplicationToThree;
exports.repeatedDivisionSum = repeatedDivisionSum;
exports.squareOverSelf = squareOverSelf;
exports.tripleSumOverSelf = tripleSumOverSelf;
exports.weightedAverageToThree = weightedAverageToThree;