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