Commit Graph

56 Commits

Author SHA1 Message Date
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
57b90faa69 cross: list: implement a Sum operation 2022-08-16 00:03:15 -07:00
a8acf6cbb8 cross: list: extend fold to work by reference. 2022-08-15 23:51:19 -07:00
7704eb623a cross: list: remove special access to Node::{head,tail} 2022-08-15 23:00:49 -07:00
a2939a7807 cross: list: implement Enumerate operation 2022-08-15 21:25:41 -07:00
1cff95877e cross: list: implement a Map operation 2022-08-15 21:00:16 -07:00
96c690990f cross: list: make the fold impl more consistent with reverse 2022-08-15 19:18:05 -07:00
35ceefca42 cross: list: implement a Reverse operation
this was stupidly hard. it HAS to be a trait: it cannot be a
free-standing function else rustc gets stuck in recursive trait
expansion.
2022-08-15 19:14:44 -07:00
7c1824d58c cross: list: document why we use the flat impl 2022-08-15 18:46:44 -07:00
dcbef02765 cross: backfill test for list Appendable::append 2022-08-15 16:52:03 -07:00
a3f2b0b33f cross: list: more tests for fold operation 2022-08-15 03:39:22 -07:00
663d657969 cross: list: implement a Fold operation 2022-08-15 03:33:11 -07:00
1a86fb5ca3 cross: list: fold MaybeMeta and Meta into one trait 2022-08-15 02:32:47 -07:00
22051a39f8 cross: list: s/decl_/impl_/: these are implementations, not declarations 2022-08-14 21:04:52 -07:00
35d0e6a96d cross: list: add an Appendable trait.
this isn't tested... hope it works!
2022-08-14 21:03:49 -07:00
6e9b4465cb impl IntoList for all 100 list types
didn't end up using the Chomp stuff.
2022-08-14 21:01:49 -07:00
2225f98ec8 cross: list: implement IntoList on top of ChompTuple
this should be easier for macro generation of the impl.
2022-08-14 19:52:37 -07:00
df2ccac1d7 cross: list: implement Indexable up to P99
was previously P4
2022-08-13 03:50:11 -07:00
858e787c19 driver: allow preserving the Stimuli as a concrete List 2022-08-12 18:03:10 -07:00
40449c4165 stim: implement AbstractStimulus for any List of stimuli
note that this doesn't handle zero-length lists (yet).
2022-08-12 17:08:53 -07:00
c2f8acaf24 cross: add a List visitor/walker type 2022-08-12 16:17:26 -07:00
468f5c5225 cross: rename 'VariantHandler' -> 'Visitor' 2022-08-12 15:20:36 -07:00
7d1ee0ad50 meas: backfill tests for CurrentLoop 2022-08-05 17:35:55 -07:00