From 6f95533c4bb83fab9fa461c46603d85600be4c99 Mon Sep 17 00:00:00 2001 From: Vojtech Moravec <vojtech.moravec.st@vsb.cz> Date: Tue, 18 Aug 2020 15:17:33 +0200 Subject: [PATCH] Fix wrong index calculation in row vector loading. --- src/main/java/azgracompress/io/loader/BasicLoader.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/azgracompress/io/loader/BasicLoader.java b/src/main/java/azgracompress/io/loader/BasicLoader.java index 0f8d8fd..4703fea 100644 --- a/src/main/java/azgracompress/io/loader/BasicLoader.java +++ b/src/main/java/azgracompress/io/loader/BasicLoader.java @@ -32,10 +32,13 @@ public abstract class BasicLoader { } protected int[][] loadRowVectorsImplByLoadPlaneData(final int vectorSize, final Range<Integer> planeRange) throws IOException { + System.out.println("we are here and maybe it is wrong."); final int rowVectorCount = (int) Math.ceil((double) dims.getX() / (double) vectorSize); final int planeCount = planeRange.getTo() - planeRange.getFrom(); + System.out.println("vectorSize="+vectorSize); + System.out.println("planeCount="+planeCount); final int vectorCount = planeCount * dims.getY() * rowVectorCount; - + System.out.println("vectorCount="+vectorCount); int[][] rowVectors = new int[vectorCount][vectorSize]; int vectorIndex = 0; @@ -49,9 +52,9 @@ public abstract class BasicLoader { baseX = rowVectorIndex * vectorSize; for (int vectorX = 0; vectorX < vectorSize; vectorX++) { - if (baseX + vectorX >= dims.getY()) + if ((baseX + vectorX) >= dims.getY()) break; - rowVectors[vectorIndex][vectorX] = planeData[Block.index((baseX + vectorX), row, dims.getY())]; + rowVectors[vectorIndex][vectorX] = planeData[Block.index((baseX + vectorX), row, dims.getX())]; } ++vectorIndex; } -- GitLab