Eric Wang
Eric Wang

Reputation: 95

Haskell quadratic equation root

Haskell program which shows the two roots and in the case that the equation has no real roots or has all values as roots should return zero.

functionRoot :: Float -> Float -> Float -> (Float,Float)        
functionRoot a b c = if d < 0 then error "0" else (x, y)
                        where x = e + sqrt d / (2 * a)
                        y = e - sqrt d / (2 * a)
                        d = b * b - 4 * a * c
                        e = - b / (2 * a)

ERROR: file:.\roots.hs:4 - Syntax error in input (unexpected symbol "y") any thought?

Upvotes: 4

Views: 7800

Answers (1)

Cat Plus Plus
Cat Plus Plus

Reputation: 129814

You need to indent definitions under where further.

functionRoot a b c = if d < 0 then error "0" else (x, y)
                        where
                          x = e + sqrt d / (2 * a)
                          y = e - sqrt d / (2 * a)
                          d = b * b - 4 * a * c
                          e = - b / (2 * a)

Upvotes: 8

Related Questions