Skip to content

Commit 91b2224

Browse files
committed
Reduce isNotInFuture method complexity
1 parent 1bc0b77 commit 91b2224

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/main/java/com/adventofcode/flashk/day24/Hailstone.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,21 @@ private Vector3D createVector3D(String[] coords) {
7575
private boolean isNotInFuture(Vector3D intersection) {
7676

7777
double deltaX = intersection.getX() - position.getX();
78-
if((deltaX > 0 && speed.getX() < 0) || (deltaX < 0 && speed.getX() > 0)){
78+
if(isInvalidSpeedSign(deltaX, speed.getX())){
7979
return true;
8080
}
8181

8282
double deltaY = intersection.getY() - position.getY();
83-
if((deltaY > 0 && speed.getY() < 0) || (deltaY < 0 && speed.getY() > 0)){
83+
if(isInvalidSpeedSign(deltaY, speed.getY())){
8484
return true;
8585
}
8686

8787
double deltaZ = intersection.getZ() - position.getZ();
88-
return (deltaZ > 0 && speed.getZ() < 0) || (deltaZ < 0 && speed.getZ() > 0);
88+
return (isInvalidSpeedSign(deltaZ, speed.getZ()));
89+
}
90+
91+
private boolean isInvalidSpeedSign(double intersectionSpeed, double realSpeed) {
92+
return ((intersectionSpeed > 0 && realSpeed < 0) || (intersectionSpeed < 0 && realSpeed > 0));
8993
}
9094

9195
private boolean isInArea(Vector3D intersection, long min, long max){

0 commit comments

Comments
 (0)