Class: Kumi::IR::Loop::Lower::Carrier
- Inherits:
-
Struct
- Object
- Struct
- Kumi::IR::Loop::Lower::Carrier
- Defined in:
- lib/kumi/ir/loop/lower.rb
Overview
How one axis’s loop gets its source array (“carrier”) when opened. ‘kind` names the strategy; only the fields that kind uses are set:
:root — a top-level array, navigated from the input root.
uses head_path.
:nested — an array under a parent element; navigated from the
parent's element via field keys. uses parent + between.
:cross — re-iterates the surrounding array (A × A') under a fresh
inner index. uses head_path + source_axis.
:outer — re-iterates a DIFFERENT root array (A × B) under a fresh
inner index. uses head_path + source_axis.
:root/:cross/:outer all open from head_path; :nested opens from its parent element. open_axis dispatches on ‘kind`.
Instance Attribute Summary collapse
-
#between ⇒ Object
Returns the value of attribute between.
-
#head_path ⇒ Object
Returns the value of attribute head_path.
-
#kind ⇒ Object
Returns the value of attribute kind.
-
#parent ⇒ Object
Returns the value of attribute parent.
-
#source_axis ⇒ Object
Returns the value of attribute source_axis.
Instance Attribute Details
#between ⇒ Object
Returns the value of attribute between
79 80 81 |
# File 'lib/kumi/ir/loop/lower.rb', line 79 def between @between end |
#head_path ⇒ Object
Returns the value of attribute head_path
79 80 81 |
# File 'lib/kumi/ir/loop/lower.rb', line 79 def head_path @head_path end |
#kind ⇒ Object
Returns the value of attribute kind
79 80 81 |
# File 'lib/kumi/ir/loop/lower.rb', line 79 def kind @kind end |
#parent ⇒ Object
Returns the value of attribute parent
79 80 81 |
# File 'lib/kumi/ir/loop/lower.rb', line 79 def parent @parent end |
#source_axis ⇒ Object
Returns the value of attribute source_axis
79 80 81 |
# File 'lib/kumi/ir/loop/lower.rb', line 79 def source_axis @source_axis end |