Announcement

Collapse
No announcement yet.

C++14 Is Complete

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    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.

    Comment


    • #12
      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.

      Comment


      • #13
        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.

        Comment


        • #14
          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.

          Comment


          • #15
            Originally posted by Zan Lynx View Post
            I 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.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

            Comment


            • #16
              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>!

              Comment

              Working...
              X