Page 2 of 2 FirstFirst 12
Results 11 to 16 of 16

Thread: C++14 Is Complete

  1. #11
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,339

    Default

    Quote Originally Posted by nslay View Post
    No, I maintain that each library that declares its own Point and Matrix class is almost equivalent to that library making it's own String class. It's downright stupid.
    Yet most big C++ libs do make their own strings: QString, UString, etc etc.

  2. #12
    Join Date
    Jun 2012
    Posts
    117

    Default

    Quote Originally Posted by discordian View Post
    Basic 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.
    No, 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.

  3. #13
    Join Date
    Jan 2012
    Posts
    87

    Default

    Quote Originally Posted by nslay View Post
    No, 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.
    It seems that the thing to do is to show that the library is useful and can be implemented well. Get it into Boost first, then try making it part of the C++ Standard.

    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.

  4. #14
    Join Date
    Aug 2014
    Posts
    12

    Default

    Quote Originally Posted by nslay View Post
    From 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.
    I've not used C++ for numerics but do use C and Fortran heavily. The problem is the same - many third party libs all with subtly different implementations

    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.

  5. #15
    Join Date
    Feb 2014
    Posts
    14

    Default

    Quote Originally Posted by Zan Lynx View Post
    I just checked Boost and uBLAS is part of Boost and so is already very nearly standard.
    Quote Originally Posted by http://www.boost.org/doc/libs/1_56_0/libs/numeric/ublas/doc/index.htm
    the last major improvement of uBLAS was in 2008 and no significant change was committed since 2009.
    Also 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

  6. #16
    Join Date
    Jun 2012
    Posts
    117

    Default

    Quote Originally Posted by konserw View Post
    Also 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
    Oh come on. We're not even talking about widget toolkits, event loop API, SMTP API, Base64 API, etc... We're talking basic linear algebra. I would hardly bundle linear algebra with everything in one language that you refer to. We're talking something as common, general and useful as anything else in <cmath>!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •