dzaima
d885a7d965
don't leave the temporary bootstrap CBQN around
2024-06-26 06:41:27 +03:00
dzaima
79127db4a2
Merge pull request #113 from mlochbaum/fold-rows
...
Boolean row insert and scan
2024-06-26 06:41:00 +03:00
dzaima
6824b9a747
fix another unaligned load
2024-06-26 06:09:30 +03:00
dzaima
7474e51642
rename mask_of in spaced.singeli
...
otherwise confusable with maskOf in mask.singeli
2024-06-26 05:39:48 +03:00
dzaima
452065adaf
add magic incantation to make optimizer happy
2024-06-26 05:30:09 +03:00
Marshall Lochbaum
e365ecf7dc
Fix F`˘ on rank 0
2024-06-25 22:31:47 -04:00
Marshall Lochbaum
ace6105bf6
Fixes for ∧˝˘ and ∨˝˘ on long rows
2024-06-25 22:30:56 -04:00
dzaima
445da5a659
actually test for correctness
2024-06-26 04:22:03 +03:00
dzaima
8e7f19a883
make cells test work under heapverify
...
disables checking whether the result is correct, which is not important during heapverify
2024-06-26 03:46:08 +03:00
dzaima
b6bf3f2da6
suppress clang ubsan warning
...
it's a true warning of actual UB and could conceivably be taken advantage of by a compiler, but is not currently so keep things pretty for now
2024-06-26 03:36:02 +03:00
dzaima
8d5efa72f0
testing of ˝˘ & `˘
2024-06-26 03:18:23 +03:00
dzaima
024ab669d5
fix ∧˝˘0‿8⥊0 running comparison functions on length-0 inputs
2024-06-26 03:09:43 +03:00
dzaima
6c110a29ee
use loadu_* & storeu_* for unaligned loads/stores
2024-06-26 03:09:43 +03:00
dzaima
ace06e96ae
document CMP_* non-zero length requirement
2024-06-26 03:09:43 +03:00
dzaima
7e15dfe104
make loadu_*/storeu_* take void*
2024-06-26 03:03:57 +03:00
Marshall Lochbaum
e952e4ca3e
Disable F´˘ special code when cell rank isn't 1
2024-06-23 17:06:37 -04:00
Marshall Lochbaum
5758853ccb
Can't call fold-rows special code with reduction length 0
2024-06-23 10:00:44 -04:00
Marshall Lochbaum
5f1c677d48
Support ∧∨ synonyms in fold_rows_bit
2024-06-20 11:05:59 -04:00
Marshall Lochbaum
355efd1eb4
Insert-cells and scan implementation comments, and minor tweaks
2024-06-19 18:36:53 -04:00
Marshall Lochbaum
4b0f105a7f
Implement short-row num⊏˘bool (including ⊣˝˘ ⊢˝˘) with fold code
2024-06-18 14:05:16 -04:00
Marshall Lochbaum
cb1b72fbb2
Extend boolean F˝˘ special code to any ranks
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
1e6c7057e8
Extend boolean F`˘ special code to any frame and cell rank
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
5e3cc6de81
Refactoring, simplification, comments
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
a8b036ad08
Implement ≠˝˘ and =˝˘ like ∧∨ on width<64 boolean
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
f0f130c42e
Use a lookup table for evenly-spaced masks, getting division results from those
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
e6f1e04de2
Fast generic and pext-based ∧˝˘ and ∨˝˘ on width<64
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
40bf3bfd1c
AVX2-based boolean short-row scans
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
6d27dd391b
Clean up scan_rows_bit logic and implement -˘ as (2×⊣˘)-+`˘
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
efde979fe9
Fast boolean ⊣`˘
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
3b61568fda
Implement boolean list scans ->≤≥ using more common scans
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
fde29684d7
Tweak for faster +`˘ on very short boolean rows
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
8e47221c9f
Implement monadic boolean = with ≠
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
8331a05547
Boolean ≠`˘ implementation
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
bd64e8bcd2
Faster boolean +`˘ for short rows based on flattened prefix sum
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
5591d0f4f0
Boolean row-wise scans ∧˘ and ∨˘
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
7b4468c394
Move logical fold-rows functions to Singeli
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
2590222988
Generic-architecture implementations of fold.singeli
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
d29b4df50c
Boolean and, or, eq folds for row length >64
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
c76e175719
Faster boolean +˝˘, and ≠˝˘ on row length >64
2024-06-18 07:46:31 -04:00
Marshall Lochbaum
ab4e5543a0
Implement matrix ⊣˝˘ and ⊢˝˘ with select_cells
2024-06-18 07:46:31 -04:00
dzaima
4ab84c05f6
handle header […]←rank0 properly
2024-06-16 14:00:40 +03:00
dzaima
563c30c596
allSame Singeli helper, make NEON homMask accept signed types
2024-06-16 14:00:40 +03:00
dzaima
d85f628d72
accept tuple argument in homMask
2024-06-14 04:28:53 +03:00
dzaima
8c111c2189
suppress clang vfor warnings on bootstrap build
2024-06-11 04:21:38 +03:00
dzaima
73123f5bde
even faster »⎉1 & «⎉1 for narrow bitarr 𝕩
2024-06-06 23:36:45 +03:00
dzaima
cc3c6985ad
faster unit»⎉1𝕩 / unit«⎉1𝕩
2024-06-05 13:53:09 +03:00
dzaima
17339eceae
proper description of reshape_one
2024-06-05 13:52:25 +03:00
dzaima
b32f22ee89
fix MM=0 build
2024-06-05 03:32:41 +03:00
dzaima
ae3128c180
relax CHECK_IA in takedrop_highrank
...
future overflow in ria*elWidth when allocating shouldn't be a worry as all such calculations should be done in u64, and CHECK_IA(x, 1) guarantees that x is (much) less than 2^60 in both usz configurations
2024-06-05 02:30:00 +03:00
dzaima
e04819a28d
make TYARR_SZ always operate in u64
...
shouldn't change anything on 64-bit platforms as the sizeof in fsizeof should already give size_t
2024-06-05 02:23:15 +03:00