commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilles <>
Subject [Math] Modularization (Was: Re: [VOTE][RC2] Release "Apache Commons RNG" version 1.0)
Date Mon, 19 Sep 2016 20:57:35 GMT
On Sun, 18 Sep 2016 18:24:16 +0200, Emmanuel Bourg wrote:
> Le 18/09/2016 à 13:57, Gilles a écrit :
>> I can't help it!
>> I'll comment...
>> On Sat, 17 Sep 2016 17:28:19 +0200, Emmanuel Bourg wrote:
>> Try me.  Really.
>> What is your plan toward modularization?
>> I've exposed mine, let's see yours.
> I can't help it either, I'm a nice guy. I have no strong opinion on 
> the
> modularization of RNG.

I actually meant that I exposed my view about having to
modularize Commons Math; that is, create several Commons
components out of it.

Commons RNG is the module that allowed to factor out much
of the "o.a.c.math4.random" package out of Commons Math.

CM3 "o.a.c.m.random": 2388 lines
CM4 "o.a.c.m.random": 899 lines

[The LOC count also comprises some cleanup not transferred to
RNG (e.g. "RandomDataGenerator", replaced by code in package

RNG "o.a.c.rng": 1842 lines

[With 6 additional generators, "save/restore", seed factory,
and "automatic" seed conversions.]

The next step (IMO) is to create a "Commons RNG-Utils"
component (that depends on "Commons RNG" with, broadly, the
rest of the "random" package, and the "distribution" package
(where the "NormalDistribution" will provide the equivalent
of "nextGaussian", on an equal footing with sampling from any
of the other distributions).
And, for good measure, it could also include the random-related
utilities that now in Commons Lang's "RandomUtils" and
"RandomStringUtils" (which will improve in quality and
performance through a configurable choice of generator).



> Intuitively, considering the size of the original
> code coming from the random package in Commons Math I feel that a
> separate module is probably not necessary. But I haven't examined 
> your
> proposal thoroughly yet.
> Emmanuel Bourg

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message