--- "Mark R. Diggory" <[EMAIL PROTECTED]> wrote: > Al Chou wrote: > > --- "Mark R. Diggory" <[EMAIL PROTECTED]> wrote: ... > >>2.) Like in my last emails concerning "Univariate" I would like to, (and > >>have done so in my checkout successfully) Make the following Class changes: > >> > >>interface o.a.c.m.stat.StoreUnivariate --> > >> abstract class o.a.c.m.stat.DescriptiveStatistics > >> > >>this actually becomes a factory class and uses Discovery to instantiate > >>new instances of the following implementations > >> > >>*default implementation* > >>o.a.c.m.stat.StoreUnivariateImpl --> > >> o.a.c.m.stat.univariate.StatisticsImpl > > > > > > Forgive me for not refamiliarizing myself with the code first, but should > the > > storeless version perhaps be the default implementation instead? What do > we > > lose by going that way? I'm thinking it would be nice to keep memory usage > > lower if possible. > > The Storeless version (UnivariateImpl) doesn't support rank Statistics > because of its storeless nature, the more fully featured implementation > is StoreUnivariateImpl, it does everything, but has the limitation of > requiring storage of the values. These are two different implementations > with different internal storage configurations. I choose > StoreUnivariateImpl because I think the default should have full > capabilities. > > The storeless version is more of an Optimized solution, It probably wise > to suggest that one use it only if one needs that functionality (ie > trying to get moments across huge datasets or realtime value streams of > sorts)
That sounds reasonable. Thanks for the refresher (I looked at the current code based on your remarks, too). > > Before we go overboard, can you give a quick example of instantiating one > of > > the implementations? Or perhaps, both the default and one alternative ... > Yes, like that > > For the default Discovery configured implementation: > > DescriptiveStatistics stats = DescriptiveStatistics.newInstance(); > > stats.addValue(5.0); > ... > > double mean = stats.getMean(); > > > For any alternate Implementations: > > DescriptiveStatistics stats = > DescriptiveStatistics.newInstance(StorelessDescriptiveStatisticsImpl.class); > > stats.addValue(5.0); > ... > > double mean = stats.getMean(); > > and/or > > DescriptiveStatistics stats = > DescriptiveStatistics.newInstance("o.a.c.math.stat.impl.StorelessDescriptiveStatisticsImpl"); > > stats.addValue(5.0); > ... > > double mean = stats.getMean(); > > depending n which people like more OK, I see. The one thing I notice is that the names are getting awfully long, especially for the non-default case. I guess that's a price we pay for having descriptive (no play on words intended) names like DescriptiveStatistics.... Al __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]