commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Winter (Updated) (JIRA)" <>
Subject [jira] [Updated] (MATH-703) Splitting up the distribution hierarchy
Date Fri, 25 Nov 2011 01:08:39 GMT


Christian Winter updated MATH-703:


Here comes the patch for this issue.

However, there are two design points in the patch which might be worth a discussion:

1. Should we remove the function toRealDistribution() from (Abstract)IntegerDistribution?
=> The test cases for integer distributions need to be adjusted.

2. Should we merge AbstractDefaultXxxDistribution into AbstractXxxDistribution?
=> The methods from AbstractDefaultXxxDistribution must not be final when moved to AbstractXxxDistribution.
=> The documentation of AbstractXxxDistribution must clearly state that some methods (those
which were adopted from AbstractDefaultXxxDistribution) are implemented based on assumptions
which might not be true for every inheriting class and thus must be overwritten in some cases.
> Splitting up the distribution hierarchy
> ---------------------------------------
>                 Key: MATH-703
>                 URL:
>             Project: Commons Math
>          Issue Type: Improvement
>            Reporter: Christian Winter
>            Priority: Minor
>         Attachments:
> As discussed on the mailing list (,
the distribution interfaces should be restructured.
> The most important point is to create one root interface for each domain. There should
*not* be a common super-interace because different domains require different functionality.
Additionally, a super-inferface would require to parametrize the domain which makes things
more complicated (e.g., "double" would have to be replaced by "Double"). Currently, Commons
Math supports distributions with real domain and distributions with integer domain. Thus there
will be the interfaces RealDistribution and IntegerDistribution.
> Another point is to drop the special cases of distributions with real domain in order
to simplify the structure. There won't be an interface for absolutely continuous distributions,
and there won't be an interface for discrete distributions on the real domain. All the functionality
required by the special cases can be defined in RealDistribution.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message