@@ -333,6 +333,8 @@ MemoryLayout(C::Type{CachedArray{T,N,DAT,ARR}}) where {T,N,DAT,ARR} = cachedlayo
333333
334334MemoryLayout (:: Type{<:AbstractCachedArray} ) = GenericCachedLayout ()
335335
336+ transposelayout (:: GenericCachedLayout ) = GenericCachedLayout ()
337+
336338# ####
337339# broadcasting
338340#
@@ -345,10 +347,11 @@ CachedArrayStyle(::Val{N}) where N = CachedArrayStyle{N}()
345347CachedArrayStyle {M} (:: Val{N} ) where {N,M} = CachedArrayStyle {N} ()
346348
347349BroadcastStyle (:: Type{<:AbstractCachedArray{<:Any,N}} ) where N = CachedArrayStyle {N} ()
350+ BroadcastStyle (:: Type{<:AdjOrTrans{<:Any, <:AbstractCachedArray{<:Any,N}}} ) where N = CachedArrayStyle {N} ()
348351BroadcastStyle (:: Type{<:SubArray{<:Any,N,<:AbstractCachedArray{<:Any,M}}} ) where {N,M} = CachedArrayStyle {M} ()
352+ BroadcastStyle (:: Type {<: SubArray{<:Any,N,<:AdjOrTrans{<:Any, <:AbstractCachedArray{<:Any,M}}} }) where {N,M} = CachedArrayStyle {M} ()
349353BroadcastStyle (:: CachedArrayStyle{N} , :: LazyArrayStyle{M} ) where {N,M} = CachedArrayStyle {max(M, N)} ()
350354
351-
352355broadcasted (:: AbstractLazyArrayStyle , op, A:: CachedArray ) = CachedArray (broadcast (op, cacheddata (A)), broadcast (op, A. array))
353356layout_broadcasted (:: CachedLayout , _, op, A:: AbstractArray , c:: Number ) = CachedArray (broadcast (op, cacheddata (A), c), broadcast (op, A. array, c))
354357layout_broadcasted (_, :: CachedLayout , op, c:: Number , A:: CachedArray ) = CachedArray (broadcast (op, c, cacheddata (A)), broadcast (op, c, A. array))
0 commit comments