/** * Returns the evaluation of a polynomial function at a certain point. * Uses straightforward approach with powers. * * @param {number[]} coefficients - i.e. [4, 3, 2] for (4 * x^2 + 3 * x + 2) * @param {number} xVal * @return {number} */ export default function classicPolynome(coefficients, xVal) { return coefficients.reverse().reduce( (accumulator, currentCoefficient, index) => { return accumulator + currentCoefficient * (xVal ** index); }, 0, ); }