You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Dan Checkoway (JIRA)" <ji...@apache.org> on 2011/01/15 14:03:45 UTC

[jira] Issue Comment Edited: (MATH-473) Frequency: new option: NON-sorted

    [ https://issues.apache.org/jira/browse/MATH-473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12982084#action_12982084 ] 

Dan Checkoway edited comment on MATH-473 at 1/15/11 8:03 AM:
-------------------------------------------------------------

Attached is a patch with a first stab at decoupled interface + impl.  I left Frequency completely backward compatible, but there are now a few layers:

- Distribution -- this is the base interface that defines a distribution of per-key counts

- AbstractDistribution -- simple base class that provides tracking counts in a map (supplied by the subclass at construction)

- AbstractFrequency -- adds the getPct functionality and a simple toString

- Frequency -- as it was, uses TreeMap, ensures Comparable<?>, promotes primitives to Long, provides "cumulative" functions, an overridden toString, etc.

- SimpleFrequency -- uses a simple HashMap, provides no "cumulative" functions

It passes all existing tests.  Please code review and integrate however you see fit.  Thanks!

      was (Author: dcheckoway):
    Attached is a patch with a first stab at decoupled interface + impl.  I left Frequency completely backward compatible, but there are now a few layers:

- Distribution -- this is the base interface that defines a distribution of per-key counts

- AbstractDistribution -- simple base class that provides tracking counts in a map (supplied by the subclass at construction)

- AbstractFrequency -- adds the getPct functionality and a simple toString

- Frequency -- as it was, uses TreeMap, ensures Comparable<?>, promotes primitives to Long, provides "cumulative" functions, etc.

- SimpleFrequency -- uses a simple HashMap, provides no "cumulative" functions

It passes all existing tests.  Please code review and integrate however you see fit.  Thanks!
  
> Frequency: new option: NON-sorted
> ---------------------------------
>
>                 Key: MATH-473
>                 URL: https://issues.apache.org/jira/browse/MATH-473
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 1.0, 1.1, 1.2, 2.0, 2.1
>            Reporter: Dan Checkoway
>             Fix For: 3.0
>
>         Attachments: MATH-473.patch
>
>
> I have a request for enhancement on org.apache.commons.math.stat.Frequency.  I would like to be able to specify that the the backing map NOT be sorted.  Right now it uses TreeMap.  I would like to have the option of specifying that sorting is not important, and would in fact hinder performance, and a plain old HashMap should be used instead.
> i.e. constructor such as:
> public Frequency(boolean sorted);
> If sorted is true, use a TreeMap.  If sorted is false, use a HashMap.  Is this feasible?  I'd be happy to contribute a patch if that would help.

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