d034453970
coremem_types: list: implement core::ops::Index
2022-07-20 14:48:52 -07:00
5b5085829d
coremem_types: list: remove the dynamic indexing ops
...
trying to restructure this stuff specifically to aid the material needs.
2022-07-20 14:39:33 -07:00
7dd4b09faf
coremem_types: list: remove unused test helpers
2022-07-20 14:37:54 -07:00
24b0b3d680
coremem_types: list: minor test refactoring
2022-07-20 14:37:08 -07:00
d0ae25e28b
coremem_types: list: switch to parameter-based indexing; add apply method
2022-07-20 14:31:20 -07:00
e029c8b3d9
coremem_types: list: make the types public
...
in the future we can hopefully expose only a subset of the types.
2022-07-20 14:30:43 -07:00
5ddd6fef74
coremem_types: list: rename LLNode
-> Node
2022-07-20 13:47:43 -07:00
0ce862b614
coremem_types: list: implement List building via a Chomp trait
...
it's simpler, and lets the user always do `(args...).into_list()`
on ANY `List<(Args...)>` alias type.
2022-07-20 13:46:17 -07:00
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