set search_path to "$user",public,madlib;
-- Basic methods
select cmsketch_count(i,5) from generate_series(1,10000) as T(i);
 cmsketch_count 
----------------
             10
(1 row)

select cmsketch_rangecount(i,1,1025) from generate_series(1,10000) as T(i);
 cmsketch_rangecount 
---------------------
                1033
(1 row)

select cmsketch_rangecount(i,1,200) from generate_series(1,10000) as R(i);
 cmsketch_rangecount 
---------------------
                 213
(1 row)

select cmsketch_width_histogram(cmsketch(i), min(i), max(i), 4) from generate_series(1,10000) as R(i);
                            cmsketch_width_histogram                            
--------------------------------------------------------------------------------
 [0:3][0:2]={{1,2500,2511},{2501,5000,2515},{5001,7500,2516},{7501,10000,2516}}
(1 row)

select min(i),
       cmsketch_centile(i, 25) AS quartile1, 
       cmsketch_centile(i, 50) AS quartile2, 
       cmsketch_median(i) AS median,
       cmsketch_centile(i, 75) AS quartile3,
       max(i) 
  from generate_series(1,10000) as R(i);
 min | quartile1 | quartile2 | median | quartile3 |  max  
-----+-----------+-----------+--------+-----------+-------
   1 |      2500 |      5000 |   5000 |      7500 | 10000
(1 row)

select cmsketch_depth_histogram(i, 4) from generate_series(1,10000) as R(i);
                                            cmsketch_depth_histogram                                             
-----------------------------------------------------------------------------------------------------------------
 [0:3][0:2]={{-9223372036854775807,2500,2505},{2501,5000,2515},{5001,7500,2516},{7501,9223372036854775806,2510}}
(1 row)

-- tests for all-NULL column
select cmsketch(NULL) from generate_series(1,10000) as R(i) where i < 0;
 cmsketch 
----------
 
(1 row)

select cmsketch_centile(NULL, 2) from generate_series(1,10000) as R(i) where i < 0;
 cmsketch_centile 
------------------
                 
(1 row)

