Skip to content

Commit ed7e5c4

Browse files
authored
Merge pull request #911 from ai-on-browser/main
2 parents 403c975 + 2643e4f commit ed7e5c4

File tree

7 files changed

+940
-1811
lines changed

7 files changed

+940
-1811
lines changed

lib/util/complex.js

+2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ export default class Complex {
77
* @param {number} [imag] Imaginary number
88
*/
99
constructor(real = 0, imag = 0) {
10+
/** @private */
1011
this._real = real
12+
/** @private */
1113
this._imag = imag
1214
}
1315

lib/util/graph.js

+78
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,12 @@ export default class Graph {
5656
*/
5757
constructor(nodes = 0, edges = []) {
5858
if (Array.isArray(nodes)) {
59+
/** @private */
5960
this._nodes = nodes
6061
} else {
6162
this._nodes = Array(nodes)
6263
}
64+
/** @private */
6365
this._edges = edges.map(
6466
e => new Edge(e[0] | e.from, e[1] | e.to, e instanceof Edge ? e.value0 : e.value, e.direct)
6567
)
@@ -988,6 +990,20 @@ export default class Graph {
988990

989991
/**
990992
* Return degree of the node.
993+
* @overload
994+
* @param {number} k Index of target node
995+
* @param {boolean} [undirect] Count undirected edges
996+
* @param {boolean | 'in' | 'out'} [direct] Count directed edges
997+
* @returns {number} Degree of the node
998+
*/
999+
/**
1000+
* Return degree of the node.
1001+
* @overload
1002+
* @param {number} k Index of target node
1003+
* @param {'in' | 'out'} direct Count only directed edges.
1004+
* @returns {number} Degree of the node
1005+
*/
1006+
/**
9911007
* @param {number} k Index of target node
9921008
* @param {boolean | 'in' | 'out'} [undirect] Count undirected edges. If `in` or `out` is specified, only direct edges are counted and `direct` parameter is ignored.
9931009
* @param {boolean | 'in' | 'out'} [direct] Count directed edges
@@ -1015,6 +1031,20 @@ export default class Graph {
10151031

10161032
/**
10171033
* Return indexes of adjacency nodes.
1034+
* @overload
1035+
* @param {number} k Index of target node
1036+
* @param {boolean} [undirect] Check undirected edges
1037+
* @param {boolean | 'in' | 'out'} [direct] Check directed edges
1038+
* @returns {number[]} Indexes of adjacency nodes
1039+
*/
1040+
/**
1041+
* Return indexes of adjacency nodes.
1042+
* @overload
1043+
* @param {number} k Index of target node
1044+
* @param {'in' | 'out'} direct Check only directed edges
1045+
* @returns {number[]} Indexes of adjacency nodes
1046+
*/
1047+
/**
10181048
* @param {number} k Index of target node
10191049
* @param {boolean | 'in' | 'out'} [undirect] Check undirected edges. If `in` or `out` is specified, only direct edges are checked and `direct` parameter is ignored.
10201050
* @param {boolean | 'in' | 'out'} [direct] Check directed edges
@@ -1246,8 +1276,18 @@ export default class Graph {
12461276
return min_loop
12471277
}
12481278

1279+
/**
1280+
* Returns index of all cliques.
1281+
* @overload
1282+
* @returns {number[][][]} Index of cliques
1283+
*/
12491284
/**
12501285
* Returns index of cliques.
1286+
* @overload
1287+
* @param {number} k Size of clique
1288+
* @returns {number[][]} Index of cliques
1289+
*/
1290+
/**
12511291
* @param {number} [k] Size of clique
12521292
* @returns {number[][] | number[][][]} Index of cliques
12531293
*/
@@ -1524,6 +1564,17 @@ export default class Graph {
15241564

15251565
/**
15261566
* Returns the node value.
1567+
* @overload
1568+
* @param {number} k Index of the node
1569+
* @returns {unknown} Node value
1570+
*/
1571+
/**
1572+
* Returns the node value.
1573+
* @overload
1574+
* @param {number[]} [k] Index of the node
1575+
* @returns {unknown[]} Node value
1576+
*/
1577+
/**
15271578
* @param {number | number[]} [k] Index of the node
15281579
* @returns {unknown | unknown[]} Node value
15291580
*/
@@ -1591,6 +1642,22 @@ export default class Graph {
15911642

15921643
/**
15931644
* Returns the edges.
1645+
* @overload
1646+
* @param {number} from Index of the starting node of the edge
1647+
* @param {number} to Index of the end node of the edge
1648+
* @param {boolean} [undirect] Get undirected edges or not
1649+
* @param {boolean | 'forward' | 'backward'} [direct] Get directed edges or not
1650+
* @returns {Edge[]} Edges between `from` and `to`
1651+
*/
1652+
/**
1653+
* Returns the edges.
1654+
* @overload
1655+
* @param {number} from Index of the starting node of the edge
1656+
* @param {number} to Index of the end node of the edge
1657+
* @param {'forward' | 'backward'} direct Get only directed edges
1658+
* @returns {Edge[]} Edges between `from` and `to`
1659+
*/
1660+
/**
15941661
* @param {number} from Index of the starting node of the edge
15951662
* @param {number} to Index of the end node of the edge
15961663
* @param {boolean | 'forward' | 'backward'} [undirect] Get undirected edges or not. If `forward` or `backward` is specified, only direct edges are get and `direct` parameter is ignored.
@@ -3215,6 +3282,17 @@ export default class Graph {
32153282

32163283
/**
32173284
* Returns shortest path.
3285+
* @overload
3286+
* @param {null} [from] Index of start nodes
3287+
* @returns {{length: number, path: number[]}[][]} Shortest length and path for all nodes
3288+
*/
3289+
/**
3290+
* Returns shortest path.
3291+
* @overload
3292+
* @param {number} from Index of start nodes
3293+
* @returns {{length: number, prev: number, path: number[]}[]} Shortest length and path for all nodes
3294+
*/
3295+
/**
32183296
* @param {number} [from] Index of start nodes
32193297
* @returns {{length: number, prev: number, path: number[]}[] | {length: number, path: number[]}[][]} Shortest length and path for all nodes
32203298
*/

0 commit comments

Comments
 (0)