From 47497bfc2e0e7de52d160ba97c832fa59e205d3c Mon Sep 17 00:00:00 2001 From: Vojtech Moravec <vojtech.moravec.st@vsb.cz> Date: Sat, 15 Feb 2020 13:17:58 +0100 Subject: [PATCH] Use only single copy call. --- .../quantization/vector/LBGVectorQuantizer.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/azgracompress/quantization/vector/LBGVectorQuantizer.java b/src/main/java/azgracompress/quantization/vector/LBGVectorQuantizer.java index 6ccf86e..283947c 100644 --- a/src/main/java/azgracompress/quantization/vector/LBGVectorQuantizer.java +++ b/src/main/java/azgracompress/quantization/vector/LBGVectorQuantizer.java @@ -21,15 +21,17 @@ public class LBGVectorQuantizer { private double _mse = 0.0; public LBGVectorQuantizer(final int[][] vectors, final int codebookSize, final int workerCount) { - assert (vectors.length > 0) : "No training vectors provided"; + this.vectorSize = vectors[0].length; + final int[][] vectorsCopy = new int[vectors.length][vectorSize]; + System.arraycopy(vectors, 0, vectorsCopy, 0, vectors.length); + this.trainingVectors = new TrainingVector[vectors.length]; - for (int i = 0; i < vectors.length; i++) { - trainingVectors[i] = new TrainingVector(Arrays.copyOf(vectors[i], vectors[i].length)); + for (int i = 0; i < vectorsCopy.length; i++) { + trainingVectors[i] = new TrainingVector(vectorsCopy[i]); } - this.vectorSize = vectors[0].length; this.codebookSize = codebookSize; this.workerCount = workerCount; } -- GitLab