Commit Graph

1792 Commits

Author SHA1 Message Date
Marshall Lochbaum
0e2e315e51 Allow an 8x8 row for 2-byte transpose 2023-03-22 15:14:08 -04:00
Marshall Lochbaum
239c765998 SIMD transpose on 2-byte elements 2023-03-22 15:14:08 -04:00
Marshall Lochbaum
f6c6e72661 More transpose kernel refactoring 2023-03-22 15:14:08 -04:00
Marshall Lochbaum
c0aaa6f615 SIMD transpose on 8-byte elements 2023-03-22 15:14:08 -04:00
Marshall Lochbaum
a0e85db702 Refactor vtranspose with more general code 2023-03-22 15:14:08 -04:00
Marshall Lochbaum
ca44d41daa Faster i32 transpose when height is a multiple of 16 by writing cache lines 2023-03-22 15:14:08 -04:00
Marshall Lochbaum
bfb2519aed Remove transpose_rec (was unused): the whole cache-oblivious thing seems to be useless 2023-03-22 15:14:08 -04:00
dzaima
5c6075c29d support namespace a.b in native compiler
and use for •file.At in bootstrap.bqn
2023-03-22 19:58:01 +02:00
dzaima
dc583d754c separate FLDG for gid-based field lookup 2023-03-22 19:49:32 +02:00
dzaima
9337de5a0e fix LST_/ARM_ comments in vm.h 2023-03-21 23:04:39 +02:00
dzaima
d9ebdf060f )t:1s
also fix )profile
2023-03-21 04:06:53 +02:00
dzaima
fe36c74080 support exponential for )t 2023-03-21 02:56:39 +02:00
dzaima
1ec37410c6 faster constint|intarr 2023-03-21 02:45:42 +02:00
dzaima
d333902f74 fast integer 𝕨|𝕩 2023-03-21 02:06:45 +02:00
dzaima
e14a3629f6 don't try lowercasing × 2023-03-20 18:18:16 +02:00
dzaima
b0201131e2 array type support for •FFI 2023-03-20 16:44:58 +02:00
dzaima
ca0c100b73 name normalization for •ns.Get & •ns.Has
also fix •ns.Has error message & rename some function declarations
2023-03-19 23:27:05 +02:00
dzaima
0b32ef96ce inline → inplace in existing-scope-mutating function names 2023-03-19 22:47:00 +02:00
dzaima
4a6877a87a Rank checks 2023-03-19 15:42:11 +02:00
dzaima
a3d74c6af2 MUT_APPEND 2023-03-16 22:27:44 +02:00
dzaima
390ee503fb extract function for a+↕b 2023-03-16 22:05:44 +02:00
dzaima
a9b83ca70a V_POS, V_DEPTH 2023-03-16 22:03:08 +02:00
dzaima
db8a4d3af0 don't use def as a variable name 2023-03-12 00:11:30 +02:00
dzaima
1178e5df56 new Singeli syntax 2023-03-11 23:17:30 +02:00
dzaima
8194f51b30 MAKE_MUT_INIT, move mut_init to mut.c 2023-03-11 16:52:09 +02:00
dzaima
3f0bc57503 move diagnostics coloring option outside of hash 2023-03-11 16:51:59 +02:00
dzaima
01c457b77b make all cpy.*Arr function results Arr* 2023-03-11 16:51:13 +02:00
dzaima
92763fa8b2 proper hash values for derived functions 2023-03-06 20:29:35 +02:00
dzaima
ab5b8f92b4 fast F˜˝˘ and F˜˝ and F˜⌜ for pervasive F 2023-03-05 16:48:10 +02:00
dzaima
680d0f8601 use mut_copy for building fold_rows result 2023-03-05 15:20:12 +02:00
dzaima
1c0b797456
Merge pull request #69 from mlochbaum/transfold
Blocked transpose implementation for fold-cells
2023-03-05 15:10:26 +02:00
dzaima
98c963453b •internal.GC 2023-03-05 14:16:38 +02:00
dzaima
4b6dd1bf81 immediately mark&sweep unknown reference objects instead of storing 2023-03-05 14:05:08 +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
Marshall Lochbaum
f4d2e26e58 Don't do transposing fold unless height is greater than width 2023-03-04 14:42:00 -05:00
Marshall Lochbaum
176152b445 Handle fold-cells on row length 1 with ⊏˘ 2023-03-04 14:28:22 -05:00
Marshall Lochbaum
4b35acb82b Transpose-based fold-cells implementation 2023-03-04 14:24:56 -05: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
717074a2f8 fast transpose on shape n‿2 𝕩 2023-03-03 19:13:15 +02:00
dzaima
76d26db4c2 faster F˘´n‿2⥊𝕩 for pervasive F 2023-03-03 17:45:16 +02:00
dzaima
fd72d416db manual prefix character typing detecting 2023-03-03 16:11:55 +02:00
dzaima
093beda394 faster path for 𝕨/𝕩 with non-boolean 𝕨 with sum 0 2023-03-03 13:41:20 +02:00
dzaima
397f8745ce go back to regular completions if no system commands match 2023-02-27 23:51:35 +02:00
dzaima
dfd78115c3 remove repl initialization before it's needed 2023-02-26 18:58:08 +02:00
dzaima
2c107025ab add argument for non-GC_VISIT_V2 2023-02-26 18:53:06 +02:00
dzaima
78eb351e10 allow top-level GC to collect all garbage in GC_VISIT_V2 2023-02-26 18:37:07 +02:00
dzaima
418a1c054f no longer need position setting hack on enter
also makes enter_replxx allocation-free, allowing it to run during OOM
2023-02-26 18:30:22 +02:00
dzaima
bcc19c11fd fix GC_VISIT_V2 completely not respecting -M 2023-02-26 18:26:19 +02:00
dzaima
1c1da8fdfe completion options for system commands 2023-02-26 18:09:28 +02:00
dzaima
a570bcaf88 fix replxx things 2023-02-26 16:09:38 +02:00
dzaima
6d03071ae6 SIMD i32 transpose 2023-02-26 01:19:54 +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
c6c0b8925e don't need allocMore_rec on non-gcv2 2023-02-24 23:38:29 +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
dzaima
1af9155425 optional path arg for •internal.HeapDump; STORE_JIT_MAP 2023-02-24 00:16:44 +02:00
dzaima
b506b434a2 add Singeli directory to build cache key, add rebuild-singeli, quiet gcc 2023-02-23 23:36:41 +02:00
dzaima
8ad5132a6d find & eqfn changes, use toI32Any more 2023-02-22 13:48:45 +02:00
Marshall Lochbaum
032e32ae1a Fast flat ≡˘ and ≢˘ in most cases 2023-02-20 10:43:24 -05: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
Marshall Lochbaum
fcc5c2e449 Slice function instead of take/drop 2023-02-19 21:14:42 -05:00
Marshall Lochbaum
ea6c7d9a7a Use a C comparison function instead of a BQN one 2023-02-19 21:08:21 -05:00
Marshall Lochbaum
d2950a8df6 Flat rank 1 Find implementation using primitive calls 2023-02-19 20:34:32 -05:00
dzaima
70fec7eb1e fix •ns.Keys on namespaces with unexported fields 2023-02-19 18:30:57 +02:00
dzaima
7013a9edf9 •ns.Get, •ns.Has, •ns.Keys 2023-02-19 18:02:35 +02:00
dzaima
428064a5c2 skip lookup table zero-initialization for x⊐x 2023-02-18 23:57:02 +02:00
dzaima
bb36755d67 native 𝕨/highrank 2023-02-18 21:04:22 +02:00
dzaima
96316f0fe1 faster 2↕ 2023-02-18 19:47:22 +02: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
63fa511c55 deduplicate typed pointer calculation in mut.c 2023-02-18 00:09:37 +02:00
dzaima
8e720a2faa use loadLow & storeLow in neq.singeli 2023-02-17 23:41:26 +02:00
dzaima
1e6b612e13 NEON copy.singeli 2023-02-17 22:10:21 +02:00
dzaima
0aada6163a move src/clangdCommands.bqn to build/build clangd 2023-02-17 18:44:13 +02:00
dzaima
f76836aedd clean up arithd.c & slightly improve non-Singeli impls 2023-02-17 16:43:07 +02:00
dzaima
32142a45d6 Widen cells in 𝕨∊𝕩, 𝕨⊐𝕩, 𝕨⊒𝕩 2023-02-17 00:27:15 +02:00
dzaima
089e2a38c6 update Singeli things 2023-02-16 21:31:19 +02:00
dzaima
f700a3e150 pad input cells when needed for for ∊𝕩, ⊐𝕩, ⊒𝕩 2023-02-13 00:19:50 +02:00
dzaima
fd1178bc0e use BMI2 for widening to <32-bit cells 2023-02-10 23:04:20 +02:00
dzaima
53737ab3fb use BMI2 for narrowing <32-bit cells 2023-02-10 23:01:45 +02:00
dzaima
855541954f initial bit widen&narrow for ⊏ 2023-02-10 17:59:22 +02:00
dzaima
23d99d7a24 more precise detection of when bit 𝕩 won't use simd for widening path 2023-02-04 18:17:21 +02:00
dzaima
f39ca95c58 maybe slightly better bit→i8→bit heuristic
the more proper thing is to pad cells to the nearest power-of-two byte size anyway
2023-02-04 17:16:01 +02:00
dzaima
be9d0c287e better 𝕨⊏𝕩 with non-power-of-two cell sizes 2023-02-04 03:30:05 +02:00
dzaima
d2679da7e8 ⊏: don't get in an infinite loop of f64 𝕨 2023-02-04 03:04:06 +02:00
dzaima
98f6944440 unify rank 1 and high-rank ⊏ 2023-02-03 18:55:19 +02:00
dzaima
a84ca6c5d6 strict prototypes 2023-02-03 15:33:31 +02:00
dzaima
dbe4c0b51a support character literals in native compiler 2023-02-02 22:52:02 +02:00
dzaima
356093e313 remove unwanted increment 2023-02-02 22:51:44 +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
c38565ab8d whitespace cleanup 2023-01-31 00:07:00 +02:00
dzaima
a650051a82 don't need an actual function object for eachd_fn / eachm_fn 2023-01-28 14:57:04 +02:00
dzaima
4a45a07a2b native ⚇0 2023-01-27 22:59:22 +02:00
dzaima
e5bbde745a native handling of ⌾{...} 2023-01-27 04:09:07 +02:00
dzaima
10705823de more squeezing changes in ⊐𝕩 and ⊒𝕩 2023-01-27 03:17:20 +02:00
dzaima
ea0aa709fe squeeze result of ⊒𝕩, copy result of ⊐𝕩 to smaller width when possible 2023-01-27 02:57:05 +02:00
dzaima
ae4c4a03ee copy ⊐ and ⊒ results to more correct element width arrays 2023-01-27 02:09:43 +02:00