From c6458c901d854560e80cc326d06ac8ae32e71f70 Mon Sep 17 00:00:00 2001 From: dfsek Date: Tue, 11 Jan 2022 08:58:38 -0700 Subject: [PATCH] eliminate boxing in BinaryColumn boolean ops --- .../terra/api/structure/feature/BinaryColumn.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/common/api/src/main/java/com/dfsek/terra/api/structure/feature/BinaryColumn.java b/common/api/src/main/java/com/dfsek/terra/api/structure/feature/BinaryColumn.java index 7f8e53e44..26e2269f1 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/structure/feature/BinaryColumn.java +++ b/common/api/src/main/java/com/dfsek/terra/api/structure/feature/BinaryColumn.java @@ -7,11 +7,10 @@ package com.dfsek.terra.api.structure.feature; -import com.dfsek.terra.api.util.Range; - -import java.util.function.BinaryOperator; import java.util.function.IntConsumer; +import com.dfsek.terra.api.util.Range; + /** * A column of binary data @@ -97,7 +96,7 @@ public class BinaryColumn { return bool(that, Boolean::logicalXor); } - private BinaryColumn bool(BinaryColumn that, BinaryOperator operator) { + private BinaryColumn bool(BinaryColumn that, BooleanBinaryOperator operator) { int smallMinY = Math.min(this.minY, that.minY); int bigMaxY = Math.max(this.maxY, that.maxY); @@ -120,4 +119,8 @@ public class BinaryColumn { return next; } + + private interface BooleanBinaryOperator { + boolean apply(boolean a, boolean b); + } }