Commit Graph

2245 Commits

Author SHA1 Message Date
dzaima
4322303031 Fix 2‿2↕3‿3‿3⥊↕27 2023-10-12 12:43:08 +03:00
dzaima
9c68e67544 fix compilation error when targeting AVX1-only 2023-10-07 13:22:27 +03:00
dzaima
e7b87f669f fix arr÷negativeZero, set proper float expected values 2023-09-21 19:03:30 +03:00
dzaima
f6a9c30889 •internal.HeapStats 2023-09-18 23:38:06 +03:00
dzaima
df0ccdf2d7 add error message on missing posix_spawn support in make for-build 2023-09-17 13:39:22 +03:00
dzaima
299168fb16 fast numarr÷scalarPowOf2 2023-09-12 23:57:50 +03:00
dzaima
5efd90cc91 rename elWidthLogBits to something less long & add byte variant 2023-09-12 19:58:56 +03:00
Marshall Lochbaum
6330d61a88 Some rearrangement and minor simplifications 2023-09-12 10:24:00 -04:00
Marshall Lochbaum
72da47d48a Use standard for loops 2023-09-12 09:12:57 -04:00
Marshall Lochbaum
40ed55bc43 Use built-in NEON include for basic vector instructions 2023-09-11 21:17:38 -04:00
Marshall Lochbaum
7b9f7ba331 Move x86 vector and NEON includes into base.singeli 2023-09-11 20:25:25 -04:00
Marshall Lochbaum
082f800b3e Combine x86 vector extensions and use iintrinsic/basic when possible 2023-09-11 20:11:16 -04:00
Marshall Lochbaum
c85ca66dae Unify Scan and Bins min-scan code 2023-08-26 09:27:59 -04:00
Marshall Lochbaum
0a30fb309d SSE2 min- and max-scans 2023-08-26 07:26:33 -04:00
Marshall Lochbaum
a040a14744 Unify power-of-two shift pattern for scans 2023-08-26 07:26:33 -04:00
Marshall Lochbaum
d16ba6c3b1 Move xor-scan to scan.singeli; remove neq.singeli 2023-08-26 07:26:33 -04:00
Marshall Lochbaum
e261e80168 SSE min/max and pluswrap scans 2023-08-26 07:26:33 -04:00
Marshall Lochbaum
f9a4a5b68c Remove duplicated SSE4.1 min/max bindings 2023-08-26 07:26:33 -04:00
Marshall Lochbaum
00c454d37a Add generic-architecture versions of Singeli scans 2023-08-26 07:26:33 -04:00
dzaima
ec14d45c50 round up pointers in self-search allocs 2023-08-25 04:03:25 +03:00
dzaima
81a291f860 round up some pointers 2023-08-25 03:47:05 +03:00
dzaima
f0d6a65240 move unaligned load/store helpers to stuff.h
also replace a NULL with "" to make iBuf+0 not be UB
2023-08-25 03:24:42 +03:00
dzaima
8975f6af00 fast 1|x 2023-08-24 21:32:35 +03:00
dzaima
3e6e158696 native 𝕨⍷𝕩 when 1≥=𝕨 and 2≥=𝕩 2023-08-24 19:46:57 +03:00
dzaima
c5b98ea7a1 apparently LLVM actually uses pointer type to determine alignment 2023-08-20 22:57:30 +03:00
dzaima
6eaa9238bc separate BSDs 2023-08-20 19:33:11 +03:00
dzaima
34d4fd6433 more explicit loadu/storeu 2023-08-20 00:18:09 +03:00
dzaima
1bb686a9ff fix UB in grade.h 2023-08-19 21:48:11 +03:00
dzaima
2732becf50 global STR0/STR1 definitions 2023-08-19 20:12:53 +03:00
dzaima
721dccf636 fix FFI integer overflow check on ARM
clang optimizes a raw f!=(u8)f to like f!=(u32)f on ARM which changes behavior (we're technically using UB here, but there's no reasonable alternative); use q_ functions that know how to work around this
2023-08-19 20:12:53 +03:00
dzaima
25c2629842 •platform
incl. adding support for REPL completion of •a.b.c (i.e. >1 '.')
2023-08-19 18:25:52 +03:00
dzaima
4d19654e3b fix store types 2023-08-16 19:01:04 +03:00
dzaima
acca5c0c7c fix completely wrong dyTable lookup 2023-08-15 14:45:27 +03:00
dzaima
df56f6b2fc fix 𝕨•FLines𝕩 with invalid elements in 𝕩 2023-08-13 03:51:06 +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
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