|
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