diff options
Diffstat (limited to 'src/complex.hs')
| -rw-r--r-- | src/complex.hs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/complex.hs b/src/complex.hs new file mode 100644 index 0000000..220fe1f --- /dev/null +++ b/src/complex.hs @@ -0,0 +1,17 @@ +module Complex where + +type Imaginary = Float + +data Complex = Complex Float Imaginary + +-- instance Num Complex where +-- (Complex r1 i1) + (Complex r2 i2) = Complex (r1 + r2) (i1 + i2) +-- (Complex r1 i1) * (Complex r2 i2) = undefined +-- negate (Complex r1 i1) = undefined +-- abs (Complex r1 i1) = undefined +-- signum (Complex r1 i1) = undefined + -- fromInteger r = Complex r 0 + +instance Show Complex where + show (Complex r i) = show r ++ showI ++ "i" + where showI = if i < 0 then " - " ++ show (-i) else " + " ++ show i |
