Menu

C++ templetes

2003-02-25
2012-09-15
  • Ciprian Comsa

    Ciprian Comsa - 2003-02-25

    Hi,
    Again I have a question, why did you used LAPACK and CBLAS and why not a C++ template library, which is better, like MTL?

     
    • Tony Ottosson Gadd

      I did actually not know of MTL but I regularly check for other libraries with similar features. I have e.g. been looking into Blitz++. However, we like to have a easy to use interface, and we also need the fuctionality in LAPACK. In fact MTL also uses LAPACK so that is not a big difference.  The interface in MTL seems to assume iterators which is a concept that many programmers seem not to favour, in may be elegant but apparently not intuitive. We could of course hide this making an it++ wrapper class to the MTL objects.

      Furthermore MTL requires more from the compiler since it uses some advanced templating features (so does Blitz++) which probably will not work with e.g. Visual C++ 6.0. Hence, we have not felt it appropriate to switch to Blitz++ at an earlier stage. Checking the MTL site it seems that they need different distribution for Visual C++ (probably because it does not comply very well to the ISO C++ standard).  It may be that once compilers start being more ISO compliant libraries like MTL and Blitz++ may be of interest. Maybe the time has come?

      Regarding if MTL is better, I am not convinced. The results shown on the MTL homepage is for SUN Ultra and no other machine using the KAI C++ compiler. Using e.g. the g++ compiler and an Intel processor the results may be very different. The main target for IT++ is Intel and g++ (and Visual C++) since these seem to be the most commenly used compilers and plattforms.

      /Tony

       

Log in to post a comment.