Package org.apache.sysds.hops.codegen.template

## Class CPlanMemoTable

- java.lang.Object
- - org.apache.sysds.hops.codegen.template.CPlanMemoTable

-     public class CPlanMemoTable
      extends Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `CPlanMemoTable.MemoTableEntry` |
    `static class` | `CPlanMemoTable.MemoTableEntrySet` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CPlanMemoTable()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(Hop hop, CPlanMemoTable.MemoTableEntry me)` |
    `void` | `add​(Hop hop, TemplateBase.TemplateType type)` |
    `void` | `add​(Hop hop, TemplateBase.TemplateType type, long in1)` |
    `void` | `add​(Hop hop, TemplateBase.TemplateType type, long in1, long in2)` |
    `void` | `add​(Hop hop, TemplateBase.TemplateType type, long in1, long in2, long in3)` |
    `void` | `addAll​(Hop hop, CPlanMemoTable.MemoTableEntrySet P)` |
    `void` | `addHop​(Hop hop)` |
    `boolean` | `contains​(long hopID)` |
    `boolean` | `contains​(long hopID, boolean checkClose, TemplateBase.TemplateType... type)` |
    `boolean` | `contains​(long hopID, CPlanMemoTable.MemoTableEntry me, TemplateBase.TemplateType type)` |
    `boolean` | `contains​(long hopID, TemplateBase.TemplateType type)` |
    `boolean` | `containsHop​(Hop hop)` |
    `boolean` | `containsNotIn​(long hopID, Collection<TemplateBase.TemplateType> types, boolean checkChildRefs)` |
    `boolean` | `containsTopLevel​(long hopID)` |
    `int` | `countEntries​(long hopID)` |
    `int` | `countEntries​(long hopID, TemplateBase.TemplateType type)` |
    `List<CPlanMemoTable.MemoTableEntry>` | `get​(long hopID)` |
    `List<CPlanMemoTable.MemoTableEntry>` | `get​(long hopID, TemplateBase.TemplateType type)` |
    `long[]` | `getAllRefs​(long hopID)` |
    `CPlanMemoTable.MemoTableEntry` | `getBest​(long hopID)` |
    `CPlanMemoTable.MemoTableEntry` | `getBest​(long hopID, TemplateBase.TemplateType pref)` |
    `CPlanMemoTable.MemoTableEntry` | `getBest​(long hopID, TemplateBase.TemplateType pref1, TemplateBase.TemplateType pref2)` |
    `List<CPlanMemoTable.MemoTableEntry>` | `getDistinct​(long hopID)` |
    `List<TemplateBase>` | `getDistinctTemplates​(long hopID)` |
    `List<TemplateBase.TemplateType>` | `getDistinctTemplateTypes​(long hopID, int refAt)` |
    `List<TemplateBase.TemplateType>` | `getDistinctTemplateTypes​(long hopID, int refAt, boolean exclInvalOuter)` |
    `HashMap<Long,​Hop>` | `getHopRefs()` |
    `HashMap<Long,​List<CPlanMemoTable.MemoTableEntry>>` | `getPlans()` |
    `HashSet<Long>` | `getPlansExcludeListed()` |
    `boolean` | `hasOnlyExactMatches​(long hopID, TemplateBase.TemplateType type1, TemplateBase.TemplateType type2)` |
    `void` | `pruneRedundant​(long hopID, boolean pruneDominated, InterestingPoint[] matPoints)` |
    `void` | `pruneSuboptimal​(ArrayList<Hop> roots)` |
    `void` | `remove​(Hop hop, Set<CPlanMemoTable.MemoTableEntry> excludeList)` |
    `void` | `remove​(Hop hop, TemplateBase.TemplateType type)` |
    `void` | `removeAllRefTo​(long hopID)` |
    `void` | `removeAllRefTo​(long hopID, TemplateBase.TemplateType type)` |
    `void` | `setDistinct​(long hopID, List<CPlanMemoTable.MemoTableEntry> plans)` |
    `int` | `size()` |
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### CPlanMemoTable

          public CPlanMemoTable()

  - ### Method Detail

    - #### getPlans

          public HashMap<Long,​List<CPlanMemoTable.MemoTableEntry>> getPlans()

    - #### getPlansExcludeListed

          public HashSet<Long> getPlansExcludeListed()

    - #### getHopRefs

          public HashMap<Long,​Hop> getHopRefs()

    - #### addHop

          public void addHop​(Hop hop)

    - #### containsHop

          public boolean containsHop​(Hop hop)

    - #### contains

          public boolean contains​(long hopID)

    - #### contains

          public boolean contains​(long hopID,
                                  TemplateBase.TemplateType type)

    - #### contains

          public boolean contains​(long hopID,
                                  CPlanMemoTable.MemoTableEntry me,
                                  TemplateBase.TemplateType type)

    - #### contains

          public boolean contains​(long hopID,
                                  boolean checkClose,
                                  TemplateBase.TemplateType... type)

    - #### containsNotIn

          public boolean containsNotIn​(long hopID,
                                       Collection<TemplateBase.TemplateType> types,
                                       boolean checkChildRefs)

    - #### hasOnlyExactMatches

          public boolean hasOnlyExactMatches​(long hopID,
                                             TemplateBase.TemplateType type1,
                                             TemplateBase.TemplateType type2)

    - #### countEntries

          public int countEntries​(long hopID)

    - #### countEntries

          public int countEntries​(long hopID,
                                  TemplateBase.TemplateType type)

    - #### containsTopLevel

          public boolean containsTopLevel​(long hopID)

    - #### add

          public void add​(Hop hop,
                          TemplateBase.TemplateType type)

    - #### add

          public void add​(Hop hop,
                          TemplateBase.TemplateType type,
                          long in1)

    - #### add

          public void add​(Hop hop,
                          TemplateBase.TemplateType type,
                          long in1,
                          long in2)

    - #### add

          public void add​(Hop hop,
                          TemplateBase.TemplateType type,
                          long in1,
                          long in2,
                          long in3)

    - #### add

          public void add​(Hop hop,
                          CPlanMemoTable.MemoTableEntry me)

    - #### addAll

          public void addAll​(Hop hop,
                             CPlanMemoTable.MemoTableEntrySet P)

    - #### remove

          public void remove​(Hop hop,
                             Set<CPlanMemoTable.MemoTableEntry> excludeList)

    - #### remove

          public void remove​(Hop hop,
                             TemplateBase.TemplateType type)

    - #### removeAllRefTo

          public void removeAllRefTo​(long hopID)

    - #### removeAllRefTo

          public void removeAllRefTo​(long hopID,
                                     TemplateBase.TemplateType type)

    - #### setDistinct

          public void setDistinct​(long hopID,
                                  List<CPlanMemoTable.MemoTableEntry> plans)

    - #### pruneRedundant

          public void pruneRedundant​(long hopID,
                                     boolean pruneDominated,
                                     InterestingPoint[] matPoints)

    - #### pruneSuboptimal

          public void pruneSuboptimal​(ArrayList<Hop> roots)

    - #### get

          public List<CPlanMemoTable.MemoTableEntry> get​(long hopID)

    - #### get

          public List<CPlanMemoTable.MemoTableEntry> get​(long hopID,
                                                         TemplateBase.TemplateType type)

    - #### getDistinct

          public List<CPlanMemoTable.MemoTableEntry> getDistinct​(long hopID)

    - #### getDistinctTemplates

          public List<TemplateBase> getDistinctTemplates​(long hopID)

    - #### getDistinctTemplateTypes

          public List<TemplateBase.TemplateType> getDistinctTemplateTypes​(long hopID,
                                                                          int refAt)

    - #### getDistinctTemplateTypes

          public List<TemplateBase.TemplateType> getDistinctTemplateTypes​(long hopID,
                                                                          int refAt,
                                                                          boolean exclInvalOuter)

    - #### getBest

          public CPlanMemoTable.MemoTableEntry getBest​(long hopID)

    - #### getBest

          public CPlanMemoTable.MemoTableEntry getBest​(long hopID,
                                                       TemplateBase.TemplateType pref)

    - #### getBest

          public CPlanMemoTable.MemoTableEntry getBest​(long hopID,
                                                       TemplateBase.TemplateType pref1,
                                                       TemplateBase.TemplateType pref2)

    - #### getAllRefs

          public long[] getAllRefs​(long hopID)

    - #### size

          public int size()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`