| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Let X.fromListOuterSN and ravelOuterN take NonEmpty | Mikolaj Konarski | 35 hours |
| | | |||
| * | Don't force a list of identical elements | Mikolaj Konarski | 35 hours |
| | | | | | | | | | | This makes a big difference when a pair of lists is attempted to be streamed and the first one is of trivial primitive elements (e.g., when implementing a fold as a special case of mapAccum with the output list containing only ()). Forcing the first trivial list would cause the second non-trivial list to be represented as nested thunks, burdening GC greatly. | ||
| * | Simplify and slightly speed up internal fromList functions | Mikolaj Konarski | 35 hours |
| | | |||
| * | Inline most lifting wrappers | Mikolaj Konarski | 35 hours |
| | | | | | | | | This results in only marginal performance gain, probably because they are already small enough to be specialized and/or inlined automatically, but these pragmas ensure it remains so regardless of changes in GHC heuristics. | ||
| * | Make it clear that ravelOuterN is called just once | Mikolaj Konarski | 35 hours |
| | | |||
| * | Add a potentialy helpful bang for consistency | Mikolaj Konarski | 35 hours |
| | | |||
| * | Document that mshapeTree is partialmild-tweaks-repackaged | Mikolaj Konarski | 35 hours |
| | | |||
| * | Add benchmarks for sumFull | Mikolaj Konarski | 35 hours |
| | | |||
| * | Make library strided-array-ops public | Mikolaj Konarski | 35 hours |
| | | |||
| * | Add a few more GHC warnings and fix all offenders | Mikolaj Konarski | 35 hours |
| | | |||
| * | Mute the pattern-namespace-specifier warning until things can be fixed | Mikolaj Konarski | 35 hours |
| | | |||
| * | Improve the implementation of the other fromSNat' | Mikolaj Konarski | 35 hours |
| | | |||
| * | Improve the implementation of fromSNat' | Mikolaj Konarski | 35 hours |
| | | | | | leading to 6% lower allocation in Det.hs primal test. | ||
| * | Fix f in SMayNat to always be SNat and UNPACK it | Mikolaj Konarski | 35 hours |
| | | |||
| * | Implement Tom's ixsFromIxS | Mikolaj Konarski | 35 hours |
| | | | | | | | that really helps in processing indexes using list functions and getting back to the same type of index now that KnownNat is removed from IxS and so the type information is harder to preserve. | ||
| * | Make type variables consistent between shaped and mixed lists | Mikolaj Konarski | 35 hours |
| | | |||
| * | Generalize shsTakeIx | Mikolaj Konarski | 38 hours |
| | | |||
| * | Speed up the bad case of mvecsReplicate using mvecsWriteLinear | Mikolaj Konarski | 38 hours |
| | | |||
| * | Express mvecsWrite and mvecsWritePartial using the new methods | Mikolaj Konarski | 38 hours |
| | | | | | | | | and change the type of the latter to make it possible. This slightly improves performance of horde-ad tests, before horde-ad even starts using the Linear methods, which improves performance even more. | ||
| * | Add mvecsWriteLinear and mvecsWritePartialLinear (unused yet) | Mikolaj Konarski | 38 hours |
| | | |||
| * | Add mvecsReplicate | Mikolaj Konarski | 38 hours |
| | | |||
| * | Remove the preposterous shsFromListS and shsFromIxSHEADmaster | Mikolaj Konarski | 38 hours |
| | | |||
| * | Generalize ix?ToLinear and speed it up a bit | Mikolaj Konarski | 38 hours |
| | | |||
| * | Add INLINEABLE to ixxToLinear ahead of generalization, to benchmark | Mikolaj Konarski | 38 hours |
| | | | | | No horde-ad test speedup noticed. | ||
| * | Improve haddocks of mvecsUnsafeFreeze | Tom Smeding | 38 hours |
| | | |||
| * | Add method mvecsUnsafeFreeze and use it | Mikolaj Konarski | 38 hours |
| | | |||
| * | Make arith enums disjoint | Tom Smeding | 38 hours |
| | | | | | | | This should prevent operation confusion like calling oxarop_binary_* with IB_QUOT. No error is thrown statically, but at least the nonsense operation crashes reliably at runtime instead of doing, well, nonsense. | ||
| * | Fix a typo in IntElt Int | Mikolaj Konarski | 38 hours |
| | | |||
| * | Use numEltSumFull in X.sumFull | Tom Smeding | 2026-01-16 |
| | | | | | Thanks Mikolaj :) | ||
| * | C: Fix REDUCEFULL | Tom Smeding | 2026-01-16 |
| | | | | | Only the last inner vector was kept... | ||
| * | test: Port sum tests to sumAll | Tom Smeding | 2026-01-16 |
| | | |||
| * | XArray: Fix doc comment on ravelOuterN | Tom Smeding | 2025-12-06 |
| | | |||
| * | Improve runtime and streaming of fromListOuter | Mikolaj Konarski | 2025-12-05 |
| | | |||
| * | Inlining magic | Tom Smeding | 2025-12-03 |
| | | |||
| * | Restore suffixes sharing in *FromLinear | Tom Smeding | 2025-12-03 |
| | | | | | Thanks Mikolaj for spotting it's broken | ||
| * | Make shsFromList even more const-like | Mikolaj Konarski | 2025-12-02 |
| | | |||
| * | Add a missing INLINEABLE for ixsToList | Mikolaj Konarski | 2025-12-02 |
| | | |||
| * | Define {list,sh,ix}*ToList functions using 'build' | Tom Smeding | 2025-12-02 |
| | | | | | This should allow foldr/build fusion | ||
| * | template-haskell is now used unconditionally | Tom Smeding | 2025-12-02 |
| | | |||
| * | Let sh*FromList functions print proper error messages | Tom Smeding | 2025-12-02 |
| | | |||
| * | Provide ix*FromLinear for all three shape kinds | Tom Smeding | 2025-12-02 |
| | | | | | This speeds up {r,s}generatePrim | ||
| * | Doc comments | Tom Smeding | 2025-12-02 |
| | | |||
| * | Style and uniformity of shape/index/list functions | Tom Smeding | 2025-12-02 |
| | | |||
| * | Generalize mgeneratePrim to potentially avoid @fmap fromIntegral@ | Mikolaj Konarski | 2025-12-02 |
| | | |||
| * | Define mgeneratePrim as a fast special case variant | Mikolaj Konarski | 2025-12-02 |
| | | |||
| * | Simplify genShRwithTarget a little | Mikolaj Konarski | 2025-12-01 |
| | | |||
| * | Unify fromList functions for shapes | Mikolaj Konarski | 2025-12-01 |
| | | |||
| * | Don't call continuation-based functions just *FromList | Mikolaj Konarski | 2025-12-01 |
| | | |||
| * | Unify toList functions for shapes | Mikolaj Konarski | 2025-12-01 |
| | | |||
| * | Expose the unfolding of the indexing operations | Mikolaj Konarski | 2025-12-01 |
| | | |||
