@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.
Files changed (224) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +216 -43
  3. package/dist/graph-format.d.ts +1 -0
  4. package/dist/graph-format.d.ts.map +1 -0
  5. package/dist/graph-format.js +15798 -0
  6. package/dist/graph-format.js.map +1 -0
  7. package/dist/src/builder/arena.d.ts +85 -0
  8. package/dist/src/builder/arena.d.ts.map +1 -0
  9. package/dist/src/builder/arena.js +154 -0
  10. package/dist/src/builder/arena.js.map +1 -0
  11. package/dist/src/builder/compact.d.ts +515 -0
  12. package/dist/src/builder/compact.d.ts.map +1 -0
  13. package/dist/src/builder/compact.js +1553 -0
  14. package/dist/src/builder/compact.js.map +1 -0
  15. package/dist/src/builder/counting-sort.d.ts +96 -0
  16. package/dist/src/builder/counting-sort.d.ts.map +1 -0
  17. package/dist/src/builder/counting-sort.js +430 -0
  18. package/dist/src/builder/counting-sort.js.map +1 -0
  19. package/dist/src/builder/freeze.d.ts +72 -0
  20. package/dist/src/builder/freeze.d.ts.map +1 -0
  21. package/dist/src/builder/freeze.js +548 -0
  22. package/dist/src/builder/freeze.js.map +1 -0
  23. package/dist/src/builder/graph-builder.d.ts +602 -0
  24. package/dist/src/builder/graph-builder.d.ts.map +1 -0
  25. package/dist/src/builder/graph-builder.js +1940 -0
  26. package/dist/src/builder/graph-builder.js.map +1 -0
  27. package/dist/src/builder/options.d.ts +16 -0
  28. package/dist/src/builder/options.d.ts.map +1 -0
  29. package/dist/src/builder/options.js +21 -0
  30. package/dist/src/builder/options.js.map +1 -0
  31. package/dist/src/columns/bitmap.d.ts +96 -0
  32. package/dist/src/columns/bitmap.d.ts.map +1 -0
  33. package/dist/src/columns/bitmap.js +184 -0
  34. package/dist/src/columns/bitmap.js.map +1 -0
  35. package/dist/src/columns/column.d.ts +220 -0
  36. package/dist/src/columns/column.d.ts.map +1 -0
  37. package/dist/src/columns/column.js +2109 -0
  38. package/dist/src/columns/column.js.map +1 -0
  39. package/dist/src/columns/dictionary.d.ts +60 -0
  40. package/dist/src/columns/dictionary.d.ts.map +1 -0
  41. package/dist/src/columns/dictionary.js +102 -0
  42. package/dist/src/columns/dictionary.js.map +1 -0
  43. package/dist/src/columns/growable.d.ts +198 -0
  44. package/dist/src/columns/growable.d.ts.map +1 -0
  45. package/dist/src/columns/growable.js +296 -0
  46. package/dist/src/columns/growable.js.map +1 -0
  47. package/dist/src/columns/infer.d.ts +121 -0
  48. package/dist/src/columns/infer.d.ts.map +1 -0
  49. package/dist/src/columns/infer.js +268 -0
  50. package/dist/src/columns/infer.js.map +1 -0
  51. package/dist/src/columns/remap.d.ts +143 -0
  52. package/dist/src/columns/remap.d.ts.map +1 -0
  53. package/dist/src/columns/remap.js +588 -0
  54. package/dist/src/columns/remap.js.map +1 -0
  55. package/dist/src/columns/table.d.ts +184 -0
  56. package/dist/src/columns/table.d.ts.map +1 -0
  57. package/dist/src/columns/table.js +485 -0
  58. package/dist/src/columns/table.js.map +1 -0
  59. package/dist/src/constants.d.ts +34 -0
  60. package/dist/src/constants.d.ts.map +1 -0
  61. package/dist/src/constants.js +79 -0
  62. package/dist/src/constants.js.map +1 -0
  63. package/dist/src/errors.d.ts +76 -0
  64. package/dist/src/errors.d.ts.map +1 -0
  65. package/dist/src/errors.js +32 -0
  66. package/dist/src/errors.js.map +1 -0
  67. package/dist/src/ids/edge-id-index.d.ts +77 -0
  68. package/dist/src/ids/edge-id-index.d.ts.map +1 -0
  69. package/dist/src/ids/edge-id-index.js +155 -0
  70. package/dist/src/ids/edge-id-index.js.map +1 -0
  71. package/dist/src/ids/node-id-map.d.ts +280 -0
  72. package/dist/src/ids/node-id-map.d.ts.map +1 -0
  73. package/dist/src/ids/node-id-map.js +1139 -0
  74. package/dist/src/ids/node-id-map.js.map +1 -0
  75. package/dist/src/ids/string-store.d.ts +219 -0
  76. package/dist/src/ids/string-store.d.ts.map +1 -0
  77. package/dist/src/ids/string-store.js +526 -0
  78. package/dist/src/ids/string-store.js.map +1 -0
  79. package/dist/src/index.d.ts +30 -0
  80. package/dist/src/index.d.ts.map +1 -0
  81. package/dist/src/index.js +29 -0
  82. package/dist/src/index.js.map +1 -0
  83. package/dist/src/populate/from-csr.d.ts +61 -0
  84. package/dist/src/populate/from-csr.d.ts.map +1 -0
  85. package/dist/src/populate/from-csr.js +706 -0
  86. package/dist/src/populate/from-csr.js.map +1 -0
  87. package/dist/src/populate/from-edge-arrays.d.ts +51 -0
  88. package/dist/src/populate/from-edge-arrays.d.ts.map +1 -0
  89. package/dist/src/populate/from-edge-arrays.js +217 -0
  90. package/dist/src/populate/from-edge-arrays.js.map +1 -0
  91. package/dist/src/populate/from-records.d.ts +51 -0
  92. package/dist/src/populate/from-records.d.ts.map +1 -0
  93. package/dist/src/populate/from-records.js +447 -0
  94. package/dist/src/populate/from-records.js.map +1 -0
  95. package/dist/src/snapshot/derived.d.ts +211 -0
  96. package/dist/src/snapshot/derived.d.ts.map +1 -0
  97. package/dist/src/snapshot/derived.js +1254 -0
  98. package/dist/src/snapshot/derived.js.map +1 -0
  99. package/dist/src/snapshot/graph-meta.d.ts +23 -0
  100. package/dist/src/snapshot/graph-meta.d.ts.map +1 -0
  101. package/dist/src/snapshot/graph-meta.js +159 -0
  102. package/dist/src/snapshot/graph-meta.js.map +1 -0
  103. package/dist/src/snapshot/graph-snapshot.d.ts +509 -0
  104. package/dist/src/snapshot/graph-snapshot.d.ts.map +1 -0
  105. package/dist/src/snapshot/graph-snapshot.js +1247 -0
  106. package/dist/src/snapshot/graph-snapshot.js.map +1 -0
  107. package/dist/src/snapshot/hash.d.ts +90 -0
  108. package/dist/src/snapshot/hash.d.ts.map +1 -0
  109. package/dist/src/snapshot/hash.js +228 -0
  110. package/dist/src/snapshot/hash.js.map +1 -0
  111. package/dist/src/snapshot/queries.d.ts +74 -0
  112. package/dist/src/snapshot/queries.d.ts.map +1 -0
  113. package/dist/src/snapshot/queries.js +131 -0
  114. package/dist/src/snapshot/queries.js.map +1 -0
  115. package/dist/src/snapshot/validate.d.ts +192 -0
  116. package/dist/src/snapshot/validate.d.ts.map +1 -0
  117. package/dist/src/snapshot/validate.js +990 -0
  118. package/dist/src/snapshot/validate.js.map +1 -0
  119. package/dist/src/snapshot/views.d.ts +274 -0
  120. package/dist/src/snapshot/views.d.ts.map +1 -0
  121. package/dist/src/snapshot/views.js +856 -0
  122. package/dist/src/snapshot/views.js.map +1 -0
  123. package/dist/src/types/builder.d.ts +456 -0
  124. package/dist/src/types/builder.d.ts.map +1 -0
  125. package/dist/src/types/builder.js +11 -0
  126. package/dist/src/types/builder.js.map +1 -0
  127. package/dist/src/types/columns.d.ts +615 -0
  128. package/dist/src/types/columns.d.ts.map +1 -0
  129. package/dist/src/types/columns.js +14 -0
  130. package/dist/src/types/columns.js.map +1 -0
  131. package/dist/src/types/index.d.ts +14 -0
  132. package/dist/src/types/index.d.ts.map +1 -0
  133. package/dist/src/types/index.js +11 -0
  134. package/dist/src/types/index.js.map +1 -0
  135. package/dist/src/types/internal.d.ts +172 -0
  136. package/dist/src/types/internal.d.ts.map +1 -0
  137. package/dist/src/types/internal.js +13 -0
  138. package/dist/src/types/internal.js.map +1 -0
  139. package/dist/src/types/snapshot.d.ts +801 -0
  140. package/dist/src/types/snapshot.d.ts.map +1 -0
  141. package/dist/src/types/snapshot.js +14 -0
  142. package/dist/src/types/snapshot.js.map +1 -0
  143. package/dist/src/types/wire.d.ts +196 -0
  144. package/dist/src/types/wire.d.ts.map +1 -0
  145. package/dist/src/types/wire.js +8 -0
  146. package/dist/src/types/wire.js.map +1 -0
  147. package/dist/src/util/mask.d.ts +55 -0
  148. package/dist/src/util/mask.d.ts.map +1 -0
  149. package/dist/src/util/mask.js +71 -0
  150. package/dist/src/util/mask.js.map +1 -0
  151. package/dist/src/util/options.d.ts +22 -0
  152. package/dist/src/util/options.d.ts.map +1 -0
  153. package/dist/src/util/options.js +49 -0
  154. package/dist/src/util/options.js.map +1 -0
  155. package/dist/src/util/shared-buffers.d.ts +42 -0
  156. package/dist/src/util/shared-buffers.d.ts.map +1 -0
  157. package/dist/src/util/shared-buffers.js +52 -0
  158. package/dist/src/util/shared-buffers.js.map +1 -0
  159. package/dist/src/util/typed-array.d.ts +205 -0
  160. package/dist/src/util/typed-array.d.ts.map +1 -0
  161. package/dist/src/util/typed-array.js +289 -0
  162. package/dist/src/util/typed-array.js.map +1 -0
  163. package/dist/src/wire/bytes.d.ts +69 -0
  164. package/dist/src/wire/bytes.d.ts.map +1 -0
  165. package/dist/src/wire/bytes.js +361 -0
  166. package/dist/src/wire/bytes.js.map +1 -0
  167. package/dist/src/wire/carried-views.d.ts +111 -0
  168. package/dist/src/wire/carried-views.d.ts.map +1 -0
  169. package/dist/src/wire/carried-views.js +286 -0
  170. package/dist/src/wire/carried-views.js.map +1 -0
  171. package/dist/src/wire/from-wire.d.ts +144 -0
  172. package/dist/src/wire/from-wire.d.ts.map +1 -0
  173. package/dist/src/wire/from-wire.js +1425 -0
  174. package/dist/src/wire/from-wire.js.map +1 -0
  175. package/dist/src/wire/to-wire.d.ts +171 -0
  176. package/dist/src/wire/to-wire.d.ts.map +1 -0
  177. package/dist/src/wire/to-wire.js +652 -0
  178. package/dist/src/wire/to-wire.js.map +1 -0
  179. package/dist/tsconfig.build.tsbuildinfo +1 -0
  180. package/package.json +72 -7
  181. package/src/builder/arena.ts +192 -0
  182. package/src/builder/compact.ts +1811 -0
  183. package/src/builder/counting-sort.ts +506 -0
  184. package/src/builder/freeze.ts +689 -0
  185. package/src/builder/graph-builder.ts +2264 -0
  186. package/src/builder/options.ts +29 -0
  187. package/src/columns/bitmap.ts +196 -0
  188. package/src/columns/column.ts +2574 -0
  189. package/src/columns/dictionary.ts +114 -0
  190. package/src/columns/growable.ts +350 -0
  191. package/src/columns/infer.ts +285 -0
  192. package/src/columns/remap.ts +663 -0
  193. package/src/columns/table.ts +568 -0
  194. package/src/constants.ts +89 -0
  195. package/src/errors.ts +115 -0
  196. package/src/ids/edge-id-index.ts +179 -0
  197. package/src/ids/node-id-map.ts +1340 -0
  198. package/src/ids/string-store.ts +589 -0
  199. package/src/index.ts +139 -0
  200. package/src/lib-resizable-array-buffer.d.ts +34 -0
  201. package/src/populate/from-csr.ts +802 -0
  202. package/src/populate/from-edge-arrays.ts +257 -0
  203. package/src/populate/from-records.ts +536 -0
  204. package/src/snapshot/derived.ts +1486 -0
  205. package/src/snapshot/graph-meta.ts +167 -0
  206. package/src/snapshot/graph-snapshot.ts +1503 -0
  207. package/src/snapshot/hash.ts +241 -0
  208. package/src/snapshot/queries.ts +136 -0
  209. package/src/snapshot/validate.ts +1108 -0
  210. package/src/snapshot/views.ts +943 -0
  211. package/src/types/builder.ts +480 -0
  212. package/src/types/columns.ts +727 -0
  213. package/src/types/index.ts +14 -0
  214. package/src/types/internal.ts +195 -0
  215. package/src/types/snapshot.ts +886 -0
  216. package/src/types/wire.ts +207 -0
  217. package/src/util/mask.ts +89 -0
  218. package/src/util/options.ts +57 -0
  219. package/src/util/shared-buffers.ts +56 -0
  220. package/src/util/typed-array.ts +371 -0
  221. package/src/wire/bytes.ts +440 -0
  222. package/src/wire/carried-views.ts +327 -0
  223. package/src/wire/from-wire.ts +1690 -0
  224. 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":"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"}