@graphty/graph-format 0.0.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +216 -43
- package/dist/graph-format.d.ts +1 -0
- package/dist/graph-format.d.ts.map +1 -0
- package/dist/graph-format.js +15798 -0
- package/dist/graph-format.js.map +1 -0
- package/dist/src/builder/arena.d.ts +85 -0
- package/dist/src/builder/arena.d.ts.map +1 -0
- package/dist/src/builder/arena.js +154 -0
- package/dist/src/builder/arena.js.map +1 -0
- package/dist/src/builder/compact.d.ts +515 -0
- package/dist/src/builder/compact.d.ts.map +1 -0
- package/dist/src/builder/compact.js +1553 -0
- package/dist/src/builder/compact.js.map +1 -0
- package/dist/src/builder/counting-sort.d.ts +96 -0
- package/dist/src/builder/counting-sort.d.ts.map +1 -0
- package/dist/src/builder/counting-sort.js +430 -0
- package/dist/src/builder/counting-sort.js.map +1 -0
- package/dist/src/builder/freeze.d.ts +72 -0
- package/dist/src/builder/freeze.d.ts.map +1 -0
- package/dist/src/builder/freeze.js +548 -0
- package/dist/src/builder/freeze.js.map +1 -0
- package/dist/src/builder/graph-builder.d.ts +602 -0
- package/dist/src/builder/graph-builder.d.ts.map +1 -0
- package/dist/src/builder/graph-builder.js +1940 -0
- package/dist/src/builder/graph-builder.js.map +1 -0
- package/dist/src/builder/options.d.ts +16 -0
- package/dist/src/builder/options.d.ts.map +1 -0
- package/dist/src/builder/options.js +21 -0
- package/dist/src/builder/options.js.map +1 -0
- package/dist/src/columns/bitmap.d.ts +96 -0
- package/dist/src/columns/bitmap.d.ts.map +1 -0
- package/dist/src/columns/bitmap.js +184 -0
- package/dist/src/columns/bitmap.js.map +1 -0
- package/dist/src/columns/column.d.ts +220 -0
- package/dist/src/columns/column.d.ts.map +1 -0
- package/dist/src/columns/column.js +2109 -0
- package/dist/src/columns/column.js.map +1 -0
- package/dist/src/columns/dictionary.d.ts +60 -0
- package/dist/src/columns/dictionary.d.ts.map +1 -0
- package/dist/src/columns/dictionary.js +102 -0
- package/dist/src/columns/dictionary.js.map +1 -0
- package/dist/src/columns/growable.d.ts +198 -0
- package/dist/src/columns/growable.d.ts.map +1 -0
- package/dist/src/columns/growable.js +296 -0
- package/dist/src/columns/growable.js.map +1 -0
- package/dist/src/columns/infer.d.ts +121 -0
- package/dist/src/columns/infer.d.ts.map +1 -0
- package/dist/src/columns/infer.js +268 -0
- package/dist/src/columns/infer.js.map +1 -0
- package/dist/src/columns/remap.d.ts +143 -0
- package/dist/src/columns/remap.d.ts.map +1 -0
- package/dist/src/columns/remap.js +588 -0
- package/dist/src/columns/remap.js.map +1 -0
- package/dist/src/columns/table.d.ts +184 -0
- package/dist/src/columns/table.d.ts.map +1 -0
- package/dist/src/columns/table.js +485 -0
- package/dist/src/columns/table.js.map +1 -0
- package/dist/src/constants.d.ts +34 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +79 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/errors.d.ts +76 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +32 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/ids/edge-id-index.d.ts +77 -0
- package/dist/src/ids/edge-id-index.d.ts.map +1 -0
- package/dist/src/ids/edge-id-index.js +155 -0
- package/dist/src/ids/edge-id-index.js.map +1 -0
- package/dist/src/ids/node-id-map.d.ts +280 -0
- package/dist/src/ids/node-id-map.d.ts.map +1 -0
- package/dist/src/ids/node-id-map.js +1139 -0
- package/dist/src/ids/node-id-map.js.map +1 -0
- package/dist/src/ids/string-store.d.ts +219 -0
- package/dist/src/ids/string-store.d.ts.map +1 -0
- package/dist/src/ids/string-store.js +526 -0
- package/dist/src/ids/string-store.js.map +1 -0
- package/dist/src/index.d.ts +30 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +29 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/populate/from-csr.d.ts +61 -0
- package/dist/src/populate/from-csr.d.ts.map +1 -0
- package/dist/src/populate/from-csr.js +706 -0
- package/dist/src/populate/from-csr.js.map +1 -0
- package/dist/src/populate/from-edge-arrays.d.ts +51 -0
- package/dist/src/populate/from-edge-arrays.d.ts.map +1 -0
- package/dist/src/populate/from-edge-arrays.js +217 -0
- package/dist/src/populate/from-edge-arrays.js.map +1 -0
- package/dist/src/populate/from-records.d.ts +51 -0
- package/dist/src/populate/from-records.d.ts.map +1 -0
- package/dist/src/populate/from-records.js +447 -0
- package/dist/src/populate/from-records.js.map +1 -0
- package/dist/src/snapshot/derived.d.ts +211 -0
- package/dist/src/snapshot/derived.d.ts.map +1 -0
- package/dist/src/snapshot/derived.js +1254 -0
- package/dist/src/snapshot/derived.js.map +1 -0
- package/dist/src/snapshot/graph-meta.d.ts +23 -0
- package/dist/src/snapshot/graph-meta.d.ts.map +1 -0
- package/dist/src/snapshot/graph-meta.js +159 -0
- package/dist/src/snapshot/graph-meta.js.map +1 -0
- package/dist/src/snapshot/graph-snapshot.d.ts +509 -0
- package/dist/src/snapshot/graph-snapshot.d.ts.map +1 -0
- package/dist/src/snapshot/graph-snapshot.js +1247 -0
- package/dist/src/snapshot/graph-snapshot.js.map +1 -0
- package/dist/src/snapshot/hash.d.ts +90 -0
- package/dist/src/snapshot/hash.d.ts.map +1 -0
- package/dist/src/snapshot/hash.js +228 -0
- package/dist/src/snapshot/hash.js.map +1 -0
- package/dist/src/snapshot/queries.d.ts +74 -0
- package/dist/src/snapshot/queries.d.ts.map +1 -0
- package/dist/src/snapshot/queries.js +131 -0
- package/dist/src/snapshot/queries.js.map +1 -0
- package/dist/src/snapshot/validate.d.ts +192 -0
- package/dist/src/snapshot/validate.d.ts.map +1 -0
- package/dist/src/snapshot/validate.js +990 -0
- package/dist/src/snapshot/validate.js.map +1 -0
- package/dist/src/snapshot/views.d.ts +274 -0
- package/dist/src/snapshot/views.d.ts.map +1 -0
- package/dist/src/snapshot/views.js +856 -0
- package/dist/src/snapshot/views.js.map +1 -0
- package/dist/src/types/builder.d.ts +456 -0
- package/dist/src/types/builder.d.ts.map +1 -0
- package/dist/src/types/builder.js +11 -0
- package/dist/src/types/builder.js.map +1 -0
- package/dist/src/types/columns.d.ts +615 -0
- package/dist/src/types/columns.d.ts.map +1 -0
- package/dist/src/types/columns.js +14 -0
- package/dist/src/types/columns.js.map +1 -0
- package/dist/src/types/index.d.ts +14 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +11 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/internal.d.ts +172 -0
- package/dist/src/types/internal.d.ts.map +1 -0
- package/dist/src/types/internal.js +13 -0
- package/dist/src/types/internal.js.map +1 -0
- package/dist/src/types/snapshot.d.ts +801 -0
- package/dist/src/types/snapshot.d.ts.map +1 -0
- package/dist/src/types/snapshot.js +14 -0
- package/dist/src/types/snapshot.js.map +1 -0
- package/dist/src/types/wire.d.ts +196 -0
- package/dist/src/types/wire.d.ts.map +1 -0
- package/dist/src/types/wire.js +8 -0
- package/dist/src/types/wire.js.map +1 -0
- package/dist/src/util/mask.d.ts +55 -0
- package/dist/src/util/mask.d.ts.map +1 -0
- package/dist/src/util/mask.js +71 -0
- package/dist/src/util/mask.js.map +1 -0
- package/dist/src/util/options.d.ts +22 -0
- package/dist/src/util/options.d.ts.map +1 -0
- package/dist/src/util/options.js +49 -0
- package/dist/src/util/options.js.map +1 -0
- package/dist/src/util/shared-buffers.d.ts +42 -0
- package/dist/src/util/shared-buffers.d.ts.map +1 -0
- package/dist/src/util/shared-buffers.js +52 -0
- package/dist/src/util/shared-buffers.js.map +1 -0
- package/dist/src/util/typed-array.d.ts +205 -0
- package/dist/src/util/typed-array.d.ts.map +1 -0
- package/dist/src/util/typed-array.js +289 -0
- package/dist/src/util/typed-array.js.map +1 -0
- package/dist/src/wire/bytes.d.ts +69 -0
- package/dist/src/wire/bytes.d.ts.map +1 -0
- package/dist/src/wire/bytes.js +361 -0
- package/dist/src/wire/bytes.js.map +1 -0
- package/dist/src/wire/carried-views.d.ts +111 -0
- package/dist/src/wire/carried-views.d.ts.map +1 -0
- package/dist/src/wire/carried-views.js +286 -0
- package/dist/src/wire/carried-views.js.map +1 -0
- package/dist/src/wire/from-wire.d.ts +144 -0
- package/dist/src/wire/from-wire.d.ts.map +1 -0
- package/dist/src/wire/from-wire.js +1425 -0
- package/dist/src/wire/from-wire.js.map +1 -0
- package/dist/src/wire/to-wire.d.ts +171 -0
- package/dist/src/wire/to-wire.d.ts.map +1 -0
- package/dist/src/wire/to-wire.js +652 -0
- package/dist/src/wire/to-wire.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +72 -7
- package/src/builder/arena.ts +192 -0
- package/src/builder/compact.ts +1811 -0
- package/src/builder/counting-sort.ts +506 -0
- package/src/builder/freeze.ts +689 -0
- package/src/builder/graph-builder.ts +2264 -0
- package/src/builder/options.ts +29 -0
- package/src/columns/bitmap.ts +196 -0
- package/src/columns/column.ts +2574 -0
- package/src/columns/dictionary.ts +114 -0
- package/src/columns/growable.ts +350 -0
- package/src/columns/infer.ts +285 -0
- package/src/columns/remap.ts +663 -0
- package/src/columns/table.ts +568 -0
- package/src/constants.ts +89 -0
- package/src/errors.ts +115 -0
- package/src/ids/edge-id-index.ts +179 -0
- package/src/ids/node-id-map.ts +1340 -0
- package/src/ids/string-store.ts +589 -0
- package/src/index.ts +139 -0
- package/src/lib-resizable-array-buffer.d.ts +34 -0
- package/src/populate/from-csr.ts +802 -0
- package/src/populate/from-edge-arrays.ts +257 -0
- package/src/populate/from-records.ts +536 -0
- package/src/snapshot/derived.ts +1486 -0
- package/src/snapshot/graph-meta.ts +167 -0
- package/src/snapshot/graph-snapshot.ts +1503 -0
- package/src/snapshot/hash.ts +241 -0
- package/src/snapshot/queries.ts +136 -0
- package/src/snapshot/validate.ts +1108 -0
- package/src/snapshot/views.ts +943 -0
- package/src/types/builder.ts +480 -0
- package/src/types/columns.ts +727 -0
- package/src/types/index.ts +14 -0
- package/src/types/internal.ts +195 -0
- package/src/types/snapshot.ts +886 -0
- package/src/types/wire.ts +207 -0
- package/src/util/mask.ts +89 -0
- package/src/util/options.ts +57 -0
- package/src/util/shared-buffers.ts +56 -0
- package/src/util/typed-array.ts +371 -0
- package/src/wire/bytes.ts +440 -0
- package/src/wire/carried-views.ts +327 -0
- package/src/wire/from-wire.ts +1690 -0
- package/src/wire/to-wire.ts +755 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/snapshot/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The cached views of design section 7.2 as pure functions of a snapshot's core arrays, plus the
|
|
3
|
+
* per-arc / per-edge boundary helpers `foldArcs` and `expandEdges` of design section 7.5.
|
|
4
|
+
*
|
|
5
|
+
* Every function here computes one view from the public core (rowPtr, colIdx, weights, arcToEdge,
|
|
6
|
+
* edgeToArc, flags, counts) in O(n + m) or O(n log d) and returns a fresh object; GraphSnapshot owns
|
|
7
|
+
* the per-instance cache (invariant I17: computed once, never invalidated, SHARED -- a caller that
|
|
8
|
+
* needs scratch calls `.slice()`). Aliasing is deliberate and documented per view: `coo().dst` is
|
|
9
|
+
* `colIdx`, `reverse()` of an undirected snapshot is the forward arrays, an identity permutation
|
|
10
|
+
* lets `edgeList().weights` alias `weights`, and so on, so `viewByteLength()` counts only the bytes a
|
|
11
|
+
* view owns.
|
|
12
|
+
*
|
|
13
|
+
* Nothing here allocates an identity permutation that the snapshot has not materialised: view objects
|
|
14
|
+
* reach `arcToEdge` / `edgeToArc` through getters, so touching `coo()` on a directed identity
|
|
15
|
+
* snapshot costs one `src` array and nothing else until `coo().arcToEdge` is read.
|
|
16
|
+
*/
|
|
17
|
+
import { type CooView, type DegreeOrderView, type EdgeListView, type F32, type F64, type GraphSnapshot, type NumericVector, type ReverseView, type U32, type ViewName } from "../types/index.js";
|
|
18
|
+
/**
|
|
19
|
+
* The cuGraph degree tiers of `degreeOrder()`: a node with at least DEGREE_TIER_HIGH arcs is scheduled
|
|
20
|
+
* per workgroup, at least DEGREE_TIER_MID per subgroup, at least DEGREE_TIER_LOW per thread; degree 0
|
|
21
|
+
* nodes form the trailing segment (design section 7.2).
|
|
22
|
+
*/
|
|
23
|
+
export declare const DEGREE_TIER_HIGH = 1024;
|
|
24
|
+
/** Lower bound of the middle degree tier. */
|
|
25
|
+
export declare const DEGREE_TIER_MID = 32;
|
|
26
|
+
/**
|
|
27
|
+
* The identity permutation of `length` entries as a fresh 4-byte-aligned array (invariant I10).
|
|
28
|
+
* @param length - the entry count
|
|
29
|
+
* @returns 0..length-1
|
|
30
|
+
*/
|
|
31
|
+
export declare function identityPermutation(length: number): U32;
|
|
32
|
+
/**
|
|
33
|
+
* The in-adjacency of a snapshot (design section 7.2): `ReverseView` with `fwdArc` (reverse arc k ->
|
|
34
|
+
* forward arc) and `arcToEdge` (`arcToEdge[fwdArc[k]]`) materialised lazily. For an undirected
|
|
35
|
+
* snapshot the forward arrays are shared (invariant I7), `fwdArc` is the identity (allocated on first
|
|
36
|
+
* read) and `arcToEdge` is the snapshot's own array. For a directed snapshot whose permutation is the
|
|
37
|
+
* identity, the reverse `arcToEdge` IS `fwdArc` (aliased, zero bytes).
|
|
38
|
+
*/
|
|
39
|
+
export declare class ReverseAdjacency implements ReverseView {
|
|
40
|
+
/** Whether the source snapshot is directed. */
|
|
41
|
+
readonly directed: boolean;
|
|
42
|
+
/** Number of nodes. */
|
|
43
|
+
readonly nodeCount: number;
|
|
44
|
+
/** Number of arcs. */
|
|
45
|
+
readonly arcCount: number;
|
|
46
|
+
/** Row offsets of the reverse adjacency (the forward rowPtr when undirected). */
|
|
47
|
+
readonly rowPtr: U32;
|
|
48
|
+
/** Source node of every forward arc, sorted within each reverse row (the forward colIdx when undirected). */
|
|
49
|
+
readonly colIdx: U32;
|
|
50
|
+
/** Per-reverse-arc weights, gathered from the forward weights (the forward array when undirected). */
|
|
51
|
+
readonly weights: F32 | null;
|
|
52
|
+
private readonly source;
|
|
53
|
+
private fwdArcCache;
|
|
54
|
+
private arcToEdgeCache;
|
|
55
|
+
private arcToEdgeOwned;
|
|
56
|
+
private readonly fwdArcIsIdentity;
|
|
57
|
+
/**
|
|
58
|
+
* Wrap the reverse arrays. Used by `computeReverse()`; not meant to be constructed elsewhere.
|
|
59
|
+
* @param source - the snapshot the view belongs to
|
|
60
|
+
* @param rowPtr - the reverse row offsets
|
|
61
|
+
* @param colIdx - the reverse targets (forward sources)
|
|
62
|
+
* @param weights - the gathered weights, or null when unweighted
|
|
63
|
+
* @param fwdArc - the reverse arc -> forward arc map, or null when it is the identity (undirected)
|
|
64
|
+
*/
|
|
65
|
+
constructor(source: GraphSnapshot, rowPtr: U32, colIdx: U32, weights: F32 | null, fwdArc: U32 | null);
|
|
66
|
+
/**
|
|
67
|
+
* Reverse arc k -> forward arc index; the identity for an undirected snapshot, materialised on first
|
|
68
|
+
* read outside any arena.
|
|
69
|
+
* @returns the map, arcCount entries
|
|
70
|
+
*/
|
|
71
|
+
get fwdArc(): U32;
|
|
72
|
+
/**
|
|
73
|
+
* Logical edge of every reverse arc: `source.arcToEdge[fwdArc[k]]`, materialised on first read.
|
|
74
|
+
* Aliases `source.arcToEdge` when undirected and `fwdArc` when the forward permutation is the
|
|
75
|
+
* identity.
|
|
76
|
+
* @returns the map, arcCount entries
|
|
77
|
+
*/
|
|
78
|
+
get arcToEdge(): U32;
|
|
79
|
+
/**
|
|
80
|
+
* Bytes owned by this view (not shared with the snapshot's core): the reverse arrays when directed,
|
|
81
|
+
* a materialised identity `fwdArc`, and a gathered `arcToEdge`.
|
|
82
|
+
* @returns the byte count
|
|
83
|
+
*/
|
|
84
|
+
get ownedByteLength(): number;
|
|
85
|
+
/**
|
|
86
|
+
* The arrays this view has materialised so far, for checksums and byte accounting.
|
|
87
|
+
* @returns the arrays, keyed by member name
|
|
88
|
+
*/
|
|
89
|
+
materialised(): Readonly<Record<string, Uint32Array | Float32Array>>;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Compute the reverse view (design section 7.2): a stable counting sort of the forward arcs by target
|
|
93
|
+
* (O(n + m)) so that every reverse row is sorted by source with parallels in ascending edge order
|
|
94
|
+
* (invariant I4 for the reverse), weights gathered when weighted (Q37). Undirected: the forward
|
|
95
|
+
* arrays themselves (invariant I7).
|
|
96
|
+
* @param snapshot - the snapshot
|
|
97
|
+
* @returns the reverse view
|
|
98
|
+
*/
|
|
99
|
+
export declare function computeReverse(snapshot: GraphSnapshot): ReverseAdjacency;
|
|
100
|
+
/**
|
|
101
|
+
* Compute the per-arc COO view (design section 7.2): `src` is the only new array; `dst` aliases
|
|
102
|
+
* `colIdx`, `weights` aliases `weights`, and `arcToEdge` reaches the snapshot's array through a
|
|
103
|
+
* getter (so an identity permutation is not materialised by building the view).
|
|
104
|
+
* @param snapshot - the snapshot
|
|
105
|
+
* @returns the COO view
|
|
106
|
+
*/
|
|
107
|
+
export declare function computeCoo(snapshot: GraphSnapshot): CooView;
|
|
108
|
+
/**
|
|
109
|
+
* Wrap a per-arc source array as the COO view of a snapshot (the shape `computeCoo()` returns; also
|
|
110
|
+
* used to install a carried `src` from the wire).
|
|
111
|
+
* @param snapshot - the snapshot
|
|
112
|
+
* @param src - source node of every arc, arcCount entries
|
|
113
|
+
* @returns the COO view
|
|
114
|
+
*/
|
|
115
|
+
export declare function cooViewOf(snapshot: GraphSnapshot, src: U32): CooView;
|
|
116
|
+
/**
|
|
117
|
+
* Compute the edge list view (design section 7.2): every logical edge once in declared orientation.
|
|
118
|
+
* `src[e]` is the row holding `edgeToArc[e]`, `dst[e] === colIdx[edgeToArc[e]]`, `arc` aliases
|
|
119
|
+
* `edgeToArc` through a getter, `weights` is gathered through `edgeToArc` (aliased when the
|
|
120
|
+
* permutation is the identity, in which case `dst` aliases `colIdx` too).
|
|
121
|
+
* @param snapshot - the snapshot
|
|
122
|
+
* @returns the edge list view
|
|
123
|
+
*/
|
|
124
|
+
export declare function computeEdgeList(snapshot: GraphSnapshot): EdgeListView;
|
|
125
|
+
/**
|
|
126
|
+
* Wrap per-edge arrays as the edge list view of a snapshot (the shape `computeEdgeList()` returns;
|
|
127
|
+
* also used to install carried arrays from the wire). `arc` reaches `edgeToArc` through a getter so
|
|
128
|
+
* an identity permutation is not materialised by building the view.
|
|
129
|
+
* @param snapshot - the snapshot
|
|
130
|
+
* @param src - declared source of every edge, edgeCount entries
|
|
131
|
+
* @param dst - declared target of every edge, edgeCount entries (colIdx itself when the permutation is the identity)
|
|
132
|
+
* @param weights - per-edge weights, or null when unweighted
|
|
133
|
+
* @returns the edge list view
|
|
134
|
+
*/
|
|
135
|
+
export declare function edgeListViewOf(snapshot: GraphSnapshot, src: U32, dst: U32, weights: F32 | null): EdgeListView;
|
|
136
|
+
/**
|
|
137
|
+
* Out-arc counts: `rowPtr[u + 1] - rowPtr[u]` (a self-loop counted once, design section 3.4).
|
|
138
|
+
* @param rowPtr - the row offsets
|
|
139
|
+
* @param nodeCount - the node count
|
|
140
|
+
* @returns a fresh Uint32Array(nodeCount)
|
|
141
|
+
*/
|
|
142
|
+
export declare function rowLengths(rowPtr: U32, nodeCount: number): U32;
|
|
143
|
+
/**
|
|
144
|
+
* The graph-theoretic degree (design section 3.4): in + out when directed, out + self-loops when
|
|
145
|
+
* undirected (a loop counts twice, the NetworkX convention).
|
|
146
|
+
* @param outDegree - the out-degree view
|
|
147
|
+
* @param inOrLoops - inDegree() when directed, selfLoopsPerNode() when undirected
|
|
148
|
+
* @returns a fresh Uint32Array(n)
|
|
149
|
+
*/
|
|
150
|
+
export declare function sumDegrees(outDegree: U32, inOrLoops: U32): U32;
|
|
151
|
+
/**
|
|
152
|
+
* Row sums of an arc-aligned weight array as f64 (design section 7.2): a self-loop arc counted once;
|
|
153
|
+
* a row may sum to 0 because zero weights are legal.
|
|
154
|
+
* @param rowPtr - the row offsets of the adjacency being summed (forward or reverse)
|
|
155
|
+
* @param weights - the arc-aligned weights of that adjacency
|
|
156
|
+
* @param nodeCount - the node count
|
|
157
|
+
* @returns a fresh Float64Array(nodeCount)
|
|
158
|
+
*/
|
|
159
|
+
export declare function rowWeightSums(rowPtr: U32, weights: F32, nodeCount: number): F64;
|
|
160
|
+
/**
|
|
161
|
+
* A u32 count vector widened to f64 (the unweighted case of the weighted-degree views).
|
|
162
|
+
* @param counts - the counts
|
|
163
|
+
* @returns a fresh Float64Array of the same length
|
|
164
|
+
*/
|
|
165
|
+
export declare function widenToF64(counts: U32): F64;
|
|
166
|
+
/**
|
|
167
|
+
* Element-wise sum of two f64 vectors of equal length.
|
|
168
|
+
* @param a - the first vector
|
|
169
|
+
* @param b - the second vector
|
|
170
|
+
* @returns a fresh Float64Array
|
|
171
|
+
*/
|
|
172
|
+
export declare function sumF64(a: F64, b: F64): F64;
|
|
173
|
+
/**
|
|
174
|
+
* The sum of weights over logical edges, each undirected edge once (design section 7.2), accumulated
|
|
175
|
+
* in f64. `edgeCount` when unweighted.
|
|
176
|
+
* @param snapshot - the snapshot
|
|
177
|
+
* @returns the total weight
|
|
178
|
+
*/
|
|
179
|
+
export declare function computeTotalWeight(snapshot: GraphSnapshot): number;
|
|
180
|
+
/** The two self-loop views, computed together in one O(n log d) pass. */
|
|
181
|
+
interface SelfLoopViews {
|
|
182
|
+
/** Arcs a with colIdx[a] === row(a), ascending. */
|
|
183
|
+
readonly selfLoopArcs: U32;
|
|
184
|
+
/** Loop arcs per node. */
|
|
185
|
+
readonly selfLoopsPerNode: U32;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Find every self-loop arc by a binary search per row (design section 7.2).
|
|
189
|
+
* @param snapshot - the snapshot
|
|
190
|
+
* @returns the loop arcs (length selfLoopCount) and the per-node counts
|
|
191
|
+
*/
|
|
192
|
+
export declare function computeSelfLoops(snapshot: GraphSnapshot): SelfLoopViews;
|
|
193
|
+
/**
|
|
194
|
+
* Sum of weights over each node's self-loop arcs as f64; the loop counts widened when unweighted.
|
|
195
|
+
* @param snapshot - the snapshot
|
|
196
|
+
* @param loops - the self-loop views
|
|
197
|
+
* @returns a fresh Float64Array(n)
|
|
198
|
+
*/
|
|
199
|
+
export declare function computeSelfLoopWeight(snapshot: GraphSnapshot, loops: SelfLoopViews): F64;
|
|
200
|
+
/**
|
|
201
|
+
* For every arc of an undirected snapshot, the arc storing the opposite orientation of the same edge
|
|
202
|
+
* (a self-loop maps to itself), by the O(m) lockstep walk of design section 6.4: rows are visited in
|
|
203
|
+
* ascending order, every group of k parallel arcs u -> v (v > u) is paired k-th to k-th with the group
|
|
204
|
+
* v -> u at row v's cursor, and the cursor advances so that by the time row v is visited every
|
|
205
|
+
* target below v has been consumed. Throws E_DIRECTED on a directed snapshot.
|
|
206
|
+
* @param snapshot - an undirected snapshot
|
|
207
|
+
* @returns a fresh Uint32Array(arcCount)
|
|
208
|
+
*/
|
|
209
|
+
export declare function computeMate(snapshot: GraphSnapshot): U32;
|
|
210
|
+
/**
|
|
211
|
+
* Nodes permuted by descending out-degree of an adjacency (counting sort, ties in ascending node
|
|
212
|
+
* index) with the cuGraph tier boundaries (design section 7.2): `segmentOffsets = [0, hiEnd,
|
|
213
|
+
* midEnd, lowEnd, n]` for the thresholds 1024 / 32 / 1.
|
|
214
|
+
* @param rowPtr - the row offsets of the adjacency to order by (forward, or reverse for the in-degree)
|
|
215
|
+
* @param nodeCount - the node count
|
|
216
|
+
* @returns the permutation and its tier offsets
|
|
217
|
+
*/
|
|
218
|
+
export declare function computeDegreeOrder(rowPtr: U32, nodeCount: number): DegreeOrderView;
|
|
219
|
+
/**
|
|
220
|
+
* Whether a directed snapshot's arc set is closed under reversal with equal weights (design sections
|
|
221
|
+
* 3.6 and 7.2): forward row v and reverse row v hold the same targets (versus sources; both sorted,
|
|
222
|
+
* so one lockstep walk), and within each run of parallel arcs to one target the same multiset of
|
|
223
|
+
* weights. Parallel arcs are ordered by edge index in both rows, so their weights can arrive in a
|
|
224
|
+
* different order (an expanded undirected multigraph with unequal parallel weights, design section
|
|
225
|
+
* 6.6); each run is compared as a sorted multiset, which is positional for simple graphs. Undirected
|
|
226
|
+
* snapshots are symmetric by construction.
|
|
227
|
+
* @param snapshot - the snapshot
|
|
228
|
+
* @param reverse - its reverse view
|
|
229
|
+
* @returns true when symmetric
|
|
230
|
+
*/
|
|
231
|
+
export declare function computeSymmetric(snapshot: GraphSnapshot, reverse: ReverseView): boolean;
|
|
232
|
+
/**
|
|
233
|
+
* The bytes a cached view owns beyond the snapshot's core (aliased arrays count zero), for
|
|
234
|
+
* `byteLength({ views: true })` (design section 7.2).
|
|
235
|
+
* @param snapshot - the snapshot
|
|
236
|
+
* @param name - the view name
|
|
237
|
+
* @param value - the cached value
|
|
238
|
+
* @returns the byte count
|
|
239
|
+
*/
|
|
240
|
+
export declare function viewByteLength(snapshot: GraphSnapshot, name: ViewName, value: unknown): number;
|
|
241
|
+
/**
|
|
242
|
+
* The typed arrays a cached view currently holds, keyed by member name, for the checksum records of
|
|
243
|
+
* design section 5.8 (aliased core arrays are included: a write through the alias is a violation
|
|
244
|
+
* too). Scalar views hold nothing.
|
|
245
|
+
* @param snapshot - the snapshot
|
|
246
|
+
* @param name - the view name
|
|
247
|
+
* @param value - the cached value
|
|
248
|
+
* @returns the arrays by member name
|
|
249
|
+
*/
|
|
250
|
+
export declare function viewArrays(snapshot: GraphSnapshot, name: ViewName, value: unknown): Readonly<Record<string, ArrayBufferView>>;
|
|
251
|
+
/**
|
|
252
|
+
* Reduce a per-arc vector (arcCount entries) to a per-edge vector (edgeCount entries) through
|
|
253
|
+
* `arcToEdge` (design section 7.5): `"first"` takes the value of the arc holding the declared
|
|
254
|
+
* orientation (`edgeToArc[e]`), `"sum"` / `"max"` / `"min"` combine both arcs of an undirected edge.
|
|
255
|
+
* Returns `perArc` itself when the permutation is the identity and no `out` is given.
|
|
256
|
+
* @param snapshot - the snapshot the vector is aligned to
|
|
257
|
+
* @param perArc - the per-arc values, arcCount entries
|
|
258
|
+
* @param reducer - how the arcs of one edge combine
|
|
259
|
+
* @param out - an optional destination of edgeCount entries
|
|
260
|
+
* @returns the per-edge vector
|
|
261
|
+
*/
|
|
262
|
+
export declare function foldArcs<T extends NumericVector>(snapshot: GraphSnapshot, perArc: T, reducer: "first" | "sum" | "max" | "min", out?: T): T;
|
|
263
|
+
/**
|
|
264
|
+
* Expand a per-edge vector (edgeCount entries) to a per-arc vector (arcCount entries) through
|
|
265
|
+
* `arcToEdge` (design section 7.5). Returns `perEdge` itself when the permutation is the identity and
|
|
266
|
+
* no `out` is given.
|
|
267
|
+
* @param snapshot - the snapshot the vector is aligned to
|
|
268
|
+
* @param perEdge - the per-edge values, edgeCount entries
|
|
269
|
+
* @param out - an optional destination of arcCount entries
|
|
270
|
+
* @returns the per-arc vector
|
|
271
|
+
*/
|
|
272
|
+
export declare function expandEdges<T extends NumericVector>(snapshot: GraphSnapshot, perEdge: T, out?: T): T;
|
|
273
|
+
export {};
|
|
274
|
+
//# sourceMappingURL=views.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../../src/snapshot/views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,GAAG,EACR,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,QAAQ,EAChB,MAAM,mBAAmB,CAAC;AAM3B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,6CAA6C;AAC7C,eAAO,MAAM,eAAe,KAAK,CAAC;AAIlC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAMvD;AAED;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IAChD,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,uBAAuB;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sBAAsB;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,6GAA6G;IAC7G,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,sGAAsG;IACtG,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAE3C;;;;;;;OAOG;gBACS,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAcpG;;;;OAIG;IACH,IAAI,MAAM,IAAI,GAAG,CAGhB;IAED;;;;;OAKG;IACH,IAAI,SAAS,IAAI,GAAG,CAkBnB;IAED;;;;OAIG;IACH,IAAI,eAAe,IAAI,MAAM,CAe5B;IAED;;;OAGG;IACH,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;CAgBvE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,gBAAgB,CA6BxE;AAsBD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CASpE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,YAAY,CA0BrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,GAAG,YAAY,CAS7G;AAID;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAM9D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,GAAG,CAM9D;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAW/E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAM1C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAiBlE;AAID,yEAAyE;AACzE,UAAU,aAAa;IACnB,mDAAmD;IACnD,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;IAC3B,0BAA0B;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAavE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,GAAG,CAkBxF;AAoBD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,GAAG,CAuCxD;AAID;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAoClF;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CA6CvF;AA4CD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CA2C9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACtB,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,OAAO,GACf,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CA2C3C;AAuBD;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,aAAa,EAC5C,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EACxC,GAAG,CAAC,EAAE,CAAC,GACR,CAAC,CAsDH;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAqBpG"}
|