polynomial-0.6.5: src/Math/Polynomial/NumInstance.hs
{-# OPTIONS_GHC -fno-warn-orphans #-}
-- |This module exports a 'Num' instance for the 'Poly' type.
-- This instance does not implement all operations, because 'abs' and 'signum'
-- are simply not definable, so I have placed it into a separate module so
-- that I can make people read this caveat ;).
--
-- Use at your own risk.
module Math.Polynomial.NumInstance where
import Math.Polynomial
instance (Num a, Eq a) => Num (Poly a) where
fromInteger i = poly LE [fromInteger i]
(+) = addPoly
negate = negatePoly
(*) = multPoly
abs = error "abs cannot be defined for the Poly type"
signum = error "signum cannot be defined for the Poly type"