LTS Haskell 16.19: 0.1.1 Stackage Nightly 2020-10-20: 0.1.1 Latest on Hackage: 0.1.1

See all snapshots `quadratic-irrational` appears in

Maintained by

#### Module documentation for 0.1.1

This version can be pinned in stack with:`quadratic-irrational-0.1.1@sha256:9916c73b23486559f8b85537a50554e573ad1e90dd95048588a97d198332d404,3505`

# `quadratic-irrational`

A library for exact computation with quadratic irrationals with support for exact conversion from and to (potentially periodic) simple continued fractions.

A quadratic irrational is a number that can be expressed in the form

``````(a + b √c) / d
``````

where `a`, `b` and `d` are integers and `c` is a square-free natural number.

Some examples of such numbers are

• `7/2`,

• `√2`,

• `(1 + √5)/2` (the golden ratio),

• solutions to quadratic equations with rational constants – the quadratic formula has a familiar shape.

A simple continued fraction is a number in the form

``````a + 1/(b + 1/(c + 1/(d + 1/(e + …))))
``````

or alternatively written as

``````[a; b, c, d, e, …]
``````

where `a` is an integer and `b`, `c`, `d`, `e`, … are positive integers.

Every finite SCF represents a rational number and every infinite, periodic SCF represents a quadratic irrational.

``````3.5      = [3; 2]
(1+√5)/2 = [1; 1, 1, 1, …]
√2       = [1; 2, 2, 2, …]
``````

# 0.1.1 (2020-04-15)

• Support `arithmoi-0.11`.

# 0.1.0 (2019-04-26)

• Allow imaginary square roots, e. g., `qi 1 1 (-5) 1`.
• Remove `Ord QI` instance: complex values cannot be ordered.
• Roots of 0 are reduced: `qi a b 0 d` becomes `qi a 0 2 d`.
• Remove `qiZero` and `qiOne`.

# 0.0.6 (2018-08-29)

• Support GHC up to 8.6.1.

# 0.0.5 (2014-03-28)

• Add an `Ord` instance.

# 0.0.4 (2014-03-27)

• Make the description more precise.
• Add continuedFractionApproximate for rational partial evaluations of continued fractions.

# 0.0.3 (2014-03-26)

• Add a more verbose description of the library.

# 0.0.2 (2014-03-25)

• Fix qiModify potentially constructing `qi 1 0 5 1` instead of the equivalent but simpler `qi 1 0 0 1`.