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
`static class` `CPlanMemoTable.MemoTableEntry`
`static class` `CPlanMemoTable.MemoTableEntrySet`

### Constructor Summary

Constructors
Constructor and Description
`CPlanMemoTable()`

### Method Summary

All Methods Instance Methods Concrete Methods
`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`