|
27 | 27 | function Base.similar(a::AnyAbstractSparseArray, ax::Tuple) |
28 | 28 | return similar(a, Unstored(unstoredsimilar(unstored(a), ax))) |
29 | 29 | end |
30 | | -function Base.similar(a::AnyAbstractSparseArray, T::Type, ax::Tuple) |
| 30 | + |
| 31 | +function similar_sparsearray(a::AbstractArray, T::Type, ax::Tuple) |
31 | 32 | return similar(a, Unstored(unstoredsimilar(unstored(a), T, ax))) |
32 | 33 | end |
33 | | -# Fix ambiguity error. |
34 | | -function Base.similar(a::AnyAbstractSparseArray, T::Type, ax::Tuple{Int,Vararg{Int}}) |
35 | | - return similar(a, Unstored(unstoredsimilar(unstored(a), T, ax))) |
| 34 | +function Base.similar(a::AnyAbstractSparseArray, T::Type, ax::Tuple{Vararg{Int}}) |
| 35 | + return similar_sparsearray(a, T, ax) |
| 36 | +end |
| 37 | +function Base.similar( |
| 38 | + a::AnyAbstractSparseArray, T::Type, ax::Tuple{Integer,Vararg{Integer}} |
| 39 | +) |
| 40 | + return similar_sparsearray(a, T, ax) |
36 | 41 | end |
37 | | -# Fix ambiguity error. |
38 | 42 | function Base.similar( |
39 | 43 | a::AnyAbstractSparseArray, |
40 | 44 | T::Type, |
41 | 45 | ax::Tuple{Union{Integer,Base.OneTo},Vararg{Union{Integer,Base.OneTo}}}, |
42 | 46 | ) |
43 | | - return similar(a, Unstored(unstoredsimilar(unstored(a), T, ax))) |
| 47 | + return similar_sparsearray(a, T, ax) |
44 | 48 | end |
45 | 49 |
|
46 | 50 | using DerivableInterfaces: @derive |
|
0 commit comments