BallisticLA / RandBLAS

A header-only C++ library for sketching in randomized linear algebra
https://randblas.readthedocs.io/en/stable/
Other
75 stars 6 forks source link

Define SketchingOperator and SketchingDistribution concepts #84

Closed rileyjmurray closed 3 weeks ago

rileyjmurray commented 5 months ago

PR #83 introduces a SparseMatrix concept for templating and documentation purposes. I want to define similar concepts for sketching operators and sketching distributions, but I don't want doing that to hold up the PR. So I'm making a note here to follow-up.

rileyjmurray commented 2 months ago

Using concepts requires C++20 or higher. Some compilers support most of C++20 but conspicuously lack support for concepts. This makes it more of a pain than one might expect to build RandBLAS when working with such compilers. I noticed an interesting way around this in the Fast Matrix Market project; see https://github.com/alugowski/fast_matrix_market/blob/b6172c96ef73d16b2c10917373bacec1a7583a31/include/fast_matrix_market/app/array.hpp#L11-L40.

rileyjmurray commented 1 month ago

Will be added in PR #104.

rileyjmurray commented 3 weeks ago

Completed in #108.