rndGraph = mt => props => {
const numNodes = props.numNodes || 2;
const randomNodeIndex = () => (Math.random() * numNodes) |0;
const nodes = [];
for (let i = 0; i < numNodes; i++) {
nodes.push({
srco: {},
dsto: {}
});
}
const numEdges = props.numEdges || 4;
let state = 0;
let curNumEdges = 0;
while (curNumEdges < numEdges) {
const next = randomNodeIndex();
if (nodes[state].srco[next] === undefined) {
curNumEdges += 1;
nodes[state].srco[next] = 0;
nodes[next].dsto[state] = 0;
}
nodes[state].srco[next] += 1;
nodes[next].dsto[state] += 1;
state = next;
}
return nodes;
}