[ 
https://issues.apache.org/jira/browse/MATH-305?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Steitz resolved MATH-305.
------------------------------

    Resolution: Fixed

The problem was due to overflow in MathUtils.distance() due to bad typing.  
Fixed in r885027.

> NPE in  KMeansPlusPlusClusterer unittest
> ----------------------------------------
>
>                 Key: MATH-305
>                 URL: https://issues.apache.org/jira/browse/MATH-305
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 2.0
>         Environment: java 6, eclipse, apache commons math trunk
>            Reporter: Erik van Ingen
>             Fix For: 2.1
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> When running this unittest, I am facing this NPE:
> java.lang.NullPointerException
>       at 
> org.apache.commons.math.stat.clustering.KMeansPlusPlusClusterer.assignPointsToClusters(KMeansPlusPlusClusterer.java:91)
> This is the unittest:
> package org.fao.fisheries.chronicles.calcuation.cluster;
> import static org.junit.Assert.assertEquals;
> import static org.junit.Assert.assertTrue;
> import java.util.Arrays;
> import java.util.List;
> import java.util.Random;
> import org.apache.commons.math.stat.clustering.Cluster;
> import org.apache.commons.math.stat.clustering.EuclideanIntegerPoint;
> import org.apache.commons.math.stat.clustering.KMeansPlusPlusClusterer;
> import org.fao.fisheries.chronicles.input.CsvImportProcess;
> import org.fao.fisheries.chronicles.input.Top200Csv;
> import org.junit.Test;
> public class ClusterAnalysisTest {
>       @Test
>       public void testPerformClusterAnalysis2() {
>               KMeansPlusPlusClusterer<EuclideanIntegerPoint> transformer = 
> new KMeansPlusPlusClusterer<EuclideanIntegerPoint>(
>                               new Random(1746432956321l));
>               EuclideanIntegerPoint[] points = new EuclideanIntegerPoint[] {
>                               new EuclideanIntegerPoint(new int[] { 1959, 
> 325100 }),
>                               new EuclideanIntegerPoint(new int[] { 1960, 
> 373200 }), };
>               List<Cluster<EuclideanIntegerPoint>> clusters = 
> transformer.cluster(Arrays.asList(points), 1, 1);
>               assertEquals(1, clusters.size());
>       }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to