Commit Graph

78 Commits

Author SHA1 Message Date
491b5d3591 cross: Vec3: implement rotate_{xy,xz,yz} operations 2022-09-01 21:38:06 -07:00
ec77584311 cross: notes about optimization 2022-08-28 02:00:49 -07:00
5dc619ebc9 cross: add Real::c_inv() 2022-08-28 02:00:18 -07:00
1be2dc2419 cross: step: test using f64 so we can enforce more precise limits
we're foremost testing the *math*, less than the precision under which
it's carried out
2022-08-27 02:41:16 -07:00
8a76b79e17 cross: step: backfill step_e tests 2022-08-27 02:38:50 -07:00
deaaefc3e7 add Real::eps0_inv() convenience method 2022-08-27 02:38:32 -07:00
c90a73d395 cross: step: finish backfilling step_h tests 2022-08-26 02:03:27 -07:00
a7a9a9ea84 cross: step: backfill step_h material-free test 2022-08-26 01:43:10 -07:00
267c9fd36e cross: step: backfill a trivial step_h test 2022-08-26 01:23:52 -07:00
a4008dcc1d cross: step: document the step_h math 2022-08-26 00:41:41 -07:00
64410da4fe cross: step: reconcile the difference between our two \Delta t's 2022-08-25 22:49:50 -07:00
bbd31cc7be cross: step: annotate step_e with a maths derivation
this derivation comes from the legacy cpu code.
it looks like the spirv implementation actually
pursued a conceptually simpler approach.
i'll try to reconcile these shortly.
2022-08-25 22:20:03 -07:00
10fefdc9a3 step: backfill some documentation 2022-08-24 17:52:46 -07:00
9e49538ba7 cross: split supporting types out of step.rs
this focuses the core "business logic" into a more narrow slice.
good for organization, and also to highlight where the complexity lies
(i.e. most valuable places to test).
2022-08-24 17:45:28 -07:00
cdb0c3eaaa leave a TODO: enumerated: make use of List abstractions 2022-08-23 23:51:03 -07:00
ab6496d5f6 backfill Vec2::rotate tests 2022-08-23 23:49:43 -07:00
8e48414d68 SimMeta: make the fields private 2022-08-23 23:23:49 -07:00
e32d500f8c real: add sin, cos and ln2 functions 2022-08-22 00:37:19 -07:00
29e78c74fe real: implement std::iter::Sum 2022-08-21 20:46:43 -07:00
d662ef24d3 SimMeta: implement PartialEq 2022-08-20 17:35:41 -07:00
69ee2070c8 DimSlice: impl Default 2022-08-20 17:04:56 -07:00
9f97f474d7 cross: DimSlice: allow the underlying data to be a Vec 2022-08-19 03:54:01 -07:00
0fa8cb0d20 cross: DimSlice: add into_inner method 2022-08-18 16:04:15 -07:00
e72c0ec11d cross: DimSlice: add dim/offset accessors 2022-08-18 04:32:43 -07:00
07fa4042a3 cross: list: add IntoVec trait 2022-08-18 04:00:41 -07:00
a3b15bd7e7 cross: DimSlice: add as_ref, as_mut methods to re-borrow the data with a different lifetime
we can't use the actual AsRef, AsMut trait because we aren't returning a
reference but a new type with an inner reference.
2022-08-18 03:25:52 -07:00
2a9c065cb0 cross: list: allow visit to be mutable 2022-08-18 02:45:15 -07:00
f2b23ace17 cross: list: implement a Visit trait.
it can't do much yet because the immutable-ness, but i can fix that.
2022-08-18 02:32:52 -07:00
a0d4a39a66 cross: OffsetDimSlice: implement enumeration 2022-08-17 21:41:26 -07:00
a34363122b cross: OffsetDimSlice: impl indices() enumeration 2022-08-17 21:37:40 -07:00
129aaadeac OffsetDimSlice: impl IntoIter 2022-08-17 21:20:24 -07:00
a247b861e1 cross: hide the iteration features behind a flag
they don't compile on spirv due to the inherent use of Options,
but they'll be useful in the CPU-side code.
2022-08-17 21:14:21 -07:00
198cc16f3f cross: compile tests with the fmt feature so we can use assert_eq 2022-08-17 21:06:23 -07:00
3ed4cd5059 rename DimensionedSlice -> DimSlice 2022-08-17 20:45:36 -07:00
694906aa32 add OffsetDimensionedSlice, with basic indexing operations 2022-08-17 20:43:38 -07:00
ae5bfcf311 rename dim.rs -> dim_slice.rs 2022-08-17 20:34:47 -07:00
7a1e5815a8 rename Vec3uIter -> DimIter 2022-08-17 20:32:31 -07:00
b82c127957 add an enumerated method to DimensionedSlice 2022-08-17 18:12:32 -07:00
2311cf1dd3 cross: DimensionedSlice: add an indices method 2022-08-17 18:04:21 -07:00
782ac4d2c1 cross: impl IntoIterator for DimensionedSlice 2022-08-17 17:41:39 -07:00
1688707aed cross: backfill test for DimensionedSlice::IndexMut 2022-08-17 17:31:11 -07:00
92d4f464e1 cross: DimensionedSlice: backfill Index test 2022-08-17 17:28:31 -07:00
2e667a02dd cross: list: add some conveniences to query list length and access the first element 2022-08-17 02:45:44 -07:00
d45b2042e1 cross: list: add more convenient indexing 2022-08-16 16:40:15 -07:00
4b04a48cc4 cross: list: allow enumerating by u32 instead of Tagged 2022-08-16 16:18:09 -07:00
07b5c855e8 cross: list: implement a Flatten operation 2022-08-16 15:52:09 -07:00
9d4853333d cross: list: implement an Extend operation 2022-08-16 15:28:10 -07:00
c353ce411f cross: list: remove the old (unused) Visitor infrastructure
replaced by Fold/Map/etc
2022-08-16 15:07:47 -07:00
4c5c978053 whitespace nits 2022-08-16 01:29:35 -07:00
a68b3c7a49 cross: list: backfill more extensive Sum tests 2022-08-16 00:08:01 -07:00