@@ -15,14 +15,33 @@ function Base.copy(a::AnyAbstractSparseArray)
15
15
return copyto! (similar (a), a)
16
16
end
17
17
18
+ function similar_sparsearray (a:: AnyAbstractSparseArray , unstored:: Unstored )
19
+ return SparseArrayDOK (unstored)
20
+ end
21
+ function similar_sparsearray (a:: AnyAbstractSparseArray , T:: Type , ax:: Tuple )
22
+ return similar_sparsearray (a, Unstored (unstoredsimilar (unstored (a), T, ax)))
23
+ end
24
+ function similar_sparsearray (a:: AnyAbstractSparseArray , T:: Type )
25
+ return similar_sparsearray (a, Unstored (unstoredsimilar (unstored (a), T)))
26
+ end
27
+ function similar_sparsearray (a:: AnyAbstractSparseArray , ax:: Tuple )
28
+ return similar_sparsearray (a, Unstored (unstoredsimilar (unstored (a), ax)))
29
+ end
30
+ function similar_sparsearray (a:: AnyAbstractSparseArray )
31
+ return similar_sparsearray (a, Unstored (unstored (a)))
32
+ end
33
+
34
+ function Base. similar (a:: AnyAbstractSparseArray , unstored:: Unstored )
35
+ return similar_sparsearray (a, unstored)
36
+ end
18
37
function Base. similar (a:: AnyAbstractSparseArray )
19
- return SparseArrayDOK ( Unstored ( unstored (a)) )
38
+ return similar_sparsearray (a )
20
39
end
21
40
function Base. similar (a:: AnyAbstractSparseArray , T:: Type )
22
- return SparseArrayDOK ( Unstored ( unstoredsimilar ( unstored (a) , T)) )
41
+ return similar_sparsearray (a , T)
23
42
end
24
43
function Base. similar (a:: AnyAbstractSparseArray , ax:: Tuple )
25
- return similar (a, eltype (a) , ax)
44
+ return similar_sparsearray (a , ax)
26
45
end
27
46
function Base. similar (a:: AnyAbstractSparseArray , T:: Type , ax:: Tuple )
28
47
return similar_sparsearray (a, T, ax)
@@ -39,9 +58,6 @@ function Base.similar(
39
58
)
40
59
return similar_sparsearray (a, T, ax)
41
60
end
42
- function similar_sparsearray (a:: AnyAbstractSparseArray , T:: Type , ax:: Tuple )
43
- return SparseArrayDOK (Unstored (unstoredsimilar (unstored (a), T, ax)))
44
- end
45
61
46
62
using DerivableInterfaces: @derive
47
63
0 commit comments