diff --git a/types/src/number/complex.rs b/types/src/number/complex.rs new file mode 100644 index 0000000..ad2d5e1 --- /dev/null +++ b/types/src/number/complex.rs @@ -0,0 +1,19 @@ +/* types/src/number/complex.rs + * Eryn Wells + */ + +use number::Real; +use value::*; + +#[derive(Debug, PartialEq)] +pub struct Complex { + real: Real, + imag: Real +} + +impl IsBool for Complex { } +impl IsChar for Complex { } + +impl IsNumber for Complex { + fn is_complex(&self) -> bool { true } +} diff --git a/types/src/number/mod.rs b/types/src/number/mod.rs index 9265810..0233c47 100644 --- a/types/src/number/mod.rs +++ b/types/src/number/mod.rs @@ -7,9 +7,11 @@ /// Scheme numbers are complex, literally. pub mod real; +pub mod complex; mod add; pub use self::real::Real; +pub use self::complex::Complex; use std::any::Any; use std::fmt::Debug; @@ -46,14 +48,3 @@ impl ValueEq for Box { } fn as_any(&self) -> &Any { self } } - - -#[derive(Debug, PartialEq)] -struct Complex { - real: Real, - imag: Real -} - -impl IsNumber for Complex { - fn is_complex(&self) -> bool { true } -}