versorc-math 0.1.0__tar.gz

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 (90) hide show
  1. versorc_math-0.1.0/.github/workflows/ci.yml +51 -0
  2. versorc_math-0.1.0/.gitignore +16 -0
  3. versorc_math-0.1.0/.zenodo.json +28 -0
  4. versorc_math-0.1.0/CITATION.cff +23 -0
  5. versorc_math-0.1.0/Cargo.lock +357 -0
  6. versorc_math-0.1.0/Cargo.toml +42 -0
  7. versorc_math-0.1.0/LICENSE +200 -0
  8. versorc_math-0.1.0/PKG-INFO +410 -0
  9. versorc_math-0.1.0/README.md +391 -0
  10. versorc_math-0.1.0/examples/ganja_demo.py +57 -0
  11. versorc_math-0.1.0/examples/gpu_ga_tensor_demo.rs +129 -0
  12. versorc_math-0.1.0/examples/visualizations/01_pga_screw_motion.html +129 -0
  13. versorc_math-0.1.0/examples/visualizations/02_cga_conformal_spheres.html +131 -0
  14. versorc_math-0.1.0/examples/visualizations/03_cl3_bivector_orbit.html +111 -0
  15. versorc_math-0.1.0/generate_visual_plots.py +416 -0
  16. versorc_math-0.1.0/pyproject.toml +28 -0
  17. versorc_math-0.1.0/python/tests/test_ga_numpy.py +198 -0
  18. versorc_math-0.1.0/python/versorc_math/__init__.py +47 -0
  19. versorc_math-0.1.0/python/versorc_math/ganja.py +420 -0
  20. versorc_math-0.1.0/python/versorc_math/plotting.py +394 -0
  21. versorc_math-0.1.0/shaders/cga_transform.comp +62 -0
  22. versorc_math-0.1.0/shaders/cga_transform.spv +0 -0
  23. versorc_math-0.1.0/shaders/hot_stratum_e8.comp +210 -0
  24. versorc_math-0.1.0/shaders/hot_stratum_e8.spv +0 -0
  25. versorc_math-0.1.0/shaders/pga_transform.comp +68 -0
  26. versorc_math-0.1.0/shaders/pga_transform.spv +0 -0
  27. versorc_math-0.1.0/shaders/rmsnorm.comp +69 -0
  28. versorc_math-0.1.0/shaders/rmsnorm.spv +0 -0
  29. versorc_math-0.1.0/shaders/rope.comp +61 -0
  30. versorc_math-0.1.0/shaders/rope.spv +0 -0
  31. versorc_math-0.1.0/shaders/silu_mul.comp +38 -0
  32. versorc_math-0.1.0/shaders/silu_mul.spv +0 -0
  33. versorc_math-0.1.0/shaders/vec_add.comp +31 -0
  34. versorc_math-0.1.0/shaders/vec_add.spv +0 -0
  35. versorc_math-0.1.0/src/blade.rs +167 -0
  36. versorc_math-0.1.0/src/cayley_klein/ga.rs +438 -0
  37. versorc_math-0.1.0/src/cayley_klein/mod.rs +10 -0
  38. versorc_math-0.1.0/src/cga/mod.rs +503 -0
  39. versorc_math-0.1.0/src/dod/batch.rs +342 -0
  40. versorc_math-0.1.0/src/dod/mod.rs +10 -0
  41. versorc_math-0.1.0/src/gpu/mod.rs +618 -0
  42. versorc_math-0.1.0/src/gpu/shaders.rs +184 -0
  43. versorc_math-0.1.0/src/kernels/clifford_3bit_avx2.rs +216 -0
  44. versorc_math-0.1.0/src/kernels/mod.rs +16 -0
  45. versorc_math-0.1.0/src/lattice/e8.rs +219 -0
  46. versorc_math-0.1.0/src/lattice/eisenstein.rs +105 -0
  47. versorc_math-0.1.0/src/lattice/mod.rs +15 -0
  48. versorc_math-0.1.0/src/lib.rs +73 -0
  49. versorc_math-0.1.0/src/multivector.rs +444 -0
  50. versorc_math-0.1.0/src/pga/line.rs +258 -0
  51. versorc_math-0.1.0/src/pga/mod.rs +14 -0
  52. versorc_math-0.1.0/src/pga/motor.rs +443 -0
  53. versorc_math-0.1.0/src/pga/plane.rs +222 -0
  54. versorc_math-0.1.0/src/pga/point.rs +219 -0
  55. versorc_math-0.1.0/src/poincare/cayley_klein.rs +162 -0
  56. versorc_math-0.1.0/src/poincare/mod.rs +253 -0
  57. versorc_math-0.1.0/src/python/mod.rs +980 -0
  58. versorc_math-0.1.0/src/quantization/clifford_3bit.rs +311 -0
  59. versorc_math-0.1.0/src/quantization/mod.rs +13 -0
  60. versorc_math-0.1.0/src/quantization/turboquant.rs +309 -0
  61. versorc_math-0.1.0/src/reduction/cartan_dieudonne.rs +84 -0
  62. versorc_math-0.1.0/src/reduction/mod.rs +8 -0
  63. versorc_math-0.1.0/src/signature.rs +52 -0
  64. versorc_math-0.1.0/src/sta/mod.rs +476 -0
  65. versorc_math-0.1.0/src/versor/dual_quaternion.rs +301 -0
  66. versorc_math-0.1.0/src/versor/dyadic.rs +191 -0
  67. versorc_math-0.1.0/src/versor/hamilton.rs +236 -0
  68. versorc_math-0.1.0/src/versor/householder.rs +131 -0
  69. versorc_math-0.1.0/src/versor/mod.rs +34 -0
  70. versorc_math-0.1.0/src/versor/planar_bank.rs +95 -0
  71. versorc_math-0.1.0/src/versor/rotor.rs +78 -0
  72. versorc_math-0.1.0/tests/test_cartan_dieudonne.rs +42 -0
  73. versorc_math-0.1.0/tests/test_cayley_klein_ga.rs +109 -0
  74. versorc_math-0.1.0/tests/test_cga3d.rs +103 -0
  75. versorc_math-0.1.0/tests/test_ckspaces_dod.rs +128 -0
  76. versorc_math-0.1.0/tests/test_clifford_axioms.rs +187 -0
  77. versorc_math-0.1.0/tests/test_dod_pga_batch.rs +30 -0
  78. versorc_math-0.1.0/tests/test_dual_quaternion.rs +96 -0
  79. versorc_math-0.1.0/tests/test_dyadic_walsh.rs +39 -0
  80. versorc_math-0.1.0/tests/test_e8_lattice_roots.rs +89 -0
  81. versorc_math-0.1.0/tests/test_hamilton_quaternions.rs +74 -0
  82. versorc_math-0.1.0/tests/test_householder_cascade.rs +67 -0
  83. versorc_math-0.1.0/tests/test_pga3d.rs +117 -0
  84. versorc_math-0.1.0/tests/test_poincare_hyperbolic.rs +94 -0
  85. versorc_math-0.1.0/tests/test_quantization_geometric.rs +328 -0
  86. versorc_math-0.1.0/tests/test_quantization_static_benchmark.rs +384 -0
  87. versorc_math-0.1.0/tests/test_risk_audit_silicon.rs +339 -0
  88. versorc_math-0.1.0/tests/test_sta.rs +80 -0
  89. versorc_math-0.1.0/tests/test_versor_sandwich.rs +42 -0
  90. versorc_math-0.1.0/tests/test_vulkan_compute.rs +134 -0
@@ -0,0 +1,51 @@
1
+ name: CI & Verification
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main", "master" ]
6
+ pull_request:
7
+ branches: [ "main", "master" ]
8
+
9
+ jobs:
10
+ test-rust:
11
+ name: Rust Suite (x86_64 Linux)
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+
16
+ - name: Install Rust toolchain
17
+ uses: dtolnay/rust-toolchain@stable
18
+ with:
19
+ targets: x86_64-unknown-linux-gnu
20
+
21
+ - name: Rustfmt Check
22
+ run: cargo fmt --all -- --check
23
+
24
+ - name: Cargo Check (all features)
25
+ run: cargo check --all-targets --all-features
26
+
27
+ - name: Run Core Integration Tests
28
+ run: cargo test --verbose
29
+
30
+ test-python:
31
+ name: PyO3 & NumPy Suite
32
+ runs-on: ubuntu-latest
33
+ steps:
34
+ - uses: actions/checkout@v4
35
+
36
+ - name: Set up Python 3.11
37
+ uses: actions/setup-python@v5
38
+ with:
39
+ python-version: "3.11"
40
+
41
+ - name: Install Python dependencies
42
+ run: pip install --upgrade pip numpy pytest maturin
43
+
44
+ - name: Install Rust toolchain
45
+ uses: dtolnay/rust-toolchain@stable
46
+
47
+ - name: Build Python Extension with Maturin
48
+ run: maturin develop --release --features python
49
+
50
+ - name: Run Pytest Suite
51
+ run: pytest python/tests/test_ga_numpy.py -v
@@ -0,0 +1,16 @@
1
+ /target
2
+ Cargo.lock
3
+
4
+ # Binary and copyrighted literature
5
+ literature/
6
+ assets/
7
+ vendor_reference/
8
+
9
+ # Python build artifacts
10
+ __pycache__/
11
+ *.py[cod]
12
+ *.so
13
+ build/
14
+ dist/
15
+ *.egg-info/
16
+ .eggs/
@@ -0,0 +1,28 @@
1
+ {
2
+ "title": "versorc-math: High-Performance Clifford Geometric Algebra & Versor Quantization Engine",
3
+ "description": "A zero-overhead, SIMD-accelerated Clifford Geometric Algebra library and Dyadic Versor quantization engine in Rust and Python/NumPy, supporting Cl(3,0), Cl(2,0), 3D PGA Cl*(3,0,1), 3D CGA Cl(4,1), 4D Spacetime Algebra Cl(1,3) with full Lounesto spinor classification, Gosset E8 lattice closest-vector decoding, and TurboQuant 3-bit isotropic versor rotations.",
4
+ "creators": [
5
+ {
6
+ "name": "The VersorC Project Contributors"
7
+ }
8
+ ],
9
+ "access_right": "open",
10
+ "license": "Apache-2.0",
11
+ "keywords": [
12
+ "geometric algebra",
13
+ "clifford algebra",
14
+ "versor",
15
+ "projective geometric algebra",
16
+ "conformal geometric algebra",
17
+ "spacetime algebra",
18
+ "spinors",
19
+ "quantization",
20
+ "hadamard transform",
21
+ "e8 lattice",
22
+ "rust",
23
+ "python",
24
+ "numpy",
25
+ "vulkan"
26
+ ],
27
+ "upload_type": "software"
28
+ }
@@ -0,0 +1,23 @@
1
+ cff-version: 1.2.0
2
+ message: "If you use versorc-math in your research or engineering systems, please cite it as below."
3
+ title: "versorc-math: High-Performance Clifford Geometric Algebra & Versor Quantization Engine"
4
+ abstract: "A zero-overhead, SIMD-accelerated Clifford Geometric Algebra library and Dyadic Versor quantization engine in Rust and Python/NumPy, supporting Cl(3,0), Cl(2,0), 3D PGA (Projective Geometric Algebra), 3D CGA (Conformal Geometric Algebra), 4D STA (Spacetime Algebra with Lounesto spinor classification), and E8 lattice / 3-bit TurboQuant isotropic rotations."
5
+ authors:
6
+ - name: "The VersorC Project Contributors"
7
+ version: 0.1.0
8
+ date-released: 2026-11-12
9
+ license: "Apache-2.0"
10
+ repository-code: "https://github.com/versorc/versorc-math"
11
+ keywords:
12
+ - "geometric algebra"
13
+ - "clifford algebra"
14
+ - "versor"
15
+ - "projective geometric algebra"
16
+ - "conformal geometric algebra"
17
+ - "spacetime algebra"
18
+ - "spinors"
19
+ - "quantization"
20
+ - "hadamard transform"
21
+ - "rust"
22
+ - "python"
23
+ - "numpy"
@@ -0,0 +1,357 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "ash"
7
+ version = "0.38.0+1.3.281"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f"
10
+ dependencies = [
11
+ "libloading",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "autocfg"
16
+ version = "1.5.1"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
19
+
20
+ [[package]]
21
+ name = "bytemuck"
22
+ version = "1.25.2"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797"
25
+ dependencies = [
26
+ "bytemuck_derive",
27
+ ]
28
+
29
+ [[package]]
30
+ name = "bytemuck_derive"
31
+ version = "1.12.1"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "6a1f896587b6f2c069c73d2f0913e2d590c3990285cd2f0b6aa02b786b4c679c"
34
+ dependencies = [
35
+ "proc-macro2",
36
+ "quote",
37
+ "syn 3.0.10",
38
+ ]
39
+
40
+ [[package]]
41
+ name = "cfg-if"
42
+ version = "1.0.5"
43
+ source = "registry+https://github.com/rust-lang/crates.io-index"
44
+ checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600"
45
+
46
+ [[package]]
47
+ name = "heck"
48
+ version = "0.5.0"
49
+ source = "registry+https://github.com/rust-lang/crates.io-index"
50
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
51
+
52
+ [[package]]
53
+ name = "indoc"
54
+ version = "2.0.8"
55
+ source = "registry+https://github.com/rust-lang/crates.io-index"
56
+ checksum = "a37b2691796cffeb8a8cd305ac66e65841559f147f4e63231d0eafa4db5384d1"
57
+ dependencies = [
58
+ "rustversion",
59
+ ]
60
+
61
+ [[package]]
62
+ name = "libc"
63
+ version = "0.2.191"
64
+ source = "registry+https://github.com/rust-lang/crates.io-index"
65
+ checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
66
+
67
+ [[package]]
68
+ name = "libloading"
69
+ version = "0.8.9"
70
+ source = "registry+https://github.com/rust-lang/crates.io-index"
71
+ checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55"
72
+ dependencies = [
73
+ "cfg-if",
74
+ "windows-link",
75
+ ]
76
+
77
+ [[package]]
78
+ name = "matrixmultiply"
79
+ version = "0.3.11"
80
+ source = "registry+https://github.com/rust-lang/crates.io-index"
81
+ checksum = "3f607c237553f086e7043417a51df26b2eb899d3caff94e6a67592ff992fedc7"
82
+ dependencies = [
83
+ "autocfg",
84
+ "rawpointer",
85
+ ]
86
+
87
+ [[package]]
88
+ name = "memoffset"
89
+ version = "0.9.1"
90
+ source = "registry+https://github.com/rust-lang/crates.io-index"
91
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
92
+ dependencies = [
93
+ "autocfg",
94
+ ]
95
+
96
+ [[package]]
97
+ name = "ndarray"
98
+ version = "0.16.1"
99
+ source = "registry+https://github.com/rust-lang/crates.io-index"
100
+ checksum = "882ed72dce9365842bf196bdeedf5055305f11fc8c03dee7bb0194a6cad34841"
101
+ dependencies = [
102
+ "matrixmultiply",
103
+ "num-complex",
104
+ "num-integer",
105
+ "num-traits",
106
+ "portable-atomic",
107
+ "portable-atomic-util",
108
+ "rawpointer",
109
+ ]
110
+
111
+ [[package]]
112
+ name = "num-complex"
113
+ version = "0.4.6"
114
+ source = "registry+https://github.com/rust-lang/crates.io-index"
115
+ checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
116
+ dependencies = [
117
+ "num-traits",
118
+ ]
119
+
120
+ [[package]]
121
+ name = "num-integer"
122
+ version = "0.1.47"
123
+ source = "registry+https://github.com/rust-lang/crates.io-index"
124
+ checksum = "7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b"
125
+ dependencies = [
126
+ "num-traits",
127
+ ]
128
+
129
+ [[package]]
130
+ name = "num-traits"
131
+ version = "0.2.19"
132
+ source = "registry+https://github.com/rust-lang/crates.io-index"
133
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
134
+ dependencies = [
135
+ "autocfg",
136
+ ]
137
+
138
+ [[package]]
139
+ name = "numpy"
140
+ version = "0.26.0"
141
+ source = "registry+https://github.com/rust-lang/crates.io-index"
142
+ checksum = "9b2dba356160b54f5371b550575b78130a54718b4c6e46b3f33a6da74a27e78b"
143
+ dependencies = [
144
+ "libc",
145
+ "ndarray",
146
+ "num-complex",
147
+ "num-integer",
148
+ "num-traits",
149
+ "pyo3",
150
+ "pyo3-build-config",
151
+ "rustc-hash",
152
+ ]
153
+
154
+ [[package]]
155
+ name = "once_cell"
156
+ version = "1.21.4"
157
+ source = "registry+https://github.com/rust-lang/crates.io-index"
158
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
159
+
160
+ [[package]]
161
+ name = "portable-atomic"
162
+ version = "1.15.0"
163
+ source = "registry+https://github.com/rust-lang/crates.io-index"
164
+ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
165
+
166
+ [[package]]
167
+ name = "portable-atomic-util"
168
+ version = "0.2.8"
169
+ source = "registry+https://github.com/rust-lang/crates.io-index"
170
+ checksum = "10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715"
171
+ dependencies = [
172
+ "portable-atomic",
173
+ ]
174
+
175
+ [[package]]
176
+ name = "proc-macro2"
177
+ version = "1.0.107"
178
+ source = "registry+https://github.com/rust-lang/crates.io-index"
179
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
180
+ dependencies = [
181
+ "unicode-ident",
182
+ ]
183
+
184
+ [[package]]
185
+ name = "pyo3"
186
+ version = "0.26.0"
187
+ source = "registry+https://github.com/rust-lang/crates.io-index"
188
+ checksum = "7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383"
189
+ dependencies = [
190
+ "indoc",
191
+ "libc",
192
+ "memoffset",
193
+ "once_cell",
194
+ "portable-atomic",
195
+ "pyo3-build-config",
196
+ "pyo3-ffi",
197
+ "pyo3-macros",
198
+ "unindent",
199
+ ]
200
+
201
+ [[package]]
202
+ name = "pyo3-build-config"
203
+ version = "0.26.0"
204
+ source = "registry+https://github.com/rust-lang/crates.io-index"
205
+ checksum = "4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f"
206
+ dependencies = [
207
+ "target-lexicon",
208
+ ]
209
+
210
+ [[package]]
211
+ name = "pyo3-ffi"
212
+ version = "0.26.0"
213
+ source = "registry+https://github.com/rust-lang/crates.io-index"
214
+ checksum = "025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105"
215
+ dependencies = [
216
+ "libc",
217
+ "pyo3-build-config",
218
+ ]
219
+
220
+ [[package]]
221
+ name = "pyo3-macros"
222
+ version = "0.26.0"
223
+ source = "registry+https://github.com/rust-lang/crates.io-index"
224
+ checksum = "2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded"
225
+ dependencies = [
226
+ "proc-macro2",
227
+ "pyo3-macros-backend",
228
+ "quote",
229
+ "syn 2.0.119",
230
+ ]
231
+
232
+ [[package]]
233
+ name = "pyo3-macros-backend"
234
+ version = "0.26.0"
235
+ source = "registry+https://github.com/rust-lang/crates.io-index"
236
+ checksum = "100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf"
237
+ dependencies = [
238
+ "heck",
239
+ "proc-macro2",
240
+ "pyo3-build-config",
241
+ "quote",
242
+ "syn 2.0.119",
243
+ ]
244
+
245
+ [[package]]
246
+ name = "quote"
247
+ version = "1.0.47"
248
+ source = "registry+https://github.com/rust-lang/crates.io-index"
249
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
250
+ dependencies = [
251
+ "proc-macro2",
252
+ ]
253
+
254
+ [[package]]
255
+ name = "rawpointer"
256
+ version = "0.2.1"
257
+ source = "registry+https://github.com/rust-lang/crates.io-index"
258
+ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
259
+
260
+ [[package]]
261
+ name = "rustc-hash"
262
+ version = "2.1.3"
263
+ source = "registry+https://github.com/rust-lang/crates.io-index"
264
+ checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
265
+
266
+ [[package]]
267
+ name = "rustversion"
268
+ version = "1.0.23"
269
+ source = "registry+https://github.com/rust-lang/crates.io-index"
270
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
271
+
272
+ [[package]]
273
+ name = "serde"
274
+ version = "1.0.229"
275
+ source = "registry+https://github.com/rust-lang/crates.io-index"
276
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
277
+ dependencies = [
278
+ "serde_core",
279
+ "serde_derive",
280
+ ]
281
+
282
+ [[package]]
283
+ name = "serde_core"
284
+ version = "1.0.229"
285
+ source = "registry+https://github.com/rust-lang/crates.io-index"
286
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
287
+ dependencies = [
288
+ "serde_derive",
289
+ ]
290
+
291
+ [[package]]
292
+ name = "serde_derive"
293
+ version = "1.0.229"
294
+ source = "registry+https://github.com/rust-lang/crates.io-index"
295
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
296
+ dependencies = [
297
+ "proc-macro2",
298
+ "quote",
299
+ "syn 3.0.10",
300
+ ]
301
+
302
+ [[package]]
303
+ name = "syn"
304
+ version = "2.0.119"
305
+ source = "registry+https://github.com/rust-lang/crates.io-index"
306
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
307
+ dependencies = [
308
+ "proc-macro2",
309
+ "quote",
310
+ "unicode-ident",
311
+ ]
312
+
313
+ [[package]]
314
+ name = "syn"
315
+ version = "3.0.10"
316
+ source = "registry+https://github.com/rust-lang/crates.io-index"
317
+ checksum = "4ae9ccbea3a7b0b09443036490c8f34a8b1b760fd345e5c0dae0aac718faea79"
318
+ dependencies = [
319
+ "proc-macro2",
320
+ "quote",
321
+ "unicode-ident",
322
+ ]
323
+
324
+ [[package]]
325
+ name = "target-lexicon"
326
+ version = "0.13.5"
327
+ source = "registry+https://github.com/rust-lang/crates.io-index"
328
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
329
+
330
+ [[package]]
331
+ name = "unicode-ident"
332
+ version = "1.0.27"
333
+ source = "registry+https://github.com/rust-lang/crates.io-index"
334
+ checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563"
335
+
336
+ [[package]]
337
+ name = "unindent"
338
+ version = "0.2.4"
339
+ source = "registry+https://github.com/rust-lang/crates.io-index"
340
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
341
+
342
+ [[package]]
343
+ name = "versorc-math"
344
+ version = "0.1.0"
345
+ dependencies = [
346
+ "ash",
347
+ "bytemuck",
348
+ "numpy",
349
+ "pyo3",
350
+ "serde",
351
+ ]
352
+
353
+ [[package]]
354
+ name = "windows-link"
355
+ version = "0.2.1"
356
+ source = "registry+https://github.com/rust-lang/crates.io-index"
357
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
@@ -0,0 +1,42 @@
1
+ [package]
2
+ name = "versorc-math"
3
+ version = "0.1.0"
4
+ edition = "2021"
5
+ authors = ["The VersorC Project Contributors"]
6
+ description = "Low-level Clifford Geometric Algebra, Versor Operators, and High-Dimensional Matrix Reductions"
7
+ license = "Apache-2.0"
8
+ readme = "README.md"
9
+ repository = "https://github.com/versorc/versorc-math"
10
+ homepage = "https://github.com/versorc/versorc-math"
11
+ documentation = "https://docs.rs/versorc-math"
12
+ keywords = ["geometric-algebra", "clifford", "versor", "quaternion", "math"]
13
+ categories = ["mathematics", "science"]
14
+ exclude = [
15
+ "literature/*",
16
+ "assets/*",
17
+ "examples/plots/*",
18
+ "vendor_reference/*",
19
+ "explanations/*",
20
+ "*.djvu",
21
+ "*.pdf",
22
+ ]
23
+
24
+ [lib]
25
+ name = "versorc_math"
26
+ crate-type = ["rlib", "cdylib"]
27
+
28
+ [dependencies]
29
+ serde = { version = "1.0", default-features = false, features = ["alloc", "derive"], optional = true }
30
+ ash = { version = "0.38", default-features = false, features = ["loaded", "std"], optional = true }
31
+ bytemuck = { version = "1.18", features = ["derive"], optional = true }
32
+ pyo3 = { version = "0.26", features = ["extension-module"], optional = true }
33
+ numpy = { version = "0.26", optional = true }
34
+
35
+ [dev-dependencies]
36
+
37
+ [features]
38
+ default = ["std"]
39
+ std = []
40
+ serde = ["dep:serde"]
41
+ vulkan = ["dep:ash", "dep:bytemuck", "std"]
42
+ python = ["dep:pyo3", "dep:numpy", "std"]