aboutsummaryrefslogtreecommitdiff
path: root/src/complex.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/complex.hs')
-rw-r--r--src/complex.hs17
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