|
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);
}
