Originally posted by nslay
View Post
Announcement
Collapse
No announcement yet.
C++14 Is Complete
Collapse
X
-
Originally posted by discordian View PostBasic alegra contains only addition and multiplication, or stuff like SVD, Determinant aswell? For the first, probably some generic for_each + iterators are the best solution and dont even depend on a type. The later ist so common IMHO, I would rather have some Galois field math for encrytion and error-correction than that.
I dont think the distributions should be in the base library either but they are easier to seperate than stuff that depends on the types you use.
Which is rather common for embedded (throw anything out that might allocate/free on its own) and gamedevs. Should your Point and Matrix manage its own memory, be a template parametrized on size or even fixed dimensions, should matrixes be sparse or full or both (two separate classes or one?)
Theres alot of decisions that might be nice for one use but not for another.
If you go down this road you end up with those bloated examples that try to solve anything for everyone and logically do this in a overly generic way everyone is unhappy. QT was already brought up, if you want a full environment for everything you should look at something like it.
Let's just put this into perspective: All sciences involve linear algebra (no exaggeration, ALL). This is especially the case on the computer. All your nice theory ends up in a vector space at some point. It really deserves some attention.
Comment
-
Originally posted by nslay View PostNo, I didn't suggest the standard should solve everything for everyone. I suggested the standard provide common data structures and common algorithms for basic linear algebra for the majority use case. Come on, we're not talking about highly specialized problems like solving 10000x10000 sparse systems, or normalizing vectors super fast for games, we're talking small dense systems. Obviously, if you want to do something with specific performance requirements, you write your own or use a specialized library (just like anything else in the standard).
Let's just put this into perspective: All sciences involve linear algebra (no exaggeration, ALL). This is especially the case on the computer. All your nice theory ends up in a vector space at some point. It really deserves some attention.
I just checked Boost and uBLAS is part of Boost and so is already very nearly standard.
I'm so used to using Boost that if it is part of Boost it seems part of C++ already.
Comment
-
Originally posted by nslay View PostFrom a numerics point of view, C++ is still about as usable as it was back in C++03. At least they expanded on random number generators.
The big libraries are stuff like GSL and good old NR
I remember a few years ago I had to write my own Reinsch spline implementation in C and thought it was ridiculous there was not a standard one.
Comment
-
Originally posted by Zan Lynx View PostI just checked Boost and uBLAS is part of Boost and so is already very nearly standard.Originally posted by http://www.boost.org/doc/libs/1_56_0/libs/numeric/ublas/doc/index.htmthe last major improvement of uBLAS was in 2008 and no significant change was committed since 2009.
When I needed some matrix calculations for my university project i decided to use Eigen instead.
Regardless my point is that if you need XYZ functionality and it is not part of the standard, you can find some lib which will do that for you.
In that project we've (with my friend) used Eigen for matrixes, boost for serialization to xml files and Qt for GUI. All worked together fine
If you want to have almost everything "in language" there's .NET or Java
Comment
-
Originally posted by konserw View PostAlso link to full reference documentation doesn't work. So uBLAST isn't the best example :P
When I needed some matrix calculations for my university project i decided to use Eigen instead.
Regardless my point is that if you need XYZ functionality and it is not part of the standard, you can find some lib which will do that for you.
In that project we've (with my friend) used Eigen for matrixes, boost for serialization to xml files and Qt for GUI. All worked together fine
If you want to have almost everything "in language" there's .NET or Java
Comment
Comment