mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-24 02:42:50 +00:00
kscreensaver: replace use of Eigen2 with Eigen3 API
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
This commit is contained in:
parent
532dbd0f5a
commit
14ff26cd9e
3 changed files with 5 additions and 6 deletions
|
@ -1,6 +1,5 @@
|
|||
macro_optional_find_package(Eigen3)
|
||||
macro_log_feature(EIGEN3_FOUND "Eigen3" "A C++ template library for linear algebra" "kdesupport" FALSE "" "Needed to build the krotation and kpendulum screensavers" )
|
||||
add_definitions(-DEIGEN2_SUPPORT)
|
||||
|
||||
option(KSCREENSAVER_SOUND_SUPPORT "Build with sound support" OFF)
|
||||
|
||||
|
|
|
@ -333,7 +333,7 @@ RkOdeSolver<T, D>::rkStepCheck(const T& dx_requested)
|
|||
// generic scaling factor
|
||||
// |y| + |dx * dy/dx| + 1e-15
|
||||
Matrix<T,D,1> yscal
|
||||
= (m_y.cwise().abs() + (dx*m_dydx).cwise().abs()).cwise()
|
||||
= (m_y.array().abs() + (dx*m_dydx).array().abs()).array()
|
||||
+ 1e-15;
|
||||
|
||||
unsigned int iter = 0;
|
||||
|
@ -354,13 +354,13 @@ RkOdeSolver<T, D>::rkStepCheck(const T& dx_requested)
|
|||
}
|
||||
// new dx -> update scaling vector
|
||||
yscal
|
||||
= (m_y.cwise().abs()
|
||||
+ (dx*m_dydx).cwise().abs()).cwise()
|
||||
= (m_y.array().abs()
|
||||
+ (dx*m_dydx).array().abs()).array()
|
||||
+ 1e-15;
|
||||
}
|
||||
|
||||
ytmp = rkStep(dx, yerr); // try to make a step forward
|
||||
t = (yerr.cwise() / yscal).cwise().abs(); // calc the error vector
|
||||
t = (yerr.array() / yscal.array()).abs(); // calc the error vector
|
||||
errmax = t.maxCoeff()/m_eps; // calc the rel. maximal error
|
||||
++iter;
|
||||
} while ((iter < maxiter) && (errmax >= 1.0));
|
||||
|
|
|
@ -549,7 +549,7 @@ void KRotationSaver::initData()
|
|||
|
||||
// omega_body = L_body * J_body^(-1)
|
||||
// component-wise division because J_body is a diagonal matrix
|
||||
Vector3d omega_body = (m_Lz * e_body.col(2)).cwise() / m_J;
|
||||
Vector3d omega_body = (m_Lz * e_body.col(2)).array() / m_J.array();
|
||||
|
||||
// initial rotation vector
|
||||
m_omega = et * omega_body;
|
||||
|
|
Loading…
Add table
Reference in a new issue