summaryrefslogtreecommitdiffhomepage
path: root/include/stc/cspan.h
AgeCommit message (Collapse)Author
2023-09-08Added optional "step" in cspan_slice() function.mastertylov
2023-09-06Renamed c_LTu(a, b) => c_less_unsigned(a, b)Tyge Løvset
Renamed c_u2i(i) => c_u2i_size(u) Renamed c_i2u(i) => c_i2u_size(i)
2023-09-01cspan: can now span over a intptr_t size array, but each dimension is still ↵tylov
limited to int32_t sizes.
2023-08-30Fixed overflows in offset calculations for large md spans.Tyge Løvset
2023-08-30Smaller updates.Tyge Løvset
2023-08-30Some simplifications. Added i_ndebug macro flag to disable assertions in cspan.Tyge Lovset
2023-08-21cspan flat-iterator now prints c_COLMAJOR matrices as in Python. Simpler ↵tylov
code, although it now doesn't print column-major spans in column-by-column order, but rather in row-by-row, like row-major spans.
2023-08-21Changed 'order' to 'layout' in cspan md.Tyge Løvset
Neigher the 'C' / 'F' convension from python, nor left / right from std::mdspan are great names => changed to c_ROWMAJOR / c_COLMAJOR like in matlab.
2023-08-19Optimized cspan_next(): awesome speedup on gcc.tylov
2023-08-19Polishing cspan.h. Updated multidim.c cspan example.tylov
2023-08-19Moved cspan_next() to shared implementation (if chosen).Tyge Lovset
2023-08-19Improved cspan_next function.Tyge Lovset
2023-08-17Small refactoring.Tyge Lovset
2023-07-24Improved an issue with cspan.tylov
2023-07-20Added Task-object to coroutines and true stackless execution.tylov
2023-07-16Moved _cspan_next2() to header section in cspan.h to allow optimizations.tylov
2023-07-15Reverted to cspan_submdX() without output span type as first argument. ↵tylov
Type/argument safety is still present.
2023-07-13Moved c_defer() macro from raii.h to ccommon.h. Some changes in cspan.tylov
2023-07-12Changed docs and examples to use i_key* template parameters instead of ↵tylov
i_val* for all non-maps. Renamed c_ASSERT() to c_assert() and added optional message parameter to c_static_assert().
2023-07-11Fixed an issue in template.htylov
Reverted to cspan_md() and cspan_md_left() for column-major. Changed cspan_submdX(): add OutputSpanType as first parameter - aligns with cspan_slice() and adds type safety.
2023-07-11Internal updates and doc reorg.tylov
2023-07-10- Fixed meta-programming bug in carc and cbox hash function def (regression).tylov
- Reverted to allow static linking of cstr and csview. Still defaults to shared linking + inlines.
2023-07-09Several minor fixes in cspan.h.tylov
2023-07-08Fixed some internal renaming bugs in cspan.htylov
2023-07-08Added support for column-major md cspan.tylov
API change: the create function cspan_md(order, array, d1, d2, ...) has the new first argument order, which must be either 'C' or 'F' (C: row-major or Fortran: column-major). The representation of strides was changed.
2023-06-11Added priv/linkage.h and renamed priv/template2.h => priv/template_undef.h.Tyge Løvset
Make all examples c++ compatible, except those using cspan.h Removed: crange_obj() Renamed: crange_make() => crange_init() Renamed: cspan_make() => cspan_init() Renamed: cstr_NULL => cstr_null Renamed: csview_NULL => csview_null
2023-06-09Rename i_extern template flag to i_import. i_extern still available, but ↵Tyge Løvset
deprecated.
2023-06-09Fixed issues with linking params i_implement, i_extern.Tyge Løvset
2023-05-20Rename c_make() macro to c_init(). c_make still available, but deprecated.Tyge Løvset
2023-04-08Reverted c_arraylen(), removed c_ARRAYLEN()Tyge Lovset
2023-04-08Using "unsafe" c_ARRAYLEN(), because sizeof(shape) may be equal to sizeof ↵Tyge Lovset
pointer.
2023-03-27Some missing files.Tyge Løvset
2023-03-12Safer state machine in coroutine.h (internal).Tyge Løvset
Removed c_forwhile() macro. Redundant, use c_forfilter(). Removed find and eq in cspan (use general c_find_if() instead for search).
2023-03-07Improved/simplified c_forfilter (): last optional parameter gone. Now ↵Tyge Løvset
c_flt_take() and c_flt_takewhile() breaks the loop always. c11/fmt.h : renamed fmt_freebuffer(buf) => fmt_destroy(buf).
2023-02-24Added cspan_find() - 2 liner.Tyge Løvset
2023-02-24Added eq function to cspan.Tyge Løvset
Final cleanup normalized var naming.
2023-02-08Changed to use lowercase flow-control macros in examples (uppercase will ↵Tyge Løvset
still be supported). Improved many examples to use c_make() to init containers.
2023-02-08Minors.Tyge Løvset
2023-02-07Added custom allocator per container type.Tyge Løvset
2023-02-05Some last minute changes: reverted mostly the c_extern from last commit.Tyge Løvset
Renamed c_ARGSV(sv) macro to c_SVARG(sv). Both available.
2023-02-05Fixed linking parameters i_extern.Tyge Løvset
2023-02-05- Updated cspan.h to allow for compiling some functions as shared symbols.Tyge Løvset
- Fixed issue #45 warning -Wunused-parameter in clist.h - Fixed some issues with the singleheader.py generator.
2023-02-04More cspan docs updates.Tyge Løvset
2023-02-04Removed a warning.Tyge Løvset
2023-02-04Minor docs update.Tyge Løvset
2023-02-03Renamed dim to shape in cspan. Not 100% sure it will survive.Tyge Løvset
2023-02-03More cspan docs fixes.Tyge Løvset
2023-02-03Feature completed cspan.Tyge Løvset
2023-02-03Temporary commit. Will cleanup cspan and usage.Tyge Løvset
2023-02-03Update cspan, needs more testing.Tyge Løvset