Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(WeightObj_t), | intent(in) | :: | weights | |||
real(kind=dp), | intent(in) | :: | bVal | |||
real(kind=dp), | intent(in) | :: | negSwitches | |||
real(kind=dp), | intent(in) | :: | posSwitches |
function plus_switching_double(weights, bVal, negSwitches, posSwitches) result(prob)
type(WeightObj_t), intent(in) :: weights
real(dp), intent(in) :: bVal, negSwitches, posSwitches
real(dp) :: prob
real(dp) :: plus, zero
zero = weights%proc%zero(negSwitches, posSwitches, bVal, weights%dat)
plus = weights%proc%plus(posSwitches, bVal, weights%dat)
prob = 1.0_dp - calcStayingProb(plus, zero, bVal)
end function plus_switching_double