Internal function, logdiff

logdiff(x, y)

Arguments

x

numeric

y

numeric

Value

max(x) + log(exp(x - max(x,y)) - exp(y-max(x,y)))

Details

This function calculates the log of the difference of the exponentiated logs taking out the max, i.e. insuring that the difference is not negative

ie you want log(exp(x) - exp(y))

Examples

x <- 1001:1010 y <- 1:10 log(x-y)
#> [1] 6.907755 6.907755 6.907755 6.907755 6.907755 6.907755 6.907755 6.907755 #> [9] 6.907755 6.907755
MFM:::logdiff(log(x),log(y))
#> [1] 6.907755 6.907755 6.907755 6.907755 6.907755 6.907755 6.907755 6.907755 #> [9] 6.907755 6.907755