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 |
|
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
|
0d7de8b190
|
define ux in Singeli, replacing Size; return ux from popc/clz/ctz
|
2023-07-26 17:42:23 +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
|
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
|
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 |
|
Marshall Lochbaum
|
68978f7e10
|
Table-based 1- and 2-byte Where
|
2023-07-17 16:05:06 -04:00 |
|
Marshall Lochbaum
|
fc187afdf2
|
Extend 1-byte SSE2 Where to 2-byte and 4-byte with unpacked writes
|
2023-07-17 11:28:04 -04:00 |
|
Marshall Lochbaum
|
8b297ae2dc
|
Dedicated 32-bit Singeli where, taking index offset
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
3bd8d1de68
|
Extend all Singeli Compress methods to do Where
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
4415869496
|
Generic Singeli where implementation
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
c484f8ee8d
|
Avoid UB from shifting by 64
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
da5f1faa07
|
Merge BMI2 slash{} cases, with some simplifications
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
b244ba98f5
|
Unify slash1{} and slash2{}
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
f5121f6806
|
Thresholds for compress methods (versus sparse) defined in Singeli
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
824bb04b4d
|
Plain SSE2 1-byte compress
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
f852d12a5c
|
Generic Singeli compress implementation
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
f36426031a
|
Slightly faster table-less compress method
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
84a928863b
|
AVX-512 compress implementations
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
80e93c41c9
|
Use new undefined{type,len} instead of alloca
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
13b3bcd74b
|
Table-less AVX2 1-byte compress
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
d956ba921b
|
Non-overwriting 1-byte and 2-byte compress/where
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
8f4b1966cb
|
Non-overwriting AVX2 4-byte and 8-byte compress, using a buffer
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
9010f648bb
|
Unify permutevar-based compress implementations
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
0921fc2c62
|
AVX2 compress implementations using permutevar and lookup tables
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
03d8919307
|
Add has='pclmul' option and avoid using broadcast
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
871a81ca5f
|
BMI2 pext not-emulation in Singeli
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
1314859a80
|
clmul-based pext emulation
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
f315a6d3ea
|
Emulate pext instruction in Singeli
|
2023-07-16 21:56:33 -04:00 |
|
dzaima
|
3946f2cc87
|
use new Singeli builtins
|
2023-07-17 02:23:50 +03:00 |
|
dzaima
|
6305a3bd50
|
change error message of failed path_abs
|
2023-07-16 16:31:10 +03:00 |
|
dzaima
|
cf6a290e5c
|
•file.RealPath
|
2023-07-16 01:42:30 +03:00 |
|
dzaima
|
d1e511bebd
|
add padding before allocations & document it
|
2023-07-13 16:20:37 +03:00 |
|
dzaima
|
9cfc3f3f25
|
various changes on filling arrays with the same element
|
2023-07-12 16:23:03 +03:00 |
|
vylsaz
|
e4542f70a6
|
Implement •term.CharN and •term.RawMode for Windows
|
2023-07-11 03:15:48 +00:00 |
|
vylsaz
|
ce255c4a53
|
Enable •file.CreateDir on Windows
|
2023-07-11 01:11:28 +00:00 |
|
dzaima
|
0601a86f56
|
don't special-case 2/𝕩 on NEON
|
2023-07-11 02:40:05 +03:00 |
|
dzaima
|
56a1fc3637
|
use float getting functions for getting floats
|
2023-07-10 23:48:07 +03:00 |
|
dzaima
|
9b0299d1a5
|
fix (<1)≠`5⥊1
|
2023-07-10 23:25:28 +03:00 |
|
dzaima
|
53266ffd88
|
fix (<1)⌈`↕10
|
2023-07-10 23:21:36 +03:00 |
|
dzaima
|
158a3beb2e
|
partially clear object on free in debug mode
catch some more of what valgrind would relatively cheaply
|
2023-07-10 22:55:19 +03:00 |
|
dzaima
|
acbfcd7302
|
fix another weird case of 𝕨∾𝕩
|
2023-07-10 22:55:00 +03:00 |
|
dzaima
|
24fea51bdd
|
fix unshare of fillslice
|
2023-07-10 22:55:00 +03:00 |
|
dzaima
|
cb9f4dbbc1
|
remove debug include
:|
|
2023-07-10 19:19:55 +03:00 |
|
dzaima
|
cd7807fba0
|
NEON constrep
|
2023-07-10 17:11:15 +03:00 |
|
dzaima
|
1cea42cad3
|
use getter over 𝕨 for generic 𝕨⍋𝕩
doesn't change perf, but leads to fast amortized long⍋short
|
2023-07-10 16:50:02 +03:00 |
|
dzaima
|
bf89d2d561
|
a little size reduction on write_indices
|
2023-07-10 16:29:21 +03:00 |
|
Marshall Lochbaum
|
f6d1f9fcab
|
Move utilities from bins to appropriate files
|
2023-07-10 07:14:44 -04:00 |
|
Marshall Lochbaum
|
492e97e2ca
|
Right argument narrowing for numeric Bins
|
2023-07-10 07:14:44 -04:00 |
|
Marshall Lochbaum
|
9511598aa3
|
Fast Bins when either argument is boolean
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
1fa00c9c6f
|
Update bins implementation comments
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
46c6d47055
|
Permutevar instead of shuffle for 4-byte vector binary search
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
fc57e0012d
|
Shuffle-based 4-byte vector binary search
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
af5ba0a2d2
|
Switch from Eytzinger to linear search on extra lanes
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
64ae8f9afd
|
Slightly better blend pattern for >16-byte bit table
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
c8d20fbf26
|
And 2-byte vector binary search on 4 lanes
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
fe92f91ca1
|
2-byte vector binary search on 2 lanes
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
d19df2693a
|
Merge 1-byte table code with normal bins_lookup
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
f36dc7adba
|
Use max-scan instead of plus-scan for 1-byte Bins table
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
8054597004
|
Handle up to 64 unique values in bit-table 1-byte Bins
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
b62bd02bc0
|
Precomputed midpoint bits in vector binary search
Clang already optimized to this but it's more explicit
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
7f5ba961c2
|
Use default bins_lookup if there's no AVX2
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
1080236433
|
2-byte vector binary searches
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
d665b90bbf
|
Slightly faster binary search pattern with a blend
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
a711eb72eb
|
Table-based 2-byte Bins, using max-scan
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
724f685a57
|
Cleanup
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
2c9e07f33d
|
1-byte Bins up to 32 unique eleemnts by unique lookup then index
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
81da9c586f
|
Table-based 1-byte Bins with >1-byte result
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
0346ff7c2d
|
Use type of ≠𝕨 for Singeli Bins result and allocate outside Singeli
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
e0621f99f8
|
Unroll vector binary searches for different search depths
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
38671e3fe9
|
Fast handling for length-1 𝕨 in Bins
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
ed9e8b4057
|
Table-based 1-byte Bins implementations, including AVX2
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
7161689196
|
Fix bin_search_vec over-writing
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
302d637129
|
Allocate binary search result in Singeli, using i8 for vectors
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
70249d8b64
|
In bins, promote to smallest common int type instead of i32
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
4f93b5849b
|
Fix shape of char⍋num result (was deshaped)
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
ec9b875503
|
Separate is-sorted check from Bins implementation
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
ff9919dde2
|
AVX2 binary search on one lane of i8 (unused for now)
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
5424c57b7e
|
Use Singeli float binary search
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
ee84f9fe1f
|
4-way branchless binary search unrolling
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
464a53463d
|
Generic Singeli version of 32-bit binary search
|
2023-07-10 07:13:21 -04:00 |
|
dzaima
|
6b5815dcc2
|
fix shape of k/n‿1⥊1
|
2023-07-10 02:40:36 +03:00 |
|
dzaima
|
8975be082b
|
fix •ns.Get error message
|
2023-07-09 15:58:31 +03:00 |
|
dzaima
|
5c7934387a
|
update Singeli submodule, match{} → same{}
|
2023-06-29 15:19:57 +03:00 |
|
dzaima
|
a67a19dd0b
|
move pair{{a,b}} expanding to base.singeli
|
2023-06-29 01:31:58 +03:00 |
|
dzaima
|
4ee8dfbbda
|
update Singeli submodule, use destructuring parameters
|
2023-06-28 00:59:28 +03:00 |
|
dzaima
|
3ae9b14d64
|
separate arith inits, add comments on init order
|
2023-06-23 12:10:42 +03:00 |
|
dzaima
|
7618dce2f3
|
fix return value of overflowed dyadic arith
|
2023-06-23 12:10:42 +03:00 |
|
dzaima
|
5f43bf16b3
|
add direct typed array type test macro
|
2023-06-23 12:10:42 +03:00 |
|
dzaima
|
4dbe72ae03
|
properly indicate estimating Singeli instructions
|
2023-06-23 11:51:34 +03:00 |
|
dzaima
|
8f8380749b
|
generic Singeli builds
|
2023-06-16 11:12:15 +03:00 |
|
dzaima
|
5032c9a3ab
|
remove unnecessary 'over _ to'
|
2023-06-15 19:12:20 +03:00 |
|
dzaima
|
90e7537225
|
move maskedLoopPositive to @-based
|
2023-06-15 19:09:53 +03:00 |
|
dzaima
|
dee29a1a02
|
block → iter
|
2023-06-15 18:11:57 +03:00 |
|
dzaima
|
9da567cd57
|
switch to new Singeli block execution
|
2023-06-15 18:08:57 +03:00 |
|
dzaima
|
2da457dafa
|
fix el_half
|
2023-06-15 00:32:19 +03:00 |
|
dzaima
|
4260ef93b3
|
rename away underscores in __adds and __subs
plus add NEON addw, subw, and mulw (which is renamed from mul1)
|
2023-06-12 00:52:09 +03:00 |
|
dzaima
|
2a52dff482
|
@-forms of maskedLoop and muLoop
|
2023-06-12 00:52:09 +03:00 |
|
dzaima
|
fe8892ce6c
|
rearrange shrm/shlm args, slightly better NEON homMask{[16]u8}
|
2023-06-12 00:52:09 +03:00 |
|
dzaima
|
336f986986
|
change error messages in ◶
|
2023-06-12 00:52:09 +03:00 |
|
dzaima
|
8542ba071d
|
homMaskX, merging multi-arg homMask
|
2023-06-07 18:14:18 +03:00 |
|
dzaima
|
934a2b5ae3
|
rearrange things
|
2023-06-06 21:44:50 +03:00 |
|
dzaima
|
087bf06cac
|
fix type warnings
|
2023-06-01 20:12:51 +03:00 |
|
dzaima
|
efa1c4a4ff
|
__declspec(dllexport)
|
2023-06-01 19:04:34 +03:00 |
|
dzaima
|
78bef5fe32
|
consistent 𝕨⊏𝕩 error messages across argument types
|
2023-05-30 14:28:36 +03:00 |
|
dzaima
|
2eb12fef82
|
fix replxx under os=windows
|
2023-05-30 13:37:15 +03:00 |
|
dzaima
|
7e5b2e0557
|
don't unroll/vectorize extremely tiny loop
|
2023-05-30 12:52:17 +03:00 |
|
dzaima
|
5738712bbb
|
improve environ declaration
|
2023-05-30 12:52:00 +03:00 |
|
dzaima
|
c03dd349e4
|
disallow •ReBQN constructing namespaces, ignore RETD in interactive REPL
|
2023-05-27 16:37:42 +03:00 |
|
dzaima
|
da5280021c
|
rename compile → compileAll
|
2023-05-27 15:38:57 +03:00 |
|
dzaima
|
227dfa20c7
|
use isatty as a default for notui
|
2023-05-25 00:16:16 +03:00 |
|
dzaima
|
55e0409582
|
don't CTZ(0) in gcd
|
2023-05-24 15:13:25 +03:00 |
|
dzaima
|
c3681a0557
|
update type number comments
|
2023-05-22 14:17:53 +03:00 |
|
dzaima
|
3872f5a625
|
fix 𝕨∾𝕩 reuse logic
|
2023-05-22 11:40:37 +03:00 |
|
dzaima
|
20a946d085
|
dynamically switch fork functions
|
2023-05-22 00:32:44 +03:00 |
|
dzaima
|
b093ebbc66
|
finish PICK_IDX message
|
2023-05-22 00:18:59 +03:00 |
|
dzaima
|
f0744f16d0
|
fix erroring variable read
|
2023-05-22 00:11:21 +03:00 |
|
dzaima
|
e8caed529c
|
fix JIT SETUi/SETMi/SETCi missing unset variable checks
|
2023-05-22 00:08:20 +03:00 |
|
dzaima
|
de5bcfe211
|
static library
|
2023-05-21 23:47:40 +03:00 |
|
dzaima
|
fd72ea79c8
|
another gcc warning
|
2023-05-21 23:39:18 +03:00 |
|
dzaima
|
d15d8febbe
|
slightly less wrong superset fills for 𝕨∾𝕩
|
2023-05-20 14:28:37 +03:00 |
|
dzaima
|
d6609df820
|
reserve •CurrentError with namespace 𝕩
|
2023-05-20 14:28:37 +03:00 |
|
dzaima
|
1e22b48225
|
in-place ∾ for fillarrs & fillslices
|
2023-05-20 14:05:22 +03:00 |
|
dzaima
|
bc19e7372d
|
fix pointer check in eachm_fn
|
2023-05-20 14:05:22 +03:00 |
|
dzaima
|
e781ae21ee
|
give PUSH_COMP access to the updated source string
|
2023-05-20 13:22:24 +03:00 |
|
dzaima
|
7f46de18fc
|
add missed refcount decrements
|
2023-05-20 01:30:02 +03:00 |
|
dzaima
|
c9e7dc9976
|
remove a debug include
|
2023-05-20 00:01:35 +03:00 |
|
dzaima
|
ad49a9b26d
|
guarantee a space fill to compilation
|
2023-05-19 22:51:02 +03:00 |
|
dzaima
|
e8d286da3b
|
proper in-place updating in compile()
|
2023-05-19 22:51:02 +03:00 |
|
dzaima
|
ea70e06eac
|
fix >⟨2,<<3⟩
|
2023-05-19 22:51:02 +03:00 |
|
dzaima
|
df348896fd
|
add a NOGC_E for conflicting⌾(list⊸⊏) generic
|
2023-05-19 22:51:02 +03:00 |
|
dzaima
|
0156d13a5e
|
proper arrow in error messages of ⌾(n⊸↓) vs ⌾(n⊸↑)
|
2023-05-19 17:32:46 +03:00 |
|
dzaima
|
d930e7f975
|
add nogc message to thrF
|
2023-05-19 17:32:14 +03:00 |
|
dzaima
|
a03fab044d
|
•internal.Keep
|
2023-05-19 15:41:50 +03:00 |
|
dzaima
|
c1488cbf72
|
faster arr⌾(is⊸⊏)list
|
2023-05-19 14:15:25 +03:00 |
|
dzaima
|
f6703df0b2
|
range calculation functions
|
2023-05-19 14:01:32 +03:00 |
|
dzaima
|
8bfe2b6b5b
|
fix unrolled integer |𝕩 (not used currently)
|
2023-05-19 13:15:51 +03:00 |
|
dzaima
|
616fd48785
|
base.singeli additions
|
2023-05-19 13:15:51 +03:00 |
|
dzaima
|
1ec4415e49
|
clean up some under functions in sfns.c
|
2023-05-19 13:15:51 +03:00 |
|
dzaima
|
3977849bc5
|
fix "_m←¨⋄4 m´⟨⟩" and "4 10´⟨⟩"
|
2023-05-19 12:58:18 +03:00 |
|
Marshall Lochbaum
|
93e590fd9d
|
One case for dyadic constant-each
|
2023-05-18 15:40:52 -04:00 |
|
Marshall Lochbaum
|
ed5fac7cc9
|
Constant and tack cases for Table
|
2023-05-18 15:11:20 -04:00 |
|
Marshall Lochbaum
|
b5de844736
|
Constants and tacks with rank, except some dyadic cases
|
2023-05-18 14:52:13 -04:00 |
|
Marshall Lochbaum
|
7440e2a6bc
|
Constant and trivial cases for fold/insert
|
2023-05-18 12:11:49 -04:00 |
|
Marshall Lochbaum
|
9dfeb451f8
|
Handle empty cells in insert_base; fixes bugs in dyadic Insert
|
2023-05-18 11:53:53 -04:00 |
|
Marshall Lochbaum
|
a8cead1d3d
|
Fast cases for tacks, constant operands, and short arguments in scans
|
2023-05-18 10:54:56 -04:00 |
|
Marshall Lochbaum
|
1ff8954dd3
|
Fix leak in dyadic •_timed
|
2023-05-18 10:54:56 -04:00 |
|
Marshall Lochbaum
|
6ac8944b06
|
Remove redundant isAtm check in constant case of each_c1
|
2023-05-18 10:54:56 -04:00 |
|
dzaima
|
b46477450d
|
fix shape of argument passed to F in F⌾(is⊸⊑)
& skip computing the argument if not needed
|
2023-05-18 16:37:24 +03:00 |
|
dzaima
|
0572fcc5b2
|
native F⌾(list⊸⊑) & ⌾(listOfLists⊸⊑)
|
2023-05-18 01:54:01 +03:00 |
|
dzaima
|
d310669ae8
|
unify F⌾(n⊸⊑) and F⌾⊑
|
2023-05-18 00:27:38 +03:00 |
|
dzaima
|
3047ff48b5
|
Add rank checks to •FChars & •FLines & •FBytes & •Out
& clean up terminology
|
2023-05-17 21:56:40 +03:00 |
|
dzaima
|
e355395e7a
|
remove duplicated check
|
2023-05-17 20:53:26 +03:00 |
|
dzaima
|
4f15e1572d
|
disallow •Out ⋈0
|
2023-05-17 20:50:21 +03:00 |
|
dzaima
|
ec106c0b31
|
better heuristic for 𝕨∊𝕩 comparison-or path
|
2023-05-17 18:42:24 +03:00 |
|
dzaima
|
e4d222173d
|
a bunch of fixes for generic architecture & wasm
|
2023-05-16 00:07:48 +03:00 |
|
dzaima
|
65868a51ba
|
use the type of the correct argument in check
|
2023-05-13 02:19:10 +03:00 |
|
dzaima
|
f0a9714e8b
|
copy result in tbl_c2 if needed
|
2023-05-13 00:33:22 +03:00 |
|
dzaima
|
a9478f802f
|
tuning for arithmetic leading axis, F⌜, and reshape-based ⎉
|
2023-05-13 00:33:22 +03:00 |
|
dzaima
|
a3e8a1388d
|
move all targets to build.bqn with Singeli & REPLXX enabled by default
|
2023-05-12 20:51:25 +03:00 |
|
dzaima
|
2f51974c2f
|
use proper pointer conversion macros in ffi.c
|
2023-05-12 19:36:02 +03:00 |
|
dzaima
|
f229b3c486
|
fix rtperf
not that anyone uses it anymore
|
2023-05-12 16:34:23 +03:00 |
|
dzaima
|
a39264533e
|
custom _mm_loadu_si16/_mm_storeu_si16 for old gcc
|
2023-05-12 16:34:23 +03:00 |
|
dzaima
|
6dc24bd99b
|
free arguments of SIMD 𝕨∊𝕩 & ∊𝕩
|
2023-05-12 13:51:30 +03:00 |
|
Marshall Lochbaum
|
25883b410c
|
Retune boundary for small-𝕩 linear Member Of
|
2023-05-11 21:11:43 -04:00 |
|
Marshall Lochbaum
|
53fb8db06f
|
SSSE3 support in bit-table code
|
2023-05-11 21:05:24 -04:00 |
|
Marshall Lochbaum
|
464dd27a37
|
SIMD table intialization for Index-of
|
2023-05-11 21:05:24 -04:00 |
|
Marshall Lochbaum
|
844b537593
|
Singeli 1-byte table implementations for generic architecture
|
2023-05-11 21:05:23 -04:00 |
|
Marshall Lochbaum
|
6c81fb3149
|
Make AVX2 deduplicate branchless
|
2023-05-11 21:04:58 -04:00 |
|
Marshall Lochbaum
|
1700d84740
|
AVX2 1-byte Deduplicate implementation
|
2023-05-11 21:04:58 -04:00 |
|
Marshall Lochbaum
|
9658104f3e
|
Unify AVX2 bit-table code between Member-of and Mark Firsts
|
2023-05-11 21:04:58 -04:00 |
|
Marshall Lochbaum
|
ba43dae908
|
Heuristic filtering when AVX2 Mark Firsts sees multiple new values
|
2023-05-11 21:04:58 -04:00 |
|
Marshall Lochbaum
|
9c7c6aabc5
|
AVX2 Mark Firsts implementation
|
2023-05-11 21:04:56 -04:00 |
|
Marshall Lochbaum
|
2fafe11d7c
|
Fix fill_bittab tail masking for t=0 and simplify
|
2023-05-11 20:59:53 -04:00 |
|
Marshall Lochbaum
|
017e2433fb
|
Fast paths for all empty-argument search cases
|
2023-05-11 20:59:53 -04:00 |
|
Marshall Lochbaum
|
e45231154c
|
Reverse lookup initialization for 1-byte Member-of
|
2023-05-11 20:59:53 -04:00 |
|
Marshall Lochbaum
|
0232f91582
|
AVX2 bit table Member-of
|
2023-05-11 20:59:52 -04:00 |
|
dzaima
|
03a28e4e34
|
fix float normalization from a •bit._cast result mutating the original
|
2023-05-11 22:39:59 +03:00 |
|
dzaima
|
53bacf00c8
|
native F⟜k⁼𝕩 & k⊸F⁼𝕩
|
2023-05-11 15:28:40 +03:00 |
|
dzaima
|
08b6ff77c4
|
c1G & c2G
|
2023-05-11 15:28:40 +03:00 |
|
dzaima
|
fa4aebbe9c
|
native dyadic inverses of F˜
|
2023-05-11 15:28:40 +03:00 |
|
dzaima
|
bae49543be
|
native F˜⁼ 𝕩
|
2023-05-11 15:28:40 +03:00 |
|
dzaima
|
d1a5ed3e00
|
err → fatal
|
2023-05-11 15:28:23 +03:00 |
|
dzaima
|
aa68ed0730
|
define single ICMP
|
2023-05-11 15:28:23 +03:00 |
|
dzaima
|
4b0cd3217f
|
proper statement definition of assert
|
2023-05-11 15:28:23 +03:00 |
|
dzaima
|
fe39fe1932
|
remove Md1H/MD2R
|
2023-05-11 15:28:23 +03:00 |
|
dzaima
|
e775202684
|
describe types in src/README.md
|
2023-05-10 00:05:29 +03:00 |
|
dzaima
|
a8738c68ed
|
update bytecode submodule
|
2023-05-09 21:54:01 +03:00 |
|
dzaima
|
5979c0fed9
|
pass fully native primitives to r1
|
2023-05-09 21:50:16 +03:00 |
|
dzaima
|
0f2ef4384c
|
don't inline groups_lt
|
2023-05-09 00:14:14 +03:00 |
|
dzaima
|
300d217ee8
|
move SIMD constrep functions to a table
|
2023-05-09 00:14:14 +03:00 |
|
dzaima
|
0598ce8357
|
use getFillQ less
|
2023-05-09 00:14:14 +03:00 |
|
dzaima
|
d62c77af41
|
add threshold for reshape-based ⎉+n path
|
2023-05-06 16:57:38 +03:00 |
|
dzaima
|
3dcb32a54a
|
fast Arith⎉+n where n is the rank of one argument
|
2023-05-06 16:28:41 +03:00 |
|
dzaima
|
56d1453185
|
use destructuring more in Singeli
|
2023-05-06 13:18:00 +03:00 |
|
dzaima
|
4ff4460d67
|
put logging behind the macro check
|
2023-05-06 02:05:38 +03:00 |
|
dzaima
|
f640767e97
|
increase JIT memory allocation size
virtual memory should make it not matter for memory usage, or maybe even very slightly improve it due to less page table fragmentation
|
2023-05-06 01:11:30 +03:00 |
|
dzaima
|
45cc672af1
|
move allocation log message to before allocating
and print result
|
2023-05-06 01:09:34 +03:00 |
|
dzaima
|
78159f4f04
|
check for the proper failure value in mmap_nvm
|
2023-05-05 23:04:22 +03:00 |
|
dzaima
|
8177b668f4
|
fix ∾𝕩 error checking
|
2023-05-05 19:54:43 +03:00 |
|
dzaima
|
cc94ec4cbc
|
move out another s+↕n loop
|
2023-05-05 13:28:58 +03:00 |
|
dzaima
|
14ca835fa2
|
don't unroll comparatively extremely tiny loop
|
2023-05-05 13:23:47 +03:00 |
|
dzaima
|
65d0b829bd
|
reuse range generation from ↕n for •rand.Deal
|
2023-05-05 12:41:36 +03:00 |
|
dzaima
|
1072d0bb9c
|
merge emptyIVec() case with bitUD[0]
|
2023-05-05 12:18:31 +03:00 |
|
Marshall Lochbaum
|
78eeaae762
|
Remove MergeShuffle: only used above 2⋆28 with split and not a huge speedup
|
2023-05-04 18:11:55 -04:00 |
|
Marshall Lochbaum
|
2b9c193f24
|
Outer split pass for large •rand.Deal
|
2023-05-04 14:28:32 -04:00 |
|
Marshall Lochbaum
|
a4f9d23709
|
Simplify merge-shuffle index usage
|
2023-05-04 10:18:38 -04:00 |
|
Marshall Lochbaum
|
6cc9d40490
|
Fast cases for short •rand.Deal𝕩
|
2023-05-04 09:10:29 -04:00 |
|
Marshall Lochbaum
|
8191aa6da2
|
Only iterate over set bits in random merge
|
2023-05-04 09:10:29 -04:00 |
|
Marshall Lochbaum
|
bc7275a91b
|
Basic MergeShuffle implementation (slow merge)
|
2023-05-04 09:10:29 -04:00 |
|
dzaima
|
9fd80e3193
|
split buckets above 2^20 bytes when possible
|
2023-05-04 12:28:47 +03:00 |
|
dzaima
|
1bd9467a2d
|
cleanup
|
2023-05-04 12:27:13 +03:00 |
|
dzaima
|
776b0b2b47
|
fix estimated UTF-8 length of codepoints 2047 and 65535
|
2023-05-02 10:49:11 +03:00 |
|
dzaima
|
352961a7eb
|
another ubsan complaint
|
2023-05-02 10:47:13 +03:00 |
|
dzaima
|
65e246774e
|
-mllvm --x86-cmov-converter=0
|
2023-04-30 20:03:09 +03:00 |
|
dzaima
|
0e79e9f868
|
fix ubsan notes
|
2023-04-30 19:50:24 +03:00 |
|
dzaima
|
cd40ec8117
|
fix ¯2e9‿2e9⍋0
|
2023-04-30 19:35:18 +03:00 |
|
dzaima
|
c567dff565
|
fix leading-axis operations on empty inputs
|
2023-04-30 19:15:46 +03:00 |
|
dzaima
|
93dd25e0e1
|
fast leading-axis for <>≤≥=≠
|
2023-04-30 19:00:56 +03:00 |
|
dzaima
|
c889a07d75
|
replicate-using leading axis arithmetic case
|
2023-04-30 18:46:41 +03:00 |
|
dzaima
|
1e11cf93c1
|
faster leading axis arithmetic
|
2023-04-30 17:27:07 +03:00 |
|
dzaima
|
048352f587
|
fix 0˝˘ 2‿2⥊0
|
2023-04-29 21:15:46 +03:00 |
|
dzaima
|
0a30c7b4e6
|
more generic n⊸↑⎉k & n⊸↓⎉k & n⊸⍉⎉k
|
2023-04-29 21:10:44 +03:00 |
|
dzaima
|
aae8651e8b
|
fix Arith⌜ with empty 𝕨
|
2023-04-29 20:11:24 +03:00 |
|
dzaima
|
518635d0b9
|
generic 𝕨 ≡⎉¯k 𝕩
|
2023-04-29 20:01:48 +03:00 |
|
dzaima
|
df613ad674
|
w⊸F⎉g x → w F⎉∞‿g x & F⟜x⎉g w → w F⎉g‿∞ x
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
e40d056ee4
|
use err() for unexpected state
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
5e29ec72ce
|
sanity test of mmap address top 16 bits being 0
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
35786d4f5b
|
m_hVec\d → m_hvec\d
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
e200bbc5f9
|
move ↕list to its own function
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
bb7c37960e
|
a round of more incG/incByG
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
a855d03b93
|
use %c in v_merge
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
a0d384060a
|
unify implementations of m_vec1 and m_unit
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
3b580cbd0c
|
rename unit creation methods
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
88c19cedec
|
attempt at cleaning up mut.c a bit
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
56e4863f66
|
typedef c8/c16/c32
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
865257fdb6
|
more header file cleanup
|
2023-04-29 17:39:13 +03:00 |
|
dzaima
|
aa5ed7cc7a
|
BB2B & BBB2B → FC1 & FC2
|
2023-04-29 15:31:31 +03:00 |
|
dzaima
|
ca13fb567a
|
header file cleanup
|
2023-04-29 13:54:32 +03:00 |
|
dzaima
|
229a32237a
|
slice checking macro refactor
|
2023-04-29 13:24:20 +03:00 |
|
dzaima
|
ba1b853936
|
don't use the cell appender for Arith⌜
|
2023-04-29 13:13:58 +03:00 |
|
dzaima
|
62e2ea96ce
|
zsh needs to be kept alive even for zk==1
|
2023-04-28 21:04:30 +03:00 |
|
dzaima
|
7f0390be3f
|
more error messages
|
2023-04-28 20:49:34 +03:00 |
|
dzaima
|
7dd677a4e2
|
various fill improvements
|
2023-04-28 20:31:44 +03:00 |
|
dzaima
|
7a501ffbdf
|
use APD for ∾list
|
2023-04-28 20:17:44 +03:00 |
|
dzaima
|
5aa896ab38
|
use APD for Arith⌜
|
2023-04-28 19:30:54 +03:00 |
|
dzaima
|
b17d2010c2
|
better error messages
|
2023-04-28 19:25:42 +03:00 |
|
dzaima
|
38b2028374
|
use APD for ˘/⎉
|
2023-04-28 19:25:42 +03:00 |
|
dzaima
|
3761eafd0a
|
fix fills
|
2023-04-28 18:54:52 +03:00 |
|
dzaima
|
5c64c32aa9
|
allow GC between APD calls, delay shape errors
|
2023-04-28 18:54:52 +03:00 |
|
dzaima
|
7b877d368f
|
move fill handling to APD
|
2023-04-28 18:54:52 +03:00 |
|
dzaima
|
2f46b80b82
|
yet another mutable temporary array thing
|
2023-04-28 18:54:52 +03:00 |
|
dzaima
|
880efa38b4
|
better fill equality checking utilities
|
2023-04-28 18:51:41 +03:00 |
|
dzaima
|
d0e76ec436
|
better selfElType
|
2023-04-28 16:22:13 +03:00 |
|
dzaima
|
34a4d48d95
|
make singeli assertions checked in debug mode
|
2023-04-28 15:10:08 +03:00 |
|
dzaima
|
187eea1197
|
use memcpy for non-tiny equal-size copying
|
2023-04-26 20:19:05 +03:00 |
|
dzaima
|
d43ffd6b62
|
remove no longer needed E_SLICES
|
2023-04-25 22:13:41 +03:00 |
|
dzaima
|
037d36ddab
|
rework for_cells_AA
|
2023-04-25 22:13:13 +03:00 |
|
dzaima
|
586aeaea2d
|
HARR_FP
|
2023-04-25 21:44:55 +03:00 |
|
dzaima
|
23737cc458
|
proper error messages for ⎉ vs ˘
|
2023-04-24 19:43:04 +03:00 |
|
dzaima
|
77154be2a8
|
testing setup for ˘ & ⎉
incl. toggleable fill testing for !CATCH_ERRORS
|
2023-04-24 19:43:04 +03:00 |
|
dzaima
|
6d33018788
|
merge dyadic ˘ & ⎉
|
2023-04-24 19:43:04 +03:00 |
|
dzaima
|
e11d5dd31d
|
•internal.HasFill
|
2023-04-24 19:43:04 +03:00 |
|
dzaima
|
0b2ed69fba
|
add a NOGC_E in mut_pfree
fixes >⟨"ab"‿1,"a"⟩ in debug builds unnecessarily breaking
|
2023-04-24 01:01:35 +03:00 |
|
dzaima
|
b4a207a924
|
better fix for in-place 𝔽¨𝕩 on fillslice 𝕩
|
2023-04-23 22:49:19 +03:00 |
|
dzaima
|
927814d182
|
fix ⊢¨ {a←𝕩 ⋄ ⥊𝕩} 2‿3⥊<"a"
|
2023-04-23 22:17:32 +03:00 |
|
dzaima
|
2259e7b6a9
|
fix ↕1‿0‿1e9‿1e9‿1e9 incorrectly erroring
|
2023-04-23 22:17:32 +03:00 |
|
dzaima
|
9d9c3fe8ac
|
return signal code+128 in exit code on signaling •SH invocation
|
2023-04-23 22:17:32 +03:00 |
|
dzaima
|
c50674d63a
|
always overallocate by 4 bytes in 32-bit output case for /bitarr
|
2023-04-23 15:11:58 +03:00 |
|
dzaima
|
10edc75f09
|
use c1fn for monadic ˘/⎉
|
2023-04-22 22:33:32 +03:00 |
|
dzaima
|
6d5cee1cdc
|
extract one-call case to noinline function
|
2023-04-22 22:33:32 +03:00 |
|
dzaima
|
1ff31f1df3
|
don't hard-code VERIFY_TAIL size
+ improve error message
|
2023-04-22 22:33:32 +03:00 |
|
dzaima
|
5395d1eb08
|
cleanup
|
2023-04-22 19:10:58 +03:00 |
|
dzaima
|
36b99d3505
|
handle more cases of ⊏⎉n & ⊑⎉n
|
2023-04-22 18:44:21 +03:00 |
|
dzaima
|
fe071b641f
|
handle more cases of ⍉⎉n & «⎉n & »⎉n
|
2023-04-22 18:44:21 +03:00 |
|
dzaima
|
1c041fd968
|
move emptiness checks to where needed
|
2023-04-22 18:34:29 +03:00 |
|
dzaima
|
e4d38f571d
|
move k==0 case out of for_cells_c1
|
2023-04-22 18:34:25 +03:00 |
|
dzaima
|
edf1f2df7e
|
merge_fill_result changes
incl. fixing when rr==k
|
2023-04-22 18:34:18 +03:00 |
|
dzaima
|
78764ec47c
|
move SLICE source refcount incrementing outside of loop
|
2023-04-22 18:33:39 +03:00 |
|
dzaima
|
b10a87fe00
|
merge ˘ & ⎉
|
2023-04-22 18:31:29 +03:00 |
|
dzaima
|
1ffc141919
|
move toCells & toKCells to cells.c
|
2023-04-22 18:31:24 +03:00 |
|
dzaima
|
1de59d6ee8
|
reorder functions
|
2023-04-22 17:20:05 +03:00 |
|
dzaima
|
663fe29a89
|
move monadic ⎉ to slice macros
|
2023-04-22 17:20:05 +03:00 |
|
dzaima
|
078ee7af97
|
use c2fn in insert_base
|
2023-04-22 17:20:05 +03:00 |
|
dzaima
|
d2ac5db1c8
|
move ⎉ & ˘ to their own file
|
2023-04-22 17:20:05 +03:00 |
|
dzaima
|
3e9f1ce1b0
|
arr_shErase
|
2023-04-22 16:33:55 +03:00 |
|
dzaima
|
6c988c3804
|
ptr_incBy
|
2023-04-22 13:06:13 +03:00 |
|
dzaima
|
e0479adee4
|
fix rank overflow check in 𝕨⥊𝕩
|
2023-04-22 11:53:54 +03:00 |
|
dzaima
|
20b3867581
|
change %c in format strings to u32 unicode codepoint
|
2023-04-22 10:58:25 +03:00 |
|
dzaima
|
2f59dec8b7
|
fix fallback profiler_start signature
|
2023-04-22 01:27:46 +03:00 |
|
Marshall Lochbaum
|
b6590b0eab
|
Move Insert implementation to fold.c, except the generic case
|
2023-04-21 22:00:08 +03:00 |
|
dzaima
|
e276779eca
|
fix heapverify
|
2023-04-21 21:53:11 +03:00 |
|
dzaima
|
6d7b679234
|
fast path for comparing equal-pointer typed arrays
|
2023-04-21 17:57:58 +03:00 |
|
dzaima
|
58ac287ef6
|
handle array-atom comparison separately from array-array
|
2023-04-21 17:55:38 +03:00 |
|
dzaima
|
a7ceda6b28
|
fix float NaN comparison
|
2023-04-21 17:55:38 +03:00 |
|
dzaima
|
c3347d6815
|
move f32 to h.h, add reinterpreting helper methods
|
2023-04-21 16:32:35 +03:00 |
|
dzaima
|
9bb7fa406b
|
add assertion for arr_shReplace rank expectation
|
2023-04-21 15:50:42 +03:00 |
|
dzaima
|
01b17ea0d9
|
remove now-unnecessary workaround for float constant
|
2023-04-21 15:46:54 +03:00 |
|
dzaima
|
d127059de8
|
more gcc complaints
|
2023-04-21 13:48:24 +03:00 |
|
dzaima
|
01d64e4112
|
gcc complains about this now for whatever reason
|
2023-04-19 22:48:24 +03:00 |
|
dzaima
|
e45bd78f25
|
fix comparison of empty high-rank arrays
|
2023-04-19 22:42:28 +03:00 |
|
dzaima
|
d13f3fad94
|
fix ∧𝕩 & ∨𝕩 on high-rank zero-cell input
|
2023-04-19 21:52:38 +03:00 |
|
dzaima
|
53fe627e6e
|
allow hashing operation type wrappers
|
2023-04-19 21:40:29 +03:00 |
|
dzaima
|
1bc439c214
|
ARMO needs source mapping
|
2023-04-17 13:19:38 +03:00 |
|
dzaima
|
c57e0ba135
|
more fixes for overflow checking
|
2023-04-17 13:07:50 +03:00 |
|
dzaima
|
c2754e0fff
|
don't OOM in 𝕨↑𝕩 with 0≡×´𝕨 if product of prefix overflows
|
2023-04-17 12:53:02 +03:00 |
|
dzaima
|
a622a6761b
|
use vtestz/vptestz instead of movemask for mask-any checks
|
2023-04-15 15:10:58 +03:00 |
|
dzaima
|
712707d27b
|
integer avx2 bitwise operation definitions
mainly for reduced casts in C output
|
2023-04-15 15:00:57 +03:00 |
|
dzaima
|
722107e470
|
move makeOptBranch to base.singeli, use in search
|
2023-04-15 12:32:14 +03:00 |
|
dzaima
|
147d4530c1
|
slightly better overflow check for i8×i8→i8
|
2023-04-15 01:53:04 +03:00 |
|
dzaima
|
bbb9e7f0ed
|
don't overflow-check widening array-scalar cases when not needed
|
2023-04-15 01:19:09 +03:00 |
|
dzaima
|
04ccf9fd49
|
add compare.c to single.c
|
2023-04-14 21:24:51 +03:00 |
|
dzaima
|
a2d27c69be
|
make √, ⋆, •math.Atan2 behave as if ¯0 was 0
|
2023-04-14 21:22:18 +03:00 |
|
dzaima
|
51e34c55d3
|
make division not care about sign of 𝕩
|
2023-04-14 20:24:36 +03:00 |
|
dzaima
|
08885fabad
|
remove extraneous v+0 in normalizeFloat
|
2023-04-14 20:06:54 +03:00 |
|
dzaima
|
55da9e99d6
|
reorganize equality checks more
|
2023-04-14 20:06:36 +03:00 |
|
dzaima
|
f001841d17
|
move comparison functions to separate file
|
2023-04-14 18:11:49 +03:00 |
|
dzaima
|
3623fbd5ba
|
equality check cleanup
|
2023-04-14 18:09:38 +03:00 |
|
dzaima
|
2413236d51
|
format ¯0 as 0
|
2023-04-14 16:28:27 +03:00 |
|
dzaima
|
ee47921b43
|
normalize ¯0
|
2023-04-14 16:28:27 +03:00 |
|
dzaima
|
2fd390ebf8
|
better fix for character 𝕨∊𝕩 & 𝕨⊐𝕩
|
2023-04-14 15:42:58 +03:00 |
|
dzaima
|
94bcc4bcc1
|
make debugger helpers print to stderr
|
2023-04-14 14:58:11 +03:00 |
|
dzaima
|
1c8916949e
|
fix ⊏ with odd shape 𝕩 & depth 2 𝕨
|
2023-04-14 00:14:57 +03:00 |
|
dzaima
|
68c3ba3aa0
|
fix leak in dyadic Insert with an empty argument
|
2023-04-14 00:05:39 +03:00 |
|
dzaima
|
4d3db9ca0b
|
fix ∊ & ⊐ being broken on one c8 & one c16 argument
|
2023-04-14 00:05:23 +03:00 |
|
dzaima
|
44ce033e73
|
fix leak in dyadic scan with an empty argument
|
2023-04-14 00:05:23 +03:00 |
|
dzaima
|
102a696164
|
fix ⟨2⟩↕a
|
2023-04-13 22:22:50 +03:00 |
|
dzaima
|
4f382476ff
|
src/README.md GC notes & other cleanup
|
2023-04-13 22:03:17 +03:00 |
|
dzaima
|
6239e2f2dd
|
add binary mode flag to fopen calls
|
2023-04-13 15:54:34 +03:00 |
|
dzaima
|
1db746ea77
|
Singeli compile-time cdiv & low-stack @collect
|
2023-04-09 15:03:44 +03:00 |
|
dzaima
|
b66f628cff
|
tiny improvements to plus-scan
|
2023-04-09 12:09:52 +03:00 |
|
dzaima
|
9951f20751
|
clean up some error messages
|
2023-04-08 22:12:15 +03:00 |
|
dzaima
|
52dc05f228
|
SIMD +`
|
2023-04-08 20:04:23 +03:00 |
|
dzaima
|
6a0385b44b
|
better Singeli abs & absu definitions
|
2023-04-08 19:23:55 +03:00 |
|
dzaima
|
c3fe3c5b42
|
more Singeli utilities, more Scan fixing
|
2023-04-07 21:09:46 +03:00 |
|
dzaima
|
3a7bce3aab
|
a bunch of Scan fixes & improvements
|
2023-04-07 20:41:34 +03:00 |
|
dzaima
|
b0d8bcb428
|
add argument passing to makeOptBranch
|
2023-04-06 22:41:20 +03:00 |
|
dzaima
|
897c46df76
|
aarch64 fold.singeli
|
2023-04-06 20:17:09 +03:00 |
|
dzaima
|
b3f3190028
|
SSE2 fold.singeli
|
2023-04-06 19:49:14 +03:00 |
|
dzaima
|
1d6b33d528
|
restrict fold_addw to integer input
|
2023-04-06 19:18:43 +03:00 |
|
dzaima
|
65f25f735d
|
Merge pull request #73 from mlochbaum/count
Count by vector compare+add
|
2023-04-06 19:19:25 +03:00 |
|
dzaima
|
d13060f725
|
move fold to vfold
|
2023-04-06 19:05:38 +03:00 |
|
Marshall Lochbaum
|
9d7d330a03
|
Use AVX2 counting for 1-byte counting sort
|
2023-04-06 11:32:34 -04:00 |
|
Marshall Lochbaum
|
0e5b98c491
|
Return max from AVX2 counting function
|
2023-04-06 11:32:34 -04:00 |
|
Marshall Lochbaum
|
4b18466ae2
|
Clean up and simplify count.singeli; allow longer final block
|
2023-04-06 11:32:06 -04:00 |
|
Marshall Lochbaum
|
06b4f06e64
|
Move fold{} from squeeze.singeli to vecfold.singeli
|
2023-04-06 11:32:06 -04:00 |
|
Marshall Lochbaum
|
2ddcc14852
|
Use minimum in addition to maximum for AVX2 counting
|
2023-04-06 11:32:06 -04:00 |
|
Marshall Lochbaum
|
e6a3e846d9
|
Sum counts in groups of 4 when possible
|
2023-04-06 11:32:06 -04:00 |
|
Marshall Lochbaum
|
b655dd4771
|
AVX2 counting function for small-range 1-byte /⁼
|
2023-04-06 11:32:04 -04:00 |
|
dzaima
|
ecced53957
|
test usz=64
also fix MM=2 assertion
|
2023-04-06 18:17:59 +03:00 |
|
dzaima
|
a0cdcdc898
|
fix self-search radix-based cases with 64-bit usz
|
2023-04-06 17:51:58 +03:00 |
|
dzaima
|
cba6ef505a
|
add usz option to build/build
|
2023-04-06 17:47:31 +03:00 |
|
dzaima
|
5492eae8c5
|
unrolling for single-element search
|
2023-04-06 15:42:10 +03:00 |
|
dzaima
|
876914d053
|
Singeli single-element search
|
2023-04-06 14:56:49 +03:00 |
|
dzaima
|
a7e2d9ea17
|
extract single-element search to its own function
|
2023-04-06 13:38:33 +03:00 |
|
dzaima
|
71f9278a95
|
use COPY_TO to copy in bqn_readObjArr if possible
|
2023-04-06 13:37:00 +03:00 |
|
dzaima
|
0aca470931
|
more explicit inline requiring
|
2023-04-06 13:12:11 +03:00 |
|
dzaima
|
8b05cd243f
|
fix SSE2 unsigned comparisons
|
2023-04-05 13:47:16 +03:00 |
|
dzaima
|
7d1fcf2c3a
|
move &~ to base.singeli
|
2023-04-02 16:33:24 +03:00 |
|
dzaima
|
5a2b755191
|
move non-AVX2 x86-64 into SINGELI_SIMD
|
2023-04-02 15:55:49 +03:00 |
|
dzaima
|
100a188545
|
fix aarch64 singeli
|
2023-04-02 15:39:42 +03:00 |
|
dzaima
|
c76adb8b35
|
default to •internal.EEqual comparing 0 and ¯0 as equal
|
2023-04-02 15:29:11 +03:00 |
|
dzaima
|
00a5ddcb89
|
SSE2 squeeze
|
2023-04-02 15:04:00 +03:00 |
|
dzaima
|
e0a265472c
|
SSE2 extract{x,0} for [4]i32 and [2]i64
|
2023-04-02 12:10:18 +03:00 |
|