[Haskell-beginners] Error with floats in implementation of Horner's method.
Andrew Fleckenstein
andrew.fleckenstein at gmail.com
Fri Dec 13 21:07:42 UTC 2013
And I have sent the email before it was finished, oops.
Evaluating at integer values works fine, but trying to do
*Main> let a = [-1,2,-6,2]
*Main> horner a 1.23
gives this error
<interactive>:4:10:
No instance for (Fractional Integer)
arising from the literal `1.23'
Possible fix: add an instance declaration for (Fractional Integer)
In the second argument of `horner', namely `1.23'
In the expression: horner a 1.23
In an equation for `it': it = horner a 1.23
I know it has something to do with types, but whenever I try to add a type
signature to the functions it just messes everything up even more. Any help
would be appreciated
Thanks,
Andrew
On Fri, Dec 13, 2013 at 4:03 PM, Andrew Fleckenstein <
andrew.fleckenstein at gmail.com> wrote:
> Hi all,
>
> I have implemented Horner's method for evaluating a polynomial as follows:
>
> -- the nth horner element, given a list of coefficients and a value at
> which it needs to be evaluated
>
> horner_element l x n
> | n == (length l)-1 = last l
> | otherwise = (l !! n) + (horner_element l x (n+1))*x
>
> -- compute a polynomial given as a list of coefficients at the value x
> using horner's method.
>
> horner l x = horner_element l x 0
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20131213/8ff10dfb/attachment.html>
More information about the Beginners
mailing list