Marshall Lochbaum
07ace41d6c
Vectorized version of the clmul boolean Compress
2023-08-06 07:36:05 -04:00
Marshall Lochbaum
371aa6f2ef
AVX2 boolean Compress using variable shifts
2023-08-05 21:50:22 -04:00
Marshall Lochbaum
66c0fe041c
Get pext and popcount together, since generic pext emulation includes popc
2023-08-05 20:38:54 -04:00
Marshall Lochbaum
056b18edd2
Move pext-based compress loop from C to Singeli
2023-08-05 20:38:54 -04:00
Marshall Lochbaum
7767cf933f
Remove boolean Compress overallocation: not needed with w masked off
2023-08-05 20:38:54 -04:00
Marshall Lochbaum
e09d385df5
Simplify pairwise pext implementation; drop 12-bit as no longer competitive
2023-08-05 20:38:54 -04:00
dzaima
7fe1ab930a
FFI: permit 𝕨≡⟨⟩, require 𝕩≡⟨⟩ if no arguments are on 𝕩, check list rank
2023-08-05 16:13:07 +03:00
dzaima
fd4477992f
fall back from clang to cc in build.bqn & default makefile to cc
...
even without the makefile change here, a `make o3` will work without clang, but it gave harmless errors from the CC_IS_CLANG check before the makefile recurses to where the custom CC is set (and CC_IS_CLANG recomputed)
2023-08-04 22:27:41 +03:00
dzaima
682d5986d8
slightly more accurate trailing newline removal for •GetLine
2023-08-04 21:09:45 +03:00
dzaima
a1e4f9bd6f
remove multiple trailing newline characters from •GetLine
...
Windows adds \r\n, and without this the \r stays
2023-08-04 20:52:07 +03:00
dzaima
8e35241e47
Better error messages for unknown namespace key
2023-08-03 22:54:38 +03:00
dzaima
0b6c5189d8
move arithdDispatch declarations to a header
...
+ rename some things to make more sense
2023-07-31 20:26:05 +03:00
dzaima
627a7e0771
more FFI error checking, plus bugfixes
2023-07-28 15:25:06 +03:00
dzaima
1bc96f5557
extract u8/u16/u32/f32 reading functions
2023-07-28 14:02:22 +03:00
dzaima
1454ca3a1a
expand & test FFI error checking
2023-07-28 13:59:25 +03:00
dzaima
79f72d84b8
extract unsigned & f32 copying functions in ffi.c
2023-07-28 13:41:03 +03:00
dzaima
ed07995e68
don't rely on thing that doesn't hold outside of Singeli SIMD-ful builds
2023-07-26 17:58:35 +03:00
dzaima
0d7de8b190
define ux in Singeli, replacing Size; return ux from popc/clz/ctz
2023-07-26 17:42:23 +03:00
dzaima
f416d58579
compiler version updates in readme
2023-07-23 18:00:51 +03:00
dzaima
f7a0eb94a3
don't use AVX2 buffer copying for a 16-byte buffer
2023-07-22 21:34:20 +03:00
dzaima
1451395ef5
don't do fancy char stuff for unchecked arith
2023-07-22 21:13:49 +03:00
dzaima
959614c785
use partial application
2023-07-22 18:19:31 +03:00
dzaima
033f3de6b9
remove unnecessary lambda wrappers
...
also use fmtnat
2023-07-22 18:15:07 +03:00
dzaima
cc160910a2
update Singeli submodule
2023-07-22 17:43:58 +03:00
dzaima
446b2d09ed
Singeli renames & docs
2023-07-22 17:37:20 +03:00
dzaima
6e96600878
move unaligned load & store to base.singeli
2023-07-20 00:21:09 +03:00
dzaima
0486adccb5
fix signedness of abs{x}
2023-07-20 00:19:54 +03:00
dzaima
2243fa76c1
better base case list
2023-07-19 21:56:35 +03:00
dzaima
eb46ec8d9c
rename __mulhi & __mul32
2023-07-19 21:54:12 +03:00
dzaima
700d69e7dd
unpack → zip & mzip; enable slash.singeli SIMD parts for NEON
2023-07-19 21:39:22 +03:00
dzaima
ba2e859dce
use existing unpackLo in neq.singeli
2023-07-19 20:56:08 +03:00
dzaima
0a4a0f3e2a
Merge pull request #88 from mlochbaum/compress
...
Singeli where/compress
2023-07-19 20:46:52 +03:00
dzaima
19b35e1074
fix size comment
2023-07-19 20:11:14 +03:00
dzaima
9945711b5e
AVX2 i32 & i64 slash{} via widening load
2023-07-19 20:00:46 +03:00
dzaima
ff9bb258c2
more comments in slash.singeli
2023-07-19 18:50:01 +03:00
dzaima
48111d4873
extract iota{} for AVX-512
2023-07-19 17:24:20 +03:00
dzaima
a0797318ca
use has_simd & arch_defvw
2023-07-19 17:03:41 +03:00
dzaima
03c21112c2
make NEON builds work
2023-07-19 16:58:35 +03:00
dzaima
6930bc34b6
further update slash.c implementation comments
2023-07-19 16:51:24 +03:00
Marshall Lochbaum
77188b8e73
Add clmul.singeli
2023-07-19 09:38:37 -04:00
Marshall Lochbaum
301a23fb1f
Update where/compress implementation comments
2023-07-19 09:35:40 -04:00
Marshall Lochbaum
c4364aefa6
SSSE3 4-byte compress with half-width table
2023-07-19 08:15:53 -04:00
Marshall Lochbaum
ba837ba01b
Remove table-less where/compress methods, as they're not competitive
2023-07-19 07:22:55 -04:00
Marshall Lochbaum
64d65ae837
Never use generic dense compress methods if use_table: where is faster
2023-07-18 21:35:12 -04:00
Marshall Lochbaum
b0e0f210c6
2- and 4-byte Where with unpack and table
2023-07-18 21:10:39 -04:00
Marshall Lochbaum
93e1262864
Avoid using popcount primitive in Singeli if POPCNT isn't present
2023-07-18 16:52:08 -04:00
Marshall Lochbaum
6df283c379
Always increment by full popcount instead of two halves when splitting byte
2023-07-17 17:52:59 -04:00
Marshall Lochbaum
2f6a8e55a1
Always use vectors for for_special_buffered buffer copy
2023-07-17 16:52:10 -04:00
Marshall Lochbaum
8add95b7ab
Remove BMI2 where/compress methods
2023-07-17 16:20:30 -04:00
Marshall Lochbaum
f005169518
1- and 2-byte compress with table and SSSE3
2023-07-17 16:19:05 -04:00