summaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs34
1 files changed, 1 insertions, 33 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 1f29a24..3987f3d 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,33 +1 @@
-#[derive(Debug, Clone, Copy, PartialEq, Eq)]
-pub struct Complex<T> {
- real: T,
- imag: T
-}
-
-impl<T: Clone> Complex<T> {
- fn new(real: T, imag: T) -> Complex<T> {
- Complex{real: real, imag: imag}
- }
-}
-
-impl<T> std::ops::Add for Complex<T> where T: std::ops::Add<Output=T> + Copy {
- type Output = Complex<T>;
-
- fn add(self, other: Self) -> Self {
- let real = self.real + other.real;
- let imag = self.imag + other.imag;
- Complex::new(real, imag)
- }
-}
-
-#[cfg(test)]
-mod tests {
- use super::*;
- #[test]
- fn addition() {
- let a = Complex::new(1, 5);
- let b = Complex::new(-3, 2);
- assert_eq!(a+b, Complex::new(-2, 7));
- }
-}
-
+pub mod complex;