33diagview (a:: AbstractDiagonalArray ) = throw (MethodError (diagview, Tuple{typeof (a)}))
44
55using FunctionImplementations: FunctionImplementations
6- using SparseArraysBase: SparseArraysBase as SA, AbstractSparseArrayStyle
6+ using SparseArraysBase: SparseArraysBase as SA, AbstractSparseArrayImplementationStyle
77
8- abstract type AbstractDiagonalArrayStyle <: AbstractSparseArrayStyle end
8+ abstract type AbstractDiagonalArrayImplementationStyle <: AbstractSparseArrayImplementationStyle end
99
10- struct DiagonalArrayStyle <: AbstractDiagonalArrayStyle end
11- const diag_style = DiagonalArrayStyle ()
10+ struct DiagonalArrayImplementationStyle <: AbstractDiagonalArrayImplementationStyle end
11+ const diag_style = DiagonalArrayImplementationStyle ()
1212
13- function FunctionImplementations. Style (:: Type{<:AbstractDiagonalArray} )
14- return DiagonalArrayStyle ()
13+ function FunctionImplementations. ImplementationStyle (:: Type{<:AbstractDiagonalArray} )
14+ return DiagonalArrayImplementationStyle ()
1515end
1616
17- module Broadcast
18- import SparseArraysBase as SA
19- abstract type AbstractDiagonalArrayStyle{N} <: SA.Broadcast.AbstractSparseArrayStyle{N} end
20- struct DiagonalArrayStyle{N} <: AbstractDiagonalArrayStyle{N} end
21- DiagonalArrayStyle {M} (:: Val{N} ) where {M, N} = DiagonalArrayStyle {N} ()
22- end
17+ using SparseArraysBase: AbstractSparseArrayStyle
18+ abstract type AbstractDiagonalArrayStyle{N} <: AbstractSparseArrayStyle{N} end
19+ struct DiagonalArrayStyle{N} <: AbstractDiagonalArrayStyle{N} end
20+ DiagonalArrayStyle {M} (:: Val{N} ) where {M, N} = DiagonalArrayStyle {N} ()
2321
2422using SparseArraysBase: getstoredindex
2523const getstoredindex_diag = diag_style (getstoredindex)
@@ -111,7 +109,7 @@ const storedpairs_diag = diag_style(storedpairs)
111109storedpairs_diag (a:: AbstractArray ) = sparse_style (storedpairs)(a)
112110
113111function Base. Broadcast. BroadcastStyle (type:: Type{<:AbstractDiagonalArray} )
114- return Broadcast . DiagonalArrayStyle {ndims(type)} ()
112+ return DiagonalArrayStyle {ndims(type)} ()
115113end
116114
117115using Base. Broadcast: Broadcasted, broadcasted
@@ -125,10 +123,10 @@ function broadcasted_diagview(bc::Broadcasted)
125123 )
126124 return broadcasted (m. f, map (diagview, m. args)... )
127125end
128- function Base. copy (bc:: Broadcasted{<:Broadcast. DiagonalArrayStyle} )
126+ function Base. copy (bc:: Broadcasted{<:DiagonalArrayStyle} )
129127 return DiagonalArray (copy (broadcasted_diagview (bc)), axes (bc))
130128end
131- function Base. copyto! (dest:: AbstractArray , bc:: Broadcasted{<:Broadcast. DiagonalArrayStyle} )
129+ function Base. copyto! (dest:: AbstractArray , bc:: Broadcasted{<:DiagonalArrayStyle} )
132130 copyto! (diagview (dest), broadcasted_diagview (bc))
133131 return dest
134132end
0 commit comments