Wofür ist ein valarray gut?
-
?
-
Hallo
Ein valarray ist eigentlich genau das selbe wie ein Vektor, nur das man auf ihn
direkte Rechenoperationen anwenden kann, wie z.B :+,-,*,/, usw.
Das schaut dann folgender maßen aus;
#include <valarray> . . . std::valarray<double> v(10,8),u(10,8); //Zwei valarrays mit jeweils 8 Elementen wobei jedes 10 beträgt. std::valarray<double> h = u + v;// h[0] = v[0] + u[0] ; h[1] = v[1] + u[1]; usw
C U
Fleedo
-
valarray ist meiner meinung nach zu nix gute, bei standard aufgaben braucht man es nicht und bei spezial aufgaben ist es zu algemein gehalten
-
hätten sie stattdessen lieber eine schöne hashmap reinnehmen können
-
@dimah: Aber ist das Beispiel von Fleedo nicht ein gutes Beispiel für valarrays? Ist das nicht eine schnelle Implementierung des Beispiels?
Gruß Ingaux
-
das Problem von valarrays ist eben, dass diese doch zu allgemein sind, so lassen sich diese eben nicht leicht in SIMD Instruktionen umwandeln, was natürlich einen enormen Performance Sprung bringen würde, da soll Fortran einen Vorteil gegenüber C++ haben.
-
Hallo,
das Problem an valarrays ist, dass sie von Hause aus kaputt sind.
Wie man sowas richtig macht, kann man in Bibliotheken wie z.B. Blitz++ sehen. Da braucht sich C++ dann auch nicht mehr vor Fortran verstecken.
-
wird nur Zeit, dass das Standard Komitee darauf reagiert
Ist schon nervig, dass man zZ. für die meisten nützlichen Sachen eine Library wie boost oder ace installieren muss
-
valarray-implementaitonen können natürlich spezielle SIMD-Befehlssätze ausnutzen... was sie schon weniger doof macht.
-
das Problem an valarrays ist, dass sie von Hause aus kaputt sind.
gibt es eine seite mit genaueren informationen zu dieser "kaputtheit"?
-
Hallo,
ein Grundproblem ist z.B., dass die Spezifikation von valarray keine expression-template-basierte Implementation zulässt.
Ansonsten findest du viel interessantes zum Thema valarray in den Newsgroups comp.lang.c++.moderated und comp.std.c++Starten kannst du z.B. hier mit