| getValuesInternal(double, double[], DoubleUnaryOperator, DoubleBinaryOperator) |   | 75% |   | 50% | 18 | 24 | 16 | 79 | 0 | 1 |
| buildContinuousObstacleVector(double[], double, DoubleBinaryOperator, BoundaryCondition, BoundaryCondition) |  | 0% |  | 0% | 7 | 7 | 10 | 10 | 1 | 1 |
| buildObstacleVector(double[], double, DoubleUnaryOperator, BoundaryCondition, BoundaryCondition) |  | 0% |  | 0% | 7 | 7 | 10 | 10 | 1 | 1 |
| applyExerciseProjection(double[], double[], double, DoubleUnaryOperator, BoundaryCondition, BoundaryCondition) |  | 0% |  | 0% | 7 | 7 | 9 | 9 | 1 | 1 |
| FDMThetaMethod1DJump(FiniteDifferenceEquityModel, FiniteDifferenceEquityProduct, SpaceTimeDiscretization, Exercise, int) |   | 55% |   | 50% | 8 | 9 | 7 | 22 | 0 | 1 |
| computeFirstDerivative(double[], double[]) |   | 82% |   | 80% | 2 | 6 | 5 | 24 | 0 | 1 |
| isInternalConstraintActive(double, double) |   | 33% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| getValue(double, double, double[], DoubleUnaryOperator) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getValue(double, double, double[], DoubleBinaryOperator) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getInternalConstrainedValue(double, double) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getValue(double, double, double[]) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| reimposeInternalConstraints(double[], double[], double) |   | 66% |   | 75% | 1 | 3 | 1 | 4 | 0 | 1 |
| getValues(double, double[]) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getValues(double, double[], DoubleUnaryOperator) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getValues(double, double[], DoubleBinaryOperator) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| computeExplicitJumpContribution(JumpComponent, double[], double[], double) |   | 92% |   | 75% | 1 | 3 | 2 | 12 | 0 | 1 |
| midpointIntegrate(JumpComponent, double[], double[], double, double, double, double, double, double, int) |  | 97% |   | 75% | 1 | 3 | 1 | 13 | 0 | 1 |
| interpolateLinearWithConstantExtrapolation(double[], double[], double) |  | 100% |  | 100% | 0 | 5 | 0 | 18 | 0 | 1 |
| integrateJumpContributionAtNode(JumpComponent, double[], double[], double, double, double, double, double, double) |  | 100% |   | 50% | 4 | 5 | 0 | 10 | 0 | 1 |
| getValues(double, DoubleUnaryOperator) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| extractTimeSlice(double[][], double, double) |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| reimposeBoundaryValues(double[], BoundaryCondition, BoundaryCondition) |  | 100% |   | 50% | 2 | 3 | 0 | 5 | 0 | 1 |
| getValue(double, double, DoubleUnaryOperator) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| FDMThetaMethod1DJump(FiniteDifferenceEquityModel, FiniteDifferenceEquityProduct, SpaceTimeDiscretization, Exercise) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |