Index Operators
An IndexUnaryOp
is a unary operation which is able to access the location of an element as well as its value. They define predicates for use with the select!
function as well as index access for apply!
.
Built-Ins
Built-in IndexUnaryOps
s can be found in the SelectOps
submodule. However users should pass the equivalent Julia function when possible.
SuiteSparseGraphBLAS.IndexUnaryOps.diagindex
— Functiondiagindex(xᵢⱼ) -> (j - (i + y))
Dummy function for use in apply
. Returns the column diagonal index of each element.
SuiteSparseGraphBLAS.IndexUnaryOps.isindexop
— Functionisindexop(op)::Bool
If isindexop(op)
is true then apply
will wrap op
in IndexOp
. op
must have the signature f(x, i::Int64, j::Int64, y)
. This function is only called from apply
.
SuiteSparseGraphBLAS.IndexUnaryOps.IndexOp
— TypeIndexOp{F}
Wrapper which indicates to apply
that an operator has the signature: f(x, i::Int64, j::Int64, y)
where x
is the value at a particular index, i
and j
are the indices, and y
is an auxiliary input.
See also: isindexop