dzaima
a7ceda6b28
fix float NaN comparison
2023-04-21 17:55:38 +03:00
dzaima
9bb7fa406b
add assertion for arr_shReplace rank expectation
2023-04-21 15:50:42 +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
94bcc4bcc1
make debugger helpers print to stderr
2023-04-14 14:58:11 +03:00
dzaima
0aca470931
more explicit inline requiring
2023-04-06 13:12:11 +03:00
dzaima
5a2b755191
move non-AVX2 x86-64 into SINGELI_SIMD
2023-04-02 15:55:49 +03:00
dzaima
c76adb8b35
default to •internal.EEqual comparing 0 and ¯0 as equal
2023-04-02 15:29:11 +03:00
dzaima
a62c21733e
SSE2 equal.singeli
2023-04-01 22:08:47 +03:00
dzaima
dc2ac37e0a
arch-independent Singeli builds
2023-03-31 16:45:29 +03:00
dzaima
1f2456042c
clean up calls.h includes
2023-03-26 15:54:27 +03:00
dzaima
1f70c08aa2
fillarr NOGC
2023-03-26 15:43:59 +03:00
dzaima
709c1896d3
better selfElType
2023-03-26 14:30:49 +03:00
dzaima
01c457b77b
make all cpy.*Arr function results Arr*
2023-03-11 16:51:13 +02:00
dzaima
c5aedaa414
switch to GCv2, various fixes/cleanup
...
includes:
fixing some refcounts for FOR_BUILD build •FFI
moving DEBUG_VM prints to stderr
fixing heapverify reports of loose shape objects of fillarrs
regular ol' adding-of-semicolon-after-label for old gcc
move GC enable to after all initialization, not load_init
2023-03-05 01:23:53 +02:00
dzaima
16274e5952
bucket coalescing on GC
2023-03-04 20:09:12 +02:00
dzaima
ead637b135
don't leak c1fn/c2fn arguments from array function
2023-03-04 18:58:07 +02:00
dzaima
a928277e8c
make heapverify run on GC_VISIT_V2
...
also make it able to track shape object leaks
2023-02-25 00:21:15 +02:00
dzaima
6e6169530d
GC v2
2023-02-24 23:28:55 +02:00
dzaima
deee2c7a18
use C1 & C2 more
2023-02-24 15:53:11 +02:00
Marshall Lochbaum
89e6be10e5
Add eqFns to calls.h and use for Find
2023-02-20 10:07:44 -05:00
Marshall Lochbaum
b56e547e34
Define eqFns in non-Singeli build
2023-02-20 08:20:05 -05:00
dzaima
7b57b4ae39
explicitly mark code sections where allocations aren't allowed to happen
2023-02-18 17:46:55 +02:00
dzaima
c32285dba9
Singeli copy from unaligned bitarr
2023-02-18 11:52:45 +02:00
dzaima
f700a3e150
pad input cells when needed for for ∊𝕩, ⊐𝕩, ⊒𝕩
2023-02-13 00:19:50 +02:00
dzaima
855541954f
initial bit widen&narrow for ⊏
2023-02-10 17:59:22 +02:00
dzaima
a84ca6c5d6
strict prototypes
2023-02-03 15:33:31 +02:00
dzaima
05c1270344
better 𝕨⊏𝕩 with 0=×´≢𝕨
2023-02-02 00:40:52 +02:00
dzaima
c5272b47fb
allow running el2t on el_B & el_MAX
...
under the assumption that the result won't actually be used; but if it is, trying to free or gc the object will result in a crash
2023-02-01 22:48:10 +02:00
dzaima
f13e82af62
fix leaking in comp.c
2023-01-26 19:27:43 +02:00
dzaima
4945a90ff0
valgrind changes
2023-01-18 02:05:24 +02:00
dzaima
540b37ae6a
shape replacement utility
2023-01-17 03:47:14 +02:00
dzaima
46f657713c
don't rely on bqn_fmt when !FORMATTER or CBQN isn't yet initialized
2023-01-09 02:30:29 +02:00
dzaima
86ae984af0
more print function renaming
2023-01-09 02:17:12 +02:00
dzaima
a9c70d9d72
printing method overhaul
2023-01-09 01:42:44 +02:00
dzaima
6a9e03bdb1
use arr_shSetU/arr_shSetI inline
...
and use incG more in rank_c2
2022-12-28 17:31:02 +02:00
dzaima
4884580037
rearrange arr_shCopyUnchecked to not read SH(o) twice
...
and, while making a change that requires rebuilding all of CBQN, also make more of the arr_* fns return their Arr* argument to prepare for using them inline
2022-12-28 16:23:27 +02:00
dzaima
75fe558f1c
detect writes past the end of a TALLOC allocation
2022-12-27 02:29:24 +02:00
dzaima
013897cc16
add runtime calls to WARN_SLOW
2022-12-26 23:15:56 +02:00
dzaima
09b3279958
unified Singeli including mechanism
2022-12-18 01:54:07 +02:00
dzaima
dbc7c83f70
move usum to fold.c
...
but don't do anything useful with that because usum needs to also check for negative numbers
2022-11-27 15:45:33 +02:00
dzaima
24195780df
reorder headers to allow OpenBSD hack to function
2022-11-20 18:22:51 +02:00
dzaima
07fa4a066b
save replxx history more
2022-11-17 19:18:33 +02:00
dzaima
94f8b189f7
REINIT_TAIL → FINISH_OVERALLOC
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
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
4f9af9965c
clangd compilation command generating utility
2022-11-06 18:34:47 +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
dzaima
8d6172126c
use void* instead of u8* for singeli function arguments
2022-10-25 17:27:08 +03:00
Marshall Lochbaum
0f7bfa2575
Implement bit_find and fast self-search for booleans
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
dzaima
702d4e979d
various utility changes
2022-10-08 19:03:41 +03:00
dzaima
7bda795365
fix gcc warnings about pointer casts in 32-bit builds
2022-10-07 12:57:59 +03:00
dzaima
5c87c291f9
refactor unroll/vectorization disabling macros
2022-09-25 14:49:57 +03:00
dzaima
1e3089ceaa
fast ⍉𝕩 when 2=≠𝕩
2022-09-20 22:29:32 +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
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
43ddb9759c
inline part of depth
2022-09-18 21:58:53 +03:00
Marshall Lochbaum
ea1367e639
Handle cell size 0 correctly in cellWidthLog()
2022-09-17 21:01:13 -04:00
Marshall Lochbaum
0b1ded14e0
Type-independent Reverse
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
96ca9092ba
attempt at better bit_sel dispatch
2022-09-08 00:37:44 +03:00
dzaima
59e947cc20
more consistent type checking & conversion functions
2022-09-07 23:56:03 +03:00
dzaima
7d716d5ce0
elInt
2022-09-01 11:17:49 +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
1694bfb7d2
s?p?rnk(x) → S?P?RNK(x)
2022-08-20 08:36:59 +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
b1300e6e76
yet another string function rename
2022-08-18 09:07:32 +03:00
dzaima
c5b65b9246
typed •rand.Range
2022-08-17 18:53:41 +03:00
dzaima
9480ee9da2
native ⌾(F G), ⌾(F∘G), ⌾<, <⁼
2022-07-26 03:38:30 +03:00
dzaima
58f8772bd3
use singeli copy functions for mut copyG
2022-07-26 00:18:00 +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
8ca94cc623
make withFill properly know that a bit boolean array is a number array
2022-07-22 05:03:57 +03:00
dzaima
b43153495a
a bit more valgrind debugging stuff
2022-07-10 06:07:28 +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
3c2a7dbefa
high-rank in-place w∾x
2022-07-09 02:00:22 +03:00
dzaima
e31c574fd8
separate squeeze to its own file
2022-06-29 18:36:05 +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
1fd88c1749
clean up ascii/utf8 functions
2022-06-15 15:31:57 +03:00
dzaima
ab69f86cb5
store fill in FillSlice
2022-06-11 17:36:51 +03:00
dzaima
025043b84e
make arr_shVec return its argument
2022-06-10 00:08:13 +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
b865eb84ba
make known type mut functions take data pointer instead of Mut*
2022-06-08 03:48:31 +03:00
Antti Keränen
8923f6a3b8
ffi: make bqn_evalCStr use a constant string
2022-06-05 10:22:13 +03:00
dzaima
8ad7b6149f
OOM fuzz testing base
2022-06-04 01:19:17 +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
2697e749e1
better ⌾ fallback
2022-06-02 03:30:39 +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
df783d15a5
Align toKCells with rank_c1 changes
2022-05-29 18:14:04 -04:00
dzaima
e2fda60745
profiler
2022-05-29 22:02:50 +03:00
dzaima
6033c2e90e
flush pipes in g_pst
2022-05-29 16:12:14 +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
662b23d808
add newline after fputs
2022-05-23 16:45:50 +03:00
dzaima
c7e0b59e88
print more things to stderr
2022-05-22 04:40:13 +03:00
dzaima
409524d958
noinline version of vec_add
2022-05-11 18:31:49 +03:00
dzaima
5e67b87cf1
identity for f⌜
2022-05-07 15:46:08 +03:00
dzaima
88f4fdaa7e
16-bit & 64-bit ⊔ cases
2022-05-01 03:14:23 +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
ab868a55f3
singeli copy
2022-04-25 03:06:11 +03:00
dzaima
113f72e86d
singeli bitarr conversion to wider arrays
2022-04-21 18:27:20 +03:00
dzaima
acc8e35c2f
•file.MapBytes
2022-04-09 19:45:14 +03:00
dzaima
422dc80283
decG round 4
2022-04-07 17:19:36 +03:00
dzaima
69067b8fcc
decG round 2
2022-04-07 15:15:28 +03:00
dzaima
6bce21b55c
fix generic squeeze case
2022-04-04 21:38:35 +03:00
dzaima
e3fe87d040
optimize eequal & expose as •internal.EEqual
2022-04-04 16:16:29 +03:00
dzaima
b9f5291a33
better basic num_squeeze
2022-04-04 10:02:30 +03:00
dzaima
02087d7611
split non-tail-calling part of equal to its own function
2022-04-02 20:05:03 +03:00
dzaima
49ff5a04ff
singeli ≡
2022-04-02 16:58:35 +03:00
dzaima
37bf551e54
BMI2 bitarr/i8arr & bitarr/i16arr
2022-04-01 22:41:32 +03:00
dzaima
09fe162b73
DONT_FREE fix, more gdb utils
2022-03-12 03:02:21 +02:00
dzaima
0c79b44ae0
output errors to stderr
2022-03-05 02:32:28 +02:00
dzaima
4ecd336595
)mem f
2022-03-04 18:31:54 +02:00
dzaima
a7b8dd86cf
check array size overflowing on creation
2022-01-11 17:40:24 +02:00
dzaima
65c856693f
fix t_harrPartial freeing
2022-01-11 00:55:57 +02:00
dzaima
6672d95ea8
fix c2iW/c2iX, )internalPrint
2022-01-06 03:51:21 +02:00
dzaima
ade183e635
bunch of header file changes
2022-01-06 01:17:10 +02:00
dzaima
b6f43ec4be
deduplicate a bit
2022-01-01 22:51:14 +02:00
dzaima
ff4573f65c
bitarr generation in bit_sel
2022-01-01 22:41:29 +02:00
dzaima
08f04a8521
pass untagged pointer to under functions
2021-12-30 21:52:29 +02:00
dzaima
c7a6176be3
store untagged modifier in derived function object
2021-12-30 03:01:02 +02:00
dzaima
3d5a92c1f3
faster integer squeeze
2021-12-20 00:53:13 +02:00
dzaima
7cc88fae9c
native rank 2 ⍉
2021-12-19 16:43:37 +02:00
dzaima
0c5b98772c
m_harrs → M_HARR
2021-12-17 18:04:19 +02:00
dzaima
12250ef202
changes to •ReBQN
2021-12-17 14:39:51 +02:00
dzaima
b4425508c3
fix merge refcounting
2021-12-16 17:33:29 +02:00
dzaima
4af4b45ab7
fix / with negative numbers in indexes
2021-12-16 12:20:42 +02:00