Skip to content

Commit

Permalink
Delete Duration.isEqualTo
Browse files Browse the repository at this point in the history
  • Loading branch information
JoelCourtney authored and skovati committed Sep 9, 2024
1 parent 15d93de commit 86fc313
Show file tree
Hide file tree
Showing 18 changed files with 36 additions and 47 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package gov.nasa.jpl.aerie.constraints.time;

import gov.nasa.jpl.aerie.merlin.protocol.types.Duration;
import org.apache.commons.lang3.tuple.Pair;

import java.util.Comparator;
import java.util.Objects;

import static gov.nasa.jpl.aerie.constraints.time.Interval.Inclusivity.Exclusive;
Expand Down Expand Up @@ -265,7 +263,7 @@ public boolean contains(Interval x){
}

public boolean isSingleton(){
return this.start.isEqualTo(this.end);
return this.start.equals(this.end);
}

public static Interval betweenClosedOpen(final Duration start, final Duration end) {
Expand All @@ -286,7 +284,7 @@ public int compareTo(final Interval o) {

public static int compareStartToStart(final Interval x, final Interval y) {
// First, order by absolute time.
if (!x.start.isEqualTo(y.start)) {
if (!x.start.equals(y.start)) {
return x.start.compareTo(y.start);
}

Expand All @@ -300,7 +298,7 @@ public static int compareStartToStart(final Interval x, final Interval y) {

public static int compareEndToEnd(final Interval x, final Interval y) {
// First, order by absolute time.
if (!x.end.isEqualTo(y.end)) {
if (!x.end.equals(y.end)) {
return x.end.compareTo(y.end);
}

Expand Down Expand Up @@ -348,7 +346,7 @@ public static int compareEndToStart(final Interval x, final Interval y) {
}

public static boolean meets(final Interval x, final Interval y) {
return (x.end.isEqualTo(y.start)) && (x.endInclusivity != y.startInclusivity);
return (x.end.equals(y.start)) && (x.endInclusivity != y.startInclusivity);
}

public static boolean metBy(final Interval x, final Interval y) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ public static Interval strictUpperBoundsOf(final Interval x) {
*/
public static boolean startBeforeStart(Interval x, Interval y) {
return x.start.shorterThan(y.start) ||
(x.start.isEqualTo(y.start) && (x.includesStart() && !y.includesStart()));
(x.start.equals(y.start) && (x.includesStart() && !y.includesStart()));
}

/**
Expand All @@ -123,7 +123,7 @@ public static boolean startBeforeStart(Interval x, Interval y) {
*/
public static boolean endBeforeStart(Interval x, Interval y) {
return x.end.shorterThan(y.start) ||
(x.end.isEqualTo(y.start) && (!x.includesEnd() || !y.includesStart()));
(x.end.equals(y.start) && (!x.includesEnd() || !y.includesStart()));
}

/**
Expand All @@ -135,7 +135,7 @@ public static boolean endBeforeStart(Interval x, Interval y) {
*/
public static boolean endBeforeEnd(Interval x, Interval y) {
return x.end.shorterThan(y.end) ||
(x.end.isEqualTo(y.end) && (!x.includesEnd() && y.includesEnd()));
(x.end.equals(y.end) && (!x.includesEnd() && y.includesEnd()));
}

/**
Expand Down Expand Up @@ -265,7 +265,7 @@ static boolean startsStrictlyAfter(Interval x, Interval y) {
static boolean endsStrictlyBefore(Interval x, Interval y) {
if (x.isEmpty() || y.isEmpty()) return false;
return x.end.shorterThan(y.start) ||
(x.end.isEqualTo(y.start) && (!x.includesEnd() && !y.includesStart()));
(x.end.equals(y.start) && (!x.includesEnd() && !y.includesStart()));
}

/**
Expand All @@ -277,7 +277,7 @@ static boolean endsStrictlyBefore(Interval x, Interval y) {
*/
static boolean meets(Interval x, Interval y) {
if (x.isEmpty() || y.isEmpty()) return false;
return x.end.isEqualTo(y.start) && (x.endInclusivity != y.startInclusivity);
return x.end.equals(y.start) && (x.endInclusivity != y.startInclusivity);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import gov.nasa.jpl.aerie.merlin.protocol.types.Duration;
import org.apache.commons.lang3.function.TriFunction;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
Expand Down Expand Up @@ -84,7 +83,7 @@ private static <V> boolean invariantsMet(Iterable<Segment<V>> segments) {
if (segment.interval().isEmpty() ||
(oldSegment != null &&
(!endBeforeStart(oldSegment.interval(), segment.interval()) ||
(segment.interval().start.isEqualTo(oldSegment.interval().end) && Objects.equals(segment.value(), oldSegment.value()))))) {
(segment.interval().start.equals(oldSegment.interval().end) && Objects.equals(segment.value(), oldSegment.value()))))) {
segmentsOkay = false;
break;
}
Expand Down Expand Up @@ -324,7 +323,7 @@ IntervalMap<R> map2(
if (!leftDone && (!leftGetNext || leftIter.hasNext())) {
if (leftGetNext) leftNextDefinedSegment = leftIter.next();
leftGetNext = false;
if (leftNextDefinedSegment.interval().start.shorterThan(startTime) || (leftNextDefinedSegment.interval().start.isEqualTo(startTime) && !leftNextDefinedSegment.interval().startInclusivity.moreRestrictiveThan(startInclusivity))) {
if (leftNextDefinedSegment.interval().start.shorterThan(startTime) || (leftNextDefinedSegment.interval().start.equals(startTime) && !leftNextDefinedSegment.interval().startInclusivity.moreRestrictiveThan(startInclusivity))) {
leftInterval = leftNextDefinedSegment.interval();
leftValue = Optional.of(leftNextDefinedSegment.value());
leftGetNext = true;
Expand All @@ -345,7 +344,7 @@ IntervalMap<R> map2(
if (!rightDone && (!rightGetNext || rightIter.hasNext())) {
if (rightGetNext) rightNextDefinedSegment = rightIter.next();
rightGetNext = false;
if (rightNextDefinedSegment.interval().start.shorterThan(startTime) || (rightNextDefinedSegment.interval().start.isEqualTo(startTime) && !rightNextDefinedSegment.interval().startInclusivity.moreRestrictiveThan(startInclusivity))) {
if (rightNextDefinedSegment.interval().start.shorterThan(startTime) || (rightNextDefinedSegment.interval().start.equals(startTime) && !rightNextDefinedSegment.interval().startInclusivity.moreRestrictiveThan(startInclusivity))) {
rightInterval = rightNextDefinedSegment.interval();
rightValue = Optional.of(rightNextDefinedSegment.value());
rightGetNext = true;
Expand All @@ -363,7 +362,7 @@ IntervalMap<R> map2(
rightValue = Optional.empty();
}

if (leftInterval.end.isEqualTo(rightInterval.end)) {
if (leftInterval.end.equals(rightInterval.end)) {
endTime = leftInterval.end;
if (leftInterval.includesEnd() && rightInterval.includesEnd()) {
endInclusivity = Inclusive;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ public static <D extends Dynamics<?, D>> Resource<D> shift(Resource<D> resource,
if (interval.shorterThan(ZERO)) {
throw new IllegalArgumentException("Cannot shift resource by negative interval: " + interval);
}
if (interval.isEqualTo(ZERO)) {
if (interval.equals(ZERO)) {
return resource;
}
var cell = resource(initialDynamics);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,12 @@
import org.apache.commons.math3.complex.Complex;

import java.util.Arrays;
import java.util.Optional;
import java.util.function.BiPredicate;
import java.util.function.DoublePredicate;
import java.util.function.Predicate;
import java.util.stream.Stream;

import static gov.nasa.jpl.aerie.contrib.streamline.core.Expiring.expiring;
import static gov.nasa.jpl.aerie.contrib.streamline.core.Expiry.NEVER;
import static gov.nasa.jpl.aerie.contrib.streamline.core.Expiry.expiry;
import static gov.nasa.jpl.aerie.merlin.protocol.types.Duration.EPSILON;
import static gov.nasa.jpl.aerie.merlin.protocol.types.Duration.SECOND;
import static gov.nasa.jpl.aerie.contrib.streamline.modeling.discrete.Discrete.discrete;
Expand Down Expand Up @@ -64,7 +61,7 @@ public Double extract() {

@Override
public Polynomial step(Duration t) {
return t.isEqualTo(ZERO) ? this : polynomial(shift(coefficients(), t.ratioOver(SECOND)));
return t.equals(ZERO) ? this : polynomial(shift(coefficients(), t.ratioOver(SECOND)));
}

public int degree() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ private static Pair<ActivityDirectiveId, ActivityDirective> activityFrom(final D
static void assertResultsEqual(SimulationResults expected, SimulationResults actual) {
if (expected.equals(actual)) return;
final var differences = new ArrayList<String>();
if (!expected.duration.isEqualTo(actual.duration)) {
if (!expected.duration.equals(actual.duration)) {
differences.add("duration");
}
if (!expected.realProfiles.equals(actual.realProfiles)) {
Expand All @@ -351,7 +351,7 @@ static void assertResultsEqual(SimulationResults expected, SimulationResults act
if (!expected.startTime.equals(actual.startTime)) {
differences.add("startTime");
}
if (!expected.duration.isEqualTo(actual.duration)) {
if (!expected.duration.equals(actual.duration)) {
differences.add("duration");
}
if (!expected.topics.equals(actual.topics)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ public static Function<SimulationState, Boolean> desiredCheckpoints(final List<D
}

public static Function<SimulationState, Boolean> checkpointAtEnd(Function<SimulationState, Boolean> stoppingCondition) {
return simulationState -> stoppingCondition.apply(simulationState) || simulationState.nextTime.isEqualTo(MAX_VALUE);
return simulationState -> stoppingCondition.apply(simulationState) || simulationState.nextTime.equals(MAX_VALUE);
}

private static Map<ActivityDirectiveId, Duration> getMinimumStartTimes(
Expand Down Expand Up @@ -374,7 +374,7 @@ private static <Model> Map<ActivityDirectiveId, SpanId> scheduleActivities(
}
Duration computedStartTime = offset;
if (predecessor != null) {
computedStartTime = (curTime.isEqualTo(Duration.MIN_VALUE) ? Duration.ZERO : curTime).plus(offset);
computedStartTime = (curTime.equals(Duration.MIN_VALUE) ? Duration.ZERO : curTime).plus(offset);
}
final var taskId = engine.scheduleTask(
computedStartTime,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public boolean equals(final Object o) {
if (!(o instanceof SimulationResults that)) return false;

return startTime.equals(that.startTime)
&& duration.isEqualTo(that.duration)
&& duration.equals(that.duration)
&& realProfiles.equals(that.realProfiles)
&& discreteProfiles.equals(that.discreteProfiles)
&& simulatedActivities.equals(that.simulatedActivities)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,14 @@ static Condition and(final Condition left, final Condition right) {

right$ = right.nextSatisfied(true, atEarliest, atLatest);
if (right$.isEmpty()) break;
if (right$.get().isEqualTo(left$.get())) return left$;
if (right$.get().equals(left$.get())) return left$;

atEarliest = right$.get();
if (atLatest.shorterThan(atEarliest)) break;

left$ = left.nextSatisfied(true, atEarliest, atLatest);
if (left$.isEmpty()) break;
if (left$.get().isEqualTo(right$.get())) return right$;
if (left$.get().equals(right$.get())) return right$;
}

return Optional.empty();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -602,11 +602,6 @@ public boolean isZero() {
return this.micros == 0;
}

public boolean isEqualTo(final Duration other) {
if(other == null) return false;
return this.micros == other.micros;
}

public static Duration parseISO8601(final String iso8601String) {
final var javaDuration = java.time.Duration.parse(iso8601String);
return microseconds(javaDuration.getSeconds() * 1000000L + javaDuration.getNano() / 1000L);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public SimulationExtentConsumer(final long periodMillis) {
@Override
public void run() {
// Only print if simulation time has progressed.
if(!lastAcceptedDuration.isEqualTo(lastReportedDuration)) {
if(!lastAcceptedDuration.equals(lastReportedDuration)) {
System.out.println("Current simulation time: " + lastAcceptedDuration);
lastReportedDuration = lastAcceptedDuration;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ public static class SecantDurationAlgorithm<Metadata> implements SecantAlgorithm
private Duration chooseRandomX(final Duration bound1, final Duration bound2){
var low = bound1;
var high = bound2;
if(low.isEqualTo(high)) return low;
if(low.equals(high)) return low;
if(bound1.longerThan(bound2)) { low = bound2; high = bound1; }
return Duration.of(
randomGenerator.nextLong(low.in(Duration.MICROSECONDS), high.in(Duration.MICROSECONDS)),
Expand Down Expand Up @@ -281,7 +281,7 @@ public RootFindingResult<Duration, Metadata> findRoot(
x_n_double = x_n_double - (ff_x_nminus1.in(Duration.MICROSECONDS) / localDerivative);
x_nminus1 = x_n;
x_n = Duration.of((long) x_n_double, Duration.MICROSECONDS);
if (x_n.isEqualTo(x_nminus1)) throw new InfiniteDerivativeException();
if (x_n.equals(x_nminus1)) throw new InfiniteDerivativeException();
final var resultXn = nextValueAt(f, x_n, xLow, xHigh, history, maxNbIterations - nbItPerformed);
nbItPerformed += resultXn.nbIterationsPerformed();
ff_x_n = resultXn.result().fx();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -247,8 +247,8 @@ public String toString() {
*/
public boolean equalsInProperties(final SchedulingActivity that){
return type.equals(that.type)
&& duration.isEqualTo(that.duration)
&& startOffset.isEqualTo(that.startOffset)
&& duration.equals(that.duration)
&& startOffset.equals(that.startOffset)
&& arguments.equals(that.arguments)
&& Objects.equals(topParent, that.topParent)
&& Objects.equals(anchorId, that.anchorId)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ private boolean shouldWeSave(final CachedSimulationEngine engine,
for(final var cached: cachedEngines.entrySet()){
final var savedEngine = cached.getKey();
final var metadata = cached.getValue();
if(engine.endsAt().isEqualTo(savedEngine.endsAt()) &&
if(engine.endsAt().equals(savedEngine.endsAt()) &&
engine.activityDirectives().equals(savedEngine.activityDirectives()) &&
metadata.configuration.equals(configuration)){
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ public Optional<Pair<EquationSolvingAlgorithms.FunctionCoordinate<Duration>, Opt
@Override
public boolean alreadyVisited(final Duration x) {
for(final var event:events){
if(event.getLeft().x().isEqualTo(x)) return true;
if(event.getLeft().x().equals(x)) return true;
}
return false;
}
Expand Down Expand Up @@ -758,7 +758,7 @@ private ConflictSolverResult solveActivityTemplateConflict(
+ "). Missing cardinality: "
+ cardinalityLeft
+ ", duration: "
+ (durationLeft.isEqualTo(ZERO) ? "N/A" : durationLeft));
+ (durationLeft.equals(ZERO) ? "N/A" : durationLeft));
final var newActivity = getBestNewActivity(missingActivityTemplateConflict);
assert newActivity != null;
//add the activities to the output plan
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public Duration valueAt(
final EquationSolvingAlgorithms.History<Duration, PrioritySolver.ActivityMetadata> historyType)
throws EquationSolvingAlgorithms.DiscontinuityException
{
if (x.isEqualTo(oneSecond)) {
if (x.equals(oneSecond)) {
throw new EquationSolvingAlgorithms.DiscontinuityException();
}
final var ret = x.times(2);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public void simulateUntilTime() throws SimulationFacade.SimulationException, Sch
final var plan = makePlanA012(activityTypes);
newSimulationFacade.simulateNoResults(plan, t2hr);
//we are stopping at 2hr, at the start of the last activity so it will not have a duration in the plan
assertNull(plan.getActivities().stream().filter(a -> a.startOffset().isEqualTo(t2hr)).findFirst().get().duration());
assertNull(plan.getActivities().stream().filter(a -> a.startOffset().equals(t2hr)).findFirst().get().duration());
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,7 @@ export default () => Goal.CoexistenceGoal({
assertEquals(1, goalResult.satisfyingActivities().size());
final var activityCreated = results.updatedPlan
.stream()
.filter(a -> a.startOffset().isEqualTo(Duration.MINUTES.times(55)))
.filter(a -> a.startOffset().equals(Duration.MINUTES.times(55)))
.collect(Collectors.toSet());
assertEquals(1, activityCreated.size());
assertEquals(new SerializedValue.StringValue("Company"), activityCreated.iterator().next().serializedActivity().getArguments().get("producer"));
Expand Down Expand Up @@ -1073,7 +1073,7 @@ export default () => Goal.CoexistenceGoal({
assertEquals(SerializedValue.of(1), growBanana.serializedActivity().getArguments().get("quantity"));

// Checking both activities start at the same time
assertTrue(durativeActivity.startOffset().isEqualTo(growBanana.startOffset()));
assertTrue(durativeActivity.startOffset().equals(growBanana.startOffset()));

// Checking both activities end at the same time
final var activitytype = results.plan.getActivitiesByType().keySet().stream().filter(w->w.getName().equals("DurationParameterActivity")).findFirst().get();
Expand Down Expand Up @@ -1130,7 +1130,7 @@ export default () => Goal.CoexistenceGoal({
assertEquals(SerializedValue.of(1), growBanana.serializedActivity().getArguments().get("quantity"));

// Checking start of peelBanana corresponds to end of growBanana
assertTrue(peelBanana.startOffset().isEqualTo(growBanana.startOffset().plus(growBananaDuration)));
assertTrue(peelBanana.startOffset().equals(growBanana.startOffset().plus(growBananaDuration)));
}

/**
Expand Down Expand Up @@ -1350,7 +1350,7 @@ export default () => Goal.CoexistenceGoal({
final var activitytype = results.plan.getActivitiesByType().keySet().stream().filter(w->w.getName().equals("DurationParameterActivity")).findFirst();
if (activitytype.isEmpty())
fail("Could not find Coexistence Goal activity type");
assertTrue(durationParameterActivity.startOffset().plus(results.plan.getActivitiesByType().get(activitytype.get()).get(0).duration()).isEqualTo(growBanana.startOffset().plus(growBananaDuration)));
assertTrue(durationParameterActivity.startOffset().plus(results.plan.getActivitiesByType().get(activitytype.get()).get(0).duration()).equals(growBanana.startOffset().plus(growBananaDuration)));
}

/**
Expand Down

0 comments on commit 86fc313

Please sign in to comment.