/src/main/java/net/finmath/marketdata/model/cds/CDS.java
final double subPeriodStartTime = jointTimeDiscretization[subTimeIndex];final double subPeriodEndTime = jointTimeDiscretization[subTimeIndex + 1];
final double subPeriodEndTime = jointTimeDiscretization[subTimeIndex + 1];
if (useFinerDiscretization) { value += -feePayment * periodLength * discountFactor * survivalProbabilityFactor; final int startIndex = Arrays.binarySearch(jointTimeDiscretization, periodStartTime); final int endIndex = Arrays.binarySearch(jointTimeDiscretization, periodEndTime); for (int subTimeIndex = startIndex; subTimeIndex < endIndex; subTimeIndex++) { final double subPeriodStartTime = jointTimeDiscretization[subTimeIndex]; <extra_id_0> discountFactor = discountCurve.getDiscountFactor(model, subPeriodEndTime); previousDiscountFactor = discountCurve.getDiscountFactor(model, subPeriodStartTime); survivalProbabilityFactor = survivalProbabilityCurve.getValue(model, subPeriodEndTime); previousSurvivalProbabilityFactor = survivalProbabilityCurve.getValue(model, subPeriodStartTime); forwardInterestRateFactor = (Math.log(discountCurve.getValue(model, subPeriodStartTime)) - Math.log(discountCurve.getValue(model, subPeriodEndTime))) / (subPeriodEndTime - subPeriodStartTime); hazardRateFactor = (Math.log(survivalProbabilityCurve.getValue(model, subPeriodStartTime)) - Math.log(survivalProbabilityCurve.getValue(model, subPeriodEndTime))) / (subPeriodEndTime - subPeriodStartTime);