SNAP Library 2.1, Developer Reference
2013-09-25 10:47:25
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
|
Go to the source code of this file.
Functions | |
const double | LogSumExp (const double LogVal1, const double LogVal2) |
const double | LogSumExp (const TFltV &LogValV) |
const double | LogSumExp (const double *LogValArray, const int Len) |
const double LogSumExp | ( | const double | LogVal1, |
const double | LogVal2 | ||
) |
Definition at line 675 of file mag.cpp.
Referenced by TMAGFitBern::GradApxAffMtx(), LogSumExp(), TMAGFitBern::UpdateApxPhiMI(), TMAGFitBern::UpdatePhi(), and TMAGFitBern::UpdatePhiMI().
{ double MaxExp = (LogVal1 > LogVal2) ? LogVal1 : LogVal2; double Sum = exp(LogVal1 - MaxExp) + exp(LogVal2 - MaxExp); return (log(Sum) + MaxExp); }
Definition at line 681 of file mag.cpp.
References TVec< TVal, TSizeTy >::Len().
{ const int Len = LogValV.Len(); double MaxExp = -DBL_MAX; for(int i = 0; i < Len; i++) { if(MaxExp < LogValV[i]) { MaxExp = LogValV[i]; } } double Sum = 0.0; for(int i = 0; i < Len; i++) { Sum += exp(LogValV[i] - MaxExp); } return (log(Sum) + MaxExp); }