type Options …
type Nodes …
type Node …
type Graph …
func (n *Node) FlatValue() int64 { … }
func (n *Node) CumValue() int64 { … }
func (n *Node) AddToEdge(to *Node, v int64, residual, inline bool) { … }
func (n *Node) AddToEdgeDiv(to *Node, dv, v int64, residual, inline bool) { … }
type NodeInfo …
func (i *NodeInfo) PrintableName() string { … }
func (i *NodeInfo) NameComponents() []string { … }
type NodeMap …
type NodeSet …
type NodePtrSet …
func (nm NodeMap) FindOrInsertNode(info NodeInfo, kept NodeSet) *Node { … }
type EdgeMap …
func (em EdgeMap) FindTo(n *Node) *Edge { … }
func (em *EdgeMap) Add(e *Edge) { … }
func (em *EdgeMap) Delete(e *Edge) { … }
type Edge …
func (e *Edge) WeightValue() int64 { … }
func NewGraph(prof *Profile, o *Options) *Graph { … }
func selectNodesForGraph(nodes Nodes, dropNegative bool) *Graph { … }
type nodePair …
func isNegative(n *Node) bool { … }
type locationMap …
func (l *locationMap) add(id uint64, n Nodes) { … }
func (l locationMap) get(id uint64) Nodes { … }
func CreateNodes(prof *Profile, o *Options) (Nodes, locationMap) { … }
func (nm NodeMap) nodes() Nodes { … }
func (nm NodeMap) findOrInsertLine(l *Location, li Line, o *Options) *Node { … }
func nodeInfo(l *Location, line Line, objfile string, o *Options) *NodeInfo { … }
func (ns Nodes) Sum() (flat int64, cum int64) { … }
func (n *Node) addSample(dw, w int64, flat bool) { … }
func (g *Graph) String() string { … }
func (em EdgeMap) Sort() []*Edge { … }
func (em EdgeMap) Sum() int64 { … }
type edgeList …
func (el edgeList) Len() int { … }
func (el edgeList) Less(i, j int) bool { … }
func (el edgeList) Swap(i, j int) { … }
func abs64(i int64) int64 { … }