Marshall Lochbaum
|
136c1afacc
|
Macro-ize integer min/max scan and add sorted flag
|
2022-11-16 20:49:57 -05:00 |
|
dzaima
|
a9737c22ea
|
extract bit array negation to function
|
2022-11-14 19:47:53 +02:00 |
|
dzaima
|
6467530823
|
use ty_u
|
2022-11-08 16:56:43 +02:00 |
|
Marshall Lochbaum
|
666a41ab12
|
1- and 2-byte Singeli boolean +`
|
2022-11-07 17:54:11 -05:00 |
|
dzaima
|
c1a77a24fb
|
fast (2⋆n)|ints
|
2022-11-03 15:35:41 +02:00 |
|
dzaima
|
bed2708537
|
move non-Singeli comparisons to function lookup
|
2022-10-27 19:27:15 +03:00 |
|
dzaima
|
8d6172126c
|
use void* instead of u8* for singeli function arguments
|
2022-10-25 17:27:08 +03:00 |
|
dzaima
|
83af05d274
|
fix building on gcc≤10
|
2022-10-10 13:53:56 +03:00 |
|
Marshall Lochbaum
|
ce74e36a19
|
Fix lots of missing casts for function calls
|
2022-09-30 20:20:38 -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
|
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
|
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 |
|
Marshall Lochbaum
|
6ed3c18389
|
Implement SIMD wrapping plus-scan for Replicate
|
2022-09-21 19:40:04 -04:00 |
|
dzaima
|
2358436b89
|
more efficient spreadBits{[8]u32, u8}
|
2022-09-08 21:51:25 +03:00 |
|
dzaima
|
d3a1fee437
|
singeli bit_sel
|
2022-09-08 21:39:51 +03:00 |
|
dzaima
|
96ca9092ba
|
attempt at better bit_sel dispatch
|
2022-09-08 00:37:44 +03:00 |
|
dzaima
|
59e947cc20
|
more consistent type checking & conversion functions
|
2022-09-07 23:56:03 +03:00 |
|
dzaima
|
1c279a0a20
|
fast bitarr×intarr
|
2022-09-06 22:47:16 +03:00 |
|
dzaima
|
a90e7de997
|
simpler atom-array arith on length 0 inputs
|
2022-09-06 18:24:49 +03:00 |
|
dzaima
|
311aa74303
|
simpler bitsel for ∨
|
2022-09-06 17:31:42 +03:00 |
|
dzaima
|
ce1c81219e
|
manual wideness check
|
2022-09-06 17:23:57 +03:00 |
|
dzaima
|
bffe16d6e9
|
fix overflowed & float functions
|
2022-09-05 23:23:51 +03:00 |
|
dzaima
|
c0b2164dc8
|
new array-atom arith
|
2022-09-05 22:52:53 +03:00 |
|
dzaima
|
76141f6fe6
|
reduce lifetime of e in dyArith_AA
|
2022-09-01 22:45:30 +03:00 |
|
dzaima
|
1b8bd0707e
|
make dyarith array-array dispatch its own function
|
2022-09-01 22:22:13 +03:00 |
|
dzaima
|
5cfa89ad5a
|
separate functions for comparison scalar & array cases
|
2022-09-01 15:06:34 +03:00 |
|
dzaima
|
88f73d2585
|
fix comment & add note
|
2022-08-31 22:22:03 +03:00 |
|
dzaima
|
ce1032f80d
|
second instruction shouldn't have a swap requirement anymore
|
2022-08-29 23:09:47 +03:00 |
|
dzaima
|
8ea2352a7b
|
clear out swap table after first instruction generation
|
2022-08-29 23:08:38 +03:00 |
|
dzaima
|
70ee775a33
|
fix i16arr+i8arr overflow
|
2022-08-29 22:59:12 +03:00 |
|
dzaima
|
39a0a894e2
|
correct char-char→signed int overflow checking
|
2022-08-29 22:48:46 +03:00 |
|
dzaima
|
78e5799147
|
merge dyarith.singeli and dyarith2.singeli
|
2022-08-29 19:18:20 +03:00 |
|
dzaima
|
777c5cc1a5
|
rename things
|
2022-08-29 19:05:34 +03:00 |
|
dzaima
|
ce5ece34e1
|
new arith
|
2022-08-28 23:28:06 +03:00 |
|
dzaima
|
1694bfb7d2
|
s?p?rnk(x) → S?P?RNK(x)
|
2022-08-20 08:36:59 +03:00 |
|
dzaima
|
e6b4f85662
|
x->ia → IA(x) / PIA(x)
|
2022-08-20 08:30:03 +03:00 |
|
Marshall Lochbaum
|
56a1d9ec4c
|
Singeli integer ⌊ and ⌈
|
2022-08-15 16:01:17 -04:00 |
|
dzaima
|
046284b96f
|
random cleanup
|
2022-07-22 03:59:44 +03:00 |
|
dzaima
|
041a87ff98
|
make valgrind accept /𝕩 and 𝕨/𝕩 impls
|
2022-07-10 01:51:15 +03:00 |
|
dzaima
|
0684fe5fcb
|
some fixes for ubsan
|
2022-07-10 01:43:21 +03:00 |
|
dzaima
|
74eaa3853f
|
optimize squeeze result choosing
|
2022-06-30 03:51:00 +03:00 |
|
dzaima
|
859be5efb2
|
singeli chr_squeeze
|
2022-06-30 01:47:57 +03:00 |
|
dzaima
|
75bfa5d905
|
singeli num_squeeze
|
2022-06-30 01:47:50 +03:00 |
|
dzaima
|
8c73112d6c
|
pull latest singeli
|
2022-05-07 15:28:30 +03:00 |
|
dzaima
|
1babdf247f
|
unified int & char cases for bitarr/x
|
2022-04-30 21:49:47 +03:00 |
|
dzaima
|
de0352caf3
|
more usage of non-zero length for loops
|
2022-04-25 18:03:15 +03:00 |
|
dzaima
|
95455241a4
|
don't do useless tail case
|
2022-04-25 16:08:03 +03:00 |
|
dzaima
|
ab868a55f3
|
singeli copy
|
2022-04-25 03:06:11 +03:00 |
|
dzaima
|
37da98d871
|
singeli code cleanup
|
2022-04-21 22:05:47 +03:00 |
|
dzaima
|
7cd19c2840
|
use ~~ more
|
2022-04-21 19:35:35 +03:00 |
|
Marshall Lochbaum
|
3aea6aa9d0
|
Boolean prefix sum using AVX2 shuffling instead of pdep
|
2022-04-21 11:43:25 -04:00 |
|
dzaima
|
4c03520a07
|
use maskedLoop in dyarith
|
2022-04-21 18:33:36 +03:00 |
|
dzaima
|
113f72e86d
|
singeli bitarr conversion to wider arrays
|
2022-04-21 18:27:20 +03:00 |
|
dzaima
|
b1fd85621a
|
actually use maskstore
|
2022-04-21 17:48:05 +03:00 |
|
dzaima
|
6f5414b2a5
|
∨`bitarr
|
2022-04-21 15:12:23 +03:00 |
|
dzaima
|
c3504ec42b
|
proper includes
|
2022-04-21 04:13:14 +03:00 |
|
dzaima
|
cd431d3338
|
singeli +`
|
2022-04-21 03:51:37 +03:00 |
|
dzaima
|
11d95b67d5
|
better error messages for no inverse header
|
2022-04-15 23:20:44 +03:00 |
|
dzaima
|
a4a72a78c4
|
singeli select (disabled)
|
2022-04-12 16:45:43 +03:00 |
|
dzaima
|
422dc80283
|
decG round 4
|
2022-04-07 17:19:36 +03:00 |
|
dzaima
|
04dbf9a9a4
|
add another sse3 include
|
2022-04-07 11:40:03 +03:00 |
|
dzaima
|
4a316c9398
|
don't include setjmp.h when CATCH_ERRORS=0
|
2022-04-06 18:52:54 +03:00 |
|
dzaima
|
1609e8b651
|
singeli cleanup
|
2022-04-04 16:28:13 +03:00 |
|
dzaima
|
e031b069fb
|
test special float values
|
2022-04-02 20:00:34 +03:00 |
|
dzaima
|
b329ddee1d
|
unaligned 128-bit vector loads
|
2022-04-02 17:57:49 +03:00 |
|
dzaima
|
40dc184063
|
use singeli for c16lut generation
|
2022-04-02 17:19:20 +03:00 |
|
dzaima
|
49ff5a04ff
|
singeli ≡
|
2022-04-02 16:58:35 +03:00 |
|
dzaima
|
b6dc3cc239
|
/bitarr → i8arr & i16arr
|
2022-04-01 23:30:57 +03:00 |
|
dzaima
|
37bf551e54
|
BMI2 bitarr/i8arr & bitarr/i16arr
|
2022-04-01 22:41:32 +03:00 |
|
dzaima
|
54a9000d88
|
more general any-not-equal check
|
2022-03-28 02:54:13 +03:00 |
|
dzaima
|
09e48854dd
|
skip 16-bit movmsk for addition & subtraction
|
2022-03-28 01:56:46 +03:00 |
|
dzaima
|
60d3ba8c64
|
singeli collect
|
2022-03-20 00:30:06 +02:00 |
|
dzaima
|
4de990a73b
|
bit of singeli cleanup, JIT comment
|
2022-03-18 15:24:13 +02:00 |
|
dzaima
|
47c8c1e5de
|
singeli: iota, better make
|
2022-03-13 18:46:57 +02:00 |
|
dzaima
|
d771f07b30
|
more random singeli additions
|
2022-03-13 15:40:59 +02:00 |
|
dzaima
|
5cd19eafe8
|
vectorized dyadic arith tail element handling
|
2022-02-27 18:46:35 +02:00 |
|
dzaima
|
b1483e14e1
|
random singeli functions
|
2022-02-25 23:46:18 +02:00 |
|
dzaima
|
369831827a
|
better singeli type restriction checks
|
2022-02-25 21:44:38 +02:00 |
|
dzaima
|
7af80e9e3c
|
singeli cast changes
|
2022-02-25 18:22:26 +02:00 |
|
dzaima
|
0d977b73cd
|
clean up some singeli
|
2022-01-25 19:54:18 +02:00 |
|
dzaima
|
3fb793526c
|
)erase; try to not oom on printing errors
|
2022-01-19 01:02:07 +02:00 |
|
dzaima
|
39d1fc0eb3
|
fix precedence
|
2022-01-16 04:50:09 +02:00 |
|
dzaima
|
a6d4c8bb32
|
more singeli definitions
|
2022-01-12 18:29:27 +02:00 |
|
dzaima
|
1770251bad
|
singeli + & - & ×
|
2021-12-18 22:30:00 +02:00 |
|
dzaima
|
e7662b0f6a
|
separate array & scalar cases in arith builtins
|
2021-12-13 00:16:23 +02:00 |
|
dzaima
|
dba145a14b
|
rename folder
|
2021-10-28 17:50:10 +03:00 |
|
dzaima
|
dfa04f4922
|
properly free 𝕩 when needed
|
2021-10-26 16:15:33 +03:00 |
|
dzaima
|
8eb3989d84
|
separate avx file
|
2021-10-25 16:18:03 +03:00 |
|
dzaima
|
071aebd8ea
|
god dammit c compilers, why
|
2021-10-25 15:45:28 +03:00 |
|
dzaima
|
798f6e9e17
|
move length zero check outside singeli
|
2021-10-25 14:00:01 +03:00 |
|
dzaima
|
4e17e28d4a
|
get rid of function pointer cast
|
2021-10-25 13:40:40 +03:00 |
|
dzaima
|
4717023167
|
cmp C cleanup, assert length!=0 before while
|
2021-10-25 12:27:21 +03:00 |
|
dzaima
|
f8798affc4
|
full array-scalar comparison error checking in singeli
|
2021-10-25 01:59:25 +03:00 |
|
dzaima
|
3e372620a2
|
array-scalar comparison function lookup table
|
2021-10-24 21:12:39 +03:00 |
|
dzaima
|
d42dd3dcf9
|
merged typed types
|
2021-10-22 17:11:54 +03:00 |
|
dzaima
|
4ca34e3f8e
|
function lookup table
|
2021-10-22 09:53:40 +03:00 |
|
dzaima
|
5d76148c51
|
lazy singeli bit comparison fns
|
2021-10-22 00:58:34 +03:00 |
|
dzaima
|
71c454235c
|
singeli
|
2021-10-22 00:17:44 +03:00 |
|