newsynth-0.2: Exact and approximate synthesis of quantum circuits

Safe HaskellNone



This module provides a type class Quadratic, for solving quadratic equations.



class Quadratic a whereSource

This type class provides a primitive method for solving quadratic equations. For many floating-point or fixed-precision representations of real numbers, using the usual "quadratic formula" results in a significant loss of precision. Instances of the Quadratic class should provide an efficient high-precision method when possible.


quadratic :: QRootTwo -> QRootTwo -> QRootTwo -> Maybe (a, a)Source

qroottwo_quadratic a b c: solve the quadratic equation ax² + bx + c = 0. Return the pair of solutions (x₁, x₂) with x₁ ≤ x₂, or Nothing if no solution exists. Note that the coefficients a, b, and c are taken to be of an exact type; therefore instances have the opportunity to work with infinite precision.