From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Martijn Muijsers Date: Wed, 30 Nov 2022 17:24:24 +0100 Subject: [PATCH] Replace division by multiplication in CubePointRange License: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) Gale - https://galemc.org This patch is based on the following mixin: "me/jellysquid/mods/lithium/mixin/shapes/precompute_shape_arrays/FractionalDoubleListMixin.java" By: 2No2Name <2No2Name@web.de> As part of: Lithium (https://github.com/CaffeineMC/lithium-fabric) Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/phys/shapes/CubePointRange.java b/src/main/java/net/minecraft/world/phys/shapes/CubePointRange.java index ad02cdb00360165f6405eb3044bd8320f01a7ef1..0b6f3fca7e7b8f2f7cfa0c8f01068f234888f66d 100644 --- a/src/main/java/net/minecraft/world/phys/shapes/CubePointRange.java +++ b/src/main/java/net/minecraft/world/phys/shapes/CubePointRange.java @@ -4,6 +4,7 @@ import it.unimi.dsi.fastutil.doubles.AbstractDoubleList; public class CubePointRange extends AbstractDoubleList { private final int parts; + private final double scale; // Gale - Lithium - replace division by multiplication in CubePointRange public CubePointRange(int sectionCount) { if (sectionCount <= 0) { @@ -11,10 +12,11 @@ public class CubePointRange extends AbstractDoubleList { } else { this.parts = sectionCount; } + this.scale = 1.0D / sectionCount; // Gale - Lithium - replace division by multiplication in CubePointRange } public double getDouble(int i) { - return (double)i / (double)this.parts; + return i * this.scale; // Gale - Lithium - replace division by multiplication in CubePointRange } public int size() {