| interpolateSurfaceToOriginalGrid2DAlongFirstState(double[][], SpaceTimeDiscretization, SpaceTimeDiscretization) |  | 0% |  | 0% | 8 | 8 | 25 | 25 | 1 | 1 |
| createAuxiliaryKnockInModel1D(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 4 | 4 | 21 | 21 | 1 | 1 |
| assembleDirectOneTouchSurface2D(FiniteDifferenceEquityModel, FiniteDifferenceEquityModel, double[][]) |  | 0% |  | 0% | 8 | 8 | 20 | 20 | 1 | 1 |
| TouchOption(String, double, double, BarrierType, double, TouchSettlementTiming, Exercise, MonitoringType, double[]) |  | 0% |  | 0% | 12 | 12 | 28 | 28 | 1 | 1 |
| createPreHitSpecification2D(FiniteDifferenceEquityModel, ActivatedBarrierTrace2D) |  | 0% |  | 0% | 3 | 3 | 17 | 17 | 1 | 1 |
| cellAveragedNoTouchPayoff(double, double) |  | 0% |  | 0% | 8 | 8 | 14 | 14 | 1 | 1 |
| getValuationSpaceTimeDiscretization(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 4 | 4 | 19 | 19 | 1 | 1 |
| buildActivatedSurfaceOnOriginalGrid2D(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 4 | 4 | 12 | 12 | 1 | 1 |
| priceInOptionDirectly2D(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 4 | 4 | 15 | 15 | 1 | 1 |
| createAnalyticalActivatedBarrierTrace2D(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 3 | 3 | 11 | 11 | 1 | 1 |
| createAuxiliaryPreHitModel2D(FiniteDifferenceEquityModel, BarrierPreHitSpecification) |  | 0% | | n/a | 1 | 1 | 12 | 12 | 1 | 1 |
| applyEventCondition(double, double[], FiniteDifferenceEquityModel) |  | 0% |  | 0% | 6 | 6 | 13 | 13 | 1 | 1 |
| priceInOptionDirectly1D(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 1 | 1 |
| validateBarrierIsInteriorGridNode(double, double, double, int) |  | 0% |  | 0% | 6 | 6 | 9 | 9 | 1 | 1 |
| interpolateSurfaceToOriginalGrid1D(double[][], double[], double[]) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| validateContinuousMonitoringScope(FiniteDifferenceEquityModel, int) |  | 0% |  | 0% | 8 | 8 | 10 | 10 | 1 | 1 |
| getValues(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 6 | 6 | 11 | 11 | 1 | 1 |
| getValue(double, FiniteDifferenceEquityModel) |  | 0% |  | 0% | 2 | 2 | 9 | 9 | 1 | 1 |
| getDiscountedCashValueForTau(FiniteDifferenceEquityModel, double) |  | 0% |  | 0% | 3 | 3 | 10 | 10 | 1 | 1 |
| buildZeroValueSurface(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| isConstraintActive(double, double[]) |  | 0% |  | 0% | 7 | 7 | 7 | 7 | 1 | 1 |
| validateProductConfiguration(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| buildCellAveragedTerminalValues(SpaceTimeDiscretization) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| getTouchedValueAtEventTime(double, FiniteDifferenceEquityModel) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| validateBarrierInsideGrid(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| getTotalNumberOfSpacePoints(SpaceTimeDiscretization) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| buildDiscreteMonitoringTerminalValues(SpaceTimeDiscretization) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| priceOutOptionDirectly(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| createActiveBoundaryProvider(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| isBarrierBreached(double) |  | 0% |  | 0% | 5 | 5 | 4 | 4 | 1 | 1 |
| isAliveAtExerciseOrMaturityForOutOption(double) |  | 0% |  | 0% | 5 | 5 | 4 | 4 | 1 | 1 |
| oneTouchAtExpiry(String, double, double, BarrierType, double) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| oneTouchAtHit(String, double, double, BarrierType, double) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| noTouchAtExpiry(String, double, double, BarrierType, double) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| getRightDualCellEdge(double[], int) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| createActivationPolicy() |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| buildConstantTerminalValues(SpaceTimeDiscretization, double) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| getActivatedValueForTau(FiniteDifferenceEquityModel, double) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| getColumn(double[][], int) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| validateDiscreteMonitoringScope(int) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| getLeftDualCellEdge(double[], int) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| priceDiscreteMonitored1D(FiniteDifferenceEquityModel) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getPricingMode(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| getEffectiveModelForValuation(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| TouchOption(String, double, double, BarrierType, double, TouchSettlementTiming) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| TouchOption(String, double, double, BarrierType, double) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| TouchOption(double, double, BarrierType, double, TouchSettlementTiming) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| TouchOption(double, double, BarrierType, double) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| TouchOption(String, double, double, BarrierType, double, TouchSettlementTiming, Exercise) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| TouchOption(double, double, BarrierType, double, TouchSettlementTiming, Exercise, MonitoringType, double[]) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| TouchOption(double, double, BarrierType, double, TouchSettlementTiming, Exercise) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isOutOption() |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| getEventTimes() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| TouchOption(String, double, double, BarrierType, double, Exercise) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| supportsDirect2D(FiniteDifferenceEquityModel) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| getConstrainedValue(double, double[]) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getMonitoringTimes() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| pointwiseNoTouchTerminalPayoff(double) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| validateMonitoringSpecification() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| oneTouchAtExpiry(double, double, BarrierType, double) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| oneTouchAtHit(double, double, BarrierType, double) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| noTouchAtExpiry(double, double, BarrierType, double) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| buildActiveTerminalValues(SpaceTimeDiscretization) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| flatten(int, int, int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| usesDiscreteMonitoring() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getUnderlyingName() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMaturity() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBarrierValue() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBarrierType() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPayoffAmount() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getSettlementTiming() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getExercise() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMonitoringType() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$priceInOptionDirectly2D$0(double) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getInactiveValueAtMaturity() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |