diff --git a/src/main/java/azgracompress/quantization/vector/LBGVectorQuantizer.java b/src/main/java/azgracompress/quantization/vector/LBGVectorQuantizer.java index 6ccf86eabe1bfb1321be9bda8af44b48e30f4cde..283947c9a73d588459f3e89b74f9bd51ba6359ca 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; }