What kind of algorithms/data structures can enter in Boost
Hello. I am interested in developing data structures and some algorithms in Boost library. But one of the requierement for library is: "The library should be generally useful". What does it mean? I think, that i can add to the library some more data structures: suffix tree/array/automata, palindromic tree, modifications of stack/queue for getting min/max with O(1), Aho–Corasick(maybe it's algo already exist in Boost Library), maybe something else (kd-tree, for example). And algortihms: Manacker's algo for calculating palindromes number, Longest increasing subsequence, palindromic check. There are many algorithms, which i can implement to the Boost library. Also Boost.Math versus GNU MP library is very simple. In GNU MP there are many useful features. And i don't know? we need to provide these features to the Boost.Math or not. Ok, Who can explain me, what algorithms of those that i mentioned, is generally useful? What is useful for Boost, and what is useless? Thanks. -- Best regards, Zaitsev Alexander
On 21/06/2016 19:05, Зайцев Александр wrote:
Hello.
I am interested in developing data structures and some algorithms in Boost library. But one of the requierement for library is: "The library should be generally useful". What does it mean?
I think, that i can add to the library some more data structures: suffix tree/array/automata, palindromic tree, modifications of stack/queue for getting min/max with O(1), Aho–Corasick(maybe it's algo already exist in Boost Library), maybe something else (kd-tree, for example). And algortihms: Manacker's algo for calculating palindromes number, Longest increasing subsequence, palindromic check. There are many algorithms, which i can implement to the Boost library.
Most of those are useful - however many are more like "library internals" or stepping stones to other targets than end goals in themselves? The difficulty is defining decent interfaces that are sufficiently generally useful, that they can be used as building blocks for other things.
Also Boost.Math versus GNU MP library is very simple. In GNU MP there are many useful features. And i don't know? we need to provide these features to the Boost.Math or not.
Little overlap between Math and GNU MP, Multiprecision though yes, it is simple in comparison and patches/enhancements are welcome. The sqrt code is a particular bottleneck at present, and of course Karatsuba/FFT multiplication would be useful. What I'm less keen on though is trying to compete with GMP by hitting the hardware directly: IMO GMP does that extremely well already.
Ok, Who can explain me, what algorithms of those that i mentioned, is generally useful? What is useful for Boost, and what is useless?
Thanks.
-- Best regards, Zaitsev Alexander
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Hello. Ok, I understood. I agree, design of good useful interface is difficult work. But how can i write proposals to authors of the libraries? Can I send proposals to this mailing list or i should send it to emails of maintainers of libraries? How should i discuss about any part of libraries? I have many proposals to the libraries: BGL, Boost.Algorithm. And i'm ready implement my proposals. Maybe should I at first wrote first implementation of my proposals and do pull request? Best regards, Zaitsev Alexander.
Зайцев Александр
Hello.
Ok, I understood. I agree, design of good useful interface is difficult work.
But how can i write proposals to authors of the libraries? Can I send proposals to this mailing list or i should send it to emails of maintainers of libraries? How should i discuss about any part of libraries?
I have many proposals to the libraries: BGL, Boost.Algorithm. And i'm ready implement my proposals. Maybe should I at first wrote first implementation of my proposals and do pull request?
I believe the easiest way would be for you to submit a pull request to the relevant library on GitHub. This way, the author/maintainer can merge it in with a single click, or can discuss changes with you. If you don't hear from the maintainer after creating a pull request, then you can ask on this list and we'll try to handle it from there. Regards, Louis
Hello. What do you think about stack\queue with min\max O(1)? I think, these useful containers may be implemented in Boost. And I ready to start work on these data structures. But i wait for your feedback about this idea.
28.06.2016, 04:05, "Louis Dionne"
Зайцев Александр
writes: Hello.
Ok, I understood. I agree, design of good useful interface is difficult work.
But how can i write proposals to authors of the libraries? Can I send proposals to this mailing list or i should send it to emails of maintainers of libraries? How should i discuss about any part of libraries?
I have many proposals to the libraries: BGL, Boost.Algorithm. And i'm ready implement my proposals. Maybe should I at first wrote first implementation of my proposals and do pull request?
I believe the easiest way would be for you to submit a pull request to the relevant library on GitHub. This way, the author/maintainer can merge it in with a single click, or can discuss changes with you. If you don't hear from the maintainer after creating a pull request, then you can ask on this list and we'll try to handle it from there.
Regards, Louis
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Best regards, Alexander Zaitsev
participants (3)
-
John Maddock
-
Louis Dionne
-
Зайцев Александр