|
@@ -136,9 +136,12 @@ public class JPlagResult {
|
|
|
|
|
|
|
|
private int[] calculateDistributionFor(List<JPlagComparison> comparisons, Function<JPlagComparison, Float> similarityExtractor) {
|
|
private int[] calculateDistributionFor(List<JPlagComparison> comparisons, Function<JPlagComparison, Float> similarityExtractor) {
|
|
|
int[] similarityDistribution = new int[SIMILARITY_DISTRIBUTION_SIZE];
|
|
int[] similarityDistribution = new int[SIMILARITY_DISTRIBUTION_SIZE];
|
|
|
- comparisons.stream().map(similarityExtractor).map(percent -> percent / SIMILARITY_DISTRIBUTION_SIZE).map(Float::intValue)
|
|
|
|
|
- .map(index -> index == SIMILARITY_DISTRIBUTION_SIZE ? SIMILARITY_DISTRIBUTION_SIZE - 1 : index)
|
|
|
|
|
- .forEach(index -> similarityDistribution[SIMILARITY_DISTRIBUTION_SIZE - 1 - index]++);
|
|
|
|
|
|
|
+ for (JPlagComparison comparison : comparisons) {
|
|
|
|
|
+ Float similarity = similarityExtractor.apply(comparison);
|
|
|
|
|
+ int index = (int) (similarity / SIMILARITY_DISTRIBUTION_SIZE);
|
|
|
|
|
+ index = index == SIMILARITY_DISTRIBUTION_SIZE ? SIMILARITY_DISTRIBUTION_SIZE - 1 : index;
|
|
|
|
|
+ similarityDistribution[SIMILARITY_DISTRIBUTION_SIZE - 1 - index]++;
|
|
|
|
|
+ }
|
|
|
return similarityDistribution;
|
|
return similarityDistribution;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|