|
73 | 73 | # methods to get the current default objects |
74 | 74 | # note: if you want to set a default for an abstract type (i.e. AbstractFloat) |
75 | 75 | # you'll need to extend this method like here: |
| 76 | + |
| 77 | +const ComplexInteger = Complex{<:Integer} |
| 78 | +const ComplexFloat = Complex{<:AbstractFloat} |
| 79 | +const ComplexRational = Complex{<:Rational} |
| 80 | + |
76 | 81 | default_spec(::Type{<:Integer}) = DEFAULT_FORMATTERS[Integer] |
77 | 82 | default_spec(::Type{<:AbstractFloat}) = DEFAULT_FORMATTERS[AbstractFloat] |
78 | 83 | default_spec(::Type{<:AbstractString}) = DEFAULT_FORMATTERS[AbstractString] |
79 | 84 | default_spec(::Type{<:AbstractChar}) = DEFAULT_FORMATTERS[AbstractChar] |
80 | 85 | default_spec(::Type{<:AbstractIrrational}) = DEFAULT_FORMATTERS[AbstractIrrational] |
81 | 86 | default_spec(::Type{<:Number}) = DEFAULT_FORMATTERS[Number] |
82 | | -default_spec(::Complex{T} where T<:Integer) = DEFAULT_FORMATTERS[Complex{T} where T<:Integer] |
83 | | -default_spec(::Complex{T} where T<:AbstractFloat) = DEFAULT_FORMATTERS[Complex{T} where T<:AbstractFloat] |
84 | | -default_spec(::Complex{T} where T<:Rational) = DEFAULT_FORMATTERS[Complex{T} where T<:Rational] |
| 87 | +default_spec(::ComplexInteger) = DEFAULT_FORMATTERS[ComplexInteger] |
| 88 | +default_spec(::ComplexFloat) = DEFAULT_FORMATTERS[ComplexFloat] |
| 89 | +default_spec(::ComplexRational) = DEFAULT_FORMATTERS[ComplexRational] |
85 | 90 |
|
86 | 91 | default_spec(::Type{T}) where {T} = |
87 | 92 | get(DEFAULT_FORMATTERS, T) do |
@@ -224,11 +229,12 @@ for (t, c) in [(Integer,'d'), |
224 | 229 | (AbstractFloat,'f'), |
225 | 230 | (AbstractChar,'c'), |
226 | 231 | (AbstractString,'s'), |
227 | | - (Complex{T} where T<:Integer, 'd' ), |
228 | | - (Complex{T} where T<:AbstractFloat, 'f' )] |
| 232 | + (ComplexInteger,'d'), |
| 233 | + (ComplexFloat,'f')] |
229 | 234 | default_spec!(t, c) |
230 | 235 | end |
231 | 236 |
|
232 | | -default_spec!(Number, 's', :right) |
| 237 | +default_spec!(Rational, 's', :right) |
233 | 238 | default_spec!(AbstractIrrational, 's', :right) |
234 | | -default_spec!(Complex{T} where T<:Rational, 's', :right) |
| 239 | +default_spec!(ComplexRational, 's', :right) |
| 240 | +default_spec!(Number, 's', :right) |
0 commit comments