var searchIndex = {}; searchIndex["dsp"] = {"doc":"","items":[[8,"Walker","dsp","A trait providing a variety of useful methods for traversing some graph type **G**.",null,null],[16,"Index","","The unsigned integer type used for node and edge indices.",0,null],[10,"next","","Fetch the `EdgeIndex` and `NodeIndex` to the next neighbour in our walk through the given\n**Graph**.",0,null],[11,"next_edge","","The next edge in our walk for the given **Graph**.",0,null],[11,"next_node","","The next node in our walk for the given **Graph**.",0,null],[11,"count","","Counts all the steps in the entire walk of the given graph.",0,null],[11,"last","","Walks the whole walk until reaching and returning the last edge node pair.",0,null],[11,"last_edge","","Walks the whole walk until reaching and returning the last edge.",0,null],[11,"last_node","","Walks the whole walk until reaching and returning the last node.",0,null],[11,"nth","","Walks "n" number of steps and produces the resulting edge node pair.",0,null],[11,"nth_edge","","Walks "n" number of steps and produces the resulting edge.",0,null],[11,"nth_node","","Walks "n" number of steps and produces the resulting node.",0,null],[11,"chain","","Produces a walker that will walk the entirey of `self` before walking the entirey of other.",0,null],[11,"filter","","Creates a walker that applies the predicate to each element returned by this walker.\nThe only elements that will be yielded are those that make the predicate evaluate to true.",0,null],[11,"peekable","","Creates a walker that has a `.peek(&graph)` method that returns an optional next neighbor.",0,null],[11,"skip_while","","Creates a walker that invokes the predicate on elements until it returns false. Once the\npredicate returns false, that element and all further elements are yielded.",0,null],[11,"take_while","","Creates a walker that yields elements so long as the predicate returns true. After the\npredicate returns false for the first time, no further elements will be yielded.",0,null],[11,"skip","","Creates a walker that skips the first n steps of this walk, and then yields all further\nsteps.",0,null],[11,"take","","Creates a walker that yields the first n steps of this walk.",0,null],[11,"all","","Tests whether the predicate holds true for all steps in the walk.",0,null],[11,"any","","Tests whether any step in the walk satisfies the given predicate.",0,null],[11,"find","","Returns the first edge node index pair satisfying the specified predicate.",0,null],[11,"find_edge","","Returns the edge index satisfying the specified predicate.",0,null],[11,"find_node","","Returns the node index satisfying the specified predicate.",0,null],[11,"cycle","","Repeats the walker endlessly.",0,null],[11,"fold","","Performs a fold operation over the entire walker, returning the eventual state at the end\nof the walk.",0,null],[11,"inspect","","Creates a walker that calls a function with a reference to each index pair before yielding\nthem. This is often useful for debugging a walker pipeline.",0,null],[11,"iter","","Converts the walker into an iterator yielding index pairs.",0,null],[11,"iter_weights","","Converts the walker into an iterator yielding `(&e, &n)`, where `e` is the edge weight for\nthe next `EdgeIndex` and `n` is the node weight for the next `NodeIndex`.",0,null],[0,"walker","dsp::daggy","**Walker** is a trait providing a variety of useful methods for traversing graph types.",null,null],[6,"IndexPair","dsp::daggy::walker","",null,null],[8,"Walker","","A trait providing a variety of useful methods for traversing some graph type **G**.",null,null],[16,"Index","","The unsigned integer type used for node and edge indices.",0,null],[10,"next","","Fetch the `EdgeIndex` and `NodeIndex` to the next neighbour in our walk through the given\n**Graph**.",0,null],[11,"next_edge","","The next edge in our walk for the given **Graph**.",0,null],[11,"next_node","","The next node in our walk for the given **Graph**.",0,null],[11,"count","","Counts all the steps in the entire walk of the given graph.",0,null],[11,"last","","Walks the whole walk until reaching and returning the last edge node pair.",0,null],[11,"last_edge","","Walks the whole walk until reaching and returning the last edge.",0,null],[11,"last_node","","Walks the whole walk until reaching and returning the last node.",0,null],[11,"nth","","Walks "n" number of steps and produces the resulting edge node pair.",0,null],[11,"nth_edge","","Walks "n" number of steps and produces the resulting edge.",0,null],[11,"nth_node","","Walks "n" number of steps and produces the resulting node.",0,null],[11,"chain","","Produces a walker that will walk the entirey of `self` before walking the entirey of other.",0,null],[11,"filter","","Creates a walker that applies the predicate to each element returned by this walker.\nThe only elements that will be yielded are those that make the predicate evaluate to true.",0,null],[11,"peekable","","Creates a walker that has a `.peek(&graph)` method that returns an optional next neighbor.",0,null],[11,"skip_while","","Creates a walker that invokes the predicate on elements until it returns false. Once the\npredicate returns false, that element and all further elements are yielded.",0,null],[11,"take_while","","Creates a walker that yields elements so long as the predicate returns true. After the\npredicate returns false for the first time, no further elements will be yielded.",0,null],[11,"skip","","Creates a walker that skips the first n steps of this walk, and then yields all further\nsteps.",0,null],[11,"take","","Creates a walker that yields the first n steps of this walk.",0,null],[11,"all","","Tests whether the predicate holds true for all steps in the walk.",0,null],[11,"any","","Tests whether any step in the walk satisfies the given predicate.",0,null],[11,"find","","Returns the first edge node index pair satisfying the specified predicate.",0,null],[11,"find_edge","","Returns the edge index satisfying the specified predicate.",0,null],[11,"find_node","","Returns the node index satisfying the specified predicate.",0,null],[11,"cycle","","Repeats the walker endlessly.",0,null],[11,"fold","","Performs a fold operation over the entire walker, returning the eventual state at the end\nof the walk.",0,null],[11,"inspect","","Creates a walker that calls a function with a reference to each index pair before yielding\nthem. This is often useful for debugging a walker pipeline.",0,null],[11,"iter","","Converts the walker into an iterator yielding index pairs.",0,null],[11,"iter_weights","","Converts the walker into an iterator yielding `(&e, &n)`, where `e` is the edge weight for\nthe next `EdgeIndex` and `n` is the node weight for the next `NodeIndex`.",0,null],[3,"Recursive","","Recursively walks a graph using the recursive function `recursive_fn`.",null,null],[3,"Chain","","Walks the entirety of `a` before walking the entirety of `b`.",null,null],[3,"Filter","","A walker that applies some given predicate to each element returned by its walker.\nThe only index pairs that will be yielded are those that make the predicate evaluate to true.",null,null],[3,"Peekable","","A walker that has a `.peek(&graph)` method that returns an optional next neighbor.",null,null],[3,"SkipWhile","","A walker that invokes the predicate on elements until it returns false. Once the predicate\nreturns false, that element and all further elements are yielded.",null,null],[3,"TakeWhile","","A walker that yields elements so long as the predicate returns true. After the\npredicate returns false for the first time, no further elements will be yielded.",null,null],[3,"Skip","","A walker that skips the first n steps of this walk, and then yields all further steps.",null,null],[3,"Take","","A walker that yields the first n steps of this walk.",null,null],[3,"Cycle","","A walker that repeats its internal walker endlessly.",null,null],[3,"Inspect","","A walker that calls a function with a reference to each index pair before yielding them.\nThis is often useful for debugging a walker pipeline.",null,null],[3,"Iter","","An iterator yielding index pairs produced by its internal walker and graph.",null,null],[3,"IterEdges","","An iterator yielding edge indices produced by its internal walker and graph.",null,null],[3,"IterNodes","","An iterator yielding node indices produced by its internal walker and graph.",null,null],[3,"IterWeights","","An iterator yielding weights associated with the index pairs produced by its internal walker\nand graph.",null,null],[3,"IterEdgeWeights","","An iterator yielding edge weights associated with the indices produced by its internal walker\nand graph.",null,null],[3,"IterNodeWeights","","An iterator yielding node weights associated with the indices produced by its internal walker\nand graph.",null,null],[6,"PetGraph","dsp::daggy","",null,null],[6,"RawNodes","","",null,null],[6,"RawEdges","","",null,null],[3,"Dag","","A Directed acyclic graph (DAG) data structure.",null,null],[3,"Children","","A **Walker** type that can be used to step through the children of some parent node.",null,null],[3,"Parents","","A **Walker** type that can be used to step through the children of some parent node.",null,null],[3,"EdgeIndices","","An iterator yielding multiple `EdgeIndex`s, returned by the `Graph::add_edges` method.",null,null],[6,"RecursiveWalk","","",null,null],[3,"WouldCycle","","An error returned by the `Dag::add_edge` method in the case that adding an edge would have\ncaused the graph to cycle.",null,null],[12,"0","","",1,null],[3,"NodeWeightsMut","","Iterator yielding mutable access to all node weights.",null,null],[8,"Walker","","A trait providing a variety of useful methods for traversing some graph type **G**.",null,null],[16,"Index","","The unsigned integer type used for node and edge indices.",0,null],[10,"next","","Fetch the `EdgeIndex` and `NodeIndex` to the next neighbour in our walk through the given\n**Graph**.",0,null],[11,"next_edge","","The next edge in our walk for the given **Graph**.",0,null],[11,"next_node","","The next node in our walk for the given **Graph**.",0,null],[11,"count","","Counts all the steps in the entire walk of the given graph.",0,null],[11,"last","","Walks the whole walk until reaching and returning the last edge node pair.",0,null],[11,"last_edge","","Walks the whole walk until reaching and returning the last edge.",0,null],[11,"last_node","","Walks the whole walk until reaching and returning the last node.",0,null],[11,"nth","","Walks "n" number of steps and produces the resulting edge node pair.",0,null],[11,"nth_edge","","Walks "n" number of steps and produces the resulting edge.",0,null],[11,"nth_node","","Walks "n" number of steps and produces the resulting node.",0,null],[11,"chain","","Produces a walker that will walk the entirey of `self` before walking the entirey of other.",0,null],[11,"filter","","Creates a walker that applies the predicate to each element returned by this walker.\nThe only elements that will be yielded are those that make the predicate evaluate to true.",0,null],[11,"peekable","","Creates a walker that has a `.peek(&graph)` method that returns an optional next neighbor.",0,null],[11,"skip_while","","Creates a walker that invokes the predicate on elements until it returns false. Once the\npredicate returns false, that element and all further elements are yielded.",0,null],[11,"take_while","","Creates a walker that yields elements so long as the predicate returns true. After the\npredicate returns false for the first time, no further elements will be yielded.",0,null],[11,"skip","","Creates a walker that skips the first n steps of this walk, and then yields all further\nsteps.",0,null],[11,"take","","Creates a walker that yields the first n steps of this walk.",0,null],[11,"all","","Tests whether the predicate holds true for all steps in the walk.",0,null],[11,"any","","Tests whether any step in the walk satisfies the given predicate.",0,null],[11,"find","","Returns the first edge node index pair satisfying the specified predicate.",0,null],[11,"find_edge","","Returns the edge index satisfying the specified predicate.",0,null],[11,"find_node","","Returns the node index satisfying the specified predicate.",0,null],[11,"cycle","","Repeats the walker endlessly.",0,null],[11,"fold","","Performs a fold operation over the entire walker, returning the eventual state at the end\nof the walk.",0,null],[11,"inspect","","Creates a walker that calls a function with a reference to each index pair before yielding\nthem. This is often useful for debugging a walker pipeline.",0,null],[11,"iter","","Converts the walker into an iterator yielding index pairs.",0,null],[11,"iter_weights","","Converts the walker into an iterator yielding `(&e, &n)`, where `e` is the edge weight for\nthe next `EdgeIndex` and `n` is the node weight for the next `NodeIndex`.",0,null],[3,"EdgeWeightsMut","","Iterator yielding mutable access to all edge weights.",null,null],[0,"algo","dsp::daggy::petgraph","Graph algorithms.",null,null],[5,"is_cyclic_undirected","dsp::daggy::petgraph::algo","Return `true` if the input graph contains a cycle.",null,{"inputs":[{"name":"graph"}],"output":{"name":"bool"}}],[5,"is_cyclic","","**Deprecated: Renamed to `is_cyclic_undirected`.**",null,{"inputs":[{"name":"graph"}],"output":{"name":"bool"}}],[5,"is_cyclic_directed","","Return `true` if the input directed graph contains a cycle.",null,{"inputs":[{"name":"graph"}],"output":{"name":"bool"}}],[5,"toposort","","Perform a topological sort of a directed graph.",null,{"inputs":[{"name":"graph"}],"output":{"name":"vec"}}],[5,"scc","","Compute the *strongly connected components* using Kosaraju's algorithm.",null,{"inputs":[{"name":"graph"}],"output":{"name":"vec"}}],[5,"condensation","","Condense every strongly connected component into a single node and return the result.",null,{"inputs":[{"name":"graph"},{"name":"bool"}],"output":{"name":"graph"}}],[5,"connected_components","","Return the number of connected components of the graph.",null,{"inputs":[{"name":"graph"}],"output":{"name":"usize"}}],[5,"min_spanning_tree","","Compute a *minimum spanning tree* of a graph.",null,{"inputs":[{"name":"graph"}],"output":{"name":"graph"}}],[5,"is_isomorphic_matching","","Return `true` if the graphs `g0` and `g1` are isomorphic.",null,{"inputs":[{"name":"graph"},{"name":"graph"},{"name":"f"},{"name":"g"}],"output":{"name":"bool"}}],[5,"dijkstra","","Dijkstra's shortest path algorithm.",null,null],[5,"is_isomorphic","","Return `true` if the graphs `g0` and `g1` are isomorphic.",null,{"inputs":[{"name":"graph"},{"name":"graph"}],"output":{"name":"bool"}}],[0,"graphmap","dsp::daggy::petgraph","`GraphMap<N, E>` is an undirected graph where node values are mapping keys.",null,null],[3,"GraphMap","dsp::daggy::petgraph::graphmap","`GraphMap<N, E>` is an undirected graph, with generic node values `N` and edge weights `E`.",null,null],[8,"NodeTrait","","A trait group for `GraphMap`'s node identifier.",null,null],[3,"Nodes","","",null,null],[3,"Neighbors","","",null,null],[3,"Edges","","",null,null],[3,"AllEdges","","",null,null],[3,"Ptr","","A reference that is hashed and compared by its pointer value.",null,null],[12,"0","","",2,null],[0,"graph","dsp::daggy::petgraph","`Graph<N, E, Ty, Ix>` is a graph datastructure using an adjacency list representation.",null,null],[6,"DefIndex","dsp::daggy::petgraph::graph","",null,null],[8,"IndexType","","Trait for the unsigned integer type used for node and edge indices.",null,null],[10,"new","","",3,{"inputs":[{"name":"usize"}],"output":{"name":"self"}}],[10,"index","","",3,null],[10,"max","","",3,{"inputs":[],"output":{"name":"self"}}],[3,"NodeIndex","","Node identifier.",null,null],[5,"node_index","","Short version of `NodeIndex::new`",null,{"inputs":[{"name":"usize"}],"output":{"name":"nodeindex"}}],[5,"edge_index","","Short version of `EdgeIndex::new`",null,{"inputs":[{"name":"usize"}],"output":{"name":"edgeindex"}}],[3,"EdgeIndex","","Edge identifier.",null,null],[3,"Node","","The graph's node type.",null,null],[12,"weight","","Associated node data.",4,null],[3,"Edge","","The graph's edge type.",null,null],[12,"weight","","Associated edge data.",5,null],[3,"Graph","","`Graph<N, E, Ty, Ix>` is a graph datastructure using an adjacency list representation.",null,null],[3,"Externals","","An iterator over either the nodes without edges to them or from them.",null,null],[3,"Neighbors","","Iterator over the neighbors of a node.",null,null],[3,"Edges","","Iterator over the edges of a node.",null,null],[3,"NodeWeightsMut","","Iterator yielding mutable access to all node weights.",null,null],[3,"EdgeWeightsMut","","Iterator yielding mutable access to all edge weights.",null,null],[8,"GraphIndex","","A `GraphIndex` is a node or edge index.",null,null],[3,"WalkNeighbors","","A “walker” object that can be used to step through the edge list of a node.",null,null],[3,"WalkEdges","","**Deprecated.**",null,null],[3,"NodeIndices","","Iterator over the node indices of a graph.",null,null],[3,"EdgeIndices","","Iterator over the edge indices of a graph.",null,null],[0,"dot","dsp::daggy::petgraph","Simple graphviz dot file format output.",null,null],[3,"Dot","dsp::daggy::petgraph::dot","`Dot` implements output to graphviz .dot format for a graph.",null,null],[4,"Config","","`Dot` configuration.",null,null],[13,"NodeIndexLabel","","Use indices for node labels.",6,null],[13,"EdgeIndexLabel","","Use indices for edge labels.",6,null],[13,"EdgeNoLabel","","Use no edge labels.",6,null],[0,"visit","dsp::daggy::petgraph","Graph visitor algorithms.",null,null],[8,"Graphlike","dsp::daggy::petgraph::visit","Base trait for graphs that defines the node identifier.",null,null],[16,"NodeId","","",7,null],[8,"NeighborIter","","NeighborIter gives access to the neighbors iterator.",null,null],[16,"Iter","","",8,null],[10,"neighbors","","Return an iterator that visits all neighbors of the node **n**.",8,null],[3,"AsUndirected","","Wrapper type for walking the graph as if it is undirected",null,null],[12,"0","","",9,null],[3,"Reversed","","Wrapper type for walking the graph as if all edges are reversed.",null,null],[12,"0","","",10,null],[8,"NeighborsDirected","","NeighborsDirected gives access to neighbors of both `Incoming` and `Outgoing`\nedges of a node.",null,null],[16,"NeighborsDirected","","",11,null],[10,"neighbors_directed","","Return an iterator that visits all neighbors of the node **n**.",11,null],[8,"Externals","","Externals returns an iterator of all nodes that either have either no\nincoming or no outgoing edges.",null,null],[16,"Externals","","",12,null],[10,"externals","","Return an iterator of all nodes with no edges in the given direction",12,null],[8,"VisitMap","","A mapping for storing the visited status for NodeId `N`.",null,null],[10,"visit","","Return **true** if the value is not already present.",13,null],[10,"is_visited","","",13,null],[8,"Visitable","","A graph that can create a visitor map.",null,null],[16,"Map","","",14,null],[10,"visit_map","","",14,null],[8,"Revisitable","","A graph that can reset and resize its visitor map.",null,null],[10,"reset_map","","",15,null],[8,"GetAdjacencyMatrix","","Create or access the adjacency matrix of a graph",null,null],[16,"AdjMatrix","","",16,null],[10,"adjacency_matrix","","",16,null],[10,"is_adjacent","","",16,null],[3,"Dfs","","A depth first search (DFS) of a graph.",null,null],[12,"stack","","The stack of nodes to visit",17,null],[12,"discovered","","The map of discovered nodes",17,null],[3,"DfsIter","","An iterator for a depth first traversal of a graph.",null,null],[3,"Bfs","","A breadth first search (BFS) of a graph.",null,null],[12,"stack","","The queue of nodes to visit",18,null],[12,"discovered","","The map of discovered nodes",18,null],[3,"BfsIter","","An iterator for a breadth first traversal of a graph.",null,null],[3,"Topo","","A topological order traversal for a graph.",null,null],[3,"SubTopo","","A topological order traversal for a subgraph.",null,null],[0,"unionfind","dsp::daggy::petgraph","`UnionFind<K>` is a disjoint-set data structure.",null,null],[3,"UnionFind","dsp::daggy::petgraph::unionfind","`UnionFind<K>` is a disjoint-set data structure. It tracks set membership of *n* elements\nindexed from *0* to *n - 1*. The scalar type is `K` which must be an unsigned integer type.",null,null],[4,"EdgeDirection","dsp::daggy::petgraph","Edge direction",null,null],[13,"Outgoing","","An `Outgoing` edge is an outward edge *from* the current node.",19,null],[13,"Incoming","","An `Incoming` edge is an inbound edge *to* the current node.",19,null],[4,"Directed","","Marker type for a directed graph.",null,null],[4,"Undirected","","Marker type for an undirected graph.",null,null],[8,"EdgeType","","A graph's edge type determines whether is has directed edges or not.",null,null],[10,"is_directed","","",20,{"inputs":[],"output":{"name":"bool"}}],[8,"IntoWeightedEdge","","Convert an element like `(i, j)` or `(i, j, w)` into\na triple of source, target, edge weight.",null,null],[16,"NodeId","","",21,null],[10,"into_weighted_edge","","",21,null],[3,"GraphMap","","`GraphMap<N, E>` is an undirected graph, with generic node values `N` and edge weights `E`.",null,null],[3,"DfsIter","","An iterator for a depth first traversal of a graph.",null,null],[3,"Dfs","","A depth first search (DFS) of a graph.",null,null],[12,"stack","","The stack of nodes to visit",17,null],[12,"discovered","","The map of discovered nodes",17,null],[3,"Bfs","","A breadth first search (BFS) of a graph.",null,null],[12,"stack","","The queue of nodes to visit",18,null],[12,"discovered","","The map of discovered nodes",18,null],[3,"BfsIter","","An iterator for a breadth first traversal of a graph.",null,null],[3,"Graph","","`Graph<N, E, Ty, Ix>` is a graph datastructure using an adjacency list representation.",null,null],[3,"NodeIndex","dsp::daggy","Node identifier.",null,null],[3,"EdgeIndex","","Edge identifier.",null,null],[0,"buffer","dsp::sample","This module provides various helper functions for performing operations on slices of samples.",null,null],[5,"map_in_place","dsp::sample::buffer","Mutate every element in the buffer with the given function.",null,null],[5,"equilibrium","","Sets the buffer of samples at the `Sample`'s equilibrium value.",null,null],[5,"map_in_place_with","","Mutate every element in buffer `a` while reading from each element from buffer `b` in lock-step\nusing the given function.",null,null],[5,"write","","Writes every sample in buffer `b` to buffer `a`.",null,null],[5,"add","","Adds every sample in buffer `b` to every sample in buffer `a` respectively.",null,null],[5,"add_with_amp_per_channel","","Sum buffer `b` onto buffer `a` after multiplying it by the amplitude per channel.",null,null],[0,"conv","dsp::sample","Pure functions for converting between i8, i16, I24, i32, I48, i64, u8, u16, U24, u32, U48, u64,\nf32 and f64.",null,null],[0,"i8","dsp::sample::conv","",null,null],[5,"to_i16","dsp::sample::conv::i8","",null,{"inputs":[{"name":"i8"}],"output":{"name":"i16"}}],[5,"to_i24","","",null,{"inputs":[{"name":"i8"}],"output":{"name":"i24"}}],[5,"to_i32","","",null,{"inputs":[{"name":"i8"}],"output":{"name":"i32"}}],[5,"to_i48","","",null,{"inputs":[{"name":"i8"}],"output":{"name":"i48"}}],[5,"to_i64","","",null,{"inputs":[{"name":"i8"}],"output":{"name":"i64"}}],[5,"to_u8","","",null,{"inputs":[{"name":"i8"}],"output":{"name":"u8"}}],[5,"to_u16","","",null,{"inputs":[{"name":"i8"}],"output":{"name":"u16"}}],[5,"to_u24","","",null,{"inputs":[{"name":"i8"}],"output":{"name":"u24"}}],[5,"to_u32","","",null,{"inputs":[{"name":"i8"}],"output":{"name":"u32"}}],[5,"to_u48","","",null,{"inputs":[{"name":"i8"}],"output":{"name":"u48"}}],[5,"to_u64","","",null,{"inputs":[{"name":"i8"}],"output":{"name":"u64"}}],[5,"to_f32","","",null,{"inputs":[{"name":"i8"}],"output":{"name":"f32"}}],[5,"to_f64","","",null,{"inputs":[{"name":"i8"}],"output":{"name":"f64"}}],[0,"i16","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::i16","",null,{"inputs":[{"name":"i16"}],"output":{"name":"i8"}}],[5,"to_i24","","",null,{"inputs":[{"name":"i16"}],"output":{"name":"i24"}}],[5,"to_i32","","",null,{"inputs":[{"name":"i16"}],"output":{"name":"i32"}}],[5,"to_i48","","",null,{"inputs":[{"name":"i16"}],"output":{"name":"i48"}}],[5,"to_i64","","",null,{"inputs":[{"name":"i16"}],"output":{"name":"i64"}}],[5,"to_u8","","",null,{"inputs":[{"name":"i16"}],"output":{"name":"u8"}}],[5,"to_u16","","",null,{"inputs":[{"name":"i16"}],"output":{"name":"u16"}}],[5,"to_u24","","",null,{"inputs":[{"name":"i16"}],"output":{"name":"u24"}}],[5,"to_u32","","",null,{"inputs":[{"name":"i16"}],"output":{"name":"u32"}}],[5,"to_u48","","",null,{"inputs":[{"name":"i16"}],"output":{"name":"u48"}}],[5,"to_u64","","",null,{"inputs":[{"name":"i16"}],"output":{"name":"u64"}}],[5,"to_f32","","",null,{"inputs":[{"name":"i16"}],"output":{"name":"f32"}}],[5,"to_f64","","",null,{"inputs":[{"name":"i16"}],"output":{"name":"f64"}}],[0,"i24","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::i24","",null,{"inputs":[{"name":"i24"}],"output":{"name":"i8"}}],[5,"to_i16","","",null,{"inputs":[{"name":"i24"}],"output":{"name":"i16"}}],[5,"to_i32","","",null,{"inputs":[{"name":"i24"}],"output":{"name":"i32"}}],[5,"to_i48","","",null,{"inputs":[{"name":"i24"}],"output":{"name":"i48"}}],[5,"to_i64","","",null,{"inputs":[{"name":"i24"}],"output":{"name":"i64"}}],[5,"to_u8","","",null,{"inputs":[{"name":"i24"}],"output":{"name":"u8"}}],[5,"to_u16","","",null,{"inputs":[{"name":"i24"}],"output":{"name":"u16"}}],[5,"to_u24","","",null,{"inputs":[{"name":"i24"}],"output":{"name":"u24"}}],[5,"to_u32","","",null,{"inputs":[{"name":"i24"}],"output":{"name":"u32"}}],[5,"to_u48","","",null,{"inputs":[{"name":"i24"}],"output":{"name":"u48"}}],[5,"to_u64","","",null,{"inputs":[{"name":"i24"}],"output":{"name":"u64"}}],[5,"to_f32","","",null,{"inputs":[{"name":"i24"}],"output":{"name":"f32"}}],[5,"to_f64","","",null,{"inputs":[{"name":"i24"}],"output":{"name":"f64"}}],[0,"i32","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::i32","",null,{"inputs":[{"name":"i32"}],"output":{"name":"i8"}}],[5,"to_i16","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"i16"}}],[5,"to_i24","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"i24"}}],[5,"to_i48","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"i48"}}],[5,"to_i64","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"i64"}}],[5,"to_u8","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"u8"}}],[5,"to_u16","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"u16"}}],[5,"to_u24","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"u24"}}],[5,"to_u32","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"u32"}}],[5,"to_u48","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"u48"}}],[5,"to_u64","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"u64"}}],[5,"to_f32","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"f32"}}],[5,"to_f64","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"f64"}}],[0,"i48","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::i48","",null,{"inputs":[{"name":"i48"}],"output":{"name":"i8"}}],[5,"to_i16","","",null,{"inputs":[{"name":"i48"}],"output":{"name":"i16"}}],[5,"to_i24","","",null,{"inputs":[{"name":"i48"}],"output":{"name":"i24"}}],[5,"to_i32","","",null,{"inputs":[{"name":"i48"}],"output":{"name":"i32"}}],[5,"to_i64","","",null,{"inputs":[{"name":"i48"}],"output":{"name":"i64"}}],[5,"to_u8","","",null,{"inputs":[{"name":"i48"}],"output":{"name":"u8"}}],[5,"to_u16","","",null,{"inputs":[{"name":"i48"}],"output":{"name":"u16"}}],[5,"to_u24","","",null,{"inputs":[{"name":"i48"}],"output":{"name":"u24"}}],[5,"to_u32","","",null,{"inputs":[{"name":"i48"}],"output":{"name":"u32"}}],[5,"to_u48","","",null,{"inputs":[{"name":"i48"}],"output":{"name":"u48"}}],[5,"to_u64","","",null,{"inputs":[{"name":"i48"}],"output":{"name":"u64"}}],[5,"to_f32","","",null,{"inputs":[{"name":"i48"}],"output":{"name":"f32"}}],[5,"to_f64","","",null,{"inputs":[{"name":"i48"}],"output":{"name":"f64"}}],[0,"i64","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::i64","",null,{"inputs":[{"name":"i64"}],"output":{"name":"i8"}}],[5,"to_i16","","",null,{"inputs":[{"name":"i64"}],"output":{"name":"i16"}}],[5,"to_i24","","",null,{"inputs":[{"name":"i64"}],"output":{"name":"i24"}}],[5,"to_i32","","",null,{"inputs":[{"name":"i64"}],"output":{"name":"i32"}}],[5,"to_i48","","",null,{"inputs":[{"name":"i64"}],"output":{"name":"i48"}}],[5,"to_u8","","",null,{"inputs":[{"name":"i64"}],"output":{"name":"u8"}}],[5,"to_u16","","",null,{"inputs":[{"name":"i64"}],"output":{"name":"u16"}}],[5,"to_u24","","",null,{"inputs":[{"name":"i64"}],"output":{"name":"u24"}}],[5,"to_u32","","",null,{"inputs":[{"name":"i64"}],"output":{"name":"u32"}}],[5,"to_u48","","",null,{"inputs":[{"name":"i64"}],"output":{"name":"u48"}}],[5,"to_u64","","",null,{"inputs":[{"name":"i64"}],"output":{"name":"u64"}}],[5,"to_f32","","",null,{"inputs":[{"name":"i64"}],"output":{"name":"f32"}}],[5,"to_f64","","",null,{"inputs":[{"name":"i64"}],"output":{"name":"f64"}}],[0,"u8","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::u8","",null,{"inputs":[{"name":"u8"}],"output":{"name":"i8"}}],[5,"to_i16","","",null,{"inputs":[{"name":"u8"}],"output":{"name":"i16"}}],[5,"to_i24","","",null,{"inputs":[{"name":"u8"}],"output":{"name":"i24"}}],[5,"to_i32","","",null,{"inputs":[{"name":"u8"}],"output":{"name":"i32"}}],[5,"to_i48","","",null,{"inputs":[{"name":"u8"}],"output":{"name":"i48"}}],[5,"to_i64","","",null,{"inputs":[{"name":"u8"}],"output":{"name":"i64"}}],[5,"to_u16","","",null,{"inputs":[{"name":"u8"}],"output":{"name":"u16"}}],[5,"to_u24","","",null,{"inputs":[{"name":"u8"}],"output":{"name":"u24"}}],[5,"to_u32","","",null,{"inputs":[{"name":"u8"}],"output":{"name":"u32"}}],[5,"to_u48","","",null,{"inputs":[{"name":"u8"}],"output":{"name":"u48"}}],[5,"to_u64","","",null,{"inputs":[{"name":"u8"}],"output":{"name":"u64"}}],[5,"to_f32","","",null,{"inputs":[{"name":"u8"}],"output":{"name":"f32"}}],[5,"to_f64","","",null,{"inputs":[{"name":"u8"}],"output":{"name":"f64"}}],[0,"u16","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::u16","",null,{"inputs":[{"name":"u16"}],"output":{"name":"i8"}}],[5,"to_i16","","",null,{"inputs":[{"name":"u16"}],"output":{"name":"i16"}}],[5,"to_i24","","",null,{"inputs":[{"name":"u16"}],"output":{"name":"i24"}}],[5,"to_i32","","",null,{"inputs":[{"name":"u16"}],"output":{"name":"i32"}}],[5,"to_i48","","",null,{"inputs":[{"name":"u16"}],"output":{"name":"i48"}}],[5,"to_i64","","",null,{"inputs":[{"name":"u16"}],"output":{"name":"i64"}}],[5,"to_u8","","",null,{"inputs":[{"name":"u16"}],"output":{"name":"u8"}}],[5,"to_u24","","",null,{"inputs":[{"name":"u16"}],"output":{"name":"u24"}}],[5,"to_u32","","",null,{"inputs":[{"name":"u16"}],"output":{"name":"u32"}}],[5,"to_u48","","",null,{"inputs":[{"name":"u16"}],"output":{"name":"u48"}}],[5,"to_u64","","",null,{"inputs":[{"name":"u16"}],"output":{"name":"u64"}}],[5,"to_f32","","",null,{"inputs":[{"name":"u16"}],"output":{"name":"f32"}}],[5,"to_f64","","",null,{"inputs":[{"name":"u16"}],"output":{"name":"f64"}}],[0,"u24","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::u24","",null,{"inputs":[{"name":"u24"}],"output":{"name":"i8"}}],[5,"to_i16","","",null,{"inputs":[{"name":"u24"}],"output":{"name":"i16"}}],[5,"to_i24","","",null,{"inputs":[{"name":"u24"}],"output":{"name":"i24"}}],[5,"to_i32","","",null,{"inputs":[{"name":"u24"}],"output":{"name":"i32"}}],[5,"to_i48","","",null,{"inputs":[{"name":"u24"}],"output":{"name":"i48"}}],[5,"to_i64","","",null,{"inputs":[{"name":"u24"}],"output":{"name":"i64"}}],[5,"to_u8","","",null,{"inputs":[{"name":"u24"}],"output":{"name":"u8"}}],[5,"to_u16","","",null,{"inputs":[{"name":"u24"}],"output":{"name":"u16"}}],[5,"to_u32","","",null,{"inputs":[{"name":"u24"}],"output":{"name":"u32"}}],[5,"to_u48","","",null,{"inputs":[{"name":"u24"}],"output":{"name":"u48"}}],[5,"to_u64","","",null,{"inputs":[{"name":"u24"}],"output":{"name":"u64"}}],[5,"to_f32","","",null,{"inputs":[{"name":"u24"}],"output":{"name":"f32"}}],[5,"to_f64","","",null,{"inputs":[{"name":"u24"}],"output":{"name":"f64"}}],[0,"u32","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::u32","",null,{"inputs":[{"name":"u32"}],"output":{"name":"i8"}}],[5,"to_i16","","",null,{"inputs":[{"name":"u32"}],"output":{"name":"i16"}}],[5,"to_i24","","",null,{"inputs":[{"name":"u32"}],"output":{"name":"i24"}}],[5,"to_i32","","",null,{"inputs":[{"name":"u32"}],"output":{"name":"i32"}}],[5,"to_i48","","",null,{"inputs":[{"name":"u32"}],"output":{"name":"i48"}}],[5,"to_i64","","",null,{"inputs":[{"name":"u32"}],"output":{"name":"i64"}}],[5,"to_u8","","",null,{"inputs":[{"name":"u32"}],"output":{"name":"u8"}}],[5,"to_u16","","",null,{"inputs":[{"name":"u32"}],"output":{"name":"u16"}}],[5,"to_u24","","",null,{"inputs":[{"name":"u32"}],"output":{"name":"u24"}}],[5,"to_u48","","",null,{"inputs":[{"name":"u32"}],"output":{"name":"u48"}}],[5,"to_u64","","",null,{"inputs":[{"name":"u32"}],"output":{"name":"u64"}}],[5,"to_f32","","",null,{"inputs":[{"name":"u32"}],"output":{"name":"f32"}}],[5,"to_f64","","",null,{"inputs":[{"name":"u32"}],"output":{"name":"f64"}}],[0,"u48","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::u48","",null,{"inputs":[{"name":"u48"}],"output":{"name":"i8"}}],[5,"to_i16","","",null,{"inputs":[{"name":"u48"}],"output":{"name":"i16"}}],[5,"to_i24","","",null,{"inputs":[{"name":"u48"}],"output":{"name":"i24"}}],[5,"to_i32","","",null,{"inputs":[{"name":"u48"}],"output":{"name":"i32"}}],[5,"to_i48","","",null,{"inputs":[{"name":"u48"}],"output":{"name":"i48"}}],[5,"to_i64","","",null,{"inputs":[{"name":"u48"}],"output":{"name":"i64"}}],[5,"to_u8","","",null,{"inputs":[{"name":"u48"}],"output":{"name":"u8"}}],[5,"to_u16","","",null,{"inputs":[{"name":"u48"}],"output":{"name":"u16"}}],[5,"to_u24","","",null,{"inputs":[{"name":"u48"}],"output":{"name":"u24"}}],[5,"to_u32","","",null,{"inputs":[{"name":"u48"}],"output":{"name":"u32"}}],[5,"to_u64","","",null,{"inputs":[{"name":"u48"}],"output":{"name":"u64"}}],[5,"to_f32","","",null,{"inputs":[{"name":"u48"}],"output":{"name":"f32"}}],[5,"to_f64","","",null,{"inputs":[{"name":"u48"}],"output":{"name":"f64"}}],[0,"u64","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::u64","",null,{"inputs":[{"name":"u64"}],"output":{"name":"i8"}}],[5,"to_i16","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"i16"}}],[5,"to_i24","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"i24"}}],[5,"to_i32","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"i32"}}],[5,"to_i48","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"i48"}}],[5,"to_i64","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"i64"}}],[5,"to_u8","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"u8"}}],[5,"to_u16","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"u16"}}],[5,"to_u24","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"u24"}}],[5,"to_u32","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"u32"}}],[5,"to_u48","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"u48"}}],[5,"to_f32","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"f32"}}],[5,"to_f64","","",null,{"inputs":[{"name":"u64"}],"output":{"name":"f64"}}],[0,"f32","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::f32","",null,{"inputs":[{"name":"f32"}],"output":{"name":"i8"}}],[5,"to_i16","","",null,{"inputs":[{"name":"f32"}],"output":{"name":"i16"}}],[5,"to_i24","","",null,{"inputs":[{"name":"f32"}],"output":{"name":"i24"}}],[5,"to_i32","","",null,{"inputs":[{"name":"f32"}],"output":{"name":"i32"}}],[5,"to_i48","","",null,{"inputs":[{"name":"f32"}],"output":{"name":"i48"}}],[5,"to_i64","","",null,{"inputs":[{"name":"f32"}],"output":{"name":"i64"}}],[5,"to_u8","","",null,{"inputs":[{"name":"f32"}],"output":{"name":"u8"}}],[5,"to_u16","","",null,{"inputs":[{"name":"f32"}],"output":{"name":"u16"}}],[5,"to_u24","","",null,{"inputs":[{"name":"f32"}],"output":{"name":"u24"}}],[5,"to_u32","","",null,{"inputs":[{"name":"f32"}],"output":{"name":"u32"}}],[5,"to_u48","","",null,{"inputs":[{"name":"f32"}],"output":{"name":"u48"}}],[5,"to_u64","","",null,{"inputs":[{"name":"f32"}],"output":{"name":"u64"}}],[5,"to_f64","","",null,{"inputs":[{"name":"f32"}],"output":{"name":"f64"}}],[0,"f64","dsp::sample::conv","",null,null],[5,"to_i8","dsp::sample::conv::f64","",null,{"inputs":[{"name":"f64"}],"output":{"name":"i8"}}],[5,"to_i16","","",null,{"inputs":[{"name":"f64"}],"output":{"name":"i16"}}],[5,"to_i24","","",null,{"inputs":[{"name":"f64"}],"output":{"name":"i24"}}],[5,"to_i32","","",null,{"inputs":[{"name":"f64"}],"output":{"name":"i32"}}],[5,"to_i48","","",null,{"inputs":[{"name":"f64"}],"output":{"name":"i48"}}],[5,"to_i64","","",null,{"inputs":[{"name":"f64"}],"output":{"name":"i64"}}],[5,"to_u8","","",null,{"inputs":[{"name":"f64"}],"output":{"name":"u8"}}],[5,"to_u16","","",null,{"inputs":[{"name":"f64"}],"output":{"name":"u16"}}],[5,"to_u24","","",null,{"inputs":[{"name":"f64"}],"output":{"name":"u24"}}],[5,"to_u32","","",null,{"inputs":[{"name":"f64"}],"output":{"name":"u32"}}],[5,"to_u48","","",null,{"inputs":[{"name":"f64"}],"output":{"name":"u48"}}],[5,"to_u64","","",null,{"inputs":[{"name":"f64"}],"output":{"name":"u64"}}],[5,"to_f32","","",null,{"inputs":[{"name":"f64"}],"output":{"name":"f32"}}],[0,"types","dsp::sample","",null,null],[0,"i11","dsp::sample::types","",null,null],[17,"MIN","dsp::sample::types::i11","",null,null],[17,"MAX","","",null,null],[17,"EQUILIBRIUM","","",null,null],[3,"I11","","",null,null],[0,"u11","dsp::sample::types","",null,null],[17,"MIN","dsp::sample::types::u11","",null,null],[17,"MAX","","",null,null],[17,"EQUILIBRIUM","","",null,null],[3,"U11","","",null,null],[0,"i20","dsp::sample::types","",null,null],[17,"MIN","dsp::sample::types::i20","",null,null],[17,"MAX","","",null,null],[17,"EQUILIBRIUM","","",null,null],[3,"I20","","",null,null],[0,"u20","dsp::sample::types","",null,null],[17,"MIN","dsp::sample::types::u20","",null,null],[17,"MAX","","",null,null],[17,"EQUILIBRIUM","","",null,null],[3,"U20","","",null,null],[0,"i24","dsp::sample::types","",null,null],[17,"MIN","dsp::sample::types::i24","",null,null],[17,"MAX","","",null,null],[17,"EQUILIBRIUM","","",null,null],[3,"I24","","",null,null],[0,"u24","dsp::sample::types","",null,null],[17,"MIN","dsp::sample::types::u24","",null,null],[17,"MAX","","",null,null],[17,"EQUILIBRIUM","","",null,null],[3,"U24","","",null,null],[0,"i48","dsp::sample::types","",null,null],[17,"MIN","dsp::sample::types::i48","",null,null],[17,"MAX","","",null,null],[17,"EQUILIBRIUM","","",null,null],[3,"I48","","",null,null],[0,"u48","dsp::sample::types","",null,null],[17,"MIN","dsp::sample::types::u48","",null,null],[17,"MAX","","",null,null],[17,"EQUILIBRIUM","","",null,null],[3,"U48","","",null,null],[3,"U24","dsp::sample::types","",null,null],[3,"U20","","",null,null],[3,"I48","","",null,null],[3,"U11","","",null,null],[3,"I11","","",null,null],[3,"I20","","",null,null],[3,"U48","","",null,null],[3,"I24","","",null,null],[8,"FromSample","dsp::sample","Similar to the std `From` trait, but specifically for converting between sample types.",null,null],[10,"from_sample_","","",22,{"inputs":[{"name":"s"}],"output":{"name":"self"}}],[8,"ToSample","","Similar to the std `Into` trait, but specifically for converting between sample types.",null,null],[10,"to_sample_","","",23,null],[8,"Duplex","","Sample types which may be converted to and from some type `S`.",null,null],[8,"Sample","","A trait for working generically across different sample types.",null,null],[11,"to_sample","","Convert `self` to any type that implements `FromSample`.",24,null],[11,"from_sample","","Create a `Self` from any type that implements `ToSample`.",24,{"inputs":[{"name":"s"}],"output":{"name":"self"}}],[10,"equilibrium","","The equilibrium value for the wave that this `Sample` type represents. This is normally the\nvalue that is equal distance from both the min and max ranges of the sample.",24,{"inputs":[],"output":{"name":"self"}}],[3,"U24","","",null,null],[3,"I48","","",null,null],[3,"U48","","",null,null],[3,"I24","","",null,null],[8,"DuplexSample","dsp","Sample types which may be converted to and from some type `S`.",null,null],[8,"FromSample","","Similar to the std `From` trait, but specifically for converting between sample types.",null,null],[10,"from_sample_","","",22,{"inputs":[{"name":"s"}],"output":{"name":"self"}}],[8,"ToSample","","Similar to the std `Into` trait, but specifically for converting between sample types.",null,null],[10,"to_sample_","","",23,null],[8,"Sample","","A trait for working generically across different sample types.",null,null],[11,"to_sample","","Convert `self` to any type that implements `FromSample`.",24,null],[11,"from_sample","","Create a `Self` from any type that implements `ToSample`.",24,{"inputs":[{"name":"s"}],"output":{"name":"self"}}],[10,"equilibrium","","The equilibrium value for the wave that this `Sample` type represents. This is normally the\nvalue that is equal distance from both the min and max ranges of the sample.",24,{"inputs":[],"output":{"name":"self"}}],[3,"Connection","","Describes a connection between two Nodes within the Graph: *input -> connection -> output*.",null,null],[12,"buffer","","The buffer used to pass audio between nodes.",25,null],[3,"Graph","","A directed, acyclic DSP graph.",null,null],[3,"Inputs","","A walker object for walking over nodes that are inputs to some node.",null,null],[3,"Outputs","","A walker object for walking over nodes that are outputs to some node.",null,null],[3,"VisitOrder","","A walker type for walking over a **Graph**'s nodes in the order in which they will visited when\naudio is requested from the **Graph**.",null,null],[3,"VisitOrderReverse","","A walker type for walking over a **Graph**'s nodes in the order in which they will visited when\naudio is requested from the **Graph**.",null,null],[3,"WouldCycle","","The error returned when adding an edge that would create a cycle.",null,null],[3,"Settings","","Settings required for SoundStream.",null,null],[12,"sample_hz","","The number of samples per second.",26,null],[12,"frames","","How many samples per channel requested at a time in the buffer.",26,null],[12,"channels","","Number of channels, for example 2 for stereo sound (left + right speaker).",26,null],[11,"fmt","","",27,null],[11,"clone","","",27,null],[11,"fmt","","",25,null],[11,"clone","","",25,null],[11,"fmt","","",28,null],[11,"clone","","",28,null],[11,"new","","Constructor for a new dsp Graph.",27,{"inputs":[],"output":{"name":"self"}}],[11,"with_capacity","","Constructor for a new dsp Graph with some minimum capacity.",27,{"inputs":[{"name":"usize"},{"name":"usize"},{"name":"usize"}],"output":{"name":"self"}}],[11,"dag","","A reference to the underlying **Dag**.",27,null],[11,"into_dag","","Takes ownership of the **Graph** and returns the underlying **Dag**.",27,null],[11,"pet_graph","","A reference to the internal **Dag**'s underlying **PetGraph**.",27,null],[11,"into_pet_graph","","Takes ownership of the **Graph** and returns the internal **Dag**'s underlying **PetGraph**.",27,null],[11,"node_count","","The total number of nodes in the **Graph**.",27,null],[11,"connection_count","","The total number of connections in the **Graph**.",27,null],[11,"master_index","","Return the **Graph**'s master index if there is one.",27,null],[11,"set_master","","Set the master node for the **Graph**.",27,null],[11,"add_node","","Add a node to the dsp graph.",27,null],[11,"node","","A reference to the node at the given index (or `None` if it doesn't exist).",27,null],[11,"node_mut","","A mutable reference to the node at the given index (or `None` if it doesn't exist).",27,null],[11,"raw_nodes","","Read only access to the internal node array.",27,null],[11,"nodes_mut","","An iterator yielding mutable access to all nodes.",27,null],[11,"connection","","A reference to the connection at the given index (or `None` if it doesn't exist).",27,null],[11,"raw_edges","","Read only access to the internal edge array.",27,null],[11,"index_twice_mut","","Index the **Graph** by two `NodeIndex`s at once.",27,null],[11,"remove_node","","Remove a node from the dsp graph.",27,null],[11,"add_connection","","Adds an edge from `src` to `dest`. That is, `src` is now an input to `dest`.",27,null],[11,"add_connections","","The same as [`add_connection`](./struct.Graph.html#method.add_connection) but adds\nmultiple connections to the **Graph**. Rather than checking for introduced cycles and\nre-preparing the visit order after adding each edge, we only do so after **all** edges are\nadded. Thus, this is a far more efficient alternative to repeatedly calling the\n`add_connection` method.",27,null],[11,"find_connection","","Find and return the index to the edge that describes the connection where `src` is an input\nto `dest`.",27,null],[11,"remove_edge","","Remove the connection described by the edge at the given index.",27,null],[11,"remove_connection","","Find and remove any connection between a and b if there is one, whether it is *a -> b* or\n*b -> a*. We know that their may only be one edge as our API does not allow for creating a\ncyclic graph.",27,null],[11,"add_input","","Add a new node weight to the graph as an input to the wait at the given `dest` node index.",27,null],[11,"add_output","","Add a new node weight to the graph as an output to the wait at the given `src` node index.",27,null],[11,"inputs","","A "walker" object that may be used to step through the inputs of the given node.",27,null],[11,"outputs","","A "walker" object that may be used to step through the outputs of the given node.",27,null],[11,"visit_order","","A "walker" type that may be used to step through all node indices in the order in which\nthey will be visited when audio is requested from the **Graph**.",27,null],[11,"visit_order_rev","","A "walker" type that may be used to step through all node indices in the order in which\nthey will be visited when audio is requested from the **Graph**.",27,null],[11,"remove_all_input_connections","","Remove all incoming connections to the node at the given index.",27,null],[11,"remove_all_output_connections","","Remove all outgoing connections from the node at the given index.",27,null],[11,"clear_disconnected","","Clear all dsp nodes that have no inputs or outputs.",27,null],[11,"clear","","Clear all dsp nodes.",27,null],[11,"prepare_buffers","","Prepare the buffers for all nodes within the Graph.",27,null],[11,"audio_requested_from","","Request audio from the node at the given index.",27,null],[11,"index","","",27,null],[11,"index_mut","","",27,null],[11,"index","","",27,null],[11,"audio_requested","","",27,null],[11,"next","","The next (connection, node) input pair to some node in our walk for the given **Graph**.",29,null],[11,"next_edge","","The next input connection to some node in our walk for the given **Graph**.",29,null],[11,"next_node","","The next input node to some node in our walk for the given **Graph**.",29,null],[11,"next","","The next (connection, node) output pair from some node in our walk for the given **Graph**.",30,null],[11,"next_edge","","The next output connection from some node in our walk for the given **Graph**.",30,null],[11,"next_node","","The next output node from some node in our walk for the given **Graph**.",30,null],[11,"next","","The index of the next node that would be visited during audio requested in our walk of the\ngiven **Graph**'s visit order.",31,null],[11,"next","","The index of the next node that would be visited during audio requested in our walk of the\ngiven **Graph**'s visit order.",32,null],[11,"fmt","","",28,null],[11,"description","","",28,null],[11,"eq","","",26,null],[11,"ne","","",26,null],[11,"fmt","","",26,null],[11,"clone","","",26,null],[11,"new","","Custom constructor for the Settings.",26,{"inputs":[{"name":"samplehz"},{"name":"frames"},{"name":"channels"}],"output":{"name":"settings"}}],[11,"cd_quality","","Default, standard constructor for Settings.",26,{"inputs":[],"output":{"name":"settings"}}],[11,"buffer_size","","Return the length of a SoundBuffer that would use Settings.",26,null],[11,"default","","",26,{"inputs":[],"output":{"name":"settings"}}],[6,"Dag","","An alias for the **Dag** used within our **Graph**.",null,null],[6,"EdgeIndex","","An alias for our Graph's Edge Index.",null,null],[6,"NodeIndex","","An alias for our Graph's Node Index.",null,null],[6,"NodesMut","","An alias for the iterator yielding mutable access to all node weights.",null,null],[6,"PetGraph","","An alias for the **PetGraph** used by our **Graph**'s internal **Dag**.",null,null],[6,"RawEdges","","Read only access to a **Graph**'s internal edge array.",null,null],[6,"RawNodes","","Read only access to a **Graph**'s internal node array.",null,null],[6,"Volume","","The amplitude multiplier.",null,null],[6,"Panning","","The spacial positioning of the node. Currently only supports Stereo or Mono.\n-1.0 = Left.\n 0.0 = Center.\n 1.0 = Right.",null,null],[8,"Node","","Types to be used as a **Node** within the DSP **Graph**.",null,null],[10,"audio_requested","","Request audio from the **Node** given some stream format **Settings**.\nIf the **Node** has no inputs, the `buffer` will be zeroed.\nIf the **Node** has some inputs, the `buffer` will consist of the inputs summed together.",33,null],[11,"dry","","Following the call to the `Node`'s `audio_requested` method, the `Graph` will sum together\nsome of the original (dry) signal with some of the processed (wet) signal.",33,null],[11,"wet","","Following the call to the `Node`'s `audio_requested` method, the `Graph` will sum together\nsome of the original (dry) signal with some of the processed (wet) signal.",33,null],[11,"fmt","dsp::daggy::walker","",34,null],[11,"clone","","",34,null],[11,"new","","Construct a new **Recursive** **Walker** starting from the node at the given index.",34,{"inputs":[{"name":"nodeindex"},{"name":"f"}],"output":{"name":"recursive"}}],[11,"next","","",34,null],[11,"fmt","","",35,null],[11,"clone","","",35,null],[11,"next","","",35,null],[11,"fmt","","",36,null],[11,"clone","","",36,null],[11,"next","","",36,null],[11,"fmt","","",37,null],[11,"clone","","",37,null],[11,"peek","","The edge node index pair of the neighbor at the next step in our walk of the given graph.",37,null],[11,"peek_edge","","The edge index of the neighbor at the next step in our walk of the given graph.",37,null],[11,"peek_node","","The node index of the neighbor at the next step in our walk of the given graph.",37,null],[11,"next","","",37,null],[11,"fmt","","",38,null],[11,"clone","","",38,null],[11,"next","","",38,null],[11,"fmt","","",39,null],[11,"clone","","",39,null],[11,"next","","",39,null],[11,"fmt","","",40,null],[11,"clone","","",40,null],[11,"next","","",40,null],[11,"fmt","","",41,null],[11,"clone","","",41,null],[11,"next","","",41,null],[11,"fmt","","",42,null],[11,"clone","","",42,null],[11,"next","","",42,null],[11,"fmt","","",43,null],[11,"clone","","",43,null],[11,"next","","",43,null],[11,"fmt","","",44,null],[11,"clone","","",44,null],[11,"edges","","Convert to an iterator that only yields the edge indices.",44,null],[11,"nodes","","Convert to an iterator that only yields the node indices.",44,null],[11,"next","","",44,null],[11,"fmt","","",45,null],[11,"clone","","",45,null],[11,"next","","",45,null],[11,"fmt","","",46,null],[11,"clone","","",46,null],[11,"next","","",46,null],[11,"fmt","","",47,null],[11,"clone","","",47,null],[11,"edges","","Convert to an iterator yielding only the edge weights.",47,null],[11,"nodes","","Convert to an iterator yielding only the node weights.",47,null],[11,"next","","",47,null],[11,"fmt","","",48,null],[11,"clone","","",48,null],[11,"next","","",48,null],[11,"fmt","","",49,null],[11,"clone","","",49,null],[11,"next","","",49,null],[11,"fmt","dsp::daggy","",50,null],[11,"clone","","",50,null],[11,"fmt","","",1,null],[11,"clone","","",1,null],[11,"new","","Create a new, empty `Dag`.",50,{"inputs":[],"output":{"name":"dag"}}],[11,"with_capacity","","Create a new `Dag` with estimated capacity for its node and edge Vecs.",50,{"inputs":[{"name":"usize"},{"name":"usize"}],"output":{"name":"dag"}}],[11,"clear","","Removes all nodes and edges from the **Dag**.",50,null],[11,"node_count","","The total number of nodes in the **Dag**.",50,null],[11,"edge_count","","The total number of edgees in the **Dag**.",50,null],[11,"graph","","Borrow the `Dag`'s underlying `PetGraph<N, Ix>`.\nAll existing indices may be used to index into this `PetGraph` the same way they may be\nused to index into the `Dag`.",50,null],[11,"into_graph","","Take ownership of the `Dag` and return the internal `PetGraph`.\nAll existing indices may be used to index into this `PetGraph` the same way they may be\nused to index into the `Dag`.",50,null],[11,"add_node","","Add a new node to the `Dag` with the given weight.",50,null],[11,"add_edge","","Add a new directed edge to the `Dag` with the given weight.",50,null],[11,"add_edges","","Adds the given directed edges to the `Dag`, each with their own given weight.",50,null],[11,"update_edge","","Update the edge from nodes `a` -> `b` with the given weight.",50,null],[11,"find_edge","","Find and return the index to the edge that describes `a` -> `b` if there is one.",50,null],[11,"edge_endpoints","","Access the parent and child nodes for the given `EdgeIndex`.",50,null],[11,"clear_edges","","Remove all edges.",50,null],[11,"add_parent","","Add a new edge and parent node to the node at the given `NodeIndex`.\nReturns both the edge's `EdgeIndex` and the node's `NodeIndex`.",50,null],[11,"add_child","","Add a new edge and child node to the node at the given `NodeIndex`.\nReturns both the edge's `EdgeIndex` and the node's `NodeIndex`.",50,null],[11,"node_weight","","Borrow the weight from the node at the given index.",50,null],[11,"node_weight_mut","","Mutably borrow the weight from the node at the given index.",50,null],[11,"raw_nodes","","Read from the internal node array.",50,null],[11,"node_weights_mut","","An iterator yielding mutable access to all node weights.",50,null],[11,"edge_weight","","Borrow the weight from the edge at the given index.",50,null],[11,"edge_weight_mut","","Mutably borrow the weight from the edge at the given index.",50,null],[11,"raw_edges","","Read from the internal edge array.",50,null],[11,"edge_weights_mut","","An iterator yielding mutable access to all edge weights.",50,null],[11,"index_twice_mut","","Index the `Dag` by two indices.",50,null],[11,"remove_node","","Remove the node at the given index from the `Dag` and return it if it exists.",50,null],[11,"remove_edge","","Remove an edge and return its weight, or `None` if it didn't exist.",50,null],[11,"parents","","A **Walker** type that may be used to step through the parents of the given child node.",50,null],[11,"children","","A "walker" object that may be used to step through the children of the given parent node.",50,null],[11,"recursive_walk","","A **Walker** type that recursively walks the **Dag** using the given `recursive_fn`.",50,null],[11,"index","","",50,null],[11,"index_mut","","",50,null],[11,"index","","",50,null],[11,"index_mut","","",50,null],[11,"next","","",51,null],[11,"next","","",52,null],[11,"next","","",53,null],[11,"fmt","","",1,null],[11,"description","","",1,null],[11,"clone","dsp::daggy::petgraph","",54,null],[11,"fmt","","",54,null],[11,"new","","Create a new `GraphMap`.",54,{"inputs":[],"output":{"name":"graphmap"}}],[11,"with_capacity","","Create a new `GraphMap` with estimated capacity.",54,{"inputs":[{"name":"usize"},{"name":"usize"}],"output":{"name":"graphmap"}}],[11,"capacity","","Return the current node and edge capacity of the graph.",54,null],[11,"from_edges","","Create a new `GraphMap` from an iterable of edges.",54,{"inputs":[{"name":"i"}],"output":{"name":"graphmap"}}],[11,"node_count","","Return the number of nodes in the graph.",54,null],[11,"edge_count","","Return the number of edges in the graph.",54,null],[11,"clear","","Remove all nodes and edges",54,null],[11,"add_node","","Add node `n` to the graph.",54,null],[11,"remove_node","","Return `true` if node `n` was removed.",54,null],[11,"contains_node","","Return `true` if the node is contained in the graph.",54,null],[11,"add_edge","","Add an edge connecting `a` and `b` to the graph, with associated\ndata `weight`.",54,null],[11,"remove_edge","","Remove edge from `a` to `b` from the graph and return the edge weight.",54,null],[11,"contains_edge","","Return `true` if the edge connecting `a` with `b` is contained in the graph.",54,null],[11,"nodes","","Return an iterator over the nodes of the graph.",54,null],[11,"neighbors","","Return an iterator over the nodes that are connected with `from` by edges.",54,null],[11,"edges","","Return an iterator over the nodes that are connected with `from` by edges,\npaired with the edge weight.",54,null],[11,"edge_weight","","Return a reference to the edge weight connecting `a` with `b`, or\n`None` if the edge does not exist in the graph.",54,null],[11,"edge_weight_mut","","Return a mutable reference to the edge weight connecting `a` with `b`, or\n`None` if the edge does not exist in the graph.",54,null],[11,"all_edges","","Return an iterator over all edges of the graph with their weight in arbitrary order.",54,null],[11,"from_iter","","",54,{"inputs":[{"name":"i"}],"output":{"name":"graphmap"}}],[11,"extend","","",54,null],[11,"next","dsp::daggy::petgraph::graphmap","",55,null],[11,"size_hint","","",55,null],[11,"next","","",56,null],[11,"size_hint","","",56,null],[11,"next_back","","",56,null],[11,"clone","","",56,null],[11,"next","","",57,null],[11,"next","","",58,null],[11,"index","dsp::daggy::petgraph","",54,null],[11,"index_mut","","",54,null],[11,"default","","",54,{"inputs":[],"output":{"name":"graphmap"}}],[11,"clone","dsp::daggy::petgraph::graphmap","",2,null],[11,"eq","","Ptr compares by pointer equality, i.e if they point to the same value",2,null],[11,"partial_cmp","","",2,null],[11,"cmp","","Ptr is ordered by pointer value, i.e. an arbitrary but stable and total order.",2,null],[11,"deref","","",2,null],[11,"hash","","",2,null],[11,"fmt","","",2,null],[11,"hash","dsp::daggy","",59,null],[11,"cmp","","",59,null],[11,"partial_cmp","","",59,null],[11,"lt","","",59,null],[11,"le","","",59,null],[11,"gt","","",59,null],[11,"ge","","",59,null],[11,"eq","","",59,null],[11,"ne","","",59,null],[11,"fmt","","",59,null],[11,"clone","","",59,null],[11,"new","","",59,{"inputs":[{"name":"usize"}],"output":{"name":"nodeindex"}}],[11,"index","","",59,null],[11,"end","","",59,{"inputs":[],"output":{"name":"nodeindex"}}],[11,"from","","",59,{"inputs":[{"name":"ix"}],"output":{"name":"nodeindex"}}],[11,"hash","","",60,null],[11,"cmp","","",60,null],[11,"partial_cmp","","",60,null],[11,"lt","","",60,null],[11,"le","","",60,null],[11,"gt","","",60,null],[11,"ge","","",60,null],[11,"eq","","",60,null],[11,"ne","","",60,null],[11,"clone","","",60,null],[11,"new","","",60,{"inputs":[{"name":"usize"}],"output":{"name":"edgeindex"}}],[11,"index","","",60,null],[11,"end","","An invalid `EdgeIndex` used to denote absence of an edge, for example\nto end an adjacency list.",60,{"inputs":[],"output":{"name":"edgeindex"}}],[11,"fmt","","",60,null],[11,"clone","dsp::daggy::petgraph::graph","",4,null],[11,"fmt","","",4,null],[11,"next_edge","","Accessor for data structure internals: the first edge in the given direction.",4,null],[11,"clone","","",5,null],[11,"fmt","","",5,null],[11,"next_edge","","Accessor for data structure internals: the next edge for the given direction.",5,null],[11,"source","","Return the source node index.",5,null],[11,"target","","Return the target node index.",5,null],[11,"clone","dsp::daggy::petgraph","",61,null],[11,"clone_from","","",61,null],[11,"fmt","","",61,null],[11,"new","","Create a new `Graph` with directed edges.",61,{"inputs":[],"output":{"name":"graph"}}],[11,"new_undirected","","Create a new `Graph` with undirected edges.",61,{"inputs":[],"output":{"name":"graph"}}],[11,"with_capacity","","Create a new `Graph` with estimated capacity.",61,{"inputs":[{"name":"usize"},{"name":"usize"}],"output":{"name":"graph"}}],[11,"capacity","","Return the current node and edge capacity of the graph.",61,null],[11,"node_count","","Return the number of nodes (vertices) in the graph.",61,null],[11,"edge_count","","Return the number of edges in the graph.",61,null],[11,"is_directed","","Whether the graph has directed edges or not.",61,null],[11,"add_node","","Add a node (also called vertex) with associated data `weight` to the graph.",61,null],[11,"node_weight","","Access the weight for node `a`.",61,null],[11,"node_weight_mut","","Access the weight for node `a`, mutably.",61,null],[11,"add_edge","","Add an edge from `a` to `b` to the graph, with its associated\ndata `weight`.",61,null],[11,"update_edge","","Add or update an edge from `a` to `b`.\nIf the edge already exists, its weight is updated.",61,null],[11,"edge_weight","","Access the weight for edge `e`.",61,null],[11,"edge_weight_mut","","Access the weight for edge `e`, mutably.",61,null],[11,"edge_endpoints","","Access the source and target nodes for `e`.",61,null],[11,"remove_node","","Remove `a` from the graph if it exists, and return its weight.\nIf it doesn't exist in the graph, return `None`.",61,null],[11,"remove_edge","","Remove an edge and return its edge weight, or `None` if it didn't exist.",61,null],[11,"neighbors","","Return an iterator of all nodes with an edge starting from `a`.",61,null],[11,"neighbors_directed","","Return an iterator of all neighbors that have an edge between them and `a`,\nin the specified direction.\nIf the graph's edges are undirected, this is equivalent to *.neighbors(a)*.",61,null],[11,"neighbors_undirected","","Return an iterator of all neighbors that have an edge between them and `a`,\nin either direction.\nIf the graph's edges are undirected, this is equivalent to *.neighbors(a)*.",61,null],[11,"edges","","Return an iterator over the neighbors of node `a`, paired with their respective edge\nweights.",61,null],[11,"edges_directed","","Return an iterator of all neighbors that have an edge between them and `a`,\nin the specified direction, paired with the respective edge weights.",61,null],[11,"find_edge","","Lookup an edge from `a` to `b`.",61,null],[11,"find_edge_undirected","","Lookup an edge between `a` and `b`, in either direction.",61,null],[11,"externals","","Return an iterator over either the nodes without edges to them\n(`Incoming`) or from them (`Outgoing`).",61,null],[11,"node_indices","","Return an iterator over the node indices of the graph",61,null],[11,"node_weights_mut","","Return an iterator yielding mutable access to all node weights.",61,null],[11,"edge_indices","","Return an iterator over the edge indices of the graph",61,null],[11,"edge_weights_mut","","Return an iterator yielding mutable access to all edge weights.",61,null],[11,"raw_nodes","","Access the internal node array.",61,null],[11,"raw_edges","","Access the internal edge array.",61,null],[11,"into_nodes_edges","","Convert the graph into a vector of Nodes and a vector of Edges",61,null],[11,"first_edge","","Accessor for data structure internals: the first edge in the given direction.",61,null],[11,"next_edge","","Accessor for data structure internals: the next edge for the given direction.",61,null],[11,"walk_edges_directed","","**Deprecated:** Use [`.neighbors_directed(a, dir).detach()`][1] instead.",61,null],[11,"index_twice_mut","","Index the `Graph` by two indices, any combination of\nnode or edge indices is fine.",61,null],[11,"reverse","","Reverse the direction of all edges",61,null],[11,"clear","","Remove all nodes and edges",61,null],[11,"clear_edges","","Remove all edges",61,null],[11,"retain_nodes","","Keep all nodes that return `true` from the `visit` closure,\nremove the others.",61,null],[11,"retain_edges","","Keep all edges that return `true` from the `visit` closure,\nremove the others.",61,null],[11,"from_edges","","Create a new `Graph` from an iterable of edges.",61,{"inputs":[{"name":"i"}],"output":{"name":"graph"}}],[11,"extend_with_edges","","Extend the graph from an iterable of edges.",61,null],[11,"map","","Create a new `Graph` by mapping node and\nedge weights to new values.",61,null],[11,"filter_map","","Create a new `Graph` by mapping nodes and edges.\nA node or edge may be mapped to `None` to exclude it from\nthe resulting graph.",61,null],[11,"into_edge_type","","Convert the graph into either undirected or directed. No edge adjustments\nare done, so you may want to go over the result to remove or add edges.",61,null],[11,"next","dsp::daggy::petgraph::graph","",62,null],[11,"next","","",63,null],[11,"clone","","",63,null],[11,"detach","","Return a “walker” object that can be used to step through the\nneighbors and edges from the origin node.",63,null],[11,"next","","",64,null],[11,"clone","","",64,null],[11,"next","","",65,null],[11,"size_hint","","",65,null],[11,"next","","",66,null],[11,"size_hint","","",66,null],[11,"index","dsp::daggy::petgraph","",61,null],[11,"index_mut","","",61,null],[11,"index","","",61,null],[11,"index_mut","","",61,null],[11,"default","","",61,{"inputs":[],"output":{"name":"graph"}}],[11,"index","dsp::daggy","",59,null],[11,"is_node_index","","",59,{"inputs":[],"output":{"name":"bool"}}],[11,"index","","",60,null],[11,"is_node_index","","",60,{"inputs":[],"output":{"name":"bool"}}],[11,"clone","dsp::daggy::petgraph::graph","",67,null],[11,"next","","Step to the next edge and its endpoint node in the walk for graph `g`.",67,null],[11,"next_node","","",67,null],[11,"next_edge","","",67,null],[11,"fmt","","",68,null],[11,"clone","","",68,null],[11,"next","","Fetch the next edge index in the walk for graph `g`.",68,null],[11,"next_neighbor","","Fetch the next edge index and the next node index in the walk for graph `g`.",68,null],[11,"fmt","","",69,null],[11,"clone","","",69,null],[11,"next","","",69,null],[11,"size_hint","","",69,null],[11,"next_back","","",69,null],[11,"fmt","","",70,null],[11,"clone","","",70,null],[11,"next","","",70,null],[11,"size_hint","","",70,null],[11,"next_back","","",70,null],[11,"new","dsp::daggy::petgraph::dot","Create a `Dot` formatting wrapper with default configuration.",71,{"inputs":[{"name":"g"}],"output":{"name":"dot"}}],[11,"with_config","","Create a `Dot` formatting wrapper with custom configuration.",71,null],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"fmt","","",6,null],[11,"fmt","","",71,null],[11,"fmt","","",71,null],[11,"fmt","","",71,null],[11,"fmt","","",71,null],[11,"neighbors","dsp::daggy::petgraph","",61,null],[11,"neighbors","","",54,null],[11,"neighbors","dsp::daggy::petgraph::visit","",9,null],[11,"neighbors","","",10,null],[11,"neighbors_directed","dsp::daggy::petgraph","",61,null],[11,"neighbors_directed","dsp::daggy::petgraph::visit","",10,null],[11,"externals","dsp::daggy::petgraph","",61,null],[11,"externals","dsp::daggy::petgraph::visit","",10,null],[11,"visit_map","dsp::daggy::petgraph","",61,null],[11,"reset_map","","",61,null],[11,"reset_map","dsp::daggy::petgraph::visit","",10,null],[11,"visit_map","dsp::daggy::petgraph","",54,null],[11,"reset_map","","",54,null],[11,"visit_map","dsp::daggy::petgraph::visit","",9,null],[11,"visit_map","","",10,null],[11,"adjacency_matrix","dsp::daggy::petgraph","",54,null],[11,"is_adjacent","","",54,null],[11,"fmt","","",17,null],[11,"clone","","",17,null],[11,"new","","Create a new **Dfs**, using the graph's visitor map, and put **start**\nin the stack of nodes to visit.",17,{"inputs":[{"name":"g"},{"name":"n"}],"output":{"name":"dfs"}}],[11,"empty","","Create a new **Dfs** using the graph's visitor map, and no stack.",17,{"inputs":[{"name":"g"}],"output":{"name":"dfs"}}],[11,"move_to","","Keep the discovered map, but clear the visit stack and restart\nthe dfs from a particular node.",17,null],[11,"next","","Return the next node in the dfs, or **None** if the traversal is done.",17,null],[11,"new","","",72,null],[11,"move_to","","Keep the discovered map, but clear the visit stack and restart\nthe DFS traversal from a particular node.",72,null],[11,"next","","",72,null],[11,"size_hint","","",72,null],[11,"clone","","",72,null],[11,"clone","","",18,null],[11,"new","","Create a new **Bfs**, using the graph's visitor map, and put **start**\nin the stack of nodes to visit.",18,{"inputs":[{"name":"g"},{"name":"n"}],"output":{"name":"bfs"}}],[11,"next","","Return the next node in the dfs, or **None** if the traversal is done.",18,null],[11,"new","","",73,null],[11,"next","","",73,null],[11,"size_hint","","",73,null],[11,"clone","","",73,null],[11,"clone","dsp::daggy::petgraph::visit","",74,null],[11,"new","","Create a new `Topo`, using the graph's visitor map, and put all\ninitial nodes in the to-visit list.",74,{"inputs":[{"name":"g"}],"output":{"name":"topo"}}],[11,"reset","","Clear visited state, and put all initial nodes into the visit list.",74,null],[11,"next","","Return the next node in the current topological order traversal, or\n`None` if the traversal is at the end.",74,null],[11,"clone","","",75,null],[11,"from_node","","Create a new `SubTopo`, using the graph's visitor map, and put single\nnode in the to-visit list.",75,{"inputs":[{"name":"g"},{"name":"n"}],"output":{"name":"subtopo"}}],[11,"reset_with_node","","Clear visited state, and put a single node into the visit list.",75,null],[11,"next","","Return the next node in the current topological order traversal, or\n`None` if the traversal is at the end.",75,null],[11,"clone","dsp::daggy::petgraph::unionfind","",76,null],[11,"fmt","","",76,null],[11,"new","","Create a new `UnionFind` of `n` disjoint sets.",76,{"inputs":[{"name":"usize"}],"output":{"name":"unionfind"}}],[11,"find","","Return the representative for `x`.",76,null],[11,"find_mut","","Return the representative for `x`.",76,null],[11,"union","","Unify the two sets containing `x` and `y`.",76,null],[11,"into_labeling","","Return a vector mapping each element to its representative.",76,null],[11,"adjacency_matrix","dsp::daggy::petgraph","",61,null],[11,"is_adjacent","","",61,null],[11,"hash","","",19,null],[11,"cmp","","",19,null],[11,"partial_cmp","","",19,null],[11,"eq","","",19,null],[11,"fmt","","",19,null],[11,"clone","","",19,null],[11,"opposite","","Return the opposite `EdgeDirection`.",19,null],[11,"fmt","","",77,null],[11,"clone","","",77,null],[11,"fmt","","",78,null],[11,"clone","","",78,null],[11,"is_directed","","",77,{"inputs":[],"output":{"name":"bool"}}],[11,"is_directed","","",78,{"inputs":[],"output":{"name":"bool"}}],[11,"new","dsp::sample::types","Construct a new sample if the given value is within range.",79,{"inputs":[{"name":"i16"}],"output":{"name":"option"}}],[11,"new_unchecked","","Constructs a new sample without checking for overflowing.",79,{"inputs":[{"name":"i16"}],"output":{"name":"i11"}}],[11,"inner","","Return the internal value used to represent the sample type.",79,null],[11,"default","","",79,{"inputs":[],"output":{"name":"i11"}}],[11,"cmp","","",79,null],[11,"partial_cmp","","",79,null],[11,"lt","","",79,null],[11,"le","","",79,null],[11,"gt","","",79,null],[11,"ge","","",79,null],[11,"eq","","",79,null],[11,"ne","","",79,null],[11,"fmt","","",79,null],[11,"clone","","",79,null],[11,"from","","",79,{"inputs":[{"name":"i16"}],"output":{"name":"i11"}}],[11,"add","","",79,null],[11,"sub","","",79,null],[11,"mul","","",79,null],[11,"div","","",79,null],[11,"not","","",79,null],[11,"rem","","",79,null],[11,"shl","","",79,null],[11,"shr","","",79,null],[11,"bitand","","",79,null],[11,"bitor","","",79,null],[11,"bitxor","","",79,null],[11,"from","","",79,{"inputs":[{"name":"i8"}],"output":{"name":"i11"}}],[11,"from","","",79,{"inputs":[{"name":"u8"}],"output":{"name":"i11"}}],[11,"neg","","",79,null],[11,"default","","",80,{"inputs":[],"output":{"name":"u11"}}],[11,"cmp","","",80,null],[11,"partial_cmp","","",80,null],[11,"lt","","",80,null],[11,"le","","",80,null],[11,"gt","","",80,null],[11,"ge","","",80,null],[11,"eq","","",80,null],[11,"ne","","",80,null],[11,"fmt","","",80,null],[11,"clone","","",80,null],[11,"from","","",80,{"inputs":[{"name":"i16"}],"output":{"name":"u11"}}],[11,"new","","Construct a new sample if the given value is within range.",80,{"inputs":[{"name":"i16"}],"output":{"name":"option"}}],[11,"new_unchecked","","Constructs a new sample without checking for overflowing.",80,{"inputs":[{"name":"i16"}],"output":{"name":"u11"}}],[11,"inner","","Return the internal value used to represent the sample type.",80,null],[11,"add","","",80,null],[11,"sub","","",80,null],[11,"mul","","",80,null],[11,"div","","",80,null],[11,"not","","",80,null],[11,"rem","","",80,null],[11,"shl","","",80,null],[11,"shr","","",80,null],[11,"bitand","","",80,null],[11,"bitor","","",80,null],[11,"bitxor","","",80,null],[11,"from","","",80,{"inputs":[{"name":"u8"}],"output":{"name":"u11"}}],[11,"neg","","",80,null],[11,"default","","",81,{"inputs":[],"output":{"name":"i20"}}],[11,"cmp","","",81,null],[11,"partial_cmp","","",81,null],[11,"lt","","",81,null],[11,"le","","",81,null],[11,"gt","","",81,null],[11,"ge","","",81,null],[11,"eq","","",81,null],[11,"ne","","",81,null],[11,"fmt","","",81,null],[11,"clone","","",81,null],[11,"from","","",81,{"inputs":[{"name":"i32"}],"output":{"name":"i20"}}],[11,"new","","Construct a new sample if the given value is within range.",81,{"inputs":[{"name":"i32"}],"output":{"name":"option"}}],[11,"new_unchecked","","Constructs a new sample without checking for overflowing.",81,{"inputs":[{"name":"i32"}],"output":{"name":"i20"}}],[11,"inner","","Return the internal value used to represent the sample type.",81,null],[11,"add","","",81,null],[11,"sub","","",81,null],[11,"mul","","",81,null],[11,"div","","",81,null],[11,"not","","",81,null],[11,"rem","","",81,null],[11,"shl","","",81,null],[11,"shr","","",81,null],[11,"bitand","","",81,null],[11,"bitor","","",81,null],[11,"bitxor","","",81,null],[11,"from","","",81,{"inputs":[{"name":"i8"}],"output":{"name":"i20"}}],[11,"from","","",81,{"inputs":[{"name":"i11"}],"output":{"name":"i20"}}],[11,"from","","",81,{"inputs":[{"name":"i16"}],"output":{"name":"i20"}}],[11,"from","","",81,{"inputs":[{"name":"u8"}],"output":{"name":"i20"}}],[11,"from","","",81,{"inputs":[{"name":"u11"}],"output":{"name":"i20"}}],[11,"from","","",81,{"inputs":[{"name":"u16"}],"output":{"name":"i20"}}],[11,"default","","",82,{"inputs":[],"output":{"name":"u20"}}],[11,"cmp","","",82,null],[11,"partial_cmp","","",82,null],[11,"lt","","",82,null],[11,"le","","",82,null],[11,"gt","","",82,null],[11,"ge","","",82,null],[11,"eq","","",82,null],[11,"ne","","",82,null],[11,"fmt","","",82,null],[11,"clone","","",82,null],[11,"from","","",82,{"inputs":[{"name":"i32"}],"output":{"name":"u20"}}],[11,"new","","Construct a new sample if the given value is within range.",82,{"inputs":[{"name":"i32"}],"output":{"name":"option"}}],[11,"new_unchecked","","Constructs a new sample without checking for overflowing.",82,{"inputs":[{"name":"i32"}],"output":{"name":"u20"}}],[11,"inner","","Return the internal value used to represent the sample type.",82,null],[11,"add","","",82,null],[11,"sub","","",82,null],[11,"mul","","",82,null],[11,"div","","",82,null],[11,"not","","",82,null],[11,"rem","","",82,null],[11,"shl","","",82,null],[11,"shr","","",82,null],[11,"bitand","","",82,null],[11,"bitor","","",82,null],[11,"bitxor","","",82,null],[11,"from","","",82,{"inputs":[{"name":"u8"}],"output":{"name":"u20"}}],[11,"from","","",82,{"inputs":[{"name":"u16"}],"output":{"name":"u20"}}],[11,"default","dsp::sample","",83,{"inputs":[],"output":{"name":"i24"}}],[11,"cmp","","",83,null],[11,"partial_cmp","","",83,null],[11,"lt","","",83,null],[11,"le","","",83,null],[11,"gt","","",83,null],[11,"ge","","",83,null],[11,"eq","","",83,null],[11,"ne","","",83,null],[11,"fmt","","",83,null],[11,"clone","","",83,null],[11,"from","","",83,{"inputs":[{"name":"i32"}],"output":{"name":"i24"}}],[11,"new","","Construct a new sample if the given value is within range.",83,{"inputs":[{"name":"i32"}],"output":{"name":"option"}}],[11,"new_unchecked","","Constructs a new sample without checking for overflowing.",83,{"inputs":[{"name":"i32"}],"output":{"name":"i24"}}],[11,"inner","","Return the internal value used to represent the sample type.",83,null],[11,"add","","",83,null],[11,"sub","","",83,null],[11,"mul","","",83,null],[11,"div","","",83,null],[11,"not","","",83,null],[11,"rem","","",83,null],[11,"shl","","",83,null],[11,"shr","","",83,null],[11,"bitand","","",83,null],[11,"bitor","","",83,null],[11,"bitxor","","",83,null],[11,"from","","",83,{"inputs":[{"name":"i8"}],"output":{"name":"i24"}}],[11,"from","","",83,{"inputs":[{"name":"i16"}],"output":{"name":"i24"}}],[11,"from","","",83,{"inputs":[{"name":"i20"}],"output":{"name":"i24"}}],[11,"from","","",83,{"inputs":[{"name":"u8"}],"output":{"name":"i24"}}],[11,"from","","",83,{"inputs":[{"name":"u16"}],"output":{"name":"i24"}}],[11,"from","","",83,{"inputs":[{"name":"u20"}],"output":{"name":"i24"}}],[11,"neg","","",83,null],[11,"default","","",84,{"inputs":[],"output":{"name":"u24"}}],[11,"cmp","","",84,null],[11,"partial_cmp","","",84,null],[11,"lt","","",84,null],[11,"le","","",84,null],[11,"gt","","",84,null],[11,"ge","","",84,null],[11,"eq","","",84,null],[11,"ne","","",84,null],[11,"fmt","","",84,null],[11,"clone","","",84,null],[11,"from","","",84,{"inputs":[{"name":"i32"}],"output":{"name":"u24"}}],[11,"new","","Construct a new sample if the given value is within range.",84,{"inputs":[{"name":"i32"}],"output":{"name":"option"}}],[11,"new_unchecked","","Constructs a new sample without checking for overflowing.",84,{"inputs":[{"name":"i32"}],"output":{"name":"u24"}}],[11,"inner","","Return the internal value used to represent the sample type.",84,null],[11,"add","","",84,null],[11,"sub","","",84,null],[11,"mul","","",84,null],[11,"div","","",84,null],[11,"not","","",84,null],[11,"rem","","",84,null],[11,"shl","","",84,null],[11,"shr","","",84,null],[11,"bitand","","",84,null],[11,"bitor","","",84,null],[11,"bitxor","","",84,null],[11,"from","","",84,{"inputs":[{"name":"u8"}],"output":{"name":"u24"}}],[11,"from","","",84,{"inputs":[{"name":"u16"}],"output":{"name":"u24"}}],[11,"from","","",84,{"inputs":[{"name":"u20"}],"output":{"name":"u24"}}],[11,"default","","",85,{"inputs":[],"output":{"name":"i48"}}],[11,"cmp","","",85,null],[11,"partial_cmp","","",85,null],[11,"lt","","",85,null],[11,"le","","",85,null],[11,"gt","","",85,null],[11,"ge","","",85,null],[11,"eq","","",85,null],[11,"ne","","",85,null],[11,"fmt","","",85,null],[11,"clone","","",85,null],[11,"from","","",85,{"inputs":[{"name":"i64"}],"output":{"name":"i48"}}],[11,"new","","Construct a new sample if the given value is within range.",85,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"new_unchecked","","Constructs a new sample without checking for overflowing.",85,{"inputs":[{"name":"i64"}],"output":{"name":"i48"}}],[11,"inner","","Return the internal value used to represent the sample type.",85,null],[11,"add","","",85,null],[11,"sub","","",85,null],[11,"mul","","",85,null],[11,"div","","",85,null],[11,"not","","",85,null],[11,"rem","","",85,null],[11,"shl","","",85,null],[11,"shr","","",85,null],[11,"bitand","","",85,null],[11,"bitor","","",85,null],[11,"bitxor","","",85,null],[11,"from","","",85,{"inputs":[{"name":"i8"}],"output":{"name":"i48"}}],[11,"from","","",85,{"inputs":[{"name":"i16"}],"output":{"name":"i48"}}],[11,"from","","",85,{"inputs":[{"name":"i20"}],"output":{"name":"i48"}}],[11,"from","","",85,{"inputs":[{"name":"i24"}],"output":{"name":"i48"}}],[11,"from","","",85,{"inputs":[{"name":"i32"}],"output":{"name":"i48"}}],[11,"from","","",85,{"inputs":[{"name":"u8"}],"output":{"name":"i48"}}],[11,"from","","",85,{"inputs":[{"name":"u16"}],"output":{"name":"i48"}}],[11,"from","","",85,{"inputs":[{"name":"u20"}],"output":{"name":"i48"}}],[11,"from","","",85,{"inputs":[{"name":"u24"}],"output":{"name":"i48"}}],[11,"from","","",85,{"inputs":[{"name":"u32"}],"output":{"name":"i48"}}],[11,"neg","","",85,null],[11,"default","","",86,{"inputs":[],"output":{"name":"u48"}}],[11,"cmp","","",86,null],[11,"partial_cmp","","",86,null],[11,"lt","","",86,null],[11,"le","","",86,null],[11,"gt","","",86,null],[11,"ge","","",86,null],[11,"eq","","",86,null],[11,"ne","","",86,null],[11,"fmt","","",86,null],[11,"clone","","",86,null],[11,"from","","",86,{"inputs":[{"name":"i64"}],"output":{"name":"u48"}}],[11,"new","","Construct a new sample if the given value is within range.",86,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"new_unchecked","","Constructs a new sample without checking for overflowing.",86,{"inputs":[{"name":"i64"}],"output":{"name":"u48"}}],[11,"inner","","Return the internal value used to represent the sample type.",86,null],[11,"add","","",86,null],[11,"sub","","",86,null],[11,"mul","","",86,null],[11,"div","","",86,null],[11,"not","","",86,null],[11,"rem","","",86,null],[11,"shl","","",86,null],[11,"shr","","",86,null],[11,"bitand","","",86,null],[11,"bitor","","",86,null],[11,"bitxor","","",86,null],[11,"from","","",86,{"inputs":[{"name":"u8"}],"output":{"name":"u48"}}],[11,"from","","",86,{"inputs":[{"name":"u16"}],"output":{"name":"u48"}}],[11,"from","","",86,{"inputs":[{"name":"u20"}],"output":{"name":"u48"}}],[11,"from","","",86,{"inputs":[{"name":"u24"}],"output":{"name":"u48"}}],[11,"from","","",86,{"inputs":[{"name":"u32"}],"output":{"name":"u48"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"i8"}],"output":{"name":"i24"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"i16"}],"output":{"name":"i24"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"i32"}],"output":{"name":"i24"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"i48"}],"output":{"name":"i24"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"i64"}],"output":{"name":"i24"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"u8"}],"output":{"name":"i24"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"u16"}],"output":{"name":"i24"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"u24"}],"output":{"name":"i24"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"u32"}],"output":{"name":"i24"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"u48"}],"output":{"name":"i24"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"u64"}],"output":{"name":"i24"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"f32"}],"output":{"name":"i24"}}],[11,"from_sample_","","",83,{"inputs":[{"name":"f64"}],"output":{"name":"i24"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"i8"}],"output":{"name":"i48"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"i16"}],"output":{"name":"i48"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"i24"}],"output":{"name":"i48"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"i32"}],"output":{"name":"i48"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"i64"}],"output":{"name":"i48"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"u8"}],"output":{"name":"i48"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"u16"}],"output":{"name":"i48"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"u24"}],"output":{"name":"i48"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"u32"}],"output":{"name":"i48"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"u48"}],"output":{"name":"i48"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"u64"}],"output":{"name":"i48"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"f32"}],"output":{"name":"i48"}}],[11,"from_sample_","","",85,{"inputs":[{"name":"f64"}],"output":{"name":"i48"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"i8"}],"output":{"name":"u24"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"i16"}],"output":{"name":"u24"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"i24"}],"output":{"name":"u24"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"i32"}],"output":{"name":"u24"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"i48"}],"output":{"name":"u24"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"i64"}],"output":{"name":"u24"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"u8"}],"output":{"name":"u24"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"u16"}],"output":{"name":"u24"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"u32"}],"output":{"name":"u24"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"u48"}],"output":{"name":"u24"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"u64"}],"output":{"name":"u24"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"f32"}],"output":{"name":"u24"}}],[11,"from_sample_","","",84,{"inputs":[{"name":"f64"}],"output":{"name":"u24"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"i8"}],"output":{"name":"u48"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"i16"}],"output":{"name":"u48"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"i24"}],"output":{"name":"u48"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"i32"}],"output":{"name":"u48"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"i48"}],"output":{"name":"u48"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"i64"}],"output":{"name":"u48"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"u8"}],"output":{"name":"u48"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"u16"}],"output":{"name":"u48"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"u24"}],"output":{"name":"u48"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"u32"}],"output":{"name":"u48"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"u64"}],"output":{"name":"u48"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"f32"}],"output":{"name":"u48"}}],[11,"from_sample_","","",86,{"inputs":[{"name":"f64"}],"output":{"name":"u48"}}],[11,"equilibrium","","",83,{"inputs":[],"output":{"name":"i24"}}],[11,"equilibrium","","",85,{"inputs":[],"output":{"name":"i48"}}],[11,"equilibrium","","",84,{"inputs":[],"output":{"name":"u24"}}],[11,"equilibrium","","",86,{"inputs":[],"output":{"name":"u48"}}],[11,"dry","dsp","Following the call to the `Node`'s `audio_requested` method, the `Graph` will sum together\nsome of the original (dry) signal with some of the processed (wet) signal.",33,null],[11,"wet","","Following the call to the `Node`'s `audio_requested` method, the `Graph` will sum together\nsome of the original (dry) signal with some of the processed (wet) signal.",33,null]],"paths":[[8,"Walker"],[3,"WouldCycle"],[3,"Ptr"],[8,"IndexType"],[3,"Node"],[3,"Edge"],[4,"Config"],[8,"Graphlike"],[8,"NeighborIter"],[3,"AsUndirected"],[3,"Reversed"],[8,"NeighborsDirected"],[8,"Externals"],[8,"VisitMap"],[8,"Visitable"],[8,"Revisitable"],[8,"GetAdjacencyMatrix"],[3,"Dfs"],[3,"Bfs"],[4,"EdgeDirection"],[8,"EdgeType"],[8,"IntoWeightedEdge"],[8,"FromSample"],[8,"ToSample"],[8,"Sample"],[3,"Connection"],[3,"Settings"],[3,"Graph"],[3,"WouldCycle"],[3,"Inputs"],[3,"Outputs"],[3,"VisitOrder"],[3,"VisitOrderReverse"],[8,"Node"],[3,"Recursive"],[3,"Chain"],[3,"Filter"],[3,"Peekable"],[3,"SkipWhile"],[3,"TakeWhile"],[3,"Skip"],[3,"Take"],[3,"Cycle"],[3,"Inspect"],[3,"Iter"],[3,"IterEdges"],[3,"IterNodes"],[3,"IterWeights"],[3,"IterEdgeWeights"],[3,"IterNodeWeights"],[3,"Dag"],[3,"Children"],[3,"Parents"],[3,"EdgeIndices"],[3,"GraphMap"],[3,"Nodes"],[3,"Neighbors"],[3,"Edges"],[3,"AllEdges"],[3,"NodeIndex"],[3,"EdgeIndex"],[3,"Graph"],[3,"Externals"],[3,"Neighbors"],[3,"Edges"],[3,"NodeWeightsMut"],[3,"EdgeWeightsMut"],[3,"WalkNeighbors"],[3,"WalkEdges"],[3,"NodeIndices"],[3,"EdgeIndices"],[3,"Dot"],[3,"DfsIter"],[3,"BfsIter"],[3,"Topo"],[3,"SubTopo"],[3,"UnionFind"],[4,"Directed"],[4,"Undirected"],[3,"I11"],[3,"U11"],[3,"I20"],[3,"U20"],[3,"I24"],[3,"U24"],[3,"I48"],[3,"U48"]]}; initSearch(searchIndex);