A noFrills Quadratic Solver Sudipto Ghosh twitter logo github logo Jun 7・2 min read

Last week, I coded my first library in a programming language, glad it was JavaScript :)

Example Usage

Browser Import

<script>
console.log(qs.getVersion());
const rootsArr = qs.quadSolver(2, 5, -3);
rootsArr.map(root => console.log(`Root: \${root}`));
</script>

NodeJS Module

const { quadSolver, getVersion } = require("quadratic-solver");
console.log(getVersion());
const rootsArr = quadSolver(2, 5, -3);
rootsArr.map(root => console.log(`Root: \${root}`));

Methods

Arguments

• a: coefficent of the squared term.
• b: coefficient of the linear term.
• c: constant with its sign.

Return Value

• when both roots are real: Array with the roots of the equation.
• when only one root is real: Array wherein the first element is the real root and the other element is a warning.
• when both roots are imaginary: Array in which both elements are warnings.

Note: If a is equal to 0, quadSolverCitardauq() will be called automatically with the arguments as provided.

completeSquare(a, b, c)

Arguments

• a: coefficent of the squared term.
• b: coefficient of the linear term.
• c: constant with its sign.

Return Value

• when both roots are real: Array with the solutions for the equation.
• when both roots are imaginary: Array with both elements are in which both elements are NaN.

Arguments

Same as quadSolver(a, b, c).

Return Value

Same as quadSolver(a, b, c).

getVersion()

Arguments

No arguments are required.

Return Value

String containing name and version of the package in quadratic-solver v0.x.x format.

ES6 Classes

Solver(a, b, c)

Properties

• a: coefficent of the squared term; default: 2.
• b: coefficient of the linear term; default: 5.
• c: constant with its sign; default: -3.

Methods

• solve(): returns output of quadSolver() with properties of the instance.
• completeSquare(): returns output of completeSquare() with properties of the instance.
• versionMethod(): returns the output of getVersion().

MatrixSolver([[a, b, c], [d, e, f], ...])

Properties

• matrix: array of arrays containing the coefficients of the quadratic and linear terms, followed by the constant (in that order); default: [[2, 5, -3]].

Methods

• solveAll(): returns output of quadSolver() for each array in an array of arrays.
• completeSquareAll(): returns output of completeSquare() for each array in an array of arrays.
• versionMethod(): returns the output of getVersion().
DISCUSS dev.to now has dark mode.

Select night theme in the "misc" section of your settings ❤️

Classic DEV Post from Dec 22 '18

The 10 most popular dev.to posts of 2018  