2014-07-15 15 views
26

Sto utilizzando Eigen in un programma C++.Cast Eigen :: MatrixXd a Eigen :: MatrixXf

Mi chiedo se esiste un modo per trasmettere da Eigen::MatrixXd a Eigen::MatrixXf.
static_cast <Eigen::MatrixXf> non sembra funzionare e né A.cast<MatrixXf> (questo è il metodo di trasmissione di Eigen).

Qualsiasi soluzione per questo tipo di cast?

risposta

41

Prova questo:

Eigen::MatrixXd d;      // Matrix of doubles. 
Eigen::MatrixXf f = d.cast <float>(); // Matrix of floats. 
+0

ho fatto una confusione nella mia descrizione da quando sto cercando di lanciare MatrixXd a MatrixXf (e non ha che ho descritto prima). Seguendo la tua congestione ho usato .cast () e ha fatto il trucco. (Mi mancava il() alla fine.) – Sapiens