Fwd:

Andrzej Krzemienski via Boost <[email protected]>
Newsgroups gmane.comp.lib.boost.devel
Message-ID <CAOenAXjLfgGOUm+Xu4squVYTcOrWpJ=TVwmfn8B8Wdbj3VJHKw@mail.gmail.com>
Hi All,

This is a review of the Boost.Multi library.

I am not very familiar with the problem domain. My experience with
multi-dimensional arrays is limited to writing `board[i * Width + j]`,
which worked for my purposes. I spent maybe a week playing with the
library, studying the documentation, conversing with Alfredo, and
presenting the library in my workplace. I used the version available in
Compiler Explorer, with no problems.

Potential usefulness

While I myself never needed this, I find the motivation presented in the
docs convincing. Also, the existence of Boost.MultiArray is a proof of
demand. It makes complex operations on sub-arrays really easy!

Design

The design is sound, clear, and adequate. I could very quickly grasp what
components there are and what I can expect of them. From the first passages
in the docs I could easily predict what components I will find in the
library. The design seems natural to me. The design trade-offs are sound,
well explained and convincing.
I like the approach that this library offers blows and whistles from other
comparable tools (NumPy), which users will use any way, but serves them in
a manner that is compatible with C++'s strive for safety and clarity. I
mean bitwise operations and broadcasting.

I question some of the choices, like too many overloaded operators used for
too many purposes.

Implementation

I didn't look deep into the documentation. I tested the library correctness
via black box testing. My findings were reported via issues in GH.

Documentation

The tutorial part is very elaborate and gives a clear picture both as to
the scope and to the look and feel of the library. Well done!
Regarding the "Reference" part, it is in my opinion inadequate. I really
expect and need a more detailed description of the details of the API. I
describe this in detail in https://github.com/correaa/boost-multi/issues/130.
Alfredo already addressed some of the items, but some still require
addressing.

Support

Review managers never ask for this part, but I think it is equally
important. How likely is it that the library will be well maintained after
the adoption? After announcing this candidate library to the Boost
Community Alfredo worked for a couple of years on improving and
"socializing" it. Tickets are processed fast. Alfredo has been very
responsive and entusiastic. We have the Compiler Explorer setup that
enables online testing. I really appreciate this. This shows caring even
for the reviewers.

I recommend that the library be  CONDITIONALLY ACCEPTED into Boost. The
condition being improving the reference section of the documentation.

I would like to thank Alfredo for writing, sharing and proposing the
library for addition to Boost, and for all the work to make it easily
accessible!

Also, thanks to Matt for managing the review.

Regards,
&rzej;
_______________________________________________
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/SAZP5M3YGK7YD6SPMBDVQXQPQZH4WI6Y/
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.