DEV Community

Sudipto Ghosh
Sudipto Ghosh

Posted on

A noFrills Quadratic Solver

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

Link to my project: github.com/sudiptog81/quadratic-solver

Example Usage

Browser Import

<script src="https://unpkg.com/quadratic-solver"></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("quadratic-solver");
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 are NaN.

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 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().

Top comments (0)