Reference
DerivableInterfaces.permuteddims — Method
permuteddims(a::AbstractArray, perm)Lazy version of permutedims. Defaults to constructing a Base.PermutedDimsArray but can be customized to output a different type of array.
DerivableInterfaces.zero! — Function
zero!(x::AbstractArray)In-place version of Base.zero.
DerivableInterfaces.Concatenate — Module
module ConcatenateAlternative 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 — Type
Concatenated{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! — Method
Concatenate.cat!(dest, args...; dims)Concatenate the supplied args along dimensions dims, placing the result into dest.
DerivableInterfaces.Concatenate.cat — Method
Concatenate.cat(args...; dims)Concatenate the supplied args along dimensions dims.
See also [concatenate] and cat!.
DerivableInterfaces.Concatenate.concatenate — Method
concatenate(dims, args...)Concatenate the supplied args along dimensions dims.
See also [cat] and cat!.