Reference
DerivableInterfaces.zero!
— Functionzero!(x::AbstractArray)
In-place version of Base.zero
.
DerivableInterfaces.Concatenate
— Modulemodule Concatenate
Alternative implementation for Base.cat
through cat(!)
.
This is mostly a copy of the Base implementation, with the main difference being that the destination is chosen based on all inputs instead of just the first.
Additionally, we have an intermediate representation in terms of a Concatenated object, reminiscent of how Broadcast works.
The various entry points for specializing behavior are:
Destination selection can be achieved through
Base.similar(concat::Concatenated{Interface}, ::Type{T}, axes) where {Interface}
Custom implementations:
Base.copy(concat::Concatenated{Interface}) # custom implementation of cat Base.copyto!(dest, concat::Concatenated{Interface}) # custom implementation of cat! based on interface Base.copyto!(dest, concat::Concatenated{Nothing}) # custom implementation of cat! based on typeof(dest)
DerivableInterfaces.Concatenate.Concatenated
— TypeConcatenated{Interface,Dims,Args<:Tuple}
Lazy representation of the concatenation of various Args
along Dims
, in order to provide hooks to customize the implementation.
DerivableInterfaces.Concatenate.cat!
— MethodConcatenate.cat!(dest, args...; dims)
Concatenate the supplied args
along dimensions dims
, placing the result into dest
.
DerivableInterfaces.Concatenate.cat
— MethodConcatenate.cat(args...; dims)
Concatenate the supplied args
along dimensions dims
.
See also [concatenate
] and cat!
.
DerivableInterfaces.Concatenate.concatenate
— Methodconcatenate(dims, args...)
Concatenate the supplied args
along dimensions dims
.
See also [cat
] and cat!
.