loop-interpolation-core 0.1.0__cp39-abi3-win_amd64.whl
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.
- loop_interpolation_core/__init__.py +5 -0
- loop_interpolation_core/loop_interpolation_core.pyd +0 -0
- loop_interpolation_core-0.1.0.dist-info/METADATA +159 -0
- loop_interpolation_core-0.1.0.dist-info/RECORD +6 -0
- loop_interpolation_core-0.1.0.dist-info/WHEEL +4 -0
- loop_interpolation_core-0.1.0.dist-info/sboms/loop-interpolation-core.cyclonedx.json +1093 -0
|
Binary file
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: loop-interpolation-core
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Classifier: Development Status :: 4 - Beta
|
|
5
|
+
Classifier: Intended Audience :: Science/Research
|
|
6
|
+
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
7
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
8
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
9
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
10
|
+
Classifier: Operating System :: MacOS
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Rust
|
|
13
|
+
Requires-Dist: numpy
|
|
14
|
+
Summary: Native (Rust) core for the low-memory LoopStructural interpolator
|
|
15
|
+
Author-email: Lachlan Grose <lachlan.grose@monash.edu>
|
|
16
|
+
License: MIT
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
|
+
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
19
|
+
Project-URL: Bug Tracker, https://github.com/loop3d/loopstructural/issues
|
|
20
|
+
Project-URL: Documentation, https://Loop3d.org/LoopStructural/
|
|
21
|
+
Project-URL: Source Code, https://github.com/loop3d/loopstructural
|
|
22
|
+
|
|
23
|
+
# loop-interpolation-core
|
|
24
|
+
|
|
25
|
+
## Purpose
|
|
26
|
+
|
|
27
|
+
This package is the native core of the low-memory interpolator. It is a
|
|
28
|
+
Python extension module, built with maturin. It is named
|
|
29
|
+
`loop_interpolation_core` on import. The package solves the finite
|
|
30
|
+
difference interpolation problem without building the sparse constraint
|
|
31
|
+
rows in Python.
|
|
32
|
+
|
|
33
|
+
The package is optional. The `loop-interpolation` package works without it.
|
|
34
|
+
|
|
35
|
+
## Specification
|
|
36
|
+
|
|
37
|
+
The requirements and the design are in
|
|
38
|
+
[specs/001-low-memory-interpolator/spec.md](../../specs/001-low-memory-interpolator/spec.md).
|
|
39
|
+
|
|
40
|
+
## Forms
|
|
41
|
+
|
|
42
|
+
The crate builds in three forms:
|
|
43
|
+
|
|
44
|
+
- Rust library (rlib). Use it from other Rust crates.
|
|
45
|
+
- Python module (PyO3). It uses the abi3 stable ABI, so one wheel works for
|
|
46
|
+
Python 3.9 and later.
|
|
47
|
+
- Browser module (wasm-bindgen). It runs in a Web Worker. The worker code is
|
|
48
|
+
in `web/`.
|
|
49
|
+
|
|
50
|
+
## Feature flags
|
|
51
|
+
|
|
52
|
+
| Feature | Effect |
|
|
53
|
+
|---|---|
|
|
54
|
+
| `parallel` | Uses rayon threads. Off for cargo by default. On for the Python wheel. |
|
|
55
|
+
| `python` | Builds the PyO3 bindings. |
|
|
56
|
+
| `wasm` | Builds the wasm-bindgen bindings. |
|
|
57
|
+
|
|
58
|
+
With no feature, the code runs on one thread and has no dependency.
|
|
59
|
+
|
|
60
|
+
## Build commands
|
|
61
|
+
|
|
62
|
+
### Python module
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
pip install maturin
|
|
66
|
+
maturin develop --release -m packages/loop_interpolation_core/Cargo.toml
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The `pyproject.toml` sets the features `python` and `parallel`. If you pass
|
|
70
|
+
`--features`, you must list both: `--features python,parallel`. The option
|
|
71
|
+
`--features parallel` alone replaces the list. The build then fails with an
|
|
72
|
+
"install cffi" message.
|
|
73
|
+
|
|
74
|
+
### Browser module
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
bash packages/loop_interpolation_core/scripts/build_wasm.sh
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
You need these tools:
|
|
81
|
+
|
|
82
|
+
- The `wasm32-unknown-unknown` Rust target.
|
|
83
|
+
- A `wasm-bindgen` CLI with the same version as the `wasm-bindgen` crate in
|
|
84
|
+
`Cargo.lock`. The script stops if the versions differ.
|
|
85
|
+
- `wasm-opt` is optional. If it is missing, the script skips this step.
|
|
86
|
+
|
|
87
|
+
The script writes the output to `packages/loop_interpolation_core/pkg/`.
|
|
88
|
+
|
|
89
|
+
### Tests and lint
|
|
90
|
+
|
|
91
|
+
Run these commands from `packages/loop_interpolation_core`:
|
|
92
|
+
|
|
93
|
+
```text
|
|
94
|
+
cargo test --release
|
|
95
|
+
cargo test --release --features parallel
|
|
96
|
+
|
|
97
|
+
cargo clippy --all-targets -- -D warnings
|
|
98
|
+
cargo clippy --all-targets --features python -- -D warnings
|
|
99
|
+
cargo clippy --features wasm --target wasm32-unknown-unknown -- -D warnings
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
To run the browser tests:
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
npm --prefix packages/loop_interpolation_core/tests_web ci
|
|
106
|
+
npm --prefix packages/loop_interpolation_core/tests_web test
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Contract
|
|
110
|
+
|
|
111
|
+
- Inputs are flat arrays. Points are stored as 3n values, one x, y, z set
|
|
112
|
+
for each point.
|
|
113
|
+
- The grid uses grid coordinates only. The grid has no rotation. The caller
|
|
114
|
+
transforms the coordinates.
|
|
115
|
+
- Node order is x fastest.
|
|
116
|
+
- Errors name the constraint that failed. For example, `value[3]`.
|
|
117
|
+
- A solve is a session. You step the session to advance the solve. To cancel
|
|
118
|
+
it, drop the session.
|
|
119
|
+
- The memory estimate is available before the solve.
|
|
120
|
+
- Set `budget_bytes` to limit the memory of a solve.
|
|
121
|
+
|
|
122
|
+
## Differences from loop-rs
|
|
123
|
+
|
|
124
|
+
- Grid rotation is removed. The functions `rotation`, `to_local` and
|
|
125
|
+
`direction_to_local` are not in this crate. The `serde` feature is also
|
|
126
|
+
removed.
|
|
127
|
+
- Solve sessions replace the closure-style solvers. A session has step and
|
|
128
|
+
cancel.
|
|
129
|
+
- Memory tracking is new. The crate uses `try_reserve`, a byte budget and a
|
|
130
|
+
memory estimate.
|
|
131
|
+
- Curvature rows are added only at nodes that are interior on all three
|
|
132
|
+
axes. The border rows are centred second derivatives `[1, -2, 1]` on
|
|
133
|
+
layers 1 and n-2. The gradient strike and dip basis is the Python
|
|
134
|
+
strike and dip basis. So the field equals the field of the Python matrix
|
|
135
|
+
solver.
|
|
136
|
+
- Only the ADMM solver is in this crate. There is no active-set solver and
|
|
137
|
+
no hybrid solver. A feasibility check runs before the solve. The solver
|
|
138
|
+
stops when the violation is at most 1e-4 of the field range.
|
|
139
|
+
- Single precision (`f32`) is available. The residual check runs in double
|
|
140
|
+
precision.
|
|
141
|
+
|
|
142
|
+
## Measured values
|
|
143
|
+
|
|
144
|
+
- Memory: 63 bytes per node for R1, a 100 x 100 x 100 grid with 2000 value
|
|
145
|
+
rows and 500 gradient rows. The value is the peak heap size divided by
|
|
146
|
+
the number of nodes. It does not include the copy of the field that goes
|
|
147
|
+
to JavaScript, which takes 8 bytes per node.
|
|
148
|
+
- Comparison with the Python matrix solver on a 100 x 100 x 100 grid: the
|
|
149
|
+
native solver uses 84 MB where the matrix solver uses 2445 MB (29 times
|
|
150
|
+
less). On one thread it is 10 to 30 percent slower. With the `parallel`
|
|
151
|
+
feature (the default of the Python wheel) it is about 3 times faster. The
|
|
152
|
+
numbers are in `specs/001-low-memory-interpolator/measurements.md`.
|
|
153
|
+
- Browser size: the gzip size of the `.wasm` file is about 92 KB. The
|
|
154
|
+
limit is 2 MB.
|
|
155
|
+
|
|
156
|
+
## Source
|
|
157
|
+
|
|
158
|
+
Source: loop-rs crates/interpolation-fd, commit bff51342da8ebff7ca3c87e07c1d4fbd31279c8b, branch lachlan/drillhole
|
|
159
|
+
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
loop_interpolation_core/__init__.py,sha256=Myb7CcqcEcWs98Cmfypi3m1MYmA6LNyTVTMbbXrKH4g,175
|
|
2
|
+
loop_interpolation_core/loop_interpolation_core.pyd,sha256=Fzjd5YXsPj_cH9uORK5CUem8W5Yj8atrHD8gBEVu7YQ,1235968
|
|
3
|
+
loop_interpolation_core-0.1.0.dist-info/METADATA,sha256=ac2cnXgvpCGzEwRxAXt9O-KmDoO_gXKnEdRo1cD2Zv0,5916
|
|
4
|
+
loop_interpolation_core-0.1.0.dist-info/WHEEL,sha256=xe4_tbg8wYdeh4O7nLbnWckzIQtCR4nODDgwke_TKy8,95
|
|
5
|
+
loop_interpolation_core-0.1.0.dist-info/sboms/loop-interpolation-core.cyclonedx.json,sha256=fM-YV7F6MWjut1YGa2peKtNYq4M98xoc3C8zCUL0z-4,34042
|
|
6
|
+
loop_interpolation_core-0.1.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,1093 @@
|
|
|
1
|
+
{
|
|
2
|
+
"bomFormat": "CycloneDX",
|
|
3
|
+
"specVersion": "1.5",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"serialNumber": "urn:uuid:76859efa-2efc-4c71-a454-92751c1747f7",
|
|
6
|
+
"metadata": {
|
|
7
|
+
"timestamp": "2026-10-28T09:51:36.039696500Z",
|
|
8
|
+
"tools": [
|
|
9
|
+
{
|
|
10
|
+
"vendor": "CycloneDX",
|
|
11
|
+
"name": "cargo-cyclonedx",
|
|
12
|
+
"version": "0.5.9"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"component": {
|
|
16
|
+
"type": "library",
|
|
17
|
+
"bom-ref": "path+file:///D:/a/LoopStructural/LoopStructural/packages/loop_interpolation_core#loop-interpolation-core@0.1.0",
|
|
18
|
+
"name": "loop-interpolation-core",
|
|
19
|
+
"version": "0.1.0",
|
|
20
|
+
"scope": "required",
|
|
21
|
+
"purl": "pkg:cargo/loop-interpolation-core@0.1.0?download_url=file://.",
|
|
22
|
+
"components": [
|
|
23
|
+
{
|
|
24
|
+
"type": "library",
|
|
25
|
+
"bom-ref": "path+file:///D:/a/LoopStructural/LoopStructural/packages/loop_interpolation_core#loop-interpolation-core@0.1.0 bin-target-0",
|
|
26
|
+
"name": "loop_interpolation_core",
|
|
27
|
+
"version": "0.1.0",
|
|
28
|
+
"purl": "pkg:cargo/loop-interpolation-core@0.1.0?download_url=file://.#src/lib.rs"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"properties": [
|
|
33
|
+
{
|
|
34
|
+
"name": "cdx:rustc:sbom:target:all_targets",
|
|
35
|
+
"value": "true"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"components": [
|
|
40
|
+
{
|
|
41
|
+
"type": "library",
|
|
42
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#autocfg@1.5.1",
|
|
43
|
+
"author": "Josh Stone <cuviper@gmail.com>",
|
|
44
|
+
"name": "autocfg",
|
|
45
|
+
"version": "1.5.1",
|
|
46
|
+
"description": "Automatic cfg for Rust compiler features",
|
|
47
|
+
"scope": "excluded",
|
|
48
|
+
"hashes": [
|
|
49
|
+
{
|
|
50
|
+
"alg": "SHA-256",
|
|
51
|
+
"content": "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"licenses": [
|
|
55
|
+
{
|
|
56
|
+
"expression": "Apache-2.0 OR MIT"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"purl": "pkg:cargo/autocfg@1.5.1",
|
|
60
|
+
"externalReferences": [
|
|
61
|
+
{
|
|
62
|
+
"type": "documentation",
|
|
63
|
+
"url": "https://docs.rs/autocfg/"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "vcs",
|
|
67
|
+
"url": "https://github.com/cuviper/autocfg"
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "library",
|
|
73
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#crossbeam-deque@0.8.8",
|
|
74
|
+
"name": "crossbeam-deque",
|
|
75
|
+
"version": "0.8.8",
|
|
76
|
+
"description": "Concurrent work-stealing deque",
|
|
77
|
+
"scope": "required",
|
|
78
|
+
"hashes": [
|
|
79
|
+
{
|
|
80
|
+
"alg": "SHA-256",
|
|
81
|
+
"content": "622f3fc73690be383c7214310406f28a90e6edeadc3cea882f9d71e495b9711a"
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"licenses": [
|
|
85
|
+
{
|
|
86
|
+
"expression": "MIT OR Apache-2.0"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"purl": "pkg:cargo/crossbeam-deque@0.8.8",
|
|
90
|
+
"externalReferences": [
|
|
91
|
+
{
|
|
92
|
+
"type": "website",
|
|
93
|
+
"url": "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-deque"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"type": "vcs",
|
|
97
|
+
"url": "https://github.com/crossbeam-rs/crossbeam"
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "library",
|
|
103
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#crossbeam-epoch@0.9.21",
|
|
104
|
+
"name": "crossbeam-epoch",
|
|
105
|
+
"version": "0.9.21",
|
|
106
|
+
"description": "Epoch-based garbage collection",
|
|
107
|
+
"scope": "required",
|
|
108
|
+
"hashes": [
|
|
109
|
+
{
|
|
110
|
+
"alg": "SHA-256",
|
|
111
|
+
"content": "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d"
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"licenses": [
|
|
115
|
+
{
|
|
116
|
+
"expression": "MIT OR Apache-2.0"
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"purl": "pkg:cargo/crossbeam-epoch@0.9.21",
|
|
120
|
+
"externalReferences": [
|
|
121
|
+
{
|
|
122
|
+
"type": "website",
|
|
123
|
+
"url": "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"type": "vcs",
|
|
127
|
+
"url": "https://github.com/crossbeam-rs/crossbeam"
|
|
128
|
+
}
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"type": "library",
|
|
133
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#crossbeam-utils@0.8.23",
|
|
134
|
+
"name": "crossbeam-utils",
|
|
135
|
+
"version": "0.8.23",
|
|
136
|
+
"description": "Utilities for concurrent programming",
|
|
137
|
+
"scope": "required",
|
|
138
|
+
"hashes": [
|
|
139
|
+
{
|
|
140
|
+
"alg": "SHA-256",
|
|
141
|
+
"content": "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6"
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
"licenses": [
|
|
145
|
+
{
|
|
146
|
+
"expression": "MIT OR Apache-2.0"
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
"purl": "pkg:cargo/crossbeam-utils@0.8.23",
|
|
150
|
+
"externalReferences": [
|
|
151
|
+
{
|
|
152
|
+
"type": "website",
|
|
153
|
+
"url": "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"type": "vcs",
|
|
157
|
+
"url": "https://github.com/crossbeam-rs/crossbeam"
|
|
158
|
+
}
|
|
159
|
+
]
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"type": "library",
|
|
163
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#either@1.19.0",
|
|
164
|
+
"name": "either",
|
|
165
|
+
"version": "1.19.0",
|
|
166
|
+
"description": "The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases. ",
|
|
167
|
+
"scope": "required",
|
|
168
|
+
"hashes": [
|
|
169
|
+
{
|
|
170
|
+
"alg": "SHA-256",
|
|
171
|
+
"content": "0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be"
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
"licenses": [
|
|
175
|
+
{
|
|
176
|
+
"expression": "MIT OR Apache-2.0"
|
|
177
|
+
}
|
|
178
|
+
],
|
|
179
|
+
"purl": "pkg:cargo/either@1.19.0",
|
|
180
|
+
"externalReferences": [
|
|
181
|
+
{
|
|
182
|
+
"type": "documentation",
|
|
183
|
+
"url": "https://docs.rs/either/1/"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"type": "vcs",
|
|
187
|
+
"url": "https://github.com/rayon-rs/either"
|
|
188
|
+
}
|
|
189
|
+
]
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"type": "library",
|
|
193
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#heck@0.5.0",
|
|
194
|
+
"name": "heck",
|
|
195
|
+
"version": "0.5.0",
|
|
196
|
+
"description": "heck is a case conversion library.",
|
|
197
|
+
"scope": "required",
|
|
198
|
+
"hashes": [
|
|
199
|
+
{
|
|
200
|
+
"alg": "SHA-256",
|
|
201
|
+
"content": "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
|
202
|
+
}
|
|
203
|
+
],
|
|
204
|
+
"licenses": [
|
|
205
|
+
{
|
|
206
|
+
"expression": "MIT OR Apache-2.0"
|
|
207
|
+
}
|
|
208
|
+
],
|
|
209
|
+
"purl": "pkg:cargo/heck@0.5.0",
|
|
210
|
+
"externalReferences": [
|
|
211
|
+
{
|
|
212
|
+
"type": "vcs",
|
|
213
|
+
"url": "https://github.com/withoutboats/heck"
|
|
214
|
+
}
|
|
215
|
+
]
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"type": "library",
|
|
219
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.191",
|
|
220
|
+
"name": "libc",
|
|
221
|
+
"version": "0.2.191",
|
|
222
|
+
"description": "Raw FFI bindings to platform libraries like libc.",
|
|
223
|
+
"scope": "required",
|
|
224
|
+
"hashes": [
|
|
225
|
+
{
|
|
226
|
+
"alg": "SHA-256",
|
|
227
|
+
"content": "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
|
|
228
|
+
}
|
|
229
|
+
],
|
|
230
|
+
"licenses": [
|
|
231
|
+
{
|
|
232
|
+
"expression": "MIT OR Apache-2.0"
|
|
233
|
+
}
|
|
234
|
+
],
|
|
235
|
+
"purl": "pkg:cargo/libc@0.2.191",
|
|
236
|
+
"externalReferences": [
|
|
237
|
+
{
|
|
238
|
+
"type": "vcs",
|
|
239
|
+
"url": "https://github.com/rust-lang/libc"
|
|
240
|
+
}
|
|
241
|
+
]
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"type": "library",
|
|
245
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#matrixmultiply@0.3.11",
|
|
246
|
+
"author": "bluss, R. Janis Goldschmidt",
|
|
247
|
+
"name": "matrixmultiply",
|
|
248
|
+
"version": "0.3.11",
|
|
249
|
+
"description": "General matrix multiplication for f32 and f64 matrices. Operates on matrices with general layout (they can use arbitrary row and column stride). Detects and uses SIMD features on x86/x86-64 and AArch64 transparently for higher performance. Uses a microkernel strategy, so that the implementation is easy to parallelize and optimize. Supports multithreading.",
|
|
250
|
+
"scope": "required",
|
|
251
|
+
"hashes": [
|
|
252
|
+
{
|
|
253
|
+
"alg": "SHA-256",
|
|
254
|
+
"content": "3f607c237553f086e7043417a51df26b2eb899d3caff94e6a67592ff992fedc7"
|
|
255
|
+
}
|
|
256
|
+
],
|
|
257
|
+
"licenses": [
|
|
258
|
+
{
|
|
259
|
+
"expression": "MIT OR Apache-2.0"
|
|
260
|
+
}
|
|
261
|
+
],
|
|
262
|
+
"purl": "pkg:cargo/matrixmultiply@0.3.11",
|
|
263
|
+
"externalReferences": [
|
|
264
|
+
{
|
|
265
|
+
"type": "documentation",
|
|
266
|
+
"url": "https://docs.rs/matrixmultiply/"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"type": "vcs",
|
|
270
|
+
"url": "https://github.com/bluss/matrixmultiply/"
|
|
271
|
+
}
|
|
272
|
+
]
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"type": "library",
|
|
276
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#ndarray@0.17.2",
|
|
277
|
+
"author": "Ulrik Sverdrup \"bluss\", Jim Turner",
|
|
278
|
+
"name": "ndarray",
|
|
279
|
+
"version": "0.17.2",
|
|
280
|
+
"description": "An n-dimensional array for general elements and for numerics. Lightweight array views and slicing; views support chunking and splitting.",
|
|
281
|
+
"scope": "required",
|
|
282
|
+
"hashes": [
|
|
283
|
+
{
|
|
284
|
+
"alg": "SHA-256",
|
|
285
|
+
"content": "520080814a7a6b4a6e9070823bb24b4531daac8c4627e08ba5de8c5ef2f2752d"
|
|
286
|
+
}
|
|
287
|
+
],
|
|
288
|
+
"licenses": [
|
|
289
|
+
{
|
|
290
|
+
"expression": "MIT OR Apache-2.0"
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"purl": "pkg:cargo/ndarray@0.17.2",
|
|
294
|
+
"externalReferences": [
|
|
295
|
+
{
|
|
296
|
+
"type": "documentation",
|
|
297
|
+
"url": "https://docs.rs/ndarray/"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"type": "vcs",
|
|
301
|
+
"url": "https://github.com/rust-ndarray/ndarray"
|
|
302
|
+
}
|
|
303
|
+
]
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"type": "library",
|
|
307
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#num-complex@0.4.6",
|
|
308
|
+
"author": "The Rust Project Developers",
|
|
309
|
+
"name": "num-complex",
|
|
310
|
+
"version": "0.4.6",
|
|
311
|
+
"description": "Complex numbers implementation for Rust",
|
|
312
|
+
"scope": "required",
|
|
313
|
+
"hashes": [
|
|
314
|
+
{
|
|
315
|
+
"alg": "SHA-256",
|
|
316
|
+
"content": "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
|
|
317
|
+
}
|
|
318
|
+
],
|
|
319
|
+
"licenses": [
|
|
320
|
+
{
|
|
321
|
+
"expression": "MIT OR Apache-2.0"
|
|
322
|
+
}
|
|
323
|
+
],
|
|
324
|
+
"purl": "pkg:cargo/num-complex@0.4.6",
|
|
325
|
+
"externalReferences": [
|
|
326
|
+
{
|
|
327
|
+
"type": "documentation",
|
|
328
|
+
"url": "https://docs.rs/num-complex"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"type": "website",
|
|
332
|
+
"url": "https://github.com/rust-num/num-complex"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"type": "vcs",
|
|
336
|
+
"url": "https://github.com/rust-num/num-complex"
|
|
337
|
+
}
|
|
338
|
+
]
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"type": "library",
|
|
342
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#num-integer@0.1.47",
|
|
343
|
+
"author": "The Rust Project Developers",
|
|
344
|
+
"name": "num-integer",
|
|
345
|
+
"version": "0.1.47",
|
|
346
|
+
"description": "Integer traits and functions",
|
|
347
|
+
"scope": "required",
|
|
348
|
+
"hashes": [
|
|
349
|
+
{
|
|
350
|
+
"alg": "SHA-256",
|
|
351
|
+
"content": "7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b"
|
|
352
|
+
}
|
|
353
|
+
],
|
|
354
|
+
"licenses": [
|
|
355
|
+
{
|
|
356
|
+
"expression": "MIT OR Apache-2.0"
|
|
357
|
+
}
|
|
358
|
+
],
|
|
359
|
+
"purl": "pkg:cargo/num-integer@0.1.47",
|
|
360
|
+
"externalReferences": [
|
|
361
|
+
{
|
|
362
|
+
"type": "documentation",
|
|
363
|
+
"url": "https://docs.rs/num-integer"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"type": "website",
|
|
367
|
+
"url": "https://github.com/rust-num/num-integer"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"type": "vcs",
|
|
371
|
+
"url": "https://github.com/rust-num/num-integer"
|
|
372
|
+
}
|
|
373
|
+
]
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"type": "library",
|
|
377
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19",
|
|
378
|
+
"author": "The Rust Project Developers",
|
|
379
|
+
"name": "num-traits",
|
|
380
|
+
"version": "0.2.19",
|
|
381
|
+
"description": "Numeric traits for generic mathematics",
|
|
382
|
+
"scope": "required",
|
|
383
|
+
"hashes": [
|
|
384
|
+
{
|
|
385
|
+
"alg": "SHA-256",
|
|
386
|
+
"content": "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
|
387
|
+
}
|
|
388
|
+
],
|
|
389
|
+
"licenses": [
|
|
390
|
+
{
|
|
391
|
+
"expression": "MIT OR Apache-2.0"
|
|
392
|
+
}
|
|
393
|
+
],
|
|
394
|
+
"purl": "pkg:cargo/num-traits@0.2.19",
|
|
395
|
+
"externalReferences": [
|
|
396
|
+
{
|
|
397
|
+
"type": "documentation",
|
|
398
|
+
"url": "https://docs.rs/num-traits"
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"type": "website",
|
|
402
|
+
"url": "https://github.com/rust-num/num-traits"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"type": "vcs",
|
|
406
|
+
"url": "https://github.com/rust-num/num-traits"
|
|
407
|
+
}
|
|
408
|
+
]
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"type": "library",
|
|
412
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#numpy@0.29.0",
|
|
413
|
+
"author": "The rust-numpy Project Developers, PyO3 Project and Contributors <https://github.com/PyO3>",
|
|
414
|
+
"name": "numpy",
|
|
415
|
+
"version": "0.29.0",
|
|
416
|
+
"description": "PyO3-based Rust bindings of the NumPy C-API",
|
|
417
|
+
"scope": "required",
|
|
418
|
+
"hashes": [
|
|
419
|
+
{
|
|
420
|
+
"alg": "SHA-256",
|
|
421
|
+
"content": "6a5b15d63a5ff39e378daed0e1340d3a5964703ea9712eb09a0dc66fade996f4"
|
|
422
|
+
}
|
|
423
|
+
],
|
|
424
|
+
"licenses": [
|
|
425
|
+
{
|
|
426
|
+
"expression": "BSD-2-Clause"
|
|
427
|
+
}
|
|
428
|
+
],
|
|
429
|
+
"purl": "pkg:cargo/numpy@0.29.0",
|
|
430
|
+
"externalReferences": [
|
|
431
|
+
{
|
|
432
|
+
"type": "documentation",
|
|
433
|
+
"url": "https://docs.rs/numpy"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"type": "vcs",
|
|
437
|
+
"url": "https://github.com/PyO3/rust-numpy"
|
|
438
|
+
}
|
|
439
|
+
]
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
"type": "library",
|
|
443
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4",
|
|
444
|
+
"author": "Aleksey Kladov <aleksey.kladov@gmail.com>",
|
|
445
|
+
"name": "once_cell",
|
|
446
|
+
"version": "1.21.4",
|
|
447
|
+
"description": "Single assignment cells and lazy values.",
|
|
448
|
+
"scope": "required",
|
|
449
|
+
"hashes": [
|
|
450
|
+
{
|
|
451
|
+
"alg": "SHA-256",
|
|
452
|
+
"content": "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
|
|
453
|
+
}
|
|
454
|
+
],
|
|
455
|
+
"licenses": [
|
|
456
|
+
{
|
|
457
|
+
"expression": "MIT OR Apache-2.0"
|
|
458
|
+
}
|
|
459
|
+
],
|
|
460
|
+
"purl": "pkg:cargo/once_cell@1.21.4",
|
|
461
|
+
"externalReferences": [
|
|
462
|
+
{
|
|
463
|
+
"type": "documentation",
|
|
464
|
+
"url": "https://docs.rs/once_cell"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"type": "vcs",
|
|
468
|
+
"url": "https://github.com/matklad/once_cell"
|
|
469
|
+
}
|
|
470
|
+
]
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"type": "library",
|
|
474
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107",
|
|
475
|
+
"author": "David Tolnay <dtolnay@gmail.com>, Alex Crichton <alex@alexcrichton.com>",
|
|
476
|
+
"name": "proc-macro2",
|
|
477
|
+
"version": "1.0.107",
|
|
478
|
+
"description": "A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case.",
|
|
479
|
+
"scope": "required",
|
|
480
|
+
"hashes": [
|
|
481
|
+
{
|
|
482
|
+
"alg": "SHA-256",
|
|
483
|
+
"content": "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
|
|
484
|
+
}
|
|
485
|
+
],
|
|
486
|
+
"licenses": [
|
|
487
|
+
{
|
|
488
|
+
"expression": "MIT OR Apache-2.0"
|
|
489
|
+
}
|
|
490
|
+
],
|
|
491
|
+
"purl": "pkg:cargo/proc-macro2@1.0.107",
|
|
492
|
+
"externalReferences": [
|
|
493
|
+
{
|
|
494
|
+
"type": "documentation",
|
|
495
|
+
"url": "https://docs.rs/proc-macro2"
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
"type": "vcs",
|
|
499
|
+
"url": "https://github.com/dtolnay/proc-macro2"
|
|
500
|
+
}
|
|
501
|
+
]
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"type": "library",
|
|
505
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.29.3",
|
|
506
|
+
"author": "PyO3 Project and Contributors <https://github.com/PyO3>",
|
|
507
|
+
"name": "pyo3-build-config",
|
|
508
|
+
"version": "0.29.3",
|
|
509
|
+
"description": "Build configuration for the PyO3 ecosystem",
|
|
510
|
+
"scope": "excluded",
|
|
511
|
+
"hashes": [
|
|
512
|
+
{
|
|
513
|
+
"alg": "SHA-256",
|
|
514
|
+
"content": "7b3fc0c4d08f6bb10e71fe39dfb9e2f59c6eb6854e22ec8092f50c69a4499adb"
|
|
515
|
+
}
|
|
516
|
+
],
|
|
517
|
+
"licenses": [
|
|
518
|
+
{
|
|
519
|
+
"expression": "MIT OR Apache-2.0"
|
|
520
|
+
}
|
|
521
|
+
],
|
|
522
|
+
"purl": "pkg:cargo/pyo3-build-config@0.29.3",
|
|
523
|
+
"externalReferences": [
|
|
524
|
+
{
|
|
525
|
+
"type": "website",
|
|
526
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"type": "vcs",
|
|
530
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
531
|
+
}
|
|
532
|
+
]
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"type": "library",
|
|
536
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-ffi@0.29.3",
|
|
537
|
+
"author": "PyO3 Project and Contributors <https://github.com/PyO3>",
|
|
538
|
+
"name": "pyo3-ffi",
|
|
539
|
+
"version": "0.29.3",
|
|
540
|
+
"description": "Python-API bindings for the PyO3 ecosystem",
|
|
541
|
+
"scope": "required",
|
|
542
|
+
"hashes": [
|
|
543
|
+
{
|
|
544
|
+
"alg": "SHA-256",
|
|
545
|
+
"content": "dfc0b8e19df29aad7086cf977bb0c2a2f143e30567eb113e9cf72b62ca698330"
|
|
546
|
+
}
|
|
547
|
+
],
|
|
548
|
+
"licenses": [
|
|
549
|
+
{
|
|
550
|
+
"expression": "MIT OR Apache-2.0"
|
|
551
|
+
}
|
|
552
|
+
],
|
|
553
|
+
"purl": "pkg:cargo/pyo3-ffi@0.29.3",
|
|
554
|
+
"externalReferences": [
|
|
555
|
+
{
|
|
556
|
+
"type": "website",
|
|
557
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"type": "other",
|
|
561
|
+
"url": "python"
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
"type": "vcs",
|
|
565
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
566
|
+
}
|
|
567
|
+
]
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
"type": "library",
|
|
571
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros-backend@0.29.3",
|
|
572
|
+
"author": "PyO3 Project and Contributors <https://github.com/PyO3>",
|
|
573
|
+
"name": "pyo3-macros-backend",
|
|
574
|
+
"version": "0.29.3",
|
|
575
|
+
"description": "Code generation for PyO3 package",
|
|
576
|
+
"scope": "required",
|
|
577
|
+
"hashes": [
|
|
578
|
+
{
|
|
579
|
+
"alg": "SHA-256",
|
|
580
|
+
"content": "6143877a16e82b5a727b7127ff4cd86858a24a28d745d72f43e6f227c7b1bdb3"
|
|
581
|
+
}
|
|
582
|
+
],
|
|
583
|
+
"licenses": [
|
|
584
|
+
{
|
|
585
|
+
"expression": "MIT OR Apache-2.0"
|
|
586
|
+
}
|
|
587
|
+
],
|
|
588
|
+
"purl": "pkg:cargo/pyo3-macros-backend@0.29.3",
|
|
589
|
+
"externalReferences": [
|
|
590
|
+
{
|
|
591
|
+
"type": "website",
|
|
592
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"type": "vcs",
|
|
596
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
597
|
+
}
|
|
598
|
+
]
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"type": "library",
|
|
602
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros@0.29.3",
|
|
603
|
+
"author": "PyO3 Project and Contributors <https://github.com/PyO3>",
|
|
604
|
+
"name": "pyo3-macros",
|
|
605
|
+
"version": "0.29.3",
|
|
606
|
+
"description": "Proc macros for PyO3 package",
|
|
607
|
+
"scope": "required",
|
|
608
|
+
"hashes": [
|
|
609
|
+
{
|
|
610
|
+
"alg": "SHA-256",
|
|
611
|
+
"content": "6100e8a4b5eba53afaa5ed078364851a0b2499c553a44c31026b929049b49dc6"
|
|
612
|
+
}
|
|
613
|
+
],
|
|
614
|
+
"licenses": [
|
|
615
|
+
{
|
|
616
|
+
"expression": "MIT OR Apache-2.0"
|
|
617
|
+
}
|
|
618
|
+
],
|
|
619
|
+
"purl": "pkg:cargo/pyo3-macros@0.29.3",
|
|
620
|
+
"externalReferences": [
|
|
621
|
+
{
|
|
622
|
+
"type": "website",
|
|
623
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
"type": "vcs",
|
|
627
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
628
|
+
}
|
|
629
|
+
]
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"type": "library",
|
|
633
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3@0.29.3",
|
|
634
|
+
"author": "PyO3 Project and Contributors <https://github.com/PyO3>",
|
|
635
|
+
"name": "pyo3",
|
|
636
|
+
"version": "0.29.3",
|
|
637
|
+
"description": "Bindings to Python interpreter",
|
|
638
|
+
"scope": "required",
|
|
639
|
+
"hashes": [
|
|
640
|
+
{
|
|
641
|
+
"alg": "SHA-256",
|
|
642
|
+
"content": "700d18fa267b73b9b521fd7e13580e2f446916f176cacee1ab63fcc8191f1655"
|
|
643
|
+
}
|
|
644
|
+
],
|
|
645
|
+
"licenses": [
|
|
646
|
+
{
|
|
647
|
+
"expression": "MIT OR Apache-2.0"
|
|
648
|
+
}
|
|
649
|
+
],
|
|
650
|
+
"purl": "pkg:cargo/pyo3@0.29.3",
|
|
651
|
+
"externalReferences": [
|
|
652
|
+
{
|
|
653
|
+
"type": "documentation",
|
|
654
|
+
"url": "https://docs.rs/crate/pyo3/"
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
"type": "website",
|
|
658
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"type": "other",
|
|
662
|
+
"url": "pyo3-python"
|
|
663
|
+
},
|
|
664
|
+
{
|
|
665
|
+
"type": "vcs",
|
|
666
|
+
"url": "https://github.com/pyo3/pyo3"
|
|
667
|
+
}
|
|
668
|
+
]
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"type": "library",
|
|
672
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47",
|
|
673
|
+
"author": "David Tolnay <dtolnay@gmail.com>",
|
|
674
|
+
"name": "quote",
|
|
675
|
+
"version": "1.0.47",
|
|
676
|
+
"description": "Quasi-quoting macro quote!(...)",
|
|
677
|
+
"scope": "required",
|
|
678
|
+
"hashes": [
|
|
679
|
+
{
|
|
680
|
+
"alg": "SHA-256",
|
|
681
|
+
"content": "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
|
|
682
|
+
}
|
|
683
|
+
],
|
|
684
|
+
"licenses": [
|
|
685
|
+
{
|
|
686
|
+
"expression": "MIT OR Apache-2.0"
|
|
687
|
+
}
|
|
688
|
+
],
|
|
689
|
+
"purl": "pkg:cargo/quote@1.0.47",
|
|
690
|
+
"externalReferences": [
|
|
691
|
+
{
|
|
692
|
+
"type": "documentation",
|
|
693
|
+
"url": "https://docs.rs/quote/"
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
"type": "vcs",
|
|
697
|
+
"url": "https://github.com/dtolnay/quote"
|
|
698
|
+
}
|
|
699
|
+
]
|
|
700
|
+
},
|
|
701
|
+
{
|
|
702
|
+
"type": "library",
|
|
703
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#rawpointer@0.2.1",
|
|
704
|
+
"author": "bluss",
|
|
705
|
+
"name": "rawpointer",
|
|
706
|
+
"version": "0.2.1",
|
|
707
|
+
"description": "Extra methods for raw pointers and `NonNull<T>`. For example `.post_inc()` and `.pre_dec()` (c.f. `ptr++` and `--ptr`), `offset` and `add` for `NonNull<T>`, and the function `ptrdistance`. ",
|
|
708
|
+
"scope": "required",
|
|
709
|
+
"hashes": [
|
|
710
|
+
{
|
|
711
|
+
"alg": "SHA-256",
|
|
712
|
+
"content": "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
|
|
713
|
+
}
|
|
714
|
+
],
|
|
715
|
+
"licenses": [
|
|
716
|
+
{
|
|
717
|
+
"expression": "MIT OR Apache-2.0"
|
|
718
|
+
}
|
|
719
|
+
],
|
|
720
|
+
"purl": "pkg:cargo/rawpointer@0.2.1",
|
|
721
|
+
"externalReferences": [
|
|
722
|
+
{
|
|
723
|
+
"type": "documentation",
|
|
724
|
+
"url": "https://docs.rs/rawpointer/"
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
"type": "vcs",
|
|
728
|
+
"url": "https://github.com/bluss/rawpointer/"
|
|
729
|
+
}
|
|
730
|
+
]
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
"type": "library",
|
|
734
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#rayon-core@1.13.0",
|
|
735
|
+
"name": "rayon-core",
|
|
736
|
+
"version": "1.13.0",
|
|
737
|
+
"description": "Core APIs for Rayon",
|
|
738
|
+
"scope": "required",
|
|
739
|
+
"hashes": [
|
|
740
|
+
{
|
|
741
|
+
"alg": "SHA-256",
|
|
742
|
+
"content": "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
|
|
743
|
+
}
|
|
744
|
+
],
|
|
745
|
+
"licenses": [
|
|
746
|
+
{
|
|
747
|
+
"expression": "MIT OR Apache-2.0"
|
|
748
|
+
}
|
|
749
|
+
],
|
|
750
|
+
"purl": "pkg:cargo/rayon-core@1.13.0",
|
|
751
|
+
"externalReferences": [
|
|
752
|
+
{
|
|
753
|
+
"type": "documentation",
|
|
754
|
+
"url": "https://docs.rs/rayon-core/"
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
"type": "other",
|
|
758
|
+
"url": "rayon-core"
|
|
759
|
+
},
|
|
760
|
+
{
|
|
761
|
+
"type": "vcs",
|
|
762
|
+
"url": "https://github.com/rayon-rs/rayon"
|
|
763
|
+
}
|
|
764
|
+
]
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"type": "library",
|
|
768
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#rayon@1.12.0",
|
|
769
|
+
"name": "rayon",
|
|
770
|
+
"version": "1.12.0",
|
|
771
|
+
"description": "Simple work-stealing parallelism for Rust",
|
|
772
|
+
"scope": "required",
|
|
773
|
+
"hashes": [
|
|
774
|
+
{
|
|
775
|
+
"alg": "SHA-256",
|
|
776
|
+
"content": "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
|
|
777
|
+
}
|
|
778
|
+
],
|
|
779
|
+
"licenses": [
|
|
780
|
+
{
|
|
781
|
+
"expression": "MIT OR Apache-2.0"
|
|
782
|
+
}
|
|
783
|
+
],
|
|
784
|
+
"purl": "pkg:cargo/rayon@1.12.0",
|
|
785
|
+
"externalReferences": [
|
|
786
|
+
{
|
|
787
|
+
"type": "documentation",
|
|
788
|
+
"url": "https://docs.rs/rayon/"
|
|
789
|
+
},
|
|
790
|
+
{
|
|
791
|
+
"type": "vcs",
|
|
792
|
+
"url": "https://github.com/rayon-rs/rayon"
|
|
793
|
+
}
|
|
794
|
+
]
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"type": "library",
|
|
798
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#rustc-hash@2.1.3",
|
|
799
|
+
"author": "The Rust Project Developers",
|
|
800
|
+
"name": "rustc-hash",
|
|
801
|
+
"version": "2.1.3",
|
|
802
|
+
"description": "A speedy, non-cryptographic hashing algorithm used by rustc",
|
|
803
|
+
"scope": "required",
|
|
804
|
+
"hashes": [
|
|
805
|
+
{
|
|
806
|
+
"alg": "SHA-256",
|
|
807
|
+
"content": "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
|
|
808
|
+
}
|
|
809
|
+
],
|
|
810
|
+
"licenses": [
|
|
811
|
+
{
|
|
812
|
+
"expression": "Apache-2.0 OR MIT"
|
|
813
|
+
}
|
|
814
|
+
],
|
|
815
|
+
"purl": "pkg:cargo/rustc-hash@2.1.3",
|
|
816
|
+
"externalReferences": [
|
|
817
|
+
{
|
|
818
|
+
"type": "vcs",
|
|
819
|
+
"url": "https://github.com/rust-lang/rustc-hash"
|
|
820
|
+
}
|
|
821
|
+
]
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
"type": "library",
|
|
825
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.119",
|
|
826
|
+
"author": "David Tolnay <dtolnay@gmail.com>",
|
|
827
|
+
"name": "syn",
|
|
828
|
+
"version": "2.0.119",
|
|
829
|
+
"description": "Parser for Rust source code",
|
|
830
|
+
"scope": "required",
|
|
831
|
+
"hashes": [
|
|
832
|
+
{
|
|
833
|
+
"alg": "SHA-256",
|
|
834
|
+
"content": "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
|
|
835
|
+
}
|
|
836
|
+
],
|
|
837
|
+
"licenses": [
|
|
838
|
+
{
|
|
839
|
+
"expression": "MIT OR Apache-2.0"
|
|
840
|
+
}
|
|
841
|
+
],
|
|
842
|
+
"purl": "pkg:cargo/syn@2.0.119",
|
|
843
|
+
"externalReferences": [
|
|
844
|
+
{
|
|
845
|
+
"type": "documentation",
|
|
846
|
+
"url": "https://docs.rs/syn"
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
"type": "vcs",
|
|
850
|
+
"url": "https://github.com/dtolnay/syn"
|
|
851
|
+
}
|
|
852
|
+
]
|
|
853
|
+
},
|
|
854
|
+
{
|
|
855
|
+
"type": "library",
|
|
856
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#target-lexicon@0.13.5",
|
|
857
|
+
"author": "Dan Gohman <sunfish@mozilla.com>",
|
|
858
|
+
"name": "target-lexicon",
|
|
859
|
+
"version": "0.13.5",
|
|
860
|
+
"description": "LLVM target triple types",
|
|
861
|
+
"scope": "excluded",
|
|
862
|
+
"hashes": [
|
|
863
|
+
{
|
|
864
|
+
"alg": "SHA-256",
|
|
865
|
+
"content": "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
|
|
866
|
+
}
|
|
867
|
+
],
|
|
868
|
+
"licenses": [
|
|
869
|
+
{
|
|
870
|
+
"expression": "Apache-2.0 WITH LLVM-exception"
|
|
871
|
+
}
|
|
872
|
+
],
|
|
873
|
+
"purl": "pkg:cargo/target-lexicon@0.13.5",
|
|
874
|
+
"externalReferences": [
|
|
875
|
+
{
|
|
876
|
+
"type": "documentation",
|
|
877
|
+
"url": "https://docs.rs/target-lexicon/"
|
|
878
|
+
},
|
|
879
|
+
{
|
|
880
|
+
"type": "vcs",
|
|
881
|
+
"url": "https://github.com/bytecodealliance/target-lexicon"
|
|
882
|
+
}
|
|
883
|
+
]
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"type": "library",
|
|
887
|
+
"bom-ref": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.27",
|
|
888
|
+
"author": "David Tolnay <dtolnay@gmail.com>",
|
|
889
|
+
"name": "unicode-ident",
|
|
890
|
+
"version": "1.0.27",
|
|
891
|
+
"description": "Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31",
|
|
892
|
+
"scope": "required",
|
|
893
|
+
"hashes": [
|
|
894
|
+
{
|
|
895
|
+
"alg": "SHA-256",
|
|
896
|
+
"content": "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563"
|
|
897
|
+
}
|
|
898
|
+
],
|
|
899
|
+
"licenses": [
|
|
900
|
+
{
|
|
901
|
+
"expression": "(MIT OR Apache-2.0) AND Unicode-3.0"
|
|
902
|
+
}
|
|
903
|
+
],
|
|
904
|
+
"purl": "pkg:cargo/unicode-ident@1.0.27",
|
|
905
|
+
"externalReferences": [
|
|
906
|
+
{
|
|
907
|
+
"type": "documentation",
|
|
908
|
+
"url": "https://docs.rs/unicode-ident"
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
"type": "vcs",
|
|
912
|
+
"url": "https://github.com/dtolnay/unicode-ident"
|
|
913
|
+
}
|
|
914
|
+
]
|
|
915
|
+
}
|
|
916
|
+
],
|
|
917
|
+
"dependencies": [
|
|
918
|
+
{
|
|
919
|
+
"ref": "path+file:///D:/a/LoopStructural/LoopStructural/packages/loop_interpolation_core#loop-interpolation-core@0.1.0",
|
|
920
|
+
"dependsOn": [
|
|
921
|
+
"registry+https://github.com/rust-lang/crates.io-index#numpy@0.29.0",
|
|
922
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3@0.29.3",
|
|
923
|
+
"registry+https://github.com/rust-lang/crates.io-index#rayon@1.12.0"
|
|
924
|
+
]
|
|
925
|
+
},
|
|
926
|
+
{
|
|
927
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#autocfg@1.5.1"
|
|
928
|
+
},
|
|
929
|
+
{
|
|
930
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#crossbeam-deque@0.8.8",
|
|
931
|
+
"dependsOn": [
|
|
932
|
+
"registry+https://github.com/rust-lang/crates.io-index#crossbeam-epoch@0.9.21",
|
|
933
|
+
"registry+https://github.com/rust-lang/crates.io-index#crossbeam-utils@0.8.23"
|
|
934
|
+
]
|
|
935
|
+
},
|
|
936
|
+
{
|
|
937
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#crossbeam-epoch@0.9.21",
|
|
938
|
+
"dependsOn": [
|
|
939
|
+
"registry+https://github.com/rust-lang/crates.io-index#crossbeam-utils@0.8.23"
|
|
940
|
+
]
|
|
941
|
+
},
|
|
942
|
+
{
|
|
943
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#crossbeam-utils@0.8.23"
|
|
944
|
+
},
|
|
945
|
+
{
|
|
946
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#either@1.19.0"
|
|
947
|
+
},
|
|
948
|
+
{
|
|
949
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#heck@0.5.0"
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.191"
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#matrixmultiply@0.3.11",
|
|
956
|
+
"dependsOn": [
|
|
957
|
+
"registry+https://github.com/rust-lang/crates.io-index#autocfg@1.5.1",
|
|
958
|
+
"registry+https://github.com/rust-lang/crates.io-index#rawpointer@0.2.1"
|
|
959
|
+
]
|
|
960
|
+
},
|
|
961
|
+
{
|
|
962
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#ndarray@0.17.2",
|
|
963
|
+
"dependsOn": [
|
|
964
|
+
"registry+https://github.com/rust-lang/crates.io-index#matrixmultiply@0.3.11",
|
|
965
|
+
"registry+https://github.com/rust-lang/crates.io-index#num-complex@0.4.6",
|
|
966
|
+
"registry+https://github.com/rust-lang/crates.io-index#num-integer@0.1.47",
|
|
967
|
+
"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19",
|
|
968
|
+
"registry+https://github.com/rust-lang/crates.io-index#rawpointer@0.2.1"
|
|
969
|
+
]
|
|
970
|
+
},
|
|
971
|
+
{
|
|
972
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#num-complex@0.4.6",
|
|
973
|
+
"dependsOn": [
|
|
974
|
+
"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19"
|
|
975
|
+
]
|
|
976
|
+
},
|
|
977
|
+
{
|
|
978
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#num-integer@0.1.47",
|
|
979
|
+
"dependsOn": [
|
|
980
|
+
"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19"
|
|
981
|
+
]
|
|
982
|
+
},
|
|
983
|
+
{
|
|
984
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19",
|
|
985
|
+
"dependsOn": [
|
|
986
|
+
"registry+https://github.com/rust-lang/crates.io-index#autocfg@1.5.1"
|
|
987
|
+
]
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#numpy@0.29.0",
|
|
991
|
+
"dependsOn": [
|
|
992
|
+
"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.191",
|
|
993
|
+
"registry+https://github.com/rust-lang/crates.io-index#ndarray@0.17.2",
|
|
994
|
+
"registry+https://github.com/rust-lang/crates.io-index#num-complex@0.4.6",
|
|
995
|
+
"registry+https://github.com/rust-lang/crates.io-index#num-integer@0.1.47",
|
|
996
|
+
"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19",
|
|
997
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3@0.29.3",
|
|
998
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.29.3",
|
|
999
|
+
"registry+https://github.com/rust-lang/crates.io-index#rustc-hash@2.1.3"
|
|
1000
|
+
]
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
1003
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4"
|
|
1004
|
+
},
|
|
1005
|
+
{
|
|
1006
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107",
|
|
1007
|
+
"dependsOn": [
|
|
1008
|
+
"registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.27"
|
|
1009
|
+
]
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.29.3",
|
|
1013
|
+
"dependsOn": [
|
|
1014
|
+
"registry+https://github.com/rust-lang/crates.io-index#target-lexicon@0.13.5"
|
|
1015
|
+
]
|
|
1016
|
+
},
|
|
1017
|
+
{
|
|
1018
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-ffi@0.29.3",
|
|
1019
|
+
"dependsOn": [
|
|
1020
|
+
"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.191",
|
|
1021
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.29.3"
|
|
1022
|
+
]
|
|
1023
|
+
},
|
|
1024
|
+
{
|
|
1025
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros-backend@0.29.3",
|
|
1026
|
+
"dependsOn": [
|
|
1027
|
+
"registry+https://github.com/rust-lang/crates.io-index#heck@0.5.0",
|
|
1028
|
+
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107",
|
|
1029
|
+
"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47",
|
|
1030
|
+
"registry+https://github.com/rust-lang/crates.io-index#syn@2.0.119"
|
|
1031
|
+
]
|
|
1032
|
+
},
|
|
1033
|
+
{
|
|
1034
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3-macros@0.29.3",
|
|
1035
|
+
"dependsOn": [
|
|
1036
|
+
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107",
|
|
1037
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3-macros-backend@0.29.3",
|
|
1038
|
+
"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47",
|
|
1039
|
+
"registry+https://github.com/rust-lang/crates.io-index#syn@2.0.119"
|
|
1040
|
+
]
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#pyo3@0.29.3",
|
|
1044
|
+
"dependsOn": [
|
|
1045
|
+
"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.191",
|
|
1046
|
+
"registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4",
|
|
1047
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3-build-config@0.29.3",
|
|
1048
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3-ffi@0.29.3",
|
|
1049
|
+
"registry+https://github.com/rust-lang/crates.io-index#pyo3-macros@0.29.3"
|
|
1050
|
+
]
|
|
1051
|
+
},
|
|
1052
|
+
{
|
|
1053
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47",
|
|
1054
|
+
"dependsOn": [
|
|
1055
|
+
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107"
|
|
1056
|
+
]
|
|
1057
|
+
},
|
|
1058
|
+
{
|
|
1059
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#rawpointer@0.2.1"
|
|
1060
|
+
},
|
|
1061
|
+
{
|
|
1062
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#rayon-core@1.13.0",
|
|
1063
|
+
"dependsOn": [
|
|
1064
|
+
"registry+https://github.com/rust-lang/crates.io-index#crossbeam-deque@0.8.8",
|
|
1065
|
+
"registry+https://github.com/rust-lang/crates.io-index#crossbeam-utils@0.8.23"
|
|
1066
|
+
]
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#rayon@1.12.0",
|
|
1070
|
+
"dependsOn": [
|
|
1071
|
+
"registry+https://github.com/rust-lang/crates.io-index#either@1.19.0",
|
|
1072
|
+
"registry+https://github.com/rust-lang/crates.io-index#rayon-core@1.13.0"
|
|
1073
|
+
]
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#rustc-hash@2.1.3"
|
|
1077
|
+
},
|
|
1078
|
+
{
|
|
1079
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#syn@2.0.119",
|
|
1080
|
+
"dependsOn": [
|
|
1081
|
+
"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.107",
|
|
1082
|
+
"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.47",
|
|
1083
|
+
"registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.27"
|
|
1084
|
+
]
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#target-lexicon@0.13.5"
|
|
1088
|
+
},
|
|
1089
|
+
{
|
|
1090
|
+
"ref": "registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.27"
|
|
1091
|
+
}
|
|
1092
|
+
]
|
|
1093
|
+
}
|