[SCM] step packaging branch, master, updated. debian/15.08.0-1-3-g8f5e15d

Maximiliano Curia maxy at moszumanska.debian.org
Wed Sep 16 05:28:40 UTC 2015


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/step.git;a=commitdiff;h=82b74dd

The following commit has been merged in the master branch:
commit 82b74dd0026bdb1560efc317c2fa013be08b6c17
Author: Maximiliano Curia <maxy at gnuservers.com.ar>
Date:   Wed Sep 16 00:44:09 2015 +0200

    New patch: eigen3.patch, that removes the eigen2 support (Closes: #786351)
---
 debian/changelog            |   3 +-
 debian/patches/eigen3.patch | 445 ++++++++++++++++++++++++++++++++++++++++++++
 debian/patches/series       |   1 +
 3 files changed, 448 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index a47f5eb..437ee1d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 step (4:15.08.0-2~) UNRELEASED; urgency=medium
 
-  * 
+  * New patch: eigen3.patch, that removes the eigen2 support (Closes:
+    #786351) Thanks to Anton Gladky
 
  -- Maximiliano Curia <maxy at debian.org>  Wed, 16 Sep 2015 00:03:14 +0200
 
diff --git a/debian/patches/eigen3.patch b/debian/patches/eigen3.patch
new file mode 100644
index 0000000..0f60fec
--- /dev/null
+++ b/debian/patches/eigen3.patch
@@ -0,0 +1,445 @@
+Description: Remove eigen2 support
+Author: Anton Gladky <gladk at debian.org>
+Bug-Debian: https://bugs.debian.org/786351
+Last-Update: 2015-09-15
+
+Index: step/CMakeLists.txt
+===================================================================
+--- step.orig/CMakeLists.txt	2015-09-16 07:11:08.569967547 +0200
++++ step/CMakeLists.txt	2015-09-16 07:11:08.485970919 +0200
+@@ -68,7 +68,6 @@
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-parameter")
+ 
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${EIGEN3_INCLUDE_DIR})
+-add_definitions(-DEIGEN2_SUPPORT_STAGE40_FULL_EIGEN3_STRICTNESS) #TODO port away from Eigen2-compatability mode
+ 
+ add_subdirectory(doc)
+ add_subdirectory(stepcore)
+Index: step/step/gasgraphics.cc
+===================================================================
+--- step.orig/step/gasgraphics.cc	2015-09-16 07:11:08.569967547 +0200
++++ step/step/gasgraphics.cc	2015-09-16 07:11:08.501970277 +0200
+@@ -138,20 +138,20 @@
+ }
+ 
+ StepCore::Vector2d GasVertexHandlerGraphicsItem::value() {
+-    return gas()->measureRectSize().cwise()*(corners[_vertexNum]);
++    return (gas()->measureRectSize().array()*(corners[_vertexNum]).array()).matrix();
+ }
+ 
+ void GasVertexHandlerGraphicsItem::setValue(const StepCore::Vector2d& value)
+ {
+     StepCore::Vector2d oCorner = gas()->measureRectCenter() -
+-                    gas()->measureRectSize().cwise()*(corners[_vertexNum]);
++                    (gas()->measureRectSize().array()*(corners[_vertexNum].array())).matrix();
+ 
+     StepCore::Vector2d delta = (gas()->measureRectCenter() + value - oCorner)/2.0;
+     StepCore::Vector2d newPos = oCorner + delta;
+     StepCore::Vector2d newSize = (newPos - oCorner)*2.0;
+ 
+     double d = -0.1/currentViewScale();
+-    StepCore::Vector2d sign = delta.cwise()*(corners[_vertexNum]);
++    StepCore::Vector2d sign = (delta.array()*(corners[_vertexNum].array())).matrix();
+     if(sign[0] < d || sign[1] < d) {
+         if(sign[0] < d) {
+             newPos[0] = oCorner[0]; newSize[0] = 0;
+@@ -270,7 +270,7 @@
+ 
+     int num = -1; double minDist2 = HANDLER_SNAP_SIZE*HANDLER_SNAP_SIZE/s/s;
+     for(unsigned int i=0; i<4; ++i) {
+-        double dist2 = (l - size.cwise()*(OnHoverHandlerGraphicsItem::corners[i])).squaredNorm();
++        double dist2 = (l - (size.array()*(OnHoverHandlerGraphicsItem::corners[i]).array()).matrix()).squaredNorm();
+         if(dist2 < minDist2) { num = i; minDist2 = dist2; }
+     }
+ 
+Index: step/step/polygongraphics.cc
+===================================================================
+--- step.orig/step/polygongraphics.cc	2015-09-16 07:11:08.569967547 +0200
++++ step/step/polygongraphics.cc	2015-09-16 07:11:08.505970116 +0200
+@@ -547,21 +547,21 @@
+ }
+ 
+ StepCore::Vector2d BoxVertexHandlerGraphicsItem::value() {
+-    return box()->vectorLocalToWorld(box()->size().cwise()*(corners[_vertexNum]));
++    return box()->vectorLocalToWorld((box()->size().array()*(corners[_vertexNum]).array()).matrix());
+     //return box()->vectorLocalToWorld(box()->vertexes()[_vertexNum]);
+ }
+ 
+ void BoxVertexHandlerGraphicsItem::setValue(const StepCore::Vector2d& value)
+ {
+     StepCore::Vector2d oCorner = box()->position() -
+-                        box()->size().cwise()*(corners[_vertexNum]);
++                        (box()->size().array()*(corners[_vertexNum].array())).matrix();
+ 
+     StepCore::Vector2d delta = (box()->position() + value - oCorner)/2.0;
+     StepCore::Vector2d newPos = oCorner + delta;
+     StepCore::Vector2d newSize = (newPos - oCorner)*2.0;
+ 
+     double d = -0.1/currentViewScale();
+-    StepCore::Vector2d sign = delta.cwise()*(corners[_vertexNum]);
++    StepCore::Vector2d sign = (delta.array()*(corners[_vertexNum]).array()).matrix();
+     if(sign[0] < d || sign[1] < d) {
+         if(sign[0] < d) {
+             newPos[0] = oCorner[0]; newSize[0] = 0;
+@@ -603,7 +603,7 @@
+     
+     int num = -1; double minDist2 = HANDLER_SNAP_SIZE*HANDLER_SNAP_SIZE/s/s;
+     for(unsigned int i=0; i<4; ++i) {
+-        double dist2 = (l - size.cwise()*(OnHoverHandlerGraphicsItem::corners[i])).squaredNorm();
++        double dist2 = (l - (size.array()*(OnHoverHandlerGraphicsItem::corners[i]).array()).matrix()).squaredNorm();
+         if(dist2 < minDist2) { num = i; minDist2 = dist2; }
+     }
+ 
+Index: step/step/toolgraphics.cc
+===================================================================
+--- step.orig/step/toolgraphics.cc	2015-09-16 07:11:08.569967547 +0200
++++ step/step/toolgraphics.cc	2015-09-16 07:11:08.505970116 +0200
+@@ -79,7 +79,7 @@
+     double s = currentViewScale();
+     StepCore::Vector2d size = _item->metaObject()->property("size")->
+                             readVariant(_item).value<StepCore::Vector2d>()/s;
+-    return size.cwise()* corners[_vertexNum];
++    return (size.array()* corners[_vertexNum].array()).matrix();
+ }
+ 
+ void WidgetVertexHandlerGraphicsItem::setValue(const StepCore::Vector2d& value)
+@@ -94,7 +94,7 @@
+     StepCore::Vector2d position = _item->metaObject()->property("position")->
+                             readVariant(_item).value<StepCore::Vector2d>();
+ 
+-    StepCore::Vector2d oCorner = position - size.cwise()*(corners[_vertexNum]);
++    StepCore::Vector2d oCorner = position - (size.array()*((corners[_vertexNum]).array())).matrix();
+ 
+     oCorner = pointToVector( viewportTransform.inverted().map(
+                 QPointF(viewportTransform.map(vectorToPoint(oCorner)).toPoint()) ));
+@@ -105,7 +105,7 @@
+                 QPointF(viewportTransform.map(vectorToPoint(newPos)).toPoint()) ));
+     StepCore::Vector2d newSize = (newPos - oCorner)*2.0;
+ 
+-    StepCore::Vector2d sign = delta.cwise()*(corners[_vertexNum]);
++    StepCore::Vector2d sign = (delta.array()*(corners[_vertexNum].array())).matrix();
+     double d = -0.1/s;
+     if(sign[0] < d || sign[1] < d) {
+         if(sign[0] < d) {
+@@ -157,7 +157,7 @@
+ 
+     int num = -1; double minDist2 = HANDLER_SNAP_SIZE*HANDLER_SNAP_SIZE/s/s;
+     for(unsigned int i=0; i<4; ++i) {
+-        double dist2 = (l - size.cwise()*(WidgetVertexHandlerGraphicsItem::corners[i])).squaredNorm();
++        double dist2 = (l - (size.array()*(WidgetVertexHandlerGraphicsItem::corners[i]).array()).matrix()).squaredNorm();
+         if(dist2 < minDist2) { num = i; minDist2 = dist2; }
+     }
+ 
+Index: step/stepcore/constraintsolver.cc
+===================================================================
+--- step.orig/stepcore/constraintsolver.cc	2015-09-16 07:11:08.569967547 +0200
++++ step/stepcore/constraintsolver.cc	2015-09-16 07:11:08.513969795 +0200
+@@ -20,6 +20,7 @@
+ #include "rigidbody.h"
+ #include "particle.h"
+ #include "types.h"
++#include <iostream>
+ #include <unsupported/Eigen/IterativeSolvers>
+ #include <cmath>
+ 
+Index: step/stepcore/coulombforce.cc
+===================================================================
+--- step.orig/stepcore/coulombforce.cc	2015-09-16 07:11:08.569967547 +0200
++++ step/stepcore/coulombforce.cc	2015-09-16 07:11:45.604481338 +0200
+@@ -68,12 +68,13 @@
+                 ChargedParticleErrors* pe1 = p1->chargedParticleErrors();
+                 ChargedParticleErrors* pe2 = p2->chargedParticleErrors();
+                 Vector2d rV = pe2->positionVariance() + pe1->positionVariance();
+-                Vector2d forceV = force.cwise().square().cwise()* (
+-                        Vector2d(coulombForceErrors()->_coulombConstVariance / square(_coulombConst) +
+-                                 pe1->chargeVariance() / square(p1->charge()) +
+-                                 pe2->chargeVariance() / square(p2->charge())) +
++                double chargeVariance = coulombForceErrors()->_coulombConstVariance / square(_coulombConst) +
++                                        pe1->chargeVariance() / square(p1->charge()) +
++                                        pe2->chargeVariance() / square(p2->charge());
++                Vector2d forceV = force.array().square()* (
++                        Vector2d(chargeVariance, chargeVariance) +
+                         Vector2d(rV[0] * square(1/r[0] - 3*r[0]/rnorm2) + rV[1] * square(3*r[1]/rnorm2),
+-                                 rV[1] * square(1/r[1] - 3*r[1]/rnorm2) + rV[0] * square(3*r[0]/rnorm2)));
++                                 rV[1] * square(1/r[1] - 3*r[1]/rnorm2) + rV[0] * square(3*r[0]/rnorm2))).array();
+                 pe1->applyForceVariance(forceV);
+                 pe2->applyForceVariance(forceV);
+             }
+Index: step/stepcore/eulersolver.cc
+===================================================================
+--- step.orig/stepcore/eulersolver.cc	2015-09-16 07:11:08.569967547 +0200
++++ step/stepcore/eulersolver.cc	2015-09-16 07:11:08.521969474 +0200
+@@ -69,7 +69,7 @@
+     _ytemp = *y + (stepSize/2)*_ydiff;
+         
+     if(yvar) { // error calculation
+-        *ytempvar = (yvar->cwise().sqrt()+(stepSize/2)*(*ydiffvar)).cwise().square();
++        *ytempvar = (yvar->array().sqrt().matrix()+(stepSize/2)*(*ydiffvar)).array().square().matrix();
+     }
+ 
+     int ret = _function(t + stepSize/2, _ytemp.data(), ytempvar?ytempvar->data():0,
+@@ -105,8 +105,8 @@
+         // For now we are using the following formula which
+         // assumes that yerr are equal and correlated on adjacent steps
+         // TODO: improve this formula
+-        *yvar = (ytempvar->cwise().sqrt()+(stepSize/2)*(*ydiffvar)).cwise().square()
+-              + 3*_yerr.cwise().square();
++        *yvar = (ytempvar->array().sqrt().matrix()+(stepSize/2)*(*ydiffvar)).array().square().matrix()
++              + 3*_yerr.array().square().matrix();
+     }
+ 
+     return OK;
+Index: step/stepcore/gas.cc
+===================================================================
+--- step.orig/stepcore/gas.cc	2015-09-16 07:11:08.569967547 +0200
++++ step/stepcore/gas.cc	2015-09-16 07:11:08.521969474 +0200
+@@ -134,7 +134,7 @@
+                     Vector2d rV = pe2->positionVariance() + pe1->positionVariance();
+ 
+                     GasLJForceErrors* ge = gasLJForceErrors();
+-                    Vector2d forceV = r.cwise().square() * (
++                    Vector2d forceV = r.array().square().matrix() * (
+                         ge->_rminVariance * square( (12*_a/_rmin/rnorm6 - 6*_b/_rmin)/rnorm8 ) +
+                         ge->_depthVariance * square( 12*(_rmin12/rnorm6 - _rmin6)/rnorm8 ) );
+ 
+@@ -364,7 +364,7 @@
+         if(p1->position()[0] < r0[0] || p1->position()[0] > r1[0] ||
+             p1->position()[1] < r0[1] || p1->position()[1] > r1[1]) continue;
+ 
+-        velocityVariance += (p1->velocity() - velocity).cwise().square(); 
++        velocityVariance += (p1->velocity() - velocity).array().square().matrix(); 
+ 
+         ParticleErrors* pe1 = static_cast<ParticleErrors*>(p1->tryGetObjectErrors());
+         if(pe1) velocityVariance += pe1->velocityVariance();
+@@ -422,7 +422,7 @@
+         if(pe1) {
+             energyVariance +=
+                 pe1->massVariance() * square(p1->velocity().squaredNorm()) +
+-                ((2*p1->mass()*p1->velocity()).cwise().square()).dot(pe1->velocityVariance());
++                ((2*p1->mass()*p1->velocity()).array().square().matrix()).dot(pe1->velocityVariance());
+         }
+ 
+         ++count;
+@@ -481,7 +481,7 @@
+         if(pe1) {
+             temperatureVariance +=
+                 pe1->massVariance() * square((p1->velocity() - meanVelocity).squaredNorm()) +
+-                ((p1->mass()*(p1->velocity() - meanVelocity)).cwise().square()).dot(pe1->velocityVariance());
++                ((p1->mass()*(p1->velocity() - meanVelocity)).array().square().matrix()).dot(pe1->velocityVariance());
+         }
+ 
+         ++count;
+@@ -540,7 +540,7 @@
+         if(pe1) {
+             pressureVariance +=
+                 pe1->massVariance() * square((p1->velocity() - meanVelocity).squaredNorm()) +
+-                ((p1->mass()*(p1->velocity() - meanVelocity)).cwise().square()).dot(pe1->velocityVariance());
++                ((p1->mass()*(p1->velocity() - meanVelocity)).array().square().matrix()).dot(pe1->velocityVariance());
+         }
+     }
+ 
+Index: step/stepcore/gas.h
+===================================================================
+--- step.orig/stepcore/gas.h	2015-09-16 07:11:08.569967547 +0200
++++ step/stepcore/gas.h	2015-09-16 07:11:08.521969474 +0200
+@@ -198,7 +198,7 @@
+     void setMeasureRectCenter(const Vector2d& measureRectCenter) { _measureRectCenter = measureRectCenter; }
+ 
+     const Vector2d& measureRectSize() const { return _measureRectSize; }
+-    void setMeasureRectSize(const Vector2d& measureRectSize) { _measureRectSize = measureRectSize.cwise().abs(); }
++    void setMeasureRectSize(const Vector2d& measureRectSize) { _measureRectSize = measureRectSize.array().abs().matrix(); }
+ 
+     /** Get (and possibly create) GasErrors object */
+     GasErrors* gasErrors() {
+Index: step/stepcore/gravitation.cc
+===================================================================
+--- step.orig/stepcore/gravitation.cc	2015-09-16 07:11:08.569967547 +0200
++++ step/stepcore/gravitation.cc	2015-09-16 07:11:08.521969474 +0200
+@@ -85,12 +85,18 @@
+                 ParticleErrors* pe1 = p1->particleErrors();
+                 ParticleErrors* pe2 = p2->particleErrors();
+                 Vector2d rV = pe2->positionVariance() + pe1->positionVariance();
+-                Vector2d forceV = force.cwise().square() .cwise()* (
++                Vector2d forceV = force.array().square()* (
++    
++        /*  This term was disabled and needs to be discussed with upstream.
++         *  The definition Vector2d(double) is really forbidden and brings
++         *  an undefined behavior
+                         Vector2d(gravitationForceErrors()->_gravitationConstVariance / square(_gravitationConst) +
+                                  pe1->massVariance() / square(p1->mass()) +
+                                  pe2->massVariance() / square(p2->mass())) +
++        */
++           
+                         Vector2d(rV[0] * square(1/r[0] - 3*r[0]/rnorm2) + rV[1] * square(3*r[1]/rnorm2),
+-                                 rV[1] * square(1/r[1] - 3*r[1]/rnorm2) + rV[0] * square(3*r[0]/rnorm2)));
++                                 rV[1] * square(1/r[1] - 3*r[1]/rnorm2) + rV[0] * square(3*r[0]/rnorm2))).array();
+                 pe1->applyForceVariance(forceV);
+                 pe2->applyForceVariance(forceV);
+             }
+Index: step/stepcore/particle.cc
+===================================================================
+--- step.orig/stepcore/particle.cc	2015-09-16 07:11:08.569967547 +0200
++++ step/stepcore/particle.cc	2015-09-16 07:11:08.537968832 +0200
+@@ -70,24 +70,24 @@
+ Vector2d ParticleErrors::accelerationVariance() const
+ {
+     return _forceVariance/square(particle()->mass()) +
+-        _massVariance*(particle()->force()/square(particle()->mass())).cwise().square();
++        _massVariance*(particle()->force()/square(particle()->mass())).array().square().matrix();
+ }
+ 
+ Vector2d ParticleErrors::momentumVariance() const
+ {
+     return _velocityVariance * square(particle()->mass()) +
+-           particle()->velocity().cwise().square() * _massVariance;
++           (particle()->velocity().array().square()).matrix() * _massVariance;
+ }
+ 
+ void ParticleErrors::setMomentumVariance(const Vector2d& momentumVariance)
+ {
+-    _velocityVariance = (momentumVariance - particle()->velocity().cwise().square() * _massVariance) /
++    _velocityVariance = (momentumVariance - (particle()->velocity().array().square()).matrix() * _massVariance) /
+                         square(particle()->mass());
+ }
+ 
+ double ParticleErrors::kineticEnergyVariance() const
+ {
+-    return particle()->velocity().cwise().square().dot(_velocityVariance) * square(particle()->mass()) +
++    return ((particle()->velocity().array().square()).matrix()).dot(_velocityVariance) * square(particle()->mass()) +
+            square(particle()->velocity().squaredNorm()/2) * _massVariance;
+ }
+ 
+@@ -95,7 +95,7 @@
+ {
+     _velocityVariance = (kineticEnergyVariance - square(particle()->velocity().squaredNorm()/2) * _massVariance) /
+                         square(particle()->mass()) / 2 *
+-                        (particle()->velocity().cwise().square().cwise().inverse());
++                        (particle()->velocity().array().square().array().inverse());
+     if(!std::isfinite(_velocityVariance[0]) || _velocityVariance[0] < 0 ||
+        !std::isfinite(_velocityVariance[1]) || _velocityVariance[1]) {
+         _velocityVariance.setZero();
+Index: step/stepcore/rigidbody.cc
+===================================================================
+--- step.orig/stepcore/rigidbody.cc	2015-09-16 07:11:08.569967547 +0200
++++ step/stepcore/rigidbody.cc	2015-09-16 07:11:08.537968832 +0200
+@@ -105,7 +105,7 @@
+ Vector2d RigidBodyErrors::accelerationVariance() const
+ {
+     return _forceVariance/square(rigidBody()->mass()) +
+-        _massVariance*(rigidBody()->force()/square(rigidBody()->mass())).cwise().square();
++        _massVariance*(rigidBody()->force()/square(rigidBody()->mass())).array().square().matrix();
+ }
+ 
+ double RigidBodyErrors::angularAccelerationVariance() const
+@@ -117,12 +117,12 @@
+ Vector2d RigidBodyErrors::momentumVariance() const
+ {
+     return _velocityVariance * square(rigidBody()->mass()) +
+-           rigidBody()->velocity().cwise().square() * _massVariance;
++           rigidBody()->velocity().array().square().matrix() * _massVariance;
+ }
+ 
+ void RigidBodyErrors::setMomentumVariance(const Vector2d& momentumVariance)
+ {
+-    _velocityVariance = (momentumVariance - rigidBody()->velocity().cwise().square() * _massVariance) /
++    _velocityVariance = (momentumVariance - rigidBody()->velocity().array().square().matrix() * _massVariance) /
+                         square(rigidBody()->mass());
+ }
+ 
+@@ -141,7 +141,7 @@
+ 
+ double RigidBodyErrors::kineticEnergyVariance() const
+ {
+-    return (rigidBody()->velocity().cwise().square()).dot(_velocityVariance) * square(rigidBody()->mass()) +
++    return (rigidBody()->velocity().array().square().matrix()).dot(_velocityVariance) * square(rigidBody()->mass()) +
+            square(rigidBody()->velocity().squaredNorm()/2) * _massVariance +
+            _angularVelocityVariance * square(rigidBody()->angularVelocity() * rigidBody()->inertia()) +
+            square(square(rigidBody()->angularVelocity())/2) * _inertiaVariance;
+@@ -150,9 +150,9 @@
+ void RigidBodyErrors::setKineticEnergyVariance(double kineticEnergyVariance)
+ {
+     double t = kineticEnergyVariance - this->kineticEnergyVariance() +
+-              (rigidBody()->velocity().cwise().square()).dot(_velocityVariance) * square(rigidBody()->mass());
++              (rigidBody()->velocity().array().square().matrix()).dot(_velocityVariance) * square(rigidBody()->mass());
+     _velocityVariance = t / square(rigidBody()->mass()) / 2 *
+-                        (rigidBody()->velocity().cwise().square().cwise().inverse());
++                        (rigidBody()->velocity().array().square().inverse().matrix());
+     if(!std::isfinite(_velocityVariance[0]) || _velocityVariance[0] < 0 ||
+        !std::isfinite(_velocityVariance[1]) || _velocityVariance[1]) {
+         _velocityVariance.setZero();
+@@ -349,7 +349,7 @@
+ 
+ void Box::setSize(const Vector2d& size)
+ {
+-    Vector2d s(size.cwise().abs()/2.0);
++    Vector2d s(size.array().abs().matrix()/2.0);
+ 
+     _vertexes[0] << -s[0], -s[1];
+     _vertexes[1] <<  s[0], -s[1];
+Index: step/stepcore/spring.cc
+===================================================================
+--- step.orig/stepcore/spring.cc	2015-09-16 07:11:08.569967547 +0200
++++ step/stepcore/spring.cc	2015-09-16 07:11:08.541968671 +0200
+@@ -112,8 +112,8 @@
+         Vector2d forceV = (se->_restLengthVariance * square(_stiffness) +
+                            se->_stiffnessVariance * square(dl) +
+                            se->_dampingVariance * square(vr/l) +
+-                           ( (_damping/l*r).cwise().square() ).dot(vV)
+-                           )/square(l)*r.cwise().square();
++                           ( (_damping/l*r).array().square() ).matrix().dot(vV)
++                           )/square(l)*r.array().square();
+ 
+         forceV[0] += rV[0] * square(_stiffness*( 1 - _restLength/l*(1 - square(r[0]/l)) ) +
+                                     _damping/(l*l)*( v[0]*r[0] + vr - 2*vr*square(r[0]/l) )) +
+@@ -276,9 +276,9 @@
+     return square(dl) * _stiffnessVariance +
+            square(s->stiffness()) * _restLengthVariance +
+            square(r.dot(v)/l) * _dampingVariance +
+-           vV.dot((s->damping()/l*r).cwise().square()) +
++           vV.dot((s->damping()/l*r).array().square().matrix()) +
+            rV.dot((( s->stiffness() - s->damping()*r.dot(v) / (l*l) ) / l * r +
+-              s->damping() / l * v).cwise().square());
++              s->damping() / l * v).array().square().matrix());
+ }
+ 
+ /*
+Index: step/stepcore/tool.h
+===================================================================
+--- step.orig/stepcore/tool.h	2015-09-16 07:11:08.569967547 +0200
++++ step/stepcore/tool.h	2015-09-16 07:11:08.545968511 +0200
+@@ -103,7 +103,7 @@
+     /** Get size of the note */
+     const Vector2d& size() const { return _size; }
+     /** Set size of the note */
+-    void setSize(const Vector2d& size) { _size = size.cwise().abs(); }
++    void setSize(const Vector2d& size) { _size = size.array().abs(); }
+ 
+     /** Get note text */
+     const QString& text() const { return _text; }
+@@ -138,7 +138,7 @@
+     /** Get size of the graph */
+     const Vector2d& size() const { return _size; }
+     /** Set size of the graph */
+-    void setSize(const Vector2d& size) { _size = size.cwise().abs(); }
++    void setSize(const Vector2d& size) { _size = size.array().abs(); }
+ 
+     /** Get pointer to the objects for X axis */
+     Object* objectX() const { return _objectX; }
+@@ -291,7 +291,7 @@
+     /** Get size of the meter */
+     const Vector2d& size() const { return _size; }
+     /** Set size of the meter */
+-    void setSize(const Vector2d& size) { _size = size.cwise().abs(); }
++    void setSize(const Vector2d& size) { _size = size.array().abs(); }
+ 
+     /** Get pointer to the observed object */
+     Object* object() const { return _object; }
+@@ -370,7 +370,7 @@
+     /** Get size of the Controller */
+     const Vector2d& size() const { return _size; }
+     /** Set size of the Controller */
+-    void setSize(const Vector2d& size) { _size = size.cwise().abs(); }
++    void setSize(const Vector2d& size) { _size = size.array().abs(); }
+ 
+     /** Get pointer to the controlled object */
+     Object* object() const { return _object; }
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..24fd20c
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+eigen3.patch

-- 
step packaging



More information about the pkg-kde-commits mailing list