From 7fdb85bcbe17bc817844666b7fc2efc907412150 Mon Sep 17 00:00:00 2001
From: Joan Sola <jsola@iri.upc.edu>
Date: Sat, 20 Feb 2016 00:46:52 +0100
Subject: [PATCH] Avoid temporal variables

---
 src/local_parametrization_quaternion.cpp | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/local_parametrization_quaternion.cpp b/src/local_parametrization_quaternion.cpp
index fa87ae388..b539bdad9 100644
--- a/src/local_parametrization_quaternion.cpp
+++ b/src/local_parametrization_quaternion.cpp
@@ -31,16 +31,13 @@ bool LocalParametrizationQuaternion::plus(const Eigen::Map<Eigen::VectorXs>& _q,
         Quaternions dq(AngleAxis<WolfScalar>(angle, axis));
 
         // result as a quaternion
-        Quaternions qout;
         if (global_delta_)
             // the delta is in global reference
-            qout = dq * Map<const Quaternions>(&_q(0));
+            _q_plus_delta_theta = (dq * Map<const Quaternions>(&_q(0))).coeffs();
         else
             // the delta is in local reference
-            qout = Map<const Quaternions>(&_q(0)) * dq;
+            _q_plus_delta_theta = (Map<const Quaternions>(&_q(0)) * dq).coeffs();
 
-        // result as a vector map
-        _q_plus_delta_theta = qout.coeffs();
     }
     else
     {
-- 
GitLab