diff --git a/README.md b/README.md index 0650278..48ce3bf 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,6 @@ Multicomplex numbers are a generalisation of complex numbers, recursively define ## TODO * FFT -* The comparison `exp(0im1) == 1.` throws a TypeError ## useful links (notes to self for development) diff --git a/src/base.jl b/src/base.jl index 7d7487d..6143fb0 100644 --- a/src/base.jl +++ b/src/base.jl @@ -78,7 +78,10 @@ const im6 = Multicomplex{6}(SVector{64,Int8}(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ############################ # cast real into defined multicomplex type: -Multicomplex{T,N,C}(x::Real) where {T<:Real,N,C} = Multicomplex(convert(T,x)) +# Multicomplex{T,N,C}(x::Real) where {T<:Real,N,C} = Multicomplex(convert(T,x)) +Multicomplex{T,0,1}(x::Real) where {T<:Real} = Multicomplex(convert(T,x)) +Multicomplex{T,N,C}(x::Real) where {T<:Real,N,C} = Multicomplex{T,N,C}(convert(Multicomplex{T,0,1},x)) + # cast complex into defined multicomplex type: Multicomplex{T,1,2}(z::Complex) where {T<:Real} = Multicomplex(reim(convert(Complex{T}, z))...) Multicomplex{T,N,C}(z::Complex) where {T<:Real,N,C} = Multicomplex{T,N,C}(convert(Multicomplex{T,1,2},z))