prod_j += message( j, J.iter );
else
prod_j *= message( j, J.iter );
+ } else {
+ // FBP: multiply by m_Ij^(1-1/c_I)
+ if( props.logdomain )
+ prod_j += message( j, J.iter )*(1-1/scale);
+ else
+ prod_j *= message( j, J.iter )^(1-1/scale);
}
-
- size_t _I = j.dual;
- // FBP: now multiply by m_Ij^(1-1/c_I)
- if(props.logdomain)
- prod_j += message( j, _I)*(1-1/scale);
- else
- prod_j *= message( j, _I)^(1-1/scale);
-
// multiply prod with prod_j
if( !DAI_FBP_FAST ) {
/* UNOPTIMIZED (SIMPLE TO READ, BUT SLOW) VERSION */
prod_j += newMessage( j, J.iter );
else
prod_j *= newMessage( j, J.iter );
+ } else {
+ // FBP: multiply by m_Ij^(1-1/c_I)
+ if( props.logdomain )
+ prod_j += newMessage( j, J.iter)*(1-1/scale);
+ else
+ prod_j *= newMessage( j, J.iter)^(1-1/scale);
}
- size_t _I = j.dual;
-
- // FBP: now multiply by m_Ij^(1-1/c_I)
- if( props.logdomain )
- prod_j += newMessage( j, _I)*(1-1/scale);
- else
- prod_j *= newMessage( j, _I)^(1-1/scale);
-
// multiply prod with prod_j
if( !DAI_FBP_FAST ) {
/* UNOPTIMIZED (SIMPLE TO READ, BUT SLOW) VERSION */