Commit Graph

2503 Commits

Author SHA1 Message Date
dzaima
df56f6b2fc fix 𝕨•FLines𝕩 with invalid elements in 𝕩 2023-08-13 03:51:06 +03:00
dzaima
a175c48104
Merge pull request #89 from mlochbaum/pext
Boolean compress
2023-08-08 14:11:52 +03:00
Marshall Lochbaum
2dd3a0fdfa Boolean compress implementation comments 2023-08-07 15:33:37 -04:00
Marshall Lochbaum
4e9745688b Use generic boolean Compress as the sparse case with Singeli 2023-08-07 13:47:58 -04:00
Marshall Lochbaum
a7908a10b0 Faster, sparse, non-Singeli boolean Compress 2023-08-07 12:26:40 -04:00
Marshall Lochbaum
bbad98bce1 In AVX2 boolean Compress, jump from 8 to 32 with 32-bit shifts 2023-08-07 11:41:53 -04:00
Marshall Lochbaum
120df26814 mullo works for both signed and unsigned 2023-08-07 11:23:38 -04:00
Marshall Lochbaum
d039562efe Fix disabled BMI2 boolean Compress; cleaner SIMD width system 2023-08-06 08:09:08 -04:00
Marshall Lochbaum
9046dd6b53 Handle boolean Compress SIMD tail with conditional write, not scalar loop 2023-08-06 08:03:14 -04:00
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