Skip to content

Commit 0f5ccb6

Browse files
authored
Merge pull request #1739 from NASA-AMMOS/bugfix/clamped-integrate-timing
Bug fix: Consult clock for fixedTimeCondition
2 parents b67d13e + 8baee3d commit 0f5ccb6

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

contrib/src/main/java/gov/nasa/jpl/aerie/contrib/streamline/modeling/polynomial/PolynomialResources.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -461,15 +461,18 @@ public static ClampedIntegrateResult clampedIntegrate(
461461
}
462462

463463
private static Condition fixedTimeCondition(Optional<Duration> time) {
464-
return time.<Condition>map(time$ -> (positive, atEarliest, atLatest) -> {
465-
if (positive) {
466-
return time.filter(atLatest::noShorterThan).map(t -> Duration.max(atEarliest, t));
467-
} else {
468-
return Optional.of(atEarliest).filter(time$::longerThan);
469-
}
464+
return time.<Condition>map(time$ -> {
465+
var targetTime = Resources.currentTime().plus(time$);
466+
return (positive, atEarliest, atLatest) -> {
467+
var timeRemaining = targetTime.minus(Resources.currentTime());
468+
if (positive) {
469+
return Optional.of(timeRemaining).filter(atLatest::noShorterThan).map(t -> Duration.max(atEarliest, t));
470+
} else {
471+
return Optional.of(atEarliest).filter(timeRemaining::longerThan);
472+
}
473+
};
470474
}).orElse(Condition.FALSE);
471475
}
472-
473476
private record ClampedIntegrateInternalResult(
474477
Polynomial integral,
475478
Polynomial overflow,

0 commit comments

Comments
 (0)