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 |
|