A noFrills Quadratic Solver
Sudipto Ghosh ・2 min read
Last week, I coded my first library in a programming language, glad it was JavaScript :)
Link to my project: github.com/sudiptog81/quadraticsolver
Example Usage
Browser Import
<script src="https://unpkg.com/quadraticsolver"></script>
<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("quadraticsolver");
console.log(getVersion());
const rootsArr = quadSolver(2, 5, 3);
rootsArr.map(root => console.log(`Root: ${root}`));
Methods
quadSolver(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[2]
with the roots of the equation. 
when only one root is real:
Array[2]
wherein the first element is the real root and the other element is a warning. 
when both roots are imaginary:
Array[2]
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[2]
with the solutions for the equation. 
when both roots are imaginary:
Array[2]
with both elements are in which both elements areNaN
.
quadSolverCitardauq(a, b, c)
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 quadraticsolver 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()
.
Classic DEV Post from Sep 4 '18