[ruby-core:74733] [Ruby trunk Feature#12222] Introducing basic statistics methods for Enumerable (and optimized implementation for Array)

From: duerst@...
Date: 2016-03-31 05:23:46 UTC
List: ruby-core #74733
SXNzdWUgIzEyMjIyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgTWFydGluIETDvHJzdC4KCgpCZW5vaXQg
RGFsb3plIHdyb3RlOgo+IEl0IHNlZW1zIHRvIG1lIEVudW1lcmFibGUgaXMgbm90IHRoZSByaWdo
dCBwbGFjZSBmb3IgdGhpcywgYmVjYXVzZSBpdCBleHBlY3RzIG1vcmUgdGhhbiBqdXN0ICNlYWNo
LgoKVGhlIGNvZGUgaXMgY3VycmVudGx5IHdyaXR0ZW4gaW4gdGVybXMgb2YgI2xlbmd0aCBhbmQg
I1tdLCBidXQgdGhpcyBjYW4gZWFzaWx5IGJlIGZpeGVkIHRvIHVzZSAjZWFjaC4KCj4gQWxzbywg
dGhlc2UgbWV0aG9kcyBhcmUgbGlrZWx5IHVzZWZ1bCBvbmx5IGZvciBudW1lcmljIGNvbGxlY3Rp
b25zLgoKVGhlbiBqdXN0IGRvbid0IHVzZWQgdGhlbSBvbiBvdGhlciBjb2xsZWN0aW9ucyA6LSku
Cgo+IE1heWJlIGEgIlN0YXRpc3RpY3MiIG1vZHVsZSBhdCBhIHN0ZGxpYj8KPiBTdGF0aXN0aWNz
Lm1lYW4vdmFyaWFuY2UvZXRjKGVudW0pIHdvdWxkIGJlIGEgbmljZXIgQVBJIHRoYW4gbWl4aW5n
IGV2ZXJ5dGhpbmcgaW4gRW51bWVyYWJsZSBJTUhPLgoKV2h5PyBJIGRvbid0IHNlZSBtdWNoIHBv
dGVudGlhbCBmb3IgY29uZmxpY3RzLiBPciBkb2VzIGFueWJvZHkgaGF2ZSBhbnkgbWVhbiAoYXMg
b3Bwb3NlZCB0byBuaWNlKSBjb2xsZWN0aW9ucz8KCkFsc28sIGFzIGZhciBhcyBJIHVuZGVyc3Rh
bmQsIGEgYmlnZ2VyIEFQSSBkb2Vzbid0IHJlYWxseSBzbG93IGFueXRoaW5nIGRvd24uCgpJIHdv
dWxkIGRlZmluaXRlbHkgc2VlIHByb3ZpZGluZyB0aGVzZSAoYW5kIG1vcmUpIHN0YXRpc3RpY2Fs
IG1ldGhvZHMgZm9yIFJ1YnkgYXMgYSBiaWcgcGx1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTIyMjI6IEludHJvZHVjaW5nIGJhc2ljIHN0YXRp
c3RpY3MgbWV0aG9kcyBmb3IgRW51bWVyYWJsZSAoYW5kIG9wdGltaXplZCBpbXBsZW1lbnRhdGlv
biBmb3IgQXJyYXkpCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xMjIyMiNjaGFu
Z2UtNTc4NjgKCiogQXV0aG9yOiBLZW50YSBNdXJhdGEKKiBTdGF0dXM6IEFzc2lnbmVkCiogUHJp
b3JpdHk6IE5vcm1hbAoqIEFzc2lnbmVlOiBZdWtpaGlybyBNYXRzdW1vdG8KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpBcyBweXRob24gaGFzIHN0YXRpc3RpY3MgbGli
cmFyeSBmb3IgY2FsY3VsYXRpbmcgbWVhbiwgdmFyaWFuY2UsIGV0Yy4gb2YgYXJyYXlzIGFuZCBp
dGVyYXRvcnMgZnJvbSB2ZXJzaW9uIDMuNCwKSSB3b3VsZCBsaWtlIHRvIHByb3Bvc2UgdG8gaW50
cm9kdWNlIHN1Y2ggZmVhdHVyZXMgZm9yIGJ1aWx0LWluIEVudW1lcmFibGUsIGFuZCBvcHRpbWl6
ZWQgaW1wbGVtZW50YXRpb24gZm9yIEFycmF5LgoKRXNwZWNpYWxseSBJIHdhbnQgdG8gcHJvdmlk
ZSBFbnVtZXJhYmxlI21lYW4gYW5kIEVudW1lcmFibGUjdmFyaWFuY2UgYXMgYnVpbHQtaW4gZmVh
dHVyZXMgYmVjYXVzZSB0aGV5IHNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSBwcmVjaXNpb24gY29t
cGVuc2F0ZWQgYWxnb3JpdGhtcy4KVGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIHRoYXQgd2Ug
Y291bGRuJ3QgY2FsY3VsYXRlIHRoZSBzdGFuZGFyZCBkZXZpYXRpb24gZm9yIHNvbWUgYXJyYXlz
IHdpdGggc2ltcGxlIHZhcmlhbmNlIGFsZ29yaXRobSBiZWNhdXNlIHdlIGdldCBuZWdhdGl2ZSB2
YXJpYW5jZSBudW1iZXJzLgoKYGBgcnVieQpjbGFzcyBBcnJheQogICMgS2FoYW4gc3VtbWF0aW9u
CiAgZGVmIHN1bQogICAgcyA9IDAuMAogICAgYyA9IDAuMAogICAgbiA9IHNlbGYubGVuZ3RoCiAg
ICBpID0gMAogICAgd2hpbGUgaSA8IG4KICAgICAgeSA9IHNlbGZbaV0gLSBjCiAgICAgIHQgPSBz
ICsgeQogICAgICBjID0gKHQgLSBzKSAtIHkKICAgICAgcyA9IHQKICAgICAgaSArPSAxCiAgICBl
bmQKICAgIHMKICBlbmQKCiAgIyBwcmVjaXNpb24gY29tcGVuc2F0ZWQgYWxnb3JpdGhtCiAgZGVm
IHZhcmlhbmNlCiAgICBuID0gc2VsZi5sZW5ndGgKICAgIHJldHVybiBGbG9hdDo6TkFOIGlmIG4g
PCAyCiAgICBtMSA9IDAuMAogICAgbTIgPSAwLjAKICAgIGkgPSAwCiAgICB3aGlsZSBpIDwgbgog
ICAgICB4ID0gc2VsZltpXQogICAgICBkZWx0YSA9IHggLSBtMQogICAgICBtMSArPSBkZWx0YSAv
IChpICsgMSkKICAgICAgbTIgKz0gZGVsdGEqKHggLSBtMSkKICAgICAgaSArPSAxCiAgICBlbmQK
ICAgIG0yIC8gKG4gLSAxKQogIGVuZAplbmQKCmFyeSA9IFsgMS4wMDAwMDAwMDgxODA2MDA0LCAx
LjAwMDAwMDAwMDkxMjQ2MjUsIDEuMDAwMDAwMDA5OTIwMTgxOCwgMS4wMDAwMDAwMDYxODIxNjY4
LCAxLjAwMDAwMDAwNDI2NDQ1NTUgXQoKIyBzaW1wbGUgdmFyaWFuY2UgYWxnb3JpdGhtCmEgPSBh
cnkubWFwIHt8eHwgeCAqKiAyIH0uc3VtCmIgPSBhcnkuc3VtICoqIDIgLyBhcnkubGVuZ3RoCnAg
KGEgLSBiKSAvIChhcnkubGVuZ3RoIC0gMSkgICM9PiAtMi4yMjA0NDYwNDkyNTAzMTNlLTE2Cgoj
IHByZWNpc2lvbiBjb21wZW5zYXRlZCBhbGdvcml0aG0KcCBhcnkudmFyaWFuY2UgICM9PiAxLjIy
NDgyMDgwNDYzOTI1NzllLTE3CmBgYAoKSSB0aGluayBwcmVjaXNpb24gY29tcGVuc2F0ZWQgYWxn
b3JpdGhtIGlzIHRvbyBjb21wbGljYXRlZCB0byBsZXQgdXNlcnMgaW1wbGVtZW50IGl0LgoKCgot
LSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5
LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8v
bGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==

In This Thread

Prev Next