Internals
NDReducibles.plan — Method.plan(args::AccessPattern...) :: AccessPlan
plan(pairs::Pair...) :: AccessPlanTry to find an index that is categorized as "fast" for all args with such index.
Examples
julia> using NDReducibles: plan
julia> A1 = ones(0)
A2 = ones(0, 0)
A3 = ones(0, 0, 0)
A4 = ones(0, 0, 0, 0);
julia> plan(
A1 => (:i,),
A2 => (:i, :j),
)
AccessPlan: j → i
julia> plan(
A1 => (:i,),
A2 => (:j, :i),
A2 => (:j, :k),
)
AccessPlan: i → k → j
julia> plan(
A1 => (:i,),
A2' => (:j, :i),
A2 => (:j, :k),
)
AccessPlan: j → k → i
julia> plan(
A1 => (:i,),
A2' => (:i, :j),
A2 => (:i, :j),
A3 => (:k, :i, :j),
A4 => (:k, :j, :l, :m),
)
AccessPlan: i → j → l → m → k