Ref<> objects must be nested by reference because they potentially store a temporary object

This commit is contained in:
Gael Guennebaud
2013-08-11 17:52:43 +02:00
parent c13e9bbabf
commit 6719e56b5b
4 changed files with 7 additions and 6 deletions

View File

@@ -299,7 +299,7 @@ MatrixPowerAtomic<MatrixType>::computeSuperDiag(const ComplexScalar& curr, const
ComplexScalar logCurr = log(curr);
ComplexScalar logPrev = log(prev);
int unwindingNumber = ceil((numext::imag(logCurr - logPrev) - M_PI) / (2*M_PI));
ComplexScalar w = numext::atanh2(curr - prev, curr + prev) + ComplexScalar(0, M_PI*unwindingNumber);
ComplexScalar w = numext::atanh2(curr - prev, curr + prev) + ComplexScalar(RealScalar(0), RealScalar(M_PI*unwindingNumber));
return RealScalar(2) * exp(RealScalar(0.5) * p * (logCurr + logPrev)) * sinh(p * w) / (curr - prev);
}