bend-visgraph
Releases (3)
Definitions (237)
bend_visgraph.bend
- type Mode
- type Flag
- type Entry
- type Config
- type Outcome
- def usage
- def flags
- def graphs
- def directions
- def weights
- def modes
- def lookup.hit
- def lookup.entry
- def lookup
- def defaults
- def bad
- def with_graph
- def with_direction
- def with_weight
- def with_limit
- def with_mode
- def set
- def parse
- def output
- def only_degrees
- def graph_of
- type XSourceWhere x comes from: the index, or the values of the -x file, last first.
- def xs_of
- def report.built
- def report.sizedx as the index is an F32, which holds every index below 2^24 exactly.
- def report.xs
- type XsInThe x coordinates of the -x file, if one was given.
- def report
- def write_text.done
- def write_text
- def emit.to
- def emit
- def read_xs
- def run
- def start
- def main
parallel.bend
- def fork3
- def fork_cols
- type BlocksThe stack runs on blocks in parallel; a merge then walks the blocks in order.
- def block_of
- def block_leafIt forks nothing, so the runtime runs it once the tree has grown, on any idle thread; work done before a fork runs while the tree grows, on a few threads.
- def block_tree
- def merge
- type Chunks
- def close
- type Cut
- def cut
- def fork_depth
- def block_depthAt most 512 blocks, and at least 32 points in each unless n is below 64.
- def targetAbout two chunks for each of the tree's leaves.
- type Halves
- def halve
- def halves
- def chunks
- def leaf
- def tree
- def split
- def cut_all
- def merged
- def passed
- def built
- def visibilityVG.build on every thread: the stack runs on blocks, then the sweeps on chunks of equal work.
- def chosen
- def buildVG.build on every thread.
- def degrees_treeForks down the build's tree of EJoin into VG.degrees.into, which forks nothing, so the runtime spreads the tallies over every thread.
- def degreesVG.degrees on every thread.
src/report.bend
- def weight_text
- def edge_line
- def edges_text
- def is_weighted
- def bump.set
- def bump
- def sequence_textThe degree sequence, one per line.
- def degree_sequence.from
- def degree_sequenceThe degree sequence of the `n` nodes whose degrees `d` holds.
- def count_loopHow many nodes have each degree: `r` is the degree array with the degree of node `i`; the `f` nodes above `i` are still to count.
- def count_valueDegree counts or the degree distribution: `k count` or `k count/n` for each degree k some node has, from the smallest k.
- def count_line
- def counts_text
- def degree_counts.text
- def degree_counts.from
- def degree_counts
- def edge_listThe edge list of `g`.
src/series.bend
- type Parsed
- def add
- def step
- def scanBase's String.lines recurses once per character, too deep for the JS lane's stack, so this walks the text with tail calls.
- def parseThe values of `text`, last first, and how many there are; or the first line, counted from 1, that holds no number.
- def column
- def ysThe `n` values `rev`, last first, as an array indexed from 0.
- def read_text.done
- def read_text.sized
- def read_text
- type XsCheckThe x coordinates of a file, last first, if they suit a series; or why they do not.
- def increasingWhether each value of `rest`, last first, is below `a`, as ts2vg checks that x increases.