Do not use random() for the distribution to test CDB_Stats functions

Fixes #144
This commit is contained in:
Raul Ochoa 2015-09-09 17:08:32 +02:00
parent 0ec579984b
commit 1853ee6306

View File

@ -2,15 +2,12 @@
-- http://mathworld.wolfram.com/UniformDistribution.html
set client_min_messages to ERROR;
With dist As (
SELECT random()::numeric As val
FROM generate_series(1,50000) t
WITH dist AS (
SELECT generate_series(0,10000)::numeric / 10000.0 i
)
SELECT
-- does random dist values match within 1% of known values
abs(CDB_Kurtosis(array_agg(val)) + 1.20) < 1e-2 As kurtosis,
abs(CDB_Skewness(array_agg(val)) - 0) < 1e-2 As skewness
SELECT
abs(CDB_Kurtosis(array_agg(i)) + 1.2) < 1e-3 AS kurtosis,
abs(CDB_Skewness(array_agg(i))) < 1e-3 AS skewness
FROM dist;
set client_min_messages to NOTICE;