Was ist der einfachste Weg, alle Eigen::MatrixXd
s und Eigen::VectorXd
s mit Vektoren und Matrizen zu ersetzen, die long double
Elemente haben?Substitutionen für Eigen :: MatrixXd typedefs
Jede grundlegende Gleitkommavariable in meinem Code ist vom Typ long double
. Außerdem verwende ich jedes Mal, wenn ich eine Matrix oder einen Vektor verwende, die folgenden typedefs.
typedef Eigen::VectorXd Vec;
typedef Eigen::MatrixXd Mat;
Was ist das Beste, um diese Typdefs zu wechseln? Was passiert, wenn ich sie so belasse wie sie sind?
Die wichtigere Frage ist jedoch, brauchen Sie wirklich 'long double'? Es kann alle Ihre Berechnungen erheblich verlangsamen, da die meisten Prozessoren so gebaut sind, dass sie schnell "doppelt" rechnen können. Es könnte auch sein, dass Ihr Compiler einfach "long double" ignoriert und stattdessen "double" verwendet. Lies den [Wikipedia Artikel] (https://en.wikipedia.org/wiki/Long_double) und denke nochmal darüber nach. –