|
59 | 59 |
|
60 | 60 | # Access:
|
61 | 61 | function Base.getproperty(d::SymbolicDimensions{R}, s::Symbol) where {R}
|
62 |
| - _nzdims = nzdims(d) |
| 62 | + nzdims = DynamicQuantities.nzdims(d) |
63 | 63 | i = get(ALL_MAPPING, s, INDEX_TYPE(0))
|
64 | 64 | iszero(i) && error("$s is not available as a symbol in `SymbolicDimensions`. Symbols available: $(ALL_SYMBOLS).")
|
65 |
| - ii = searchsortedfirst(_nzdims, i) |
66 |
| - if ii <= length(_nzdims) && _nzdims[ii] == i |
| 65 | + ii = searchsortedfirst(nzdims, i) |
| 66 | + if ii <= length(nzdims) && nzdims[ii] == i |
67 | 67 | return nzvals(d)[ii]
|
68 | 68 | else
|
69 | 69 | return zero(R)
|
@@ -105,18 +105,18 @@ constructorof(::Type{<:SymbolicDimensionsSingleton{R}}) where {R} = SymbolicDime
|
105 | 105 | with_type_parameters(::Type{<:SymbolicDimensions}, ::Type{R}) where {R} = SymbolicDimensions{R}
|
106 | 106 | with_type_parameters(::Type{<:SymbolicDimensionsSingleton}, ::Type{R}) where {R} = SymbolicDimensionsSingleton{R}
|
107 | 107 | nzdims(d::SymbolicDimensions) = getfield(d, :nzdims)
|
108 |
| -nzdims(d::SymbolicDimensionsSingleton) = [getfield(d, :dim)] |
| 108 | +nzdims(d::SymbolicDimensionsSingleton) = (getfield(d, :dim),) |
109 | 109 | nzvals(d::SymbolicDimensions) = getfield(d, :nzvals)
|
110 |
| -nzvals(::SymbolicDimensionsSingleton{R}) where {R} = [one(R)] |
| 110 | +nzvals(::SymbolicDimensionsSingleton{R}) where {R} = (one(R),) |
111 | 111 | Base.eltype(::AbstractSymbolicDimensions{R}) where {R} = R
|
112 | 112 | Base.eltype(::Type{<:AbstractSymbolicDimensions{R}}) where {R} = R
|
113 | 113 |
|
114 | 114 | # Conversion:
|
115 | 115 | function SymbolicDimensions(d::SymbolicDimensionsSingleton{R}) where {R}
|
116 |
| - return SymbolicDimensions{R}(nzdims(d), nzvals(d)) |
| 116 | + return SymbolicDimensions{R}([nzdims(d)...], [nzvals(d)...]) |
117 | 117 | end
|
118 | 118 | function SymbolicDimensions{R}(d::SymbolicDimensionsSingleton) where {R}
|
119 |
| - return SymbolicDimensions{R}(nzdims(d), nzvals(d)) |
| 119 | + return SymbolicDimensions{R}([nzdims(d)...], [nzvals(d)...]) |
120 | 120 | end
|
121 | 121 | Base.convert(::Type{SymbolicDimensions}, d::SymbolicDimensionsSingleton) = SymbolicDimensions(d)
|
122 | 122 | Base.convert(::Type{SymbolicDimensions{R}}, d::SymbolicDimensionsSingleton) where {R} = SymbolicDimensions{R}(d)
|
|
0 commit comments