415ffb9c4d
coremem_types: list: switch to 'head'/'tail' terminology
2022-07-20 13:10:14 -07:00
dfe27c9b56
coremem_types: list: add a way to construct the full list in one-go
2022-07-20 12:47:20 -07:00
00ae71a6eb
coremem_types: add List::set, List::get_mut methods
2022-07-20 12:15:09 -07:00
3a235fe47e
coremem_types: list: allow Peano-based index operation
2022-07-20 03:49:39 -07:00
159fa1b9a1
coremem_types: list: rename apply
-> apply_all
2022-07-20 02:50:27 -07:00
8be90cca01
coremem_types: add Next
type to Peano numbers
2022-07-20 02:48:59 -07:00
5ad6af8f8b
coremem_types: add Peano numbers
...
not used yet, but will be by list/enum operations
2022-07-20 02:47:15 -07:00
2afb3f63d4
coremem_types: move compound
to its own subdirectory
...
i'm going to start adding enums and such, in a separate file.
2022-07-20 02:38:08 -07:00
04def2149d
coremem_types: compound: extend List constructor to 8 elements
2022-07-20 02:35:33 -07:00
79ac2c0a0d
coremem: compound: add a List
helper constructor
2022-07-20 02:32:40 -07:00
e14674f5b6
coremem_types: compound: allow LLNode::apply_at to return a value
2022-07-20 02:10:39 -07:00
a56cdabf5e
coremem_types: List: add an apply_at
method
2022-07-20 01:57:19 -07:00
f8930fd6ea
coremem_types: compound: better docs
2022-07-20 01:46:24 -07:00
225d1d7f3a
coremem_types: implement a list type wherein we can hope to implement enum-like types on gpu
2022-07-20 01:37:33 -07:00
7954d341fc
rename 'Discriminable' => 'DisciminantCodable'
2022-07-19 14:14:54 -07:00
f8fccd957a
coremem_types: IsomorphicConductor, AnisomorphicConductor are now used by both spirv and cpu impls
2022-07-19 02:08:22 -07:00
78f7e2be45
coremem_types: Conductor: make inner member private
...
this must mean the type's not being used, as it's now unconstructable.
2022-07-18 18:25:07 -07:00
c2a9ed99c0
coremem_types: split Conductor into its own file
2022-07-18 18:23:36 -07:00
3d362e1252
coremem_types: split MHPgram out to its own file
2022-07-18 18:21:58 -07:00
6be7026c95
coremem_types: split MBPgram to its own file
2022-07-18 18:20:27 -07:00
bb35a12c69
coremem_types::mat: move to submodule
2022-07-18 18:16:47 -07:00
22db2e5a1b
use coremem_types::mat::Ferroxcube3R1MH *everywhere*
...
the old `mat/mh_ferromagnet.rs` files is completely removed,
unifying the Ferroxcube3R1MH type all the way through the stack.
2022-07-18 15:43:01 -07:00
716e0e12b4
move Ferroxcube3R1MH from spirv_bindings to coremem_types::mat
2022-07-18 15:33:47 -07:00
d005256459
move MBPgram, MHPgram out of spirv_backend into coremem_types::mat
...
later this can be shared with CPU backend.
2022-07-18 15:27:31 -07:00
b8bcd68b98
spirv_backend: use Real:: constants instead of inlined ones
2022-07-18 15:10:57 -07:00
57338bcb4a
migrate Conductor material from spirv_backend to coremem_types
2022-07-18 14:41:27 -07:00
7d2a3baadc
spirv: migrate Material trait to types, and parameterize by R
2022-07-18 14:33:09 -07:00
35251f5a7f
coremem_types: move Vec3u under the vec:: namespace
...
it's conceivable that Vec3u could be merged with Vec3 someday.
best to keep them in the same namespace, to make any such effort easier.
2022-07-18 14:23:35 -07:00
21483111cd
Vec2, Vec3: remove default R parameter
2022-07-18 14:10:17 -07:00
536a09f7b8
spirv_bindings: remove custom Material trait
...
ffi version is now compatible with main coremem library without
conversion
2022-07-18 13:57:25 -07:00
19f00c9076
spirv_backend: remove Vec3Std and use coremem_types::Vec3 everywhere
2022-07-18 13:51:11 -07:00
d7d8be62d1
spirv_backend: remove UVec3Std in favor of Vec3u
2022-07-18 13:39:15 -07:00
b4783df134
spirv_backend: remove dead-code
2022-07-18 13:34:10 -07:00
4378f33eb9
spirv_backend: strip out the glam stuff, except for the lib.rs interface
2022-07-18 01:48:19 -07:00
d92089ae23
coremem_types: add a 'fmt' feature, so Real/Vec/friends can be used in fmt-less spirv
2022-07-18 01:31:00 -07:00
97c2813c9d
coremem_types: hide Serialize/Deserialize behind a serde feature flag
...
- this flag is disabled in spirv_backend.
- spirv_backend currently errors in core::fmt stuff. may try hiding fmt
behind a feature_flag.
2022-07-17 23:44:14 -07:00
19849c2428
fix test compilation failures from vec migration
2022-07-17 22:41:39 -07:00
8c3a26e798
move vec, vecu into coremem_types
...
- this will allow it to be used from within the spirv code.
- had to change some coremem code which was previously peering into
privates or now-unrestricted constraints.
- may need to put the serde stuff behind a feature flag (or force
nostd?)
2022-07-17 21:50:38 -07:00
4c0a87281b
real: optimize Finite::from_{f32,f64}
2022-07-17 18:48:07 -07:00
253eb65f8f
real: remove the remaining decorum dependencies
2022-07-17 18:46:25 -07:00
866aa2882b
real: remove some, but not all, decorum stuff
2022-07-17 18:18:09 -07:00
57273ed430
coremem_types: remove dead num
dependency
2022-07-17 17:33:29 -07:00
9d102e0152
split real
out into its own crate
...
this is a move toward reusing some of the coremem helper types in the
spirv backend.
2022-07-17 17:32:35 -07:00
ac3895c432
fix broken doctest. it's a diagram, and shouldn't be run :|
2022-07-17 16:40:02 -07:00
a2d35782a1
lift the post-processing tools (viewer, csv, decimate) into their own crate
...
- these tools shouldn't need access to coremem internals.
- lifting them out reduces some dependencies in coremem-the-library.
- separation allows faster iteration in the coremem library while
temporarily breaking the post-processing tools (specifically,
those tools could take deps on a specific coremem version and thereby
we split the update process into two, smaller steps).
2022-07-17 15:47:39 -07:00
89be8bf8dd
multi_core_inverter: add documentation for running/viewing results
2022-07-17 14:58:42 -07:00
ccbaa39fcf
lib: add init_debug
to configure better debugging defaults (e.g. parallelism)
2022-07-17 13:58:16 -07:00
82e72e9e14
fix output directories (out/applications/...
)
2022-07-17 13:05:41 -07:00
193e17e2c8
buffer_proto5: auto-create the output directories (and fix them to out/applications)
2022-07-17 13:03:38 -07:00
87ff2f2329
multi_core_inverter: add the last core(s) and the sense wire
2022-07-15 22:15:47 -07:00