|
83 | 83 | @inline ustrip(A::QuantityArray) = A.value
|
84 | 84 | @inline dimension(A::QuantityArray) = A.dimensions
|
85 | 85 |
|
86 |
| -array_type(::Type{QuantityArray}) = Array{DEFAULT_VALUE_TYPE,N} where {N} |
87 |
| -array_type(::Type{QuantityArray{T}}) where {T} = Array{T,N} where {N} |
88 |
| -array_type(::Type{QuantityArray{T,N}}) where {T,N} = Array{T,N} |
89 |
| -array_type(::Type{QuantityArray{T,N,D}}) where {T,N,D} = Array{T,N} |
90 |
| -array_type(::Type{QuantityArray{T,N,D,Q}}) where {T,N,D,Q} = Array{T,N} |
91 | 86 | array_type(::Type{<:QuantityArray{T,N,D,Q,V}}) where {T,N,D,Q,V} = V
|
92 |
| -array_type(A) = array_type(typeof(A)) |
| 87 | +array_type(A::QuantityArray) = array_type(typeof(A)) |
93 | 88 |
|
94 |
| -quantity_type(::Type{QuantityArray}) = DEFAULT_QUANTITY_TYPE |
95 |
| -quantity_type(::Type{QuantityArray{T}}) where {T} = Quantity{T,DEFAULT_DIM_TYPE} |
96 |
| -quantity_type(::Type{QuantityArray{T,N}}) where {T,N} = Quantity{T,DEFAULT_DIM_TYPE} |
97 |
| -quantity_type(::Type{QuantityArray{T,N,D}}) where {T,N,D} = Quantity{T,D} |
98 | 89 | quantity_type(::Type{<:QuantityArray{T,N,D,Q}}) where {T,N,D,Q} = Q
|
99 |
| -quantity_type(A) = quantity_type(typeof(A)) |
| 90 | +quantity_type(A::QuantityArray) = quantity_type(typeof(A)) |
100 | 91 |
|
101 |
| -dim_type(::Type) = DEFAULT_DIM_TYPE |
102 | 92 | dim_type(::Type{<:QuantityArray{T,N,D}}) where {T,N,D} = D
|
103 |
| -dim_type(A) = dim_type(typeof(A)) |
| 93 | +dim_type(A::QuantityArray) = dim_type(typeof(A)) |
104 | 94 |
|
105 | 95 | value_type(::Type{<:AbstractQuantity{T}}) where {T} = T
|
106 |
| -value_type(::Type{QuantityArray}) = DEFAULT_VALUE_TYPE |
107 | 96 | value_type(::Type{<:QuantityArray{T}}) where {T} = T
|
108 |
| -value_type(A) = value_type(typeof(A)) |
| 97 | +value_type(A::Union{<:QuantityArray,<:AbstractQuantity}) = value_type(typeof(A)) |
109 | 98 |
|
110 | 99 | # One field:
|
111 | 100 | for f in (:size, :length, :axes)
|
|
0 commit comments