From 7fb8db2e74b6c553f3b5591db689a49d54521574 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Wed, 26 Sep 2012 08:39:11 -0700 Subject: [PATCH] math.statistics: adding a normalized-histogram word. --- basis/math/statistics/statistics-tests.factor | 3 +++ basis/math/statistics/statistics.factor | 3 +++ 2 files changed, 6 insertions(+) diff --git a/basis/math/statistics/statistics-tests.factor b/basis/math/statistics/statistics-tests.factor index e181295262..ae614ab534 100644 --- a/basis/math/statistics/statistics-tests.factor +++ b/basis/math/statistics/statistics-tests.factor @@ -77,6 +77,9 @@ IN: math.statistics.tests "aabbcc" histogram ] unit-test +{ H{ { 1 1/2 } { 2 1/6 } { 3 1/3 } } } +[ { 1 1 1 1 1 1 2 2 3 3 3 3 } normalized-histogram ] unit-test + { V{ 0 3 6 9 } V{ 1 4 7 } diff --git a/basis/math/statistics/statistics.factor b/basis/math/statistics/statistics.factor index 12dac7c672..c610e2a645 100644 --- a/basis/math/statistics/statistics.factor +++ b/basis/math/statistics/statistics.factor @@ -227,6 +227,9 @@ PRIVATE> : sorted-histogram ( seq -- alist ) histogram sort-values ; +: normalized-histogram ( seq -- alist ) + [ histogram ] [ length ] bi '[ _ / ] assoc-map ; + : collect-pairs ( seq quot: ( x -- v k ) -- hashtable ) [ push-at ] sequence>hashtable ; inline