NEWS
Version 3.4.0-1
  Changes
  2016-05-19
  1. Updated DESCRIPTION of the package
  2. Added a new package-level help document
  3. Added additional statistics returned from Ckmeans.1d.dp(), including
     within-cluster, between-cluster, and total sum of squares
  4. Updated the S3 method print to display within, between, and total sum of
     squares
  5. Included more test cases
  6. Updated help for Ckmeans.1d.dp() and print.Ckmeans.1d.dp()

Version 3.4.0
  Changes
  2016-05-07
  1. Substantial runtime reduction. Added code to check for an upper bound
     for the sum of within cluster square distances. This reduced the runtime
     by half when clustering 100000 points (from standard normal distribution)
     into 10 clusters.
  2. Eliminated the unnecessary calculation of (n-1) elements in the dynamic
     programming matrix that are not needed for the final result. This
     resulted in enormous reduction in run time when the number of cluster
     is 2: assigning one million points into two clusters took half a
     a second on iMac with 2.93 GHz Intel Core i7 processor.
  3. Included a reference to the first description of the dynamic programming
     solution by Richard Bellman (1973).

Version 3.3.3
  Changes
  2016-05-03
  1. Fixed a bug on cluster assignment when there is only one cluster. This
     was a bug introduced in version 3.3.2.

Version 3.3.2
  Changes
  2016-05-03
  1. Added automatic test cases.
  2. Removed an incorrect warning message when the number of clusters is equal
     to the number of unique elements in the input vector.
  3. Changed from 1-based to 0-based C implementation.
  4. Optimized the code by reducing overhead. See 22% reduction in runtime to
     repeatedly cluster seven points into two clusters one million times.

Version 3.3.1 2015-02-10
  Changes
  1. Fixed a problem that prevented Windows compilation (now forced the size_t
     type to unsigned long in max() function.

Version 3.3.0 2015-02-09
  Changes
  1. Added automated test cases into the package.
  2. Changed the code to not issue a warning message when the number of clusters
     is estimated to be 1.
  3. When lower bound of the number of clusters is greater than the unique
     number of elements in the input vector, both the min and max numbers of
     clusters are set to the number of unique number of input values.
  4. When the upper bound of the number of clusters is greater than the unique
     number of elements in the input vector, the max number of clusters is set
     to the number of unique elements in the input vector.
  5. Use warning() instead of cat() to display warning messages.
  6. Incorporate changes suggested by a user to speed up the code.
  7. Revised the examples and documentation to improve usability of the package
     in general.
  8. Started the NEWS file.

Version 3.02 2014-03-24 and earlier
  Changes
  1. The program now automatically determines the number of clusters from a
     given range.
  2. The program is optimized further speedup.
