dzaima
6f5c329e22
noinline float product
2022-11-22 14:24:43 +02:00
dzaima
e7cc8ec444
use o2fG instead of union field
2022-11-21 23:26:25 +02:00
Marshall Lochbaum
31106c730c
Fold implementation comments
2022-11-21 15:56:15 -05:00
Marshall Lochbaum
bda653e865
Shortcutting for boolean-valued integer ∨´
2022-11-21 15:51:03 -05:00
Marshall Lochbaum
f1ca8793e3
Boolean comparison folds, monadic only
2022-11-21 15:36:06 -05:00
Marshall Lochbaum
47392acc33
Implement ×´ for all numeric cases, using f64 product when i32 fails
2022-11-21 15:19:27 -05:00
Marshall Lochbaum
52608ba6ce
Singeli min/max-fold
2022-11-21 11:47:50 -05:00
Marshall Lochbaum
4b9a21c75f
Do tack-fold with selection
2022-11-21 08:07:38 -05:00
Marshall Lochbaum
38683119c0
Handle some f64 cases in dyadic fold
2022-11-20 22:03:36 -05:00
Marshall Lochbaum
c977065c20
Move +⌈⌊ folds to function tables, unifying monadic and dyadic cases
2022-11-20 21:51:30 -05:00
Marshall Lochbaum
ebfd002793
Blocked +´ and f64 ⌈´ ⌊´
2022-11-20 21:06:05 -05:00
Marshall Lochbaum
5bfdc26d00
Move fold to its own file
2022-11-20 20:06:35 -05:00
Marshall Lochbaum
b9a3a7886d
Ordering function implementation comments
2022-11-20 19:57:00 -05:00
dzaima
24195780df
reorder headers to allow OpenBSD hack to function
2022-11-20 18:22:51 +02:00
dzaima
6ff521b200
don't use IA/SH macros for assigning
2022-11-18 15:07:31 +02:00
dzaima
966b78693b
fix test/precompiled.bqn
2022-11-18 00:16:34 +02:00
dzaima
5c65a1a7eb
move precompiled bytecode to submodule
2022-11-17 23:20:07 +02:00
dzaima
1b64b4b548
better temporary replxx state handling
2022-11-17 19:18:33 +02:00
dzaima
35abd7f7e8
try $XDG_DATA_HOME before $HOME for REPL history directory
2022-11-17 19:18:33 +02:00
dzaima
ff36205a34
bind ctrl+n & ctrl+p
2022-11-17 19:18:33 +02:00
dzaima
1f5be9e69e
backslash input
2022-11-17 19:18:33 +02:00
dzaima
9018051ce3
add •math.Atan2 autocomplete
2022-11-17 19:18:33 +02:00
dzaima
c60bdaba4d
highlight 𝔽𝔾𝕎𝕏𝕊 as functions, reduce mut.h to calls.h
2022-11-17 19:18:33 +02:00
dzaima
bd6035cdef
more system namespace field completion, actually add •ToUTF8
2022-11-17 19:18:33 +02:00
dzaima
a48488a132
enable bracketed paste, add sanity check in syntax highlighter
2022-11-17 19:18:33 +02:00
dzaima
07fa4a066b
save replxx history more
2022-11-17 19:18:33 +02:00
dzaima
983452b409
system value completion
2022-11-17 19:18:33 +02:00
dzaima
feb7b8b9a0
replxx REPL
2022-11-17 19:18:33 +02:00
dzaima
94f8b189f7
REINIT_TAIL → FINISH_OVERALLOC
2022-11-17 18:56:46 +02:00
dzaima
a48f1f5eb0
fix -DMM=0
2022-11-17 18:56:46 +02:00
dzaima
55e8a43297
fix test/mut.bqn leaking references
2022-11-17 18:56:46 +02:00
dzaima
1ac5f0a49d
arr_shCopy that doesn't compare IA
2022-11-17 18:56:46 +02:00
dzaima
179e0a37dc
more tail verify work
2022-11-17 18:56:46 +02:00
dzaima
e5a9c7536d
array tail overwriting checker
2022-11-17 18:56:46 +02:00
dzaima
360aabb7cc
option to noinline mm_alloc & mm_free
2022-11-17 18:56:46 +02:00
dzaima
da1062c81c
remove unused #undef
2022-11-17 18:55:59 +02:00
dzaima
aee745a7d6
fix argument names of C2
2022-11-17 18:13:29 +02:00
dzaima
db89e7a4bb
fix function signatures & M1C2; use C1 & bit_negate more
2022-11-17 17:52:19 +02:00
Marshall Lochbaum
be9037cb62
Squeeze for ∨` instead of scalar checking for bool
2022-11-17 08:32:29 -05:00
Marshall Lochbaum
5985e92834
Initialized min/max-scan
2022-11-17 07:59:00 -05:00
Marshall Lochbaum
98d066c343
Use scan_max_num for sorted ⊒
2022-11-16 21:20:54 -05:00
Marshall Lochbaum
1924aee61c
f64 min/max scan
2022-11-16 21:14:32 -05:00
Marshall Lochbaum
136c1afacc
Macro-ize integer min/max scan and add sorted flag
2022-11-16 20:49:57 -05:00
Marshall Lochbaum
ac7ff155d4
Pull out scan_add_bool() utility function from scan_c1()
2022-11-16 20:16:33 -05:00
Marshall Lochbaum
d6029985e8
Move scan to its own file
2022-11-16 19:48:37 -05:00
Marshall Lochbaum
93ef4bb2a9
Direct ⍷bool implementation
2022-11-15 22:03:50 -05:00
Marshall Lochbaum
f1142b4184
Branchless ⊒bool, moderately faster
2022-11-15 18:27:54 -05:00
Marshall Lochbaum
d6b09adb57
Add primitive and primitive-1modifier call macros to calls.h
2022-11-15 16:08:34 -05:00
Marshall Lochbaum
4506caf3ac
Faster self-search on sorted 𝕩 using »⊸≠𝕩
2022-11-15 16:08:17 -05:00
Marshall Lochbaum
856eabd493
Self-search implementation comments
2022-11-14 21:08:44 -05:00
dzaima
8e631d7177
always take size in mm_alloc as u64
2022-11-14 22:42:32 +02:00
dzaima
3be97e6f61
update commented-out debug print
2022-11-14 20:44:19 +02:00
dzaima
a9737c22ea
extract bit array negation to function
2022-11-14 19:47:53 +02:00
dzaima
7e934b04db
better negation buffer handling
2022-11-14 19:02:44 +02:00
dzaima
63a2791361
add some NOUNROLLs
2022-11-14 18:00:00 +02:00
Marshall Lochbaum
85f54b2b25
Check for a small return type in large-range /⁼ with a sparse table
2022-11-13 18:00:10 -05:00
Marshall Lochbaum
cd16c8a1c7
Blocked 4-byte ⍋bool and ⍒bool with Singeli
2022-11-13 18:00:10 -05:00
Marshall Lochbaum
1647e98fd2
Use Singeli code for ⍋bool and ⍒bool with 1- and 2-byte result
2022-11-13 18:00:10 -05:00
Marshall Lochbaum
6bea10de21
Implementation comments and minor refactoring for /⁼
2022-11-13 18:00:10 -05:00
Marshall Lochbaum
7acd9d5688
Indices/Replicate implementation comments
2022-11-13 18:00:10 -05:00
dzaima
c81e95730a
fix -DMM=0 builds
2022-11-13 13:47:29 +02:00
dzaima
b244d7ecf5
disallow bitwise hashing for ¯0; prepare for mm_alloc taking u64 size
2022-11-12 23:45:39 +02:00
Marshall Lochbaum
7d56d61235
Hash table for Occurrence Count (⊒)
2022-11-12 15:47:59 -05:00
Marshall Lochbaum
1be4f4c2e7
Fix value movement when resizing Classify (⊐) hash
2022-11-12 15:47:59 -05:00
Marshall Lochbaum
62867f4533
Make brute-force Mark Firsts store result in a register (always <64 elements)
2022-11-12 15:47:59 -05:00
Marshall Lochbaum
8560ce0f4d
Move hash table initializers to functions to save some binary space
2022-11-12 15:47:59 -05:00
Marshall Lochbaum
9adfb13355
Extend Mark Firsts hash table to handle Classify
2022-11-12 15:47:59 -05:00
Marshall Lochbaum
37d7694c52
64-bit Mark Firsts (∊) hash table
2022-11-12 15:47:59 -05:00
Marshall Lochbaum
dc7389a660
Mark Firsts hash table resizing policy tweaks
2022-11-12 15:47:59 -05:00
Marshall Lochbaum
2e1b64e0ca
Resizable hash table for Mark Firsts (∊)
2022-11-12 15:47:59 -05:00
Marshall Lochbaum
8a551ab5ce
Add 32-bit hash table for Classify (⊒)
2022-11-12 15:47:59 -05:00
Marshall Lochbaum
d8e4e7d96f
Unify small-type and small-range tables for Classify (⊐)
2022-11-12 15:47:59 -05:00
dzaima
a64f0ada5f
update src/README.md
2022-11-12 20:30:47 +02:00
dzaima
a7daeea6d9
fix (500⥊¯1‿5) ⊔ 500‿1‿3⥊3
2022-11-12 19:20:34 +02:00
Marshall Lochbaum
beb997ccb9
Avoid data movement for empty cells in Group 𝕩
2022-11-12 07:25:41 -05:00
dzaima
a1e12106ce
use FILL_TO for more compact edge-case handling
2022-11-12 13:45:52 +02:00
dzaima
1241da4d74
fix group of array with empty cells
2022-11-12 13:41:45 +02:00
dzaima
eb880d7135
set result fill fill immediately instead of delaying to before return
2022-11-12 13:30:35 +02:00
Marshall Lochbaum
d2cdae4962
Fast case for bool⊔𝕩 using compress
2022-11-10 21:22:29 -05:00
Marshall Lochbaum
a3da018055
Group code for 1-bit cells
2022-11-10 14:52:45 -05:00
Marshall Lochbaum
6eb504118e
Split out optimized Group cases and add comments
2022-11-10 14:52:45 -05:00
Marshall Lochbaum
801472d6d4
Implement bit_cpy versions of the Group methods that use memcpy
2022-11-10 14:52:45 -05:00
Marshall Lochbaum
e7c1918ba0
Native <` implementation using addition
2022-11-09 12:19:02 -05:00
dzaima
87d0fa5dc7
fix gcc 9 build
2022-11-08 16:59:17 +02:00
dzaima
6467530823
use ty_u
2022-11-08 16:56:43 +02:00
Marshall Lochbaum
812b97dc51
Mark boolean +` result sorted and squoze
2022-11-07 20:23:15 -05:00
Marshall Lochbaum
666a41ab12
1- and 2-byte Singeli boolean +`
2022-11-07 17:54:11 -05:00
Marshall Lochbaum
f1ff499244
Implement multiple result types for non-Singeli +`bool
2022-11-07 17:09:41 -05:00
Marshall Lochbaum
7b3c69f9da
Take sum first in boolean plus-scan; special code for sparse or boolean sum
2022-11-07 15:35:53 -05:00
dzaima
4f9af9965c
clangd compilation command generating utility
2022-11-06 18:34:47 +02:00
dzaima
fdbd36250b
noinline writeNum, use loop instead of generated code
2022-11-06 03:17:31 +02:00
dzaima
fc059a77d0
noinline various things in main.c
2022-11-06 02:36:57 +02:00
dzaima
28d434a201
catch double-frees in debug mode
2022-11-06 02:11:12 +02:00
dzaima
f87a1155f5
store references instead of GC root functions to handle mutable roots
...
-0.21% binary size; mm_visit & mm_visitP got inlined in the gcFn-s, even though that's very pointless
2022-11-06 02:01:14 +02:00
dzaima
36111276c6
•math.Atan2
2022-11-05 20:36:54 +02:00
dzaima
25694db7ca
better non-Singeli comparison
2022-11-05 20:09:30 +02:00
dzaima
c9be8516c3
deduplicate generic sort work
2022-11-05 19:41:04 +02:00
dzaima
6e552fedf5
base case implementation for ⍋c8arr & ⍋c16arr
2022-11-05 19:00:59 +02:00
dzaima
ff0bfd34bb
squeeze Grade result
2022-11-05 18:48:54 +02:00
dzaima
471afb2a3f
handle 256|i8arr & similar
2022-11-03 17:28:21 +02:00
dzaima
3b56223618
allow 32768|intarr to squeeze to i16arr
2022-11-03 17:21:12 +02:00
dzaima
c1a77a24fb
fast (2⋆n)|ints
2022-11-03 15:35:41 +02:00
dzaima
96394c6f73
fix ⊔ making an invalid array on ("Af64"•internal.Variation⋈¯1)⊔⟨⟩
2022-11-03 01:26:38 +02:00
dzaima
cc406595c0
use direct comparison in ⊔
2022-11-03 00:32:44 +02:00
dzaima
70e7dcf38a
Merge remote-tracking branch 'mlochbaum/subset'
2022-11-02 23:19:03 +02:00
dzaima
4daabd708a
introduce calls.h, move vec_addN and vec_join to core header
...
and remove a bunch of apparently unnecessary mut.h imports
2022-11-02 23:17:52 +02:00
Marshall Lochbaum
600ee411f8
Use slash and comparison functions to filter •rand.Subset output faster
2022-11-01 20:25:13 -04: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
5a7d702bc6
use incG more
2022-10-25 16:59:08 +03:00
Marshall Lochbaum
9862331696
Fix single-file build by defining GRADE_UD in selfsearch.c
2022-10-24 22:08:28 -04:00
Marshall Lochbaum
2844520109
Need to define GRADE_UD for radix.h from selfsearch.c without Singeli
2022-10-24 07:49:36 -04:00
Marshall Lochbaum
fa03cabc53
Index-of with small 𝕨 using (⊣×1+⊢)´ pattern
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
d1e40a01df
Use saved counts and possibly dense table initialization for 1-byte radix lookup
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
7cbd23c832
Skip radix moves if the top bytes are all the same
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
b9d5f10d4a
Unify radix sort and radix lookup prefix sums
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
2207d9f1bb
Combine monadic ∊ and ⊐ radix lookups with a macro
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
552e4f6751
Fix refcount handling for bool⊐𝕩
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
979c31fc3e
Table-based dyadic ⊒ for integers up to 2 bytes
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
5df198602c
Adjust search table sparse initialization threshold for type it stores
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
e318830365
Dyadic ⊒ implementation with a generic hash table
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
f5555021f2
Index-of with boolean 𝕨, using two comparisons
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
0f7bfa2575
Implement bit_find and fast self-search for booleans
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
96740566e9
Extend lookup code to boolean searched-for array
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
d9519eb6e1
Extend table-based membership to Index-of
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
0cb5e4ee10
Table-based 1- and 2-byte integer membership
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
447ce6163f
Introduce bit_has and use for ∧´, ∨´, and 𝕨∊bool
2022-10-23 22:08:08 -04:00
Marshall Lochbaum
236d8dedd6
Move search functions to search.c
2022-10-23 22:08:08 -04:00
dzaima
cc467ce8ca
cleanup
2022-10-23 13:14:36 +03:00
dzaima
66584ce149
fix 0‿¯1⊏129⥊100
2022-10-21 18:17:12 +03:00
dzaima
f2b6b5d446
system value redefining with •ReBQN
2022-10-19 23:12:28 +03:00
dzaima
4d9a63f68b
fix •ReBQN
2022-10-19 20:56:30 +03:00
dzaima
336049560b
don't include •FFI if FFI is disabled
2022-10-19 19:31:21 +03:00
dzaima
ec62856b67
•listsys
2022-10-19 19:19:11 +03:00
dzaima
accd7384bd
delay •file initialization
2022-10-19 19:16:13 +03:00
dzaima
a72778ed6f
extract system value info to object
2022-10-19 19:15:21 +03:00
dzaima
64ce7ec6fe
fix non-squeezed string •FFI arguments
2022-10-18 19:26:53 +03:00
Marshall Lochbaum
130653dbda
Allow character arguments to •bit operations
2022-10-17 09:39:38 -04:00
Marshall Lochbaum
89c1b39c6d
Don't allow 0 as a width for •bit
2022-10-17 09:39:38 -04:00
Marshall Lochbaum
698c902564
Implement scalar extension for •_bit
2022-10-17 09:39:38 -04:00
Marshall Lochbaum
022ef64f6b
Add NOUNROLLs to bitwise functions
2022-10-17 09:39:38 -04:00
Marshall Lochbaum
80f8ac9643
2-argument •bit operations
2022-10-17 09:39:38 -04:00
Marshall Lochbaum
8f5259e77d
Implement 1-argument •bit operations
2022-10-17 09:39:38 -04:00
dzaima
2a17d87572
calculate •FFI allocation layout ahead-of-time
2022-10-16 14:16:34 +03:00
dzaima
83af05d274
fix building on gcc≤10
2022-10-10 13:53:56 +03:00
dzaima
2eecc0feda
squeeze *u8/*u16/*u32 result
...
it has to sometimes be one size up to accommodate for the upper unsigned range, but often (?) it should fit fine in the signed range of its type
2022-10-08 19:59:03 +03:00
dzaima
ac041d37f4
fix WARN_SLOW build
2022-10-08 19:30:08 +03:00
dzaima
7e1c9b50cd
initial struct support
2022-10-08 19:08:20 +03:00
dzaima
702d4e979d
various utility changes
2022-10-08 19:03:41 +03:00
dzaima
529d2abae4
add warning about miscompilation for x86 on gcc
2022-10-08 14:41:44 +03:00
dzaima
7bda795365
fix gcc warnings about pointer casts in 32-bit builds
2022-10-07 12:57:59 +03:00
dzaima
abcb575a53
simplify bit boolean constant replicate start
2022-10-04 22:11:20 +03:00
Marshall Lochbaum
ce74e36a19
Fix lots of missing casts for function calls
2022-09-30 20:20:38 -04:00
dzaima
82ac059b75
disable clmul ≠` when pclmul not available
2022-09-30 20:06:52 +03:00
Marshall Lochbaum
cca64bba70
Move nescan.c into md1.c and constrep.c into slash.c
2022-09-30 11:40:37 -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
e407286185
BMI2-based constant boolean Replicate for 𝕨<=52
2022-09-28 21:56:57 -04:00
Marshall Lochbaum
0c0d967dc3
Adjust Table thresholds for fast constant Replicate
2022-09-28 17:18:55 -04:00
Marshall Lochbaum
09aba9bc37
slash.singeli is only used with __BMI2__ for now
2022-09-28 17:18:42 -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
15c405e7bf
Factorize constant replicate lengths under 32
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
dzaima
46501ac819
update build & packaging information
...
closes #45
2022-09-27 17:53:06 +03:00
dzaima
d3ed718a6d
branchless sparse Where block size bound was too big
2022-09-26 23:12:17 +03:00
dzaima
bd823839fe
fixes for /
2022-09-25 18:45:46 +03:00
dzaima
1fcd5295eb
slight attempt at improving ↕list
2022-09-25 14:55:49 +03:00
dzaima
5c87c291f9
refactor unroll/vectorization disabling macros
2022-09-25 14:49:57 +03:00
dzaima
2bb6750d7d
better bitarr fill
2022-09-24 19:31:46 +03:00
dzaima
608489aed1
fix gcc singeli build
2022-09-24 19:30:10 +03:00
dzaima
37a3979c86
clean up generic unit reshape case
2022-09-24 19:20:32 +03:00
Marshall Lochbaum
e8e10790f8
Fast array reshape
2022-09-23 17:40:30 -04:00
Marshall Lochbaum
218a8b069e
Rework reshape of singleton
2022-09-23 15:32:27 -04:00
Marshall Lochbaum
8e24da8e8e
Adjust Replicate thresholds
2022-09-23 08:22:41 -04:00
Marshall Lochbaum
8a13bf9476
Constant boolean replicate
2022-09-22 22:32:52 -04:00
Marshall Lochbaum
7f6cf06eea
Merge scan-based sparse Indices/Replicate code with macros
2022-09-22 22:09:56 -04:00
Marshall Lochbaum
d647978c8f
Type-independent Replicate by constant
2022-09-22 21:42:18 -04:00
Marshall Lochbaum
ec12dd4502
Switch to forward inclusive sums for all radix sorting, and use Singeli
...
Removes SWAR for 8-bit counts, since reverse sorting uses negatives
2022-09-22 16:44:05 -04:00
Marshall Lochbaum
8e1d8bb42c
Use Singeli max/min scan for Indices and Sort
2022-09-22 15:17:54 -04:00
Marshall Lochbaum
bc4f5167fb
Constant replicate using plus-scan
2022-09-21 19:40:04 -04:00
Marshall Lochbaum
6ed3c18389
Implement SIMD wrapping plus-scan for Replicate
2022-09-21 19:40:04 -04:00
dzaima
c42f0fd699
revert de4fca85
2022-09-22 01:18:41 +03:00
dzaima
de4fca859f
extract arr_shCopy
2022-09-22 00:51:04 +03:00
dzaima
06fe437520
bitarr reversing
2022-09-22 00:38:09 +03:00
dzaima
1e3089ceaa
fast ⍉𝕩 when 2=≠𝕩
2022-09-20 22:29:32 +03:00
dzaima
7c4673f972
more num_squeezeChk
2022-09-20 19:27:23 +03:00
dzaima
42ae82eb1f
simpler slash_ucw !elInt(w) case
2022-09-20 19:14:02 +03:00
dzaima
42e36851b9
more cleanup
2022-09-20 18:57:22 +03:00
dzaima
f231a30057
fix 𝕨⊔0
2022-09-20 17:36:55 +03:00
dzaima
cec5b7dc6c
slash.c cleanup
2022-09-20 17:32:12 +03:00
Marshall Lochbaum
01f73dc83b
Move usum and bit_sum from numarr.h to stuff.c
2022-09-19 19:38:26 -04:00
Marshall Lochbaum
ac4729bb29
Use grouped compress for all byte sizes if the number of groups is small enough
2022-09-19 19:31:44 -04:00
Marshall Lochbaum
11e3db1787
Can't call harr withFill before adding data to array
2022-09-19 11:15:47 -04:00
Marshall Lochbaum
05401547c1
Grouped compress for odd cell widths
2022-09-19 10:52:26 -04:00
Marshall Lochbaum
9af77e63ee
Split up partitioning loop in Group for rank 1 and rank>1 cases
2022-09-18 16:43:19 -04:00
Marshall Lochbaum
12c4fd0b07
Vectorizable usum code for i8, i16, i32
2022-09-18 16:15:20 -04:00
Marshall Lochbaum
d525acb51e
Merge branch 'master' into cellwidth
2022-09-18 15:26:34 -04:00
dzaima
9453a9b665
remove old loops for non-bitarr 𝕨 consisting of 0 and 1 from 𝕨/𝕩
2022-09-18 22:12:07 +03:00
dzaima
43ddb9759c
inline part of depth
2022-09-18 21:58:53 +03:00
dzaima
dd56cfab20
allow using picked element of ⌾(n⊸⊑) in-place
2022-09-18 21:00:51 +03:00
dzaima
770f7b2f0c
check type directly in pick_ucw
2022-09-18 20:17:48 +03:00
dzaima
c0cf58ffc2
use existing function for 8-bit utf8Decode
2022-09-18 20:17:20 +03:00
Marshall Lochbaum
cae65947cd
Apply fast Replicate code whenever the cell size is right
2022-09-17 21:01:17 -04:00
Marshall Lochbaum
ea1367e639
Handle cell size 0 correctly in cellWidthLog()
2022-09-17 21:01:13 -04:00
Marshall Lochbaum
c72b9b5abd
Redo replicate with sparse and dense cases
2022-09-17 16:17:47 -04:00
Marshall Lochbaum
5f196c49d9
Extend sparse and dense where to all cases fitting in i32s
2022-09-16 22:01:56 -04:00
Marshall Lochbaum
fb1230bcc2
Sparse Indices prototype
2022-09-16 22:01:56 -04:00
Marshall Lochbaum
26c3dbfeea
Start using type-independent utilities in compress()
2022-09-16 22:01:56 -04:00
Marshall Lochbaum
3505e1515e
Extend Group where 𝕨 is an integer list to handle higher-rank 𝕩
2022-09-16 22:01:56 -04:00
Marshall Lochbaum
21033fa355
Move Group to its own file
2022-09-16 22:01:56 -04:00
Marshall Lochbaum
0b1ded14e0
Type-independent Reverse
2022-09-16 22:01:56 -04:00
Marshall Lochbaum
b84a2d4e1f
Special-casing for length 1 in self-search functions
2022-09-16 22:01:56 -04:00
Marshall Lochbaum
57d33990e3
Make self-search special code only depend on cell size
2022-09-16 22:01:56 -04:00
dzaima
9c5396e711
consistently output WARN_SLOW information on stderr
2022-09-12 20:12:32 +03:00
dzaima
89503ba1c1
don't not check top bits in LIKELY & RARE
2022-09-12 19:51:07 +03:00
dzaima
889c520251
move slash_im setting
2022-09-12 18:32:56 +03:00
dzaima
a46ec7343e
not slow ⍉bitarr, fix ⊢⌾⍉ 2‿3‿4⥊↕24
2022-09-12 18:27:18 +03:00
dzaima
32d533b6e2
don't print left argument of ⊑ if it's large
2022-09-12 18:21:04 +03:00
dzaima
47c4a53da4
fix WARN_SLOW build
2022-09-12 18:19:05 +03:00
Marshall Lochbaum
6d372959e8
Just return 𝕩 for an all-ones compress
2022-09-11 21:48:31 -04:00
Marshall Lochbaum
9b17701c66
Sparse 1- and 2-byte compress, with blocking, if total sum is low enough
2022-09-11 20:19:20 -04:00
Marshall Lochbaum
c796670549
Faster trailing zero trim, and apply it to all cases in compress()
2022-09-11 20:19:20 -04:00
Marshall Lochbaum
2baa88ad31
Compress for 4-byte and 8-byte data using index blocks
2022-09-11 18:00:29 -04:00
Marshall Lochbaum
ab25b08f84
Move compress (bool/list) to its own function
2022-09-11 16:32:41 -04:00
Marshall Lochbaum
819899c745
Implement f64 Where with u16 blocks
2022-09-11 16:32:41 -04:00
Marshall Lochbaum
fda3efe217
More macros for Where
2022-09-11 15:31:23 -04:00
Marshall Lochbaum
0d6894ddbc
Fix broken non-Singeli dense i32 Where
2022-09-11 15:15:56 -04:00
Marshall Lochbaum
4bc5350747
Branchless sparse i16 Where
2022-09-11 11:00:17 -04:00
Marshall Lochbaum
1f40d36712
Separate where into its own function and split different types completely
2022-09-11 08:31:20 -04:00
Marshall Lochbaum
638121c054
Use blocked method for i32 Where with or without Singeli
2022-09-11 07:57:14 -04:00
Marshall Lochbaum
4999758497
Branchless i32 sparse Where
2022-09-11 07:57:01 -04:00
Marshall Lochbaum
017fcaea2a
Move slash functions to a separate file
2022-09-10 09:58:42 -04:00
Marshall Lochbaum
bb3ecdca6a
Sparse Where
2022-09-10 09:12:16 -04:00
Marshall Lochbaum
ae9817fd0d
Fast path for / with empty result, and faster non-Singeli Where
2022-09-10 09:02:17 -04:00
Marshall Lochbaum
d8abc4ef7e
Separate handling for ⊔ when 𝕨 changes value rarely
2022-09-09 18:11:12 -04:00
Marshall Lochbaum
ef2dee9a4d
Special case data movement for ⊔ on sorted 𝕨
2022-09-09 13:21:08 -04:00
Marshall Lochbaum
569dcacac1
Do Group's range check and ¯1 counting on 1- or 2-byte ints
...
Doesn't vectorize, but at least it speeds up filtering later
2022-09-09 08:58:23 -04:00
Marshall Lochbaum
1e143644b6
Filter out ¯1s in Group with / if there are enough of them
2022-09-08 21:00:15 -04:00
dzaima
e266fbd09e
basic float monadic arith loops, incl. -fno-math-errno
2022-09-08 23:18:47 +03: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
d60713225b
just use u64 in bitsel
2022-09-08 20:25:09 +03:00
dzaima
1619b6087b
mild optimization of v_set argument consumption
2022-09-08 20:05:13 +03:00
dzaima
3ccef1fe86
⊔𝕩 → ⊔⟜(↕≠)𝕩
2022-09-08 14:52:19 +03:00
dzaima
59cadb06fe
fix ⟨⟨⟩⟩⊏⟨⟩ incorrectly erroring
...
incl. ⟨⟨⟩,⟨⟩⟩⊏0‿0⥊⟨⟩, ⟨⟨⟩⟩⊏0‿0⥊⟨⟩, etc
2022-09-08 00:56:31 +03:00
dzaima
66d32e0acb
fast exit for depth-2 𝕨 in 𝕨⊏𝕩
2022-09-08 00:47:25 +03:00
dzaima
96ca9092ba
attempt at better bit_sel dispatch
2022-09-08 00:37:44 +03:00
dzaima
234443a17c
src/README.md updates
2022-09-08 00:03:42 +03:00
dzaima
59e947cc20
more consistent type checking & conversion functions
2022-09-07 23:56:03 +03:00
dzaima
734e9fc116
better type checking helpers
2022-09-07 23:38:51 +03:00
dzaima
2299c8094e
make gcc scream less
2022-09-07 20:28:45 +03:00
dzaima
0e306ca149
use WRAP instead of manual index management
2022-09-07 20:22:26 +03:00
dzaima
10004b82f7
make 1.2‿3.4⊏≍˘"abcd" error
2022-09-07 19:53:31 +03:00
dzaima
94e6168319
don't read past the end of array even if the value isn't used
...
bit_sel still uses it
2022-09-07 19:41:22 +03:00
dzaima
5d660cbf19
deduplicate hashmap size doubling function
2022-09-07 19:32:02 +03:00
dzaima
1a583725be
use TALLOCP in other places
2022-09-07 17:59:17 +03:00
dzaima
b784dac9e1
make clang not go crazy
2022-09-07 00:27:23 +03:00
Marshall Lochbaum
a43a42e4d1
Select from small boolean list by copying to bytes
2022-09-06 16:34:08 -04:00
Marshall Lochbaum
f877a45a63
Vectorize range checks for 1- and 2-byte indices
2022-09-06 16:34:08 -04:00
Marshall Lochbaum
4a8244f2c1
Faster selection from boolean list
2022-09-06 16:08:16 -04:00
Marshall Lochbaum
55263bcbc4
Handle bit selection from arrays with under 2 elements
2022-09-06 16:08:16 -04: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
0b4259559c
include errno.h in file.c unconditionally
2022-09-06 00:08:55 +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
629076d001
new ⟨⟩↕0 behavior & fix /⁼large_i8arr
2022-09-05 22:40:40 +03:00
dzaima
7f00d54372
rearrange arithd.c a bit more
2022-09-04 00:35:58 +03:00
Marshall Lochbaum
7792c60180
Fix unnecessary errors with computed shape 0, such as 1e8‿⌊‿1e8⥊↕5
2022-09-03 14:41:28 -04:00
Marshall Lochbaum
97bfacec44
Fix hang in •rand.Subset caused by moving wi==0 case into wi==xi
2022-09-03 14:41:28 -04:00
Marshall Lochbaum
44c0baee05
No need to initialize the negative half of the counts table
2022-09-03 14:41:28 -04:00
Marshall Lochbaum
37af32d95c
Faster /⁼ for boolean and long 1-byte and 2-byte 𝕩
2022-09-02 14:31:07 -04:00
dzaima
0139c5f58d
separate dyadic arith cases
2022-09-02 14:01:35 +03:00
dzaima
a637adadd9
rearrange arithd.c in preparation for separating its cases
2022-09-02 13:10:04 +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
bd04e38a5e
use existing copy functions for arr_join_inline
2022-09-01 19:52:51 +03:00
dzaima
90dd740bfc
use cpyHArr instead of a getter loop
2022-09-01 19:25:20 +03:00
dzaima
dad47cf391
move arith_recd to a noinline function
2022-09-01 18:51:02 +03:00
dzaima
f758a3f1f6
proper argument name
2022-09-01 18:40:48 +03:00
dzaima
1c43ad6431
squeeze •rand.Subset result
2022-09-01 18:25:10 +03:00
dzaima
e72c7dc937
faster ÷ ⋆ √ | ⋆⁼ on i8 & i16 arrays
2022-09-01 16:06:52 +03:00
dzaima
5cfa89ad5a
separate functions for comparison scalar & array cases
2022-09-01 15:06:34 +03:00
dzaima
72f25dad54
bitarr ↕1 and ↕2
2022-09-01 13:29:03 +03:00
dzaima
7d716d5ce0
elInt
2022-09-01 11:17:49 +03:00
dzaima
203916b44f
error on non-numbers in +𝕩
2022-09-01 11:16:42 +03:00
Marshall Lochbaum
76c93d85e1
Dyadic 32-bit / based on 8-bit monadic /
2022-08-31 16:11:52 -04:00
Marshall Lochbaum
1e0cf78fd0
Implement 4-byte where with blocks of 2-byte where
2022-08-31 16:11:52 -04:00
Marshall Lochbaum
6f02705d9f
Make small-range Grade code style more like radix code
2022-08-31 16:11:52 -04:00
Marshall Lochbaum
758c174cae
Optimistic special case to quickly invert permutations with ⍋
2022-08-31 16:11:52 -04:00
Marshall Lochbaum
a42335af4f
Use or-equals for dyadic ∊ when 𝕩 is small and arguments are flat
2022-08-31 16:11:52 -04:00
Marshall Lochbaum
15b444540e
Extend self-search typed code to characters by treating as numbers
2022-08-31 16:11:52 -04:00
Marshall Lochbaum
9028ebfe8b
Native Windows (↕)
2022-08-31 16:11:52 -04:00
dzaima
88f73d2585
fix comment & add note
2022-08-31 22:22:03 +03:00
dzaima
9775339e2c
squeeze result of ⌊ and ⌈
2022-08-30 00:18:25 +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
b37f620889
disable manual array F character loops when not running singeli
2022-08-29 19:46:41 +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
3c1ef1c9a2
use elNum
2022-08-28 16:44:21 +03:00
Marshall Lochbaum
f80d3ce263
Branchless integer binary search
2022-08-28 09:16:25 -04:00
Marshall Lochbaum
139faee0a1
Unify integer and character Bins
2022-08-28 09:16:09 -04:00
Marshall Lochbaum
9376e02ecb
Boolean sorting
2022-08-27 15:44:25 -04:00
Marshall Lochbaum
e027aca0cf
Radix grades
2022-08-27 15:16:20 -04:00
Marshall Lochbaum
36e54d1a39
1-byte radix with length ==256 doesn't work because of SWAR overflow when descending
2022-08-27 11:10:17 -04:00
Marshall Lochbaum
4ec83e51a6
Merge sort.h into grade.h
2022-08-27 10:59:00 -04:00
Marshall Lochbaum
9d59dff522
4-byte sorting: insertion and radix
2022-08-26 22:04:32 -04:00
Marshall Lochbaum
f946a3de41
2-byte sorting: insertion, radix, counting
2022-08-26 22:04:32 -04:00
Marshall Lochbaum
5034e55c79
Move Sort to template file sort.h (for up/down) like Grade
2022-08-26 22:04:32 -04:00
Marshall Lochbaum
a0a4ecadc7
1-byte sorting: insertion, bucket, counting
2022-08-26 22:04:32 -04:00
dzaima
5a162c7929
macos-specific sub-second file times
2022-08-26 22:46:00 +03:00
dzaima
2939395906
fallback file time getting method
2022-08-26 22:31:10 +03:00
dzaima
81e09956d3
•file.Size, make •file.List decode UTF-8
...
invalid UTF-8 is a problem for the future
2022-08-26 13:37:51 +03:00
dzaima
484158318a
explicit JIT_ENABLED macro independent from JIT_START
2022-08-26 10:16:45 +03:00
dzaima
b16378bef6
add thing that was previously non-existent
2022-08-26 10:16:16 +03:00
dzaima
1927cb5756
implement ⍷𝕩 with (∊𝕩)/𝕩
2022-08-25 23:17:00 +03:00
dzaima
398a66ed94
fix c0 offset
2022-08-25 22:44:31 +03:00
dzaima
20a15097b4
remove non-existent thing
2022-08-25 22:33:38 +03:00
dzaima
d12a53fd08
•file.Created, •file.Accessed, •file.Modified
2022-08-25 22:29:03 +03:00
dzaima
905a9f78d4
{raw⇐1} •SH 𝕩
2022-08-25 22:27:35 +03:00
Marshall Lochbaum
e8e12e2d8f
Another allocation improvement
2022-08-25 14:09:10 -04:00
Marshall Lochbaum
34950339c2
Improve radix+table allocation layout
2022-08-25 14:00:28 -04:00
dzaima
600bb59c77
more diagram
2022-08-25 20:27:30 +03:00
Marshall Lochbaum
c590d73030
Missed TFREE
2022-08-25 11:25:59 -04:00
Marshall Lochbaum
b2992a11b8
1- and 2-byte methods for monadic ⊐
2022-08-25 11:10:11 -04:00
Marshall Lochbaum
98cd80c13d
Port all the integer monadic ∊ methods to ⊒
2022-08-25 10:39:38 -04:00
Marshall Lochbaum
f54942f175
Make first initialization in radix 4-byte lookup sparse too
2022-08-24 21:05:39 -04:00
Marshall Lochbaum
ad8570be11
Wait, sparse initialization with a pass through the argument is faster than radix stuff
2022-08-24 20:26:02 -04:00
Marshall Lochbaum
5cd2cab26e
Small-number integer ∊ with all-pairs comparison and 2-byte radix+table
2022-08-24 18:44:00 -04:00
Marshall Lochbaum
7ffa0dac4a
Switch from using IA to *SH for length
2022-08-24 11:08:27 -04:00
Marshall Lochbaum
efe2e86271
Unify search function preambles, so all have empty and rank>1 cases
2022-08-24 11:03:05 -04:00
Marshall Lochbaum
9d402c1bdd
Move self-search functions to selfsearch.c
2022-08-24 10:47:04 -04:00
Marshall Lochbaum
eff9df5a26
Table lookups for self-search functions
2022-08-24 10:28:19 -04:00
Marshall Lochbaum
633e790099
Radix-assisted lookup implementation for ∊
2022-08-24 10:27:55 -04:00
dzaima
5be18bb180
fix ∾⟨"ab",1⟩
2022-08-23 17:16:07 +03:00
dzaima
355d7978ed
include •file.Parent in system value docs
2022-08-23 17:11:15 +03:00
dzaima
eb9550aa29
•file.Parent
2022-08-22 15:30:37 +03:00
dzaima
aa95b6add4
actually use TY(x) / PTY(x) more
2022-08-21 16:11:40 +03:00
dzaima
5112796cfd
move m_unit out of header file
2022-08-21 15:48:04 +03:00
dzaima
c69a3373b9
better m_atomUnit
2022-08-21 08:50:33 +03:00
dzaima
7393c4b663
fully native ⊑
2022-08-21 07:58:41 +03:00
dzaima
505f6869fc
rt_join not needed anymore
2022-08-21 07:53:41 +03:00
dzaima
582ff8909b
@ •FFI 𝕩
2022-08-21 07:49:09 +03:00
dzaima
4ed814e395
cleanup of new field reading macros
2022-08-20 09:04:22 +03:00
dzaima
1694bfb7d2
s?p?rnk(x) → S?P?RNK(x)
2022-08-20 08:36:59 +03:00
dzaima
e10f13d6ea
x->type → TY(x) / PTY(x)
2022-08-20 08:30:12 +03:00
dzaima
d2a4efe4b5
x->sh → SH(x) / PSH(x)
2022-08-20 08:30:07 +03:00
dzaima
e6b4f85662
x->ia → IA(x) / PIA(x)
2022-08-20 08:30:03 +03:00
dzaima
558c14cccd
fix fill of empty 𝕨⊏𝕩
2022-08-20 08:23:58 +03:00
dzaima
719d37cd63
reorder eachm_fn and eachd_fn args
2022-08-18 11:18:34 +03:00
dzaima
b1300e6e76
yet another string function rename
2022-08-18 09:07:32 +03:00
dzaima
e49fcd3449
typed n •rand.Range 2⋆31
2022-08-17 19:41:32 +03:00
dzaima
81bdec4737
128-bit multiplication & unrolling doesn't go well in clang
2022-08-17 19:10:01 +03:00
dzaima
c5b65b9246
typed •rand.Range
2022-08-17 18:53:41 +03:00
Marshall Lochbaum
56a1d9ec4c
Singeli integer ⌊ and ⌈
2022-08-15 16:01:17 -04:00
dzaima
1fcc3b0030
saner bytecode metadata storage
2022-08-15 12:00:50 +03:00
dzaima
4b272148f5
make allocL after splitTo call skip empty bucket checking
2022-08-14 11:19:11 +03:00
dzaima
7e4096e572
nicer fold loops
2022-08-14 02:34:26 +03:00
dzaima
ff0ea7a0ad
fix empty program check in REPL
2022-08-14 02:33:48 +03:00
Marshall Lochbaum
b579440f5e
Change × and ∧ integer reductions to reverse order
2022-08-13 19:02:22 -04:00
Marshall Lochbaum
82d2eb5b1a
Fix monadic ⌊` initial element
2022-08-13 19:00:59 -04:00
Marshall Lochbaum
195336b6df
Implement F˝x as <F´x for rank-1 x and arithmetic F
2022-08-13 16:04:20 -04:00
Marshall Lochbaum
22925eee4b
Fast ⌊, matching ⌈
2022-08-13 15:03:23 -04:00
Marshall Lochbaum
27943b85f4
Fast boolean =´ and ≠´
2022-08-13 14:39:53 -04:00
Marshall Lochbaum
37312f7a03
Lift out bitarr_ptr calls
2022-08-13 14:28:16 -04:00
Marshall Lochbaum
f406b05303
Fill boolean scan gaps: ∨ and dyadic int≠bool
2022-08-13 14:05:48 -04:00
Marshall Lochbaum
6a00b6d7d4
Fast boolean -´
2022-08-13 13:45:56 -04:00
Marshall Lochbaum
4950506c72
Separate boolean fold and scan code from other special cases to handle aliases better
2022-08-13 13:34:01 -04:00
dzaima
3ab92ecd66
explicit pointer → u64 conversion
...
work towards gcc 32-bit x86 builds. (gcc sign-extended pointers without this changeset)
gcc miscompiles `union B` usage though (https://godbolt.org/z/hEWKdc5PK ), which I can do nothing about, so clang is still the only option for 32-bit x86 builds
2022-08-10 10:20:48 +03:00
dzaima
a9b3b3de97
use TALLOC instead of m_shArr
2022-08-07 01:19:09 +03:00
dzaima
36e78da56f
Merge pull request #30 from mlochbaum/join
...
Native Join
2022-08-07 01:13:30 +03:00
Marshall Lochbaum
78f14be79d
Finish multidimensional join
2022-08-06 17:30:30 -04:00
Marshall Lochbaum
1d891388b5
High-rank join shape checking
2022-08-05 22:01:42 -04:00
Marshall Lochbaum
c1d5ca5c29
Switch from min and max to max and difference in Join shape checking
2022-08-05 21:50:39 -04:00
dzaima
bac1eaf9e3
squeeze result of ¨
2022-08-05 03:19:12 +03:00
dzaima
fd1ac7487c
wyhash microoptimization
2022-08-05 03:08:39 +03:00
dzaima
98e3021efb
fix bit boolean array hash only using the first 1/8 of the array
2022-08-04 02:55:19 +03:00
Marshall Lochbaum
bf6a8c5699
Handle any rank empty, and rank 0, in Join
2022-08-01 21:21:10 -04:00
Marshall Lochbaum
d9d421db04
Handle atoms in Join of list
2022-08-01 17:31:07 -04:00
Marshall Lochbaum
b8e6996e7e
Shape logic for Join of any list
2022-08-01 17:27:22 -04:00
dzaima
a6deb4b691
native unit∊vector
2022-07-26 04:30:33 +03:00
dzaima
9480ee9da2
native ⌾(F G), ⌾(F∘G), ⌾<, <⁼
2022-07-26 03:38:30 +03:00
dzaima
a5e206d009
always print sample sum in the profiler
2022-07-26 03:14:05 +03:00
dzaima
58f8772bd3
use singeli copy functions for mut copyG
2022-07-26 00:18:00 +03:00
dzaima
9acb9e6bf4
fix ⎉ low-rank fill computation
2022-07-26 00:04:13 +03:00
dzaima
d959482d44
move generic array copy to its own function
2022-07-25 05:21:14 +03:00
dzaima
6b90615896
more correct stack height going negative check
2022-07-24 22:18:22 +03:00
dzaima
c1b66c5982
don't bother iterating through generic array items in cpy.*Arr on free
2022-07-24 00:05:42 +03:00
dzaima
32d8c09e2b
limit row-wise F⌜ to 7<≠⥊𝕩
2022-07-23 02:18:42 +03:00
dzaima
599c56051d
convert ⊐ result to smaller type based on ≠𝕨
2022-07-22 05:50:34 +03:00
dzaima
bd5ab29387
native vec⊐highRankArr
2022-07-22 05:39:26 +03:00
dzaima
8ca94cc623
make withFill properly know that a bit boolean array is a number array
2022-07-22 05:03:57 +03:00
dzaima
046284b96f
random cleanup
2022-07-22 03:59:44 +03:00
dzaima
29fe3206cd
fix path_rel with empty base path
2022-07-15 23:25:49 +03:00
dzaima
b43153495a
a bit more valgrind debugging stuff
2022-07-10 06:07:28 +03:00
dzaima
5de154fb54
option to flush perf map after each write
...
e.g. for use while live debugging
2022-07-10 04:23:17 +03:00
dzaima
0b155e4416
simpler vg_pext_u64 tail handling
...
that makes it not get SIMD-mangled when optimizations are enabled, thus allowing valgrind to preserve vbits
2022-07-10 04:02:49 +03:00
dzaima
aabaac977b
more strict freed memory handling for valgrind
2022-07-10 02:40:43 +03:00
dzaima
a17d8004be
make valgrind run under -DMM=0
...
even if it's not very helpful as CBQN requires being able to read garbage past allocation ends
2022-07-10 02:07:18 +03:00
dzaima
eb5b32319f
make ∨`𝕩 run under valgrind
2022-07-10 02:01:59 +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
9a00da6369
deduplicate ia writing
2022-07-09 02:18:22 +03:00
dzaima
3c2a7dbefa
high-rank in-place w∾x
2022-07-09 02:00:22 +03:00
dzaima
1c645e11d8
fix •FromUTF8 name
2022-07-08 19:34:30 +03:00
dzaima
1a9d2d0118
apparently apple clang 11.0.3 infinite-loops on mmap_nvm too
2022-07-03 02:18:14 +03:00
dzaima
837372295d
small simplification
2022-07-02 03:52:34 +03:00
dzaima
010db0b1fc
mark direct access result const
2022-07-01 21:30:47 +03:00
dzaima
a6a1448382
bqn_copy & bqnffi.h comment cleanup
2022-06-30 17:44:01 +03:00
dzaima
f27ba6d569
even more microoptimization
2022-06-30 16:25:29 +03:00
dzaima
c794fb0ef9
more microoptimization
2022-06-30 15:40:54 +03:00
dzaima
74eaa3853f
optimize squeeze result choosing
2022-06-30 03:51:00 +03:00
dzaima
685c3ecbc6
fix fill leak on @⌾(0⊸⊑) 2⥊<"foo"
2022-06-30 03:37:52 +03:00
dzaima
0313b0a0a0
fix •internal.Variation
2022-06-30 03:05:30 +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
e31c574fd8
separate squeeze to its own file
2022-06-29 18:36:05 +03:00
dzaima
86cf6f5c2d
faster value⊸F & F⟜value
2022-06-28 15:58:13 +03:00
dzaima
8882fb959a
move scope_dec cycle handling to a noinline function
2022-06-27 19:50:30 +03:00
dzaima
d18ebc3d07
fix withFill previous fill check
2022-06-27 03:22:36 +03:00
dzaima
fadde40f78
more incG
2022-06-26 23:48:30 +03:00
dzaima
59f0aaa732
defer explain loading to when it's invoked
2022-06-26 22:14:30 +03:00
dzaima
997ced9d2e
Merge pull request #25 from Detegr/explain
...
support calling explain for an expression
2022-06-26 21:56:32 +03:00
dzaima
266c742b98
fix refcount
2022-06-26 21:54:41 +03:00
dzaima
a6081600ae
namespace reading functions for FFI
2022-06-25 17:32:41 +03:00
dzaima
efb4a06a25
x⥊0 & x⥊1 → bitarr
2022-06-25 16:17:34 +03:00
dzaima
43b8b5e2a0
)escaped
2022-06-19 21:05:05 +03:00
Antti Keränen
0314f55a78
support calling explain for an expression
2022-06-18 22:09:36 +03:00
dzaima
0232cda412
support ARMM 0
2022-06-16 21:05:06 +03:00
dzaima
1fd88c1749
clean up ascii/utf8 functions
2022-06-15 15:31:57 +03:00
dzaima
e3da1da8f6
properly error on alias list being assigned to non-namespace
2022-06-14 03:36:40 +03:00
dzaima
6307356bab
rearrange common array case to top
2022-06-14 02:40:50 +03:00
dzaima
f3fffd2b8d
fix [a,b]+↩1
2022-06-14 02:33:41 +03:00
dzaima
3b82419202
fix error messages
2022-06-14 02:28:13 +03:00
dzaima
f9d251ec08
ARRO/ARRM→LSTO/LSTM
2022-06-14 02:12:37 +03:00
dzaima
5e0bda6a28
ARMO & ARMM
2022-06-14 02:09:41 +03:00
dzaima
8a84726e6e
fix wasm build
2022-06-12 22:33:59 +03:00
dzaima
baa4641a44
don't needlessly include sys/mman.h
2022-06-12 22:29:35 +03:00
dzaima
5a32a00f46
more checks of NO_MMAP
2022-06-12 22:12:08 +03:00
dzaima
ab69f86cb5
store fill in FillSlice
2022-06-11 17:36:51 +03:00
dzaima
e137d8536d
native ↑𝕩 & ↓𝕩
2022-06-10 00:14:42 +03:00
dzaima
025043b84e
make arr_shVec return its argument
2022-06-10 00:08:13 +03:00
dzaima
638891bde1
missing double-space
2022-06-09 18:15:30 +03:00
dzaima
a298bc3018
more function name cleanup
2022-06-09 18:12:15 +03:00
dzaima
5636c1e2ca
clean up some function names
2022-06-09 04:10:46 +03:00
dzaima
2359e54661
a bit saner heap format
2022-06-09 04:10:23 +03:00
dzaima
82fc2a2bda
remove rt_rank
2022-06-09 04:09:07 +03:00
dzaima
021fd5d8c3
native empty ˘ & ⎉ cleanup
2022-06-09 04:00:04 +03:00
Marshall Lochbaum
b862d7c075
Native empty-frame Rank modifier (⎉)
2022-06-08 20:16:30 -04:00
Marshall Lochbaum
5c59da7376
Handle fills in monadic ⎉ by passing to the runtime
2022-06-08 18:02:29 -04:00
Marshall Lochbaum
f686298664
Native empty dyadic Cells (˘)
2022-06-08 18:01:27 -04:00
dzaima
b865eb84ba
make known type mut functions take data pointer instead of Mut*
2022-06-08 03:48:31 +03:00
dzaima
f74f355360
explicit switches in mut.h & update comments
2022-06-08 01:00:02 +03:00
dzaima
b48b184f14
reduce binary size by 1% by a less horrifically unrolled m_scope
2022-06-07 19:19:59 +03:00
dzaima
6b6f2892b7
free error message object
2022-06-07 18:47:13 +03:00
dzaima
14b7942556
)clearImportCache
2022-06-05 17:17:20 +03:00
dzaima
0674c6bafb
ffi: more const
2022-06-05 13:35:22 +03:00
Antti Keränen
8923f6a3b8
ffi: make bqn_evalCStr use a constant string
2022-06-05 10:22:13 +03:00
dzaima
3f7261c812
fix error when UTF-8 •SH output is split between reads
2022-06-04 17:26:00 +03:00
dzaima
cc8d1cb4d7
fix m_vec1 under OOM
2022-06-04 02:13:01 +03:00
dzaima
4a2d460998
fix tbl_c2 under OOM
2022-06-04 02:12:50 +03:00
dzaima
f8447d9b5f
properly restore compilation globals in case compiler errors
2022-06-04 01:24:52 +03:00
dzaima
8ad7b6149f
OOM fuzz testing base
2022-06-04 01:19:17 +03:00
dzaima
1e2b734f5d
fix incorrect refcounting of 7dc4f1
2022-06-04 01:13:03 +03:00
dzaima
b32b818df7
fix m_shArr erroring within arr_shAlloc
2022-06-04 00:35:22 +03:00
dzaima
7dc4f1c36c
reorder compile to do allocations after initializing Comp
2022-06-04 00:04:46 +03:00
dzaima
9248d1e876
fix ⊔ leaving item shape uninitialized
2022-06-03 23:40:55 +03:00
dzaima
e92dce58fb
shared library build
2022-06-03 22:04:48 +03:00
dzaima
9d97c20c38
bqn_init
2022-06-03 21:17:25 +03:00
dzaima
d4da8a1127
update stack pointer before allocations
2022-06-03 20:54:23 +03:00
dzaima
d3555b4af6
fix •Import when execution errors
2022-06-03 20:35:38 +03:00
dzaima
2dbbb3415e
fix m_nsDesc failing to allocate leaving body->nsDesc uninitialized
2022-06-03 19:50:26 +03:00
dzaima
6aada8338e
proper state restore after failed allocation in codegen
2022-06-03 17:17:30 +03:00
dzaima
86fc9041fa
print fallback stacktrace code to stderr
2022-06-03 16:24:43 +03:00
dzaima
73ff6fe722
add interrupt check to allocation slow slow path
2022-06-03 16:04:48 +03:00
dzaima
572bc04459
move interrupt check to its own header
2022-06-03 16:02:02 +03:00
dzaima
7a21f9ef73
experimental REPL interrupting
2022-06-03 15:38:32 +03:00
dzaima
47e4e68eee
fix )profile@123
2022-06-03 14:47:43 +03:00
dzaima
f9a8eb0ce3
static noinline apparently results in argument slots being optimized out
...
but that means that the arguments between the two won't align, resulting in unnecessary 'mov's
2022-06-03 02:51:09 +03:00
dzaima
2697e749e1
better ⌾ fallback
2022-06-02 03:30:39 +03:00
dzaima
f1faff2866
fix FFI=1 build
2022-05-30 19:55:30 +03:00
dzaima
cb1338951c
more shcpy
2022-05-30 17:53:54 +03:00
dzaima
3455bed3ee
remove pointless check in ≠𝕩
2022-05-30 15:12:48 +03:00
dzaima
3c314e266a
correct format string
2022-05-30 02:13:50 +03:00
dzaima
79bd6fc689
use shProd more
2022-05-30 02:07:25 +03:00
dzaima
cc44b3e57b
shProd
2022-05-30 01:54:47 +03:00
Marshall Lochbaum
68914c1a39
Native dyadic Rank modifier implementation, except empty frames
2022-05-29 18:14:04 -04:00
Marshall Lochbaum
3947463c34
Native dyadic Rank modifier implementation when one or both arguments are full rank
2022-05-29 18:14:04 -04:00
Marshall Lochbaum
df783d15a5
Align toKCells with rank_c1 changes
2022-05-29 18:14:04 -04:00
Marshall Lochbaum
2c0de9ee02
Check rank vector completely before starting computations in ⎉
2022-05-29 18:14:04 -04:00
dzaima
b8701d3502
more descriptive paths for self-hosted files
2022-05-29 22:20:50 +03:00
dzaima
960ae96591
show source-less & path-less entries in the profiler
2022-05-29 22:16:42 +03:00
dzaima
0380ee2a40
fix wasm builds
2022-05-29 22:05:04 +03:00
dzaima
e2fda60745
profiler
2022-05-29 22:02:50 +03:00
dzaima
5b2d221d0b
bqn_type
2022-05-29 18:46:59 +03:00
dzaima
6033c2e90e
flush pipes in g_pst
2022-05-29 16:12:14 +03:00
dzaima
a108ef2ce7
use eqShPart in arithd.c
2022-05-29 14:44:44 +03:00
dzaima
60a68c3c25
manual shcpy loop
2022-05-29 14:20:11 +03:00
dzaima
54645df2a9
use shcpy for copying shapes
2022-05-29 14:08:30 +03:00
dzaima
3fa0463241
manual eqShPart
...
mainly to not suffer the cost of function invocation, as the common case is len==1
2022-05-29 14:03:15 +03:00
dzaima
3dd1bffe2f
don't unroll arr_csz
2022-05-29 13:57:03 +03:00
dzaima
bf618b9b64
native 𝔽⌾(n⊸↑) & 𝔽⌾(n⊸↓)
2022-05-29 13:38:04 +03:00
dzaima
04c2ce7ade
tests for bqnffi.h
2022-05-28 17:35:30 +03:00
dzaima
093958f92a
Merge pull request #21 from dzaima/ffi
...
FFI
2022-05-28 01:29:21 +03:00
dzaima
622a5468d8
remove old ffi.h
2022-05-28 00:15:33 +03:00
dzaima
12631cb142
ffi tests
2022-05-27 23:57:56 +03:00
dzaima
662b23d808
add newline after fputs
2022-05-23 16:45:50 +03:00
dzaima
2775a92535
ffi: support **:type
2022-05-23 16:42:02 +03:00
dzaima
ec76a3cd70
ffi: *:t, scalar:t support for result
2022-05-22 16:13:13 +03:00
dzaima
e09cefd049
u64/i64 arguments, check whether integer arguments are exact
2022-05-22 14:42:16 +03:00
dzaima
af194b55ae
make •FFI read relative to file
2022-05-22 04:42:59 +03:00
dzaima
c7e0b59e88
print more things to stderr
2022-05-22 04:40:13 +03:00
dzaima
e24f3c9df5
allow u64 result when lossless
2022-05-22 04:26:02 +03:00
dzaima
d0c63e4da4
fix FFI &f32
2022-05-22 04:02:55 +03:00
dzaima
1a8ee67d41
result & argument position selection
2022-05-21 23:47:02 +03:00
dzaima
af3c6b7857
add FFI=0 for presingeli build
2022-05-14 12:38:40 +03:00
dzaima
e7cc64aa89
nounroll
2022-05-14 12:26:42 +03:00
Paul A. Patience
e684c64847
Add •file.Remove
2022-05-13 21:18:47 -04:00
Paul A. Patience
fdeae8fbfe
Add •file.Rename
2022-05-12 18:19:23 -04:00
dzaima
a938f32631
make FFI=1 do something
2022-05-12 14:36:10 +03:00
dzaima
d186294e28
allocate at least minimum size, rename functions
2022-05-11 22:56:14 +03:00
dzaima
09755e5e2c
fix FFI :
2022-05-11 22:40:45 +03:00
dzaima
a601ba6a76
very unfinished FFI
2022-05-11 22:30:14 +03:00
dzaima
409524d958
noinline version of vec_add
2022-05-11 18:31:49 +03:00
dzaima
ec273f2102
fix •file.CreateDir
2022-05-10 14:19:15 +03:00
dzaima
63bd4a876e
•file.CreateDir
2022-05-09 22:57:37 +03:00
dzaima
5e67b87cf1
identity for f⌜
2022-05-07 15:46:08 +03:00
dzaima
8c73112d6c
pull latest singeli
2022-05-07 15:28:30 +03:00
dzaima
894c56205f
native ⌾⍉
2022-05-02 20:35:16 +03:00
dzaima
3496a939b6
more switch cleanup
2022-05-01 04:47:21 +03:00
dzaima
f12e5fd1c0
move bqn_hash back to header
2022-05-01 04:36:59 +03:00
dzaima
3f787e3845
the tag includes type info anyways
2022-05-01 04:32:16 +03:00
dzaima
782750fd88
bqn_hash refactor
2022-05-01 04:21:17 +03:00
dzaima
0164e4e0bc
lazy i8/i16 ∧𝕩 & ∨𝕩
2022-05-01 03:30:11 +03:00
dzaima
88f4fdaa7e
16-bit & 64-bit ⊔ cases
2022-05-01 03:14:23 +03:00
dzaima
5d687b1ac3
lazy impl of i8/i16 arrays in 𝕨 of ⊔
2022-05-01 03:00:36 +03:00
dzaima
cee8e841f9
better fillarr creating in •internal.Variation
2022-05-01 02:49:10 +03:00
dzaima
0907458b4d
allow c32 to use i32 path in ⍋𝕩
2022-05-01 02:34:47 +03:00
dzaima
836fe9184a
deduplicate things in ⊏
2022-05-01 02:24:51 +03:00
dzaima
886feb4ed0
fix fill handling of ⌽
2022-05-01 02:10:31 +03:00
dzaima
7ab504c8bc
unified int & char cases for ⊏
2022-05-01 01:53:45 +03:00
dzaima
7ece6b2179
unified int & char cases for ⊔
2022-05-01 01:35:16 +03:00
dzaima
7f9773f971
unified int & char cases for ⍉ & ⌽
2022-05-01 01:35:11 +03:00
dzaima
1babdf247f
unified int & char cases for bitarr/x
2022-04-30 21:49:47 +03:00
dzaima
f8408f0ca6
check for System V calling convention OSes for JIT
2022-04-29 23:17:55 +03:00
dzaima
e979faea0e
put mnvmExecBodyInline under a JIT_START check
2022-04-29 22:46:59 +03:00
dzaima
426187be07
make •SH run under cygwin
2022-04-29 22:38:18 +03:00
dzaima
de65d8a59b
fix double-increment
2022-04-27 21:33:33 +03:00
dzaima
6abce22447
micro-optimize execBodyInline
2022-04-27 20:15:47 +03:00
dzaima
aefeb3c6fd
fix emcc build
2022-04-26 19:32:29 +03:00
dzaima
3f92c32399
no-op ⥊vec
2022-04-25 18:10:37 +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
53b7b2465e
correct floating point order of +´ and ×´
2022-04-21 15:51:10 +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
826e9c693a
fix 2×´1‿1
2022-04-18 23:23:46 +03:00
dzaima
11d95b67d5
better error messages for no inverse header
2022-04-15 23:20:44 +03:00
dzaima
996009bf09
remove unnecessary header inclusion
2022-04-12 16:58:33 +03:00
dzaima
2e6f94bbf5
move immintrin.h file within ifdef
2022-04-12 16:57:47 +03:00
dzaima
a4a72a78c4
singeli select (disabled)
2022-04-12 16:45:43 +03:00
dzaima
c54e63099f
additional check in •internal.Variation
2022-04-12 16:24:25 +03:00
dzaima
f079aa5f76
move select to its own file
2022-04-12 16:23:43 +03:00
dzaima
767a2a9e38
make •file.MapBytes follow spec & fix error message
2022-04-10 05:12:21 +03:00
dzaima
2c2ed7920b
directly copy data from typed array for file_wBytes
2022-04-10 01:00:08 +03:00
dzaima
d28454206d
check •term.OutRaw & •term.ErrRaw input, fix •bit._cast overflow check
2022-04-09 22:53:57 +03:00
dzaima
fcb6a164ca
fix •bit._cast on large inputs
2022-04-09 20:14:42 +03:00
dzaima
355bd5646e
correct •file.MapBytes name
2022-04-09 19:51:27 +03:00
dzaima
acc8e35c2f
•file.MapBytes
2022-04-09 19:45:14 +03:00
dzaima
0ec0658ada
oh right bqn_exec is a thing
2022-04-08 17:25:31 +03:00
dzaima
ccd00cd4cf
use length argument in cbqn_evalSrc
2022-04-07 19:52:35 +03:00
dzaima
e38226895e
cbqn_evalSrc
2022-04-07 19:45:43 +03:00
dzaima
7adb06a43d
)r
2022-04-07 19:43:49 +03:00
dzaima
f136ca5e97
rename confusing m_funBlock to evalFunBlock
2022-04-07 17:36:02 +03:00
dzaima
bc5a279f55
fix PRECOMP
2022-04-07 17:31:01 +03:00
dzaima
422dc80283
decG round 4
2022-04-07 17:19:36 +03:00
dzaima
ff6a0a6d22
decG round 3
2022-04-07 16:03:50 +03:00
dzaima
69067b8fcc
decG round 2
2022-04-07 15:15:28 +03:00
dzaima
9b8f8f3725
decG round 1
2022-04-07 13:56:11 +03:00
dzaima
04dbf9a9a4
add another sse3 include
2022-04-07 11:40:03 +03:00
dzaima
e7b551acc2
increase wasi stack size
2022-04-07 02:06:41 +03:00
dzaima
ff7a4cb0cb
error on non-functional malloc_usable_size
2022-04-07 01:19:35 +03:00
dzaima
267a62d292
don't use mmap in allocStack for WASI
2022-04-07 00:04:12 +03:00
dzaima
15cf311425
use calloc to allocate memory on wasi
2022-04-06 22:53:07 +03:00
dzaima
e3baa868f7
put in a bit more effort printing messages while things are really bad
2022-04-06 22:38:51 +03:00
dzaima
e3e54bea06
extract single REPL input line execution to function
2022-04-06 20:59:33 +03:00
dzaima
502197b62f
explicitly disable spawn on wasm
2022-04-06 20:05:27 +03:00
dzaima
b60bc7c3bf
disable realpath & mprotect for wasm
2022-04-06 19:16:35 +03:00
dzaima
377b38b84f
fix •term.RawMode fallback
2022-04-06 19:14:10 +03:00
dzaima
f4aee96e65
fix mmX_dumpHeap signature
2022-04-06 19:10:59 +03:00
dzaima
4a316c9398
don't include setjmp.h when CATCH_ERRORS=0
2022-04-06 18:52:54 +03:00
dzaima
6bce21b55c
fix generic squeeze case
2022-04-04 21:38:35 +03:00
dzaima
ea5abeff18
simpler o2bu
2022-04-04 21:29:37 +03:00
dzaima
1609e8b651
singeli cleanup
2022-04-04 16:28:13 +03:00
dzaima
a3260edbce
more copyG cases
2022-04-04 16:28:03 +03:00
dzaima
e3fe87d040
optimize eequal & expose as •internal.EEqual
2022-04-04 16:16:29 +03:00
dzaima
2148d191d9
flush between heapdump writes
2022-04-04 16:10:01 +03:00
dzaima
1ce5712a97
f64 case in ⊑
2022-04-04 11:30:35 +03:00
dzaima
b9f5291a33
better basic num_squeeze
2022-04-04 10:02:30 +03:00
dzaima
4ed2d0bec2
sysfn cleanup
2022-04-03 17:38:06 +03:00
dzaima
a9331ef8f0
fast bit_cpy head & tail
2022-04-02 23:47:07 +03:00
dzaima
3e4b0e882d
•internal.Temp
2022-04-02 20:40:46 +03:00
dzaima
02087d7611
split non-tail-calling part of equal to its own function
2022-04-02 20:05:03 +03:00
dzaima
e031b069fb
test special float values
2022-04-02 20:00:34 +03:00
dzaima
36d5b8f9d8
tests
2022-04-02 18:20:18 +03:00
dzaima
b329ddee1d
unaligned 128-bit vector loads
2022-04-02 17:57:49 +03:00
dzaima
980f20df9a
𝕨/𝕩: move tail skipping to BMI-less build
2022-04-02 17:54:21 +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
9c9a91afa5
gdb helper function docs
2022-04-02 00:02:59 +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
taswelll
cebadbd301
fix •term.ErrRaw
2022-03-22 22:34:37 +01:00
dzaima
d66ade1303
remove i_ARR_2 from write_asm
2022-03-21 23:12:46 +02:00
dzaima
60d3ba8c64
singeli collect
2022-03-20 00:30:06 +02:00
dzaima
ba6e2adb5d
inline i_ARR_2
2022-03-20 00:28:36 +02:00
dzaima
4de990a73b
bit of singeli cleanup, JIT comment
2022-03-18 15:24:13 +02:00
dzaima
c1d2dd7168
fix gcc build
2022-03-16 14:14:31 +02:00
dzaima
7b031a2aa0
•file.Exists
2022-03-15 21:37:33 +02:00
dzaima
eae7501d36
fix •file.Type when file not present
2022-03-15 20:47:01 +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
ccd2b70747
more mut_fillG
2022-03-12 03:53:27 +02:00
dzaima
d78a45a457
smarter virtual function reading deduplication
2022-03-12 03:44:46 +02:00