Element-Weise Operationen in C++

Gibt es eine bereits vorhandene Bibliothek, das möchte ich erstellen array-ähnlichen Objekten, welche folgende Eigenschaften haben:

  1. Laufzeit Größe Spezifikation (gewählt am instantition, nicht vergrößert oder verkleinert, danach)
  2. Operatoren überladen zu führen element Weise Vorgänge (z.B. c=a+b wird das Ergebnis in einem Vektor c mit c[i]=a[i]+b[i] für alle i, und ähnlich für *, -, / etc)
  3. Einen guten Satz von Funktionen, die wirken elementweise, zum Beispiel x=sqrt(vec) haben Elemente x[i]=sqrt(vec[i])
  4. Bieten "Zusammenfassung" - Funktionen wie sum(vec), mean(vec) etc
  5. (Optional) - Operationen gesendet werden kann, eine GPU für die Verarbeitung.

Im Grunde so etwas wie der Weg arrays arbeiten in Fortran, mit allen von der Implementierung verborgen. Derzeit bin ich mit vector von der STL und manuell durch überladen der Operatoren, aber ich fühle mich wie dies wahrscheinlich ein problem gelöst.

  • Wahrscheinlich können Sie versuchen, Eigen library.
InformationsquelleAutor user2664470 | 2013-12-08
Schreibe einen Kommentar