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

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 Details

### CPlanMemoTable

public CPlanMemoTable()

## Method Details

### 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`