@@ -41,8 +41,10 @@ Base.mapreduce(f, op, a::AbstractThunk; kws...) = mapreduce(f, op, unthunk(a); k
4141function Base. mapreduce (f, op, itr, a:: AbstractThunk ; kws... )
4242 return mapreduce (f, op, itr, unthunk (a); kws... )
4343end
44+ Base. sum (a:: AbstractThunk ; kws... ) = sum (unthunk (a); kws... )
4445Base. sum! (r, A:: AbstractThunk ; kws... ) = sum! (r, unthunk (A); kws... )
4546
47+ Base. fill (a:: AbstractThunk , b:: Integer ) = fill (unthunk (a), b)
4648Base. vec (a:: AbstractThunk ) = vec (unthunk (a))
4749Base. reshape (a:: AbstractThunk , args... ) = reshape (unthunk (a), args... )
4850Base. getindex (a:: AbstractThunk , args... ) = getindex (unthunk (a), args... )
@@ -78,6 +80,7 @@ LinearAlgebra.dot(a::AbstractThunk, b::AbstractThunk) = dot(unthunk(a), unthunk(
7880LinearAlgebra. ldiv! (a, b:: AbstractThunk ) = throw (MutateThunkException ())
7981LinearAlgebra. rdiv! (a:: AbstractThunk , b) = throw (MutateThunkException ())
8082
83+ LinearAlgebra. mul! (A, B:: AbstractThunk , C) = mul! (A, unthunk (B), C)
8184LinearAlgebra. mul! (C:: AbstractThunk , A, B, α, β) = throw (MutateThunkException ())
8285function LinearAlgebra. mul! (C:: AbstractThunk , A:: AbstractThunk , B, α, β)
8386 return throw (MutateThunkException ())
190193
191194Base. show (io:: IO , x:: Thunk ) = print (io, " Thunk($(repr (x. f)) )" )
192195
196+ Base. convert (:: Type{<:Thunk} , a:: AbstractZero ) = @thunk (a)
197+
198+
193199"""
194200 InplaceableThunk(val::Thunk, add!::Function)
195201
0 commit comments