Commit Graph

1316 Commits

Author SHA1 Message Date
Marshall Lochbaum
0f7bfa2575 Implement bit_find and fast self-search for booleans 2022-10-23 22:08:08 -04:00
Marshall Lochbaum
96740566e9 Extend lookup code to boolean searched-for array 2022-10-23 22:08:08 -04:00
Marshall Lochbaum
d9519eb6e1 Extend table-based membership to Index-of 2022-10-23 22:08:08 -04:00
Marshall Lochbaum
0cb5e4ee10 Table-based 1- and 2-byte integer membership 2022-10-23 22:08:08 -04:00
Marshall Lochbaum
447ce6163f Introduce bit_has and use for ∧´, ∨´, and 𝕨∊bool 2022-10-23 22:08:08 -04:00
Marshall Lochbaum
236d8dedd6 Move search functions to search.c 2022-10-23 22:08:08 -04:00
dzaima
cc467ce8ca cleanup 2022-10-23 13:14:36 +03:00
dzaima
66584ce149 fix 0‿¯1⊏129⥊100 2022-10-21 18:17:12 +03:00
dzaima
f2b6b5d446 system value redefining with •ReBQN 2022-10-19 23:12:28 +03:00
dzaima
4d9a63f68b fix •ReBQN 2022-10-19 20:56:30 +03:00
dzaima
336049560b don't include •FFI if FFI is disabled 2022-10-19 19:31:21 +03:00
dzaima
ec62856b67 •listsys 2022-10-19 19:19:11 +03:00
dzaima
accd7384bd delay •file initialization 2022-10-19 19:16:13 +03:00
dzaima
a72778ed6f extract system value info to object 2022-10-19 19:15:21 +03:00
dzaima
64ce7ec6fe fix non-squeezed string •FFI arguments 2022-10-18 19:26:53 +03:00
Marshall Lochbaum
130653dbda Allow character arguments to •bit operations 2022-10-17 09:39:38 -04:00
Marshall Lochbaum
89c1b39c6d Don't allow 0 as a width for •bit 2022-10-17 09:39:38 -04:00
Marshall Lochbaum
698c902564 Implement scalar extension for •_bit 2022-10-17 09:39:38 -04:00
Marshall Lochbaum
022ef64f6b Add NOUNROLLs to bitwise functions 2022-10-17 09:39:38 -04:00
Marshall Lochbaum
80f8ac9643 2-argument •bit operations 2022-10-17 09:39:38 -04:00
Marshall Lochbaum
8f5259e77d Implement 1-argument •bit operations 2022-10-17 09:39:38 -04:00
dzaima
2a17d87572 calculate •FFI allocation layout ahead-of-time 2022-10-16 14:16:34 +03:00
dzaima
83af05d274 fix building on gcc≤10 2022-10-10 13:53:56 +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
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
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
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