úÎ!%|$$     (c) 2019 Andrew LelechenkoBSD3/Andrew Lelechenko <andrew.lelechenko@gmail.com>None%Xg¹ poly&Polynomials backed by unboxed vectors.poly$Polynomials backed by boxed vectors.poly3Polynomials of one variable with coefficients from a, backed by a  v" (boxed, unboxed, storable, etc.). Use pattern  for construction:"(X + 1) + (X - 1) :: VPoly Integer 2 * X + 0(X + 1) * (X - 1) :: UPoly Int1 * X^2 + 0 * X + (-1)NPolynomials are stored normalized, without leading zero coefficients, so 0 *  + 1 equals to 1.W instance does not make much sense mathematically, it is defined only for the sake of , , etc.polyConvert M to a vector of coefficients (first element corresponds to a constant term).polyCreate an identity polynomial.polyCreate an identity polynomial.polyMake M from a list of coefficients (first element corresponds to a constant term).:set -XOverloadedListstoPoly [1,2,3] :: VPoly Integer3 * X^2 + 2 * X + 1toPoly [0,0,0] :: UPoly Int0polyGThis is just a proof of concept, which should be replaced by a proper  Euclidean interface.poly)Create a polynomial from a constant term.polyEvaluate at a given point.eval (X^2 + 1 :: UPoly Int) 310+eval (X^2 + 1 :: VPoly (UPoly Int)) (X + 1)1 * X^2 + 2 * X + 2polyTake a derivative. deriv (X^3 + 3 * X) :: UPoly Int3 * X^2 + 0 * X + 3 polyOCompute an indefinite integral of a polynomial, setting constant term to zero.<integral (constant 3.0 * X^2 + constant 3.0) :: UPoly Double%1.0 * X^3 + 0.0 * X^2 + 3.0 * X + 0.0 1(c) 2019 Andrew LelechenkoBSD3/Andrew Lelechenko <andrew.lelechenko@gmail.com>Noneg" polyCreate an identity polynomial. polyMake O from a vector of coefficients (first element corresponds to a constant term).:set -XOverloadedListstoPoly [1,2,3] :: VPoly Integer3 * X^2 + 2 * X + 1toPoly [0,0,0] :: UPoly Int0 poly)Create a polynomial from a constant term. polyEvaluate at a given point.eval (X^2 + 1 :: UPoly Int) 310+eval (X^2 + 1 :: VPoly (UPoly Int)) (X + 1)1 * X^2 + 2 * X + 2polyTake a derivative. deriv (X^3 + 3 * X) :: UPoly Int3 * X^2 + 0 * X + 3    (c) 2019 Andrew LelechenkoBSD3/Andrew Lelechenko <andrew.lelechenko@gmail.com>Noneg#Ð          #poly-0.2.0.0-HLoDdy1MobDDnR8icwaktwData.Poly.Semiring Data.PolyData.Poly.Uni.DenseData.SetSetData.MapMapUPolyVPolyPolyunPolyXtoPolyconstantevalderivintegral&vector-0.12.0.2-H1Eu1OCXL0L9y980iV8EwUData.Vector.Generic.BaseVectorghc-prim GHC.ClassesOrdX'quotRemtoPoly' constant'eval'deriv':*: