From: Michael Orlitzky Date: Fri, 7 Dec 2018 15:22:48 +0000 (-0500) Subject: src/Polynomials/Orthogonal.hs: fix monomorphism restriction warnings. X-Git-Url: http://gitweb.michael.orlitzky.com/?p=numerical-analysis.git;a=commitdiff_plain;h=f7991d57e5eeae31a869dbef40bc1bc46b31552f src/Polynomials/Orthogonal.hs: fix monomorphism restriction warnings. --- diff --git a/src/Polynomials/Orthogonal.hs b/src/Polynomials/Orthogonal.hs index 8fb777f..13ffa99 100644 --- a/src/Polynomials/Orthogonal.hs +++ b/src/Polynomials/Orthogonal.hs @@ -1,3 +1,5 @@ +{-# LANGUAGE ScopedTypeVariables #-} + -- | The polynomials over [a,b] form a basis for L_2[a,b]. But often -- the \"obvious\" choice of a basis {1, x, x^2,...} is not -- convenient, because its elements are not orthogonal. @@ -63,7 +65,7 @@ import Prelude () -- >>> actual == expected -- True -- -legendre :: (RealField.C a) +legendre :: forall a. (RealField.C a) => Integer -- ^ The degree (i.e. the number of) the polynomial you want. -> a -- ^ The dependent variable @x@. -> a @@ -72,5 +74,5 @@ legendre 1 x = x legendre n x = (c1*x * (legendre (n-1) x) - c2*(legendre (n-2) x)) / (fromInteger n) where - c1 = fromInteger $ 2*n - 1 - c2 = fromInteger $ n - 1 + c1 = fromInteger $ 2*n - 1 :: a + c2 = fromInteger $ n - 1 :: a