Эффективное суммирование значений журнала

Работая на C ++, я ' Я хочу найти сумму некоторых величин, а затем взять логарифм суммы:

log(a_1 + a_2 + a_3 + ... + a_n)

Однако у меня нет самих величин, у меня есть только их логарифмические значения:

l_1 = log(a_1), l_2 = log(a_2), ... , l_n = log(a_n)

Есть ли эффективный способ получить в журнале сумму а_и? Я бы хотел избежать

log(s) = log(exp(l_1) + exp(l_2) + ... + exp(l_n))

, если это возможно - exp становится узким местом, поскольку вычисление выполняется много раз.

7
задан Chathuranga Chandrasekara 5 February 2011 в 01:31
поделиться