Commit Graph

1411 Commits

Author SHA1 Message Date
dzaima
331d060956 update docs of •FFI 2022-10-08 19:59:03 +03:00
dzaima
2eecc0feda squeeze *u8/*u16/*u32 result
it has to sometimes be one size up to accommodate for the upper unsigned range, but often (?) it should fit fine in the signed range of its type
2022-10-08 19:59:03 +03:00
dzaima
ac041d37f4 fix WARN_SLOW build 2022-10-08 19:30:08 +03:00
dzaima
86fa4a066e FFI test for mutating a pointer within struct 2022-10-08 19:21:42 +03:00
dzaima
7e1c9b50cd initial struct support 2022-10-08 19:08:20 +03:00
dzaima
702d4e979d various utility changes 2022-10-08 19:03:41 +03:00
dzaima
529d2abae4 add warning about miscompilation for x86 on gcc 2022-10-08 14:41:44 +03:00
dzaima
7bda795365 fix gcc warnings about pointer casts in 32-bit builds 2022-10-07 12:57:59 +03:00
dzaima
abcb575a53 simplify bit boolean constant replicate start 2022-10-04 22:11:20 +03:00
dzaima
d1783e4706
Merge pull request #48 from mlochbaum/singelirep
Fast constant Replicate
2022-10-04 22:01:02 +03:00
Marshall Lochbaum
ce74e36a19 Fix lots of missing casts for function calls 2022-09-30 20:20:38 -04:00
dzaima
82ac059b75 disable clmul ≠` when pclmul not available 2022-09-30 20:06:52 +03:00
dzaima
e495efebf8 update Singeli submodule 2022-09-30 20:00:54 +03:00
Marshall Lochbaum
cca64bba70 Move nescan.c into md1.c and constrep.c into slash.c 2022-09-30 11:40:37 -04:00
Marshall Lochbaum
47cdf02877 Build Singeli files with a filename prefix 2022-09-30 11:35:25 -04:00
Marshall Lochbaum
cad566d547 Not-equals scan with carry-less multiply 2022-09-29 20:39:46 -04:00
Marshall Lochbaum
acc200222d Move constant Replicate Singeli code to its own file 2022-09-29 20:33:09 -04:00
Marshall Lochbaum
582afe33c9 Merge 3 to 7 replicate float with other types: shuffle instead of permute 2022-09-29 20:12:45 -04:00
Marshall Lochbaum
29886f355a Combine small-replication shuffle vector tables across types 2022-09-29 19:58:14 -04:00
Marshall Lochbaum
e407286185 BMI2-based constant boolean Replicate for 𝕨<=52 2022-09-28 21:56:57 -04:00
Marshall Lochbaum
0c0d967dc3 Adjust Table thresholds for fast constant Replicate 2022-09-28 17:18:55 -04:00
Marshall Lochbaum
09aba9bc37 slash.singeli is only used with __BMI2__ for now 2022-09-28 17:18:42 -04:00
Marshall Lochbaum
4836f70e0d Simplify rep_const_broadcast, removing unused kv==0 case 2022-09-28 14:14:39 -04:00
Marshall Lochbaum
d28a74b572 Move 4-shuffle data to a table 2022-09-28 13:35:08 -04:00
Marshall Lochbaum
9947de0146 Performance improvements when compiling slash.singeli 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
db3e0a6324 Move all the algorithm decision logic into main rep_const and simplify 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
c430922a7e Use shared functions and shuffle array for sizes 3 to 7 in constant Replicate 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
68aeb0f7cb Add large-constant replicate method always using 4 shuffles 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
7069a60453 Handle all constant Replicate in Singeli 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
15c405e7bf Factorize constant replicate lengths under 32 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
7535d768dd Singeli shuffle-based code for constant replicates <=7 2022-09-27 22:00:59 -04:00
Marshall Lochbaum
851f50635e Some simplifications in base.singeli 2022-09-27 22:00:59 -04:00
dzaima
46501ac819 update build & packaging information
closes #45
2022-09-27 17:53:06 +03:00
dzaima
d3ed718a6d branchless sparse Where block size bound was too big 2022-09-26 23:12:17 +03:00
dzaima
bd823839fe fixes for / 2022-09-25 18:45:46 +03:00
dzaima
1fcd5295eb slight attempt at improving ↕list 2022-09-25 14:55:49 +03:00
dzaima
5c87c291f9 refactor unroll/vectorization disabling macros 2022-09-25 14:49:57 +03:00
dzaima
2bb6750d7d better bitarr fill 2022-09-24 19:31:46 +03:00
dzaima
608489aed1 fix gcc singeli build 2022-09-24 19:30:10 +03:00
dzaima
4d42e19c27
Merge pull request #44 from mlochbaum/rep
Replicate, Indices, Reshape, sorting
2022-09-24 19:21:22 +03:00
dzaima
37a3979c86 clean up generic unit reshape case 2022-09-24 19:20:32 +03:00
Marshall Lochbaum
e8e10790f8 Fast array reshape 2022-09-23 17:40:30 -04:00
Marshall Lochbaum
218a8b069e Rework reshape of singleton 2022-09-23 15:32:27 -04:00
Marshall Lochbaum
8e24da8e8e Adjust Replicate thresholds 2022-09-23 08:22:41 -04:00
Marshall Lochbaum
8a13bf9476 Constant boolean replicate 2022-09-22 22:32:52 -04:00
Marshall Lochbaum
7f6cf06eea Merge scan-based sparse Indices/Replicate code with macros 2022-09-22 22:09:56 -04:00
Marshall Lochbaum
d647978c8f Type-independent Replicate by constant 2022-09-22 21:42:18 -04:00
Marshall Lochbaum
ec12dd4502 Switch to forward inclusive sums for all radix sorting, and use Singeli
Removes SWAR for 8-bit counts, since reverse sorting uses negatives
2022-09-22 16:44:05 -04:00
Marshall Lochbaum
8e1d8bb42c Use Singeli max/min scan for Indices and Sort 2022-09-22 15:17:54 -04:00
Marshall Lochbaum
bc4f5167fb Constant replicate using plus-scan 2022-09-21 19:40:04 -04:00