Re: [multi] Formal Review Begins

Amlal El Mahrouss via Boost <[email protected]>
Newsgroups gmane.comp.lib.boost.devel
Message-ID <[email protected]>
Hello,
Here is my review of Boost.Multi's design and documentation.

First things first, I've used Clang++20,
and built the examples using the CMake script provided in the repository.

Now to the design rationale:

So firstly, te library is straightforward and intuitive to use,
as seen by the documentation at: https://correaa.github.io/boost-multi/multi/technical.html#technical_indexing

```cpp
	// given the values of i and k and accumulating variable acc ...
    for(long j = 0; j != M; ++j) {acc += A[i][j][k];}
```

This is easy to read and understand, which I appreciate when reading GPU-related source code.
One critique I would do on this would be to add syntactic sugar to the loop operations
(using free functions like `boost::multi::accumulate` for example!) but that's optional in my opinion.

As a bonus a signature for the free-function accumulate could be like:

```cpp
    void accumulate(auto& i, auto& b, auto& e, auto& pred)
    {
        for (auto j = b; j != e; ++j)
        {
            pred(A[i][j][k]);
        }
    }
```

Secondly, everything is organized as it should: Adapters, Algorithms, and Library details, belong to their respective directories and don't seem to overreach so far. Nothing else to add here except to be careful about algorithms and not overreach here.

Thirdly, The library is quite verbose, but it's expected so it's not really a problem in my opinion.

So in conclusion, I would ACCEPT the library as is, but free-functions and syntactic sugar would be great as well!

Best,
Amlal
[email protected]
_______________________________________________
Boost mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.boost.org/mailman3/lists/boost.lists.boost.org/
Archived at: https://lists.boost.org/archives/list/[email protected]/message/D27KU34SZ7VPSI37K4KMD5PQNPXG4VDU/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.