From da88ffcc78f7663d72220744e8c2063d88699308 Mon Sep 17 00:00:00 2001 From: Tiago Gomes Date: Mon, 18 Mar 2013 16:18:47 +0000 Subject: [PATCH] Watch out for undefined behaviour. --- packages/CLPBN/horus/Factor.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/CLPBN/horus/Factor.cpp b/packages/CLPBN/horus/Factor.cpp index e22317617..66061e4dd 100644 --- a/packages/CLPBN/horus/Factor.cpp +++ b/packages/CLPBN/horus/Factor.cpp @@ -179,12 +179,13 @@ Factor::sumOutLastVariable() Params::iterator last = params_.end(); if (Globals::logDomain) { while (first2 != last) { - // the arguments can be swaped, but that is ok - *first1++ = Util::logSum (*first2++, *first2++); + double tmp = *first2++; + *first1++ = Util::logSum (tmp, *first2++); } } else { while (first2 != last) { - *first1++ = (*first2++) + (*first2++); + *first1 = *first2++; + *first1++ += *first2++; } } params_.resize (params_.size() / 2);