Files
secondo/Tests/Testspecs/histogramalgebra/histogram.test
2026-01-23 17:03:45 +08:00

2796 lines
86 KiB
Plaintext

#
# HistogramAlgebra-Testfile
#
# Jan 2008, S. Hoecher, A. Belz, B. Poneleit, M. Hoeger
#
delete database testhistdb;
#setup histogramtest HistogramAlgebra StreamAlgebra StreamExampleAlgebra
# *
# * Preparing the test database
# *
create database testhistdb;
open database testhistdb;
restore test1drel from '$(SECONDO_BUILD_DIR)/Tests/Testspecs/histogramalgebra/histdata1d';
restore test2drel from '$(SECONDO_BUILD_DIR)/Tests/Testspecs/histogramalgebra/histdata2d';
# *
# * Create data in the test database
# *
let h100 = [const histogram1d value ((0.0 0.1 0.2 0.3)(1.5 1.66 1.777))];
let h101 = realstream(0.0, 1000.0, 10.0) set_histogram1d;
let h102 = realstream(0.0, 10.0, 2.0) set_histogram1d;
let h200 = [const histogram2d value ((0.0 0.1 0.2)(-2.0 -1.0 0.0)(18.333 24.4444 38.88888888 16.666666))];
let h201 = [const histogram2d value ((0.0 0.1 0.2)(100.0 200.0 300.0)(0.0 0.0 0.0 0.0))];
let h202 = [const histogram2d value ((-0.2 -0.1 0.0)(-300.0 -200.0 -100.0)(0.0 0.0 0.0 0.0))];
let histfine1d = realstream(-143.23, 320.0, 31.415) set_histogram1d;
let histcoarse1d = realstream(-143.23, 320.0, 62.830) set_histogram1d;
let histfine2d = realstream(-143.23, 320.0, 31.415) realstream(-250.0, 147.23, 31.415) set_histogram2d;
let histcoarse2d = realstream(-143.23, 320.0, 62.830) realstream(-250.0, 147.23, 62.830) set_histogram2d;
let h1undef = realstream(1.0, -1.0, 1.0) set_histogram1d;
let h2undef = realstream(1.0, -1.0, 1.0) realstream(1.0, -1.0, 1.0) set_histogram2d;
let h1use = [const histogram1d value ((-10.0 -5.0 0.0 5.0 10.0)(2.0 2.0 2.0 2.0))];
let h2use = [const histogram2d value ((-10.0 -3.5 2.3 4.5)(-4.5 -2.3 3.5 10.0)(2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0))];
let h1d1 = [const histogram1d value((-2.3 -1.0 0.3 2.4 3.9)(1.0 8.0 2.0 0.5))];
let h1d2 = [const histogram1d value((-2.3 -1.0 0.3 2.4 3.9)(1.0 8.0 2.0 0.5))];
let h1d3 = [const histogram1d value((-2.3 -1.0 0.3 2.4 3.9)(0.9 7.0 1.5 0.0))];
let h1d4 = [const histogram1d value((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.4 3.9)(0.9 7.0 1.5 0.0 0.0 7.0 1.0))];
let h1d5 = [const histogram1d value((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 7.0 1.5 0.0 0.0 7.0 1.0))];
let h1d6 = [const histogram1d value((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 0.0 1.5 0.0 0.0 7.0 0.0))];
let h1d7 = realstream(1.0, 0.0, 1.0) set_histogram1d;
let h1d8 = realstream(-10000.0, 10000.0, 1.0) set_histogram1d;
let h1d9 = realstream(-10000.0, 10000.0, 10.0) set_histogram1d;
let h1d10 = [const histogram1d value((-2.3 3.9)(42.7))];
let h1d11 = [const histogram1d value((-2.2 -1.0 0.3 2.4 3.9)(1.0 8.0 2.0 0.5))];
let h1d12 = [const histogram1d value((-2.3 -1.0 0.3 2.4 3.95)(1.0 8.0 2.0 0.5))];
let h2d1 = [const histogram2d value((-2.3 -1.0 0.3 5.9)(0.0 2.4 3.9)(1.0 0.0 8.0 2.0 0.5 0.0))];
let h2d2 = [const histogram2d value((-2.3 -1.0 0.3 5.9)(0.0 2.4 3.9)(1.0 0.0 8.0 2.0 0.5 0.0))];
let h2d3 = [const histogram2d value((-2.3 -1.0 0.3 5.9)(0.0 2.4 3.9)(0.0 -1.0 7.0 1.0 0.45 -2.8))];
let h2d4 = [const histogram2d value((-2.3 -1.5 -1.0 0.3 1.0 5.9)(0.0 2.4 2.6 3.9)(1.0 0.0 8.0 2.0 0.5 0.0 1.0 0.0 8.0 2.0 0.5 0.0 1.0 8.0 2.0))];
let h2d5 = [const histogram2d value((-2.3 -1.5 -1.0 0.3 1.0 5.9)(0.0 2.3 2.6 3.9)(1.0 0.0 8.0 2.0 0.5 0.0 1.0 0.0 8.0 2.0 0.5 0.0 1.0 8.0 2.0))];
let h2d6 = [const histogram2d value((-2.3 -1.5 -1.0 0.3 1.0 5.9)(0.0 2.3 2.6 3.9)(1.0 0.0 8.0 2.0 0.5 0.0 1.0 0.0 8.0 2.0 0.5 0.0 1.0 8.0 2.0))];
let h2d7 = realstream(1.0, 0.0, 1.0) realstream(1.0, 0.0, 1.0) set_histogram2d;
let h2d8 = realstream(-1000.0, 1000.0, 1.0) realstream(-1000.0, 1000.0, 2.0) set_histogram2d;
let h2d9 = realstream(-1000.0, 1000.0, 5.0) realstream(-1000.0, 1000.0, 10.0) set_histogram2d;
let h2d10 = [const histogram2d value((-2.3 5.9)(0.0 3.9)(0.0))];
let h2d11 = [const histogram2d value((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0))];
#let h2d12 = realstream(0.0, 10000.0, 1.0) realstream(0.0, 10000.0, 1.0) set_histogram2d;
let h2covar = intstream(1, 100000) use[ fun(i1:int) rng_gaussian(0.75) ] transformstream create_histogram2d_equiwidth[Elem, Elem, 10, 10]
let h2covar2 = realstream(-10.0, 10.0, 0.0600) transformstream {a} realstream(-20.0, 0.0, 0.0600) transformstream {b} product create_histogram2d_equicount[Elem_a, Elem_b, 10, 10]
let h2covar3 = realstream(-10.0, 10.0, 0.0600) transformstream {a} realstream(-20.0, 0.0, 0.0600) transformstream {b} product create_histogram2d_equicount[Elem_b, Elem_a, 10, 10]
let h2covar4 = realstream(-3500.0, 3500.0, 0.031425926) transformstream {a} realstream(-1112.5, 1400.0, 423.43) transformstream {b} product create_histogram2d_equiwidth[Elem_a, Elem_b, 120, 30]
let h2covar5 = realstream(-3500.0, 3500.0, 0.031425926) transformstream {a} realstream(-1112.5, 1400.0, 423.43) transformstream {b} product create_histogram2d_equiwidth[Elem_b, Elem_a, 30, 120]
# *
# * Test cases written in this pattern:
# *
# TESTCASE <Name>
# YIELDS (either expected result type or expected result or just "error")
# exactly one query
# *
# * functions In() and Out()
# *
#testcase h1dQueryTestcase
#yields (histogram1d ((0.0 0.1 0.2 0.3)(1.5 1.66 1.777)))
query h100;
#testcase h2dQueryTestcase
#yields (histogram2d ((0.0 0.1 0.2)(-2.0 -1.0 0.0)(18.333 24.4444 38.88888888 16.666666)))
query h200;
#testcase h1dUnsortedRangesTestcase
#yields error
let h10x = [const histogram1d value ((0.0 -0.1 0.2 -0.3)(1.5 1.66 1.777))];
#testcase h2dUnsortedRangesTestcase
#yields error
let h10x = [const histogram1d value ((0.0 -0.1 0.2 -0.3)(5.0 6.0 7.0)(1.5 1.66 1.777 7.7777777 8.888888888888 9.9999999999999999))];
#testcase h1dNotOnlyRealValuesTestcase
#yields error
let h10x = [const histogram1d value ((0.0 1 2 3)(A 1.66 1.777))];
#testcase h2dNotOnlyRealValuesTestcase
#yields error
let h10x = [const histogram1d value ((0.0 0.1 0.2 0.3)(Z 6.0 7.0)(5 1.66 1.777 7.7777777 8.888888888888 9.9999999999999999))];
#testcase h1dIntegerValuesTestcase
#yields error
let h10x = [const histogram1d value ((0 1 2 3)(A 6 7))];
#testcase h2dIntegerValuesTestcase
#yields error
let h10x = [const histogram1d value ((0 1 2 3)(Z 6 7)(5 6 7 8 9 10))];
# tolerance_real %0.0001
# *
# * set_histogram1d
# *
#testcase create_testrelSH
#yields success
(create testrelSH : (rel(tuple(
(Attr1 int)
(Attr2 real)
(Attr3 real)))));
(update testrelSH := ((rel(tuple(
(Attr1 int)
(Attr2 real)
(Attr3 real))))
(
(1 -3.1 -188.5)
(2 0.0 -89.0)
(3 2.0 -17.23)
(4 3.0 -2.0)
(5 8.9 13.4)
(6 10.56 16.89)
(7 10.0 18.5)
(8 12.7 18.5)
(9 12.78 19.23)
(10 20.4 20.0)
(11 25.0 22.4)
(12 27.56 60.89)
)));
#testcase h1dSetHistogramIntstreamTestcase
#yields error
query intstream(1,10) set_histogram1d;
#testcase h1dSetHistogramEmptyStreamTestcase
#yields (histogram1d undefined)
query realstream(0.0, -1.0, 1.0) set_histogram1d;
#testcase h1dSetHistogramOneElemStreamTestcase
#yields (histogram1d undefined)
query realstream(0.0, 0.0, 1.0) set_histogram1d;
#testcase h1dSetHistogramUnorderedStreamTestcase
#yields (histogram1d undefined)
query testrelSH feed projecttransformstream[Attr2] set_histogram1d;
#testcase h1dSetHistogramStreamWithDuplicateTestcase
#yields (histogram1d undefined)
query testrelSH feed projecttransformstream[Attr3] set_histogram1d;
#testcase h1dSetHistogramTestcase
#yields (histogram1d((0.0 2.0 4.0 6.0 8.0 10.0)(0.0 0.0 0.0 0.0 0.0)))
query realstream(0.0, 10.0, 2.0) set_histogram1d;
# 1.000.000 calls: to execute, remove the blanks after the '#' characters
# testcase h1dSetHistogramLoadTestcase
# yields success
# query realstream(0.0, 100000.0, 0.1) set_histogram1d;
# *
# * set_histogram2d
# *
#testcase h2dSetHistogramIntstreamTestcase
#yields error
query intstream(1,10) intstream(1,3) set_histogram2d;
#testcase h2dSetHistogramEmptyStreamTestcase
#yields (histogram2d undefined)
query realstream(0.0, -1.0, 1.0) realstream(0.0, 6.0, 0.5) set_histogram2d;
#testcase h2dSetHistogramEmptyStreamTestcase
#yields (histogram2d undefined)
query realstream(0.0, 6.0, 0.5) realstream(0.0, -1.0, 1.0) set_histogram2d;
#testcase h2dSetHistogramEmptyStreamTestcase
#yields (histogram2d undefined)
query realstream(0.0, -1.0, 1.0) realstream(0.0, -1.0, 1.0) set_histogram2d;
#testcase h2dSetHistogramOneElemStreamTestcase
#yields (histogram2d undefined)
query realstream(0.0, 0.0, 1.0) realstream(0.0, 6.0, 0.5) set_histogram2d;
#testcase h2dSetHistogramOneElemStreamTestcase
#yields (histogram2d undefined)
query realstream(0.0, 6.0, 0.5) realstream(0.0, 0.0, 1.0) set_histogram2d;
#testcase h1dSetHistogramUnorderedStreamTestcase
#yields (histogram2d undefined)
query testrelSH feed projecttransformstream[Attr2] realstream(0.0, 6.0, 0.5) set_histogram2d;
#testcase h1dSetHistogramUnorderedStreamTestcase
#yields (histogram2d undefined)
query realstream(0.0, 6.0, 0.5) testrelSH feed projecttransformstream[Attr2] set_histogram2d;
#testcase h1dSetHistogramStreamWithDuplicateTestcase
#yields (histogram2d undefined)
query testrelSH feed projecttransformstream[Attr3] realstream(0.0, 6.0, 0.5) set_histogram2d;
#testcase h1dSetHistogramStreamWithDuplicateTestcase
#yields (histogram2d undefined)
query realstream(0.0, 6.0, 0.5) testrelSH feed projecttransformstream[Attr3] set_histogram2d;
#testcase h2dSetHistogramTestcase
#yields (histogram2d((-1.0 0.0 1.0 2.0)(8.0 8.5 9.0)(0.0 0.0 0.0 0.0 0.0 0.0)))
query realstream(-1.0, 2.0, 1.0) realstream(8.0, 9.0, 0.5) set_histogram2d;
# testcase h2dSetHistogramLoadTestcase
# yields success
# query realstream(0.0, 100000.0, 10.0) realstream(0.0, 20000.0, 10.0) set_histogram2d;
# *
# * is_refinement
# *
#testcase h1dIsRefinementTestcase
#yields (bool TRUE)
query is_refinement(histfine1d, histcoarse1d);
#testcase h1dIsRefinementEqualTestcase
#yields (bool TRUE)
query is_refinement(histfine1d, histfine1d);
#testcase h1dIsRefinementEqual2Testcase
#yields (bool TRUE)
query is_refinement(histcoarse1d, histcoarse1d);
#testcase h1dIsRefinementFalseTestcase
#yields (bool FALSE)
query is_refinement(histcoarse1d, histfine1d);
#testcase h1dIsRefinementFalse2Testcase
#yields (bool undefined)
query is_refinement(realstream(1.0, -1.0, 100.0) set_histogram1d, histfine1d);
#testcase h1dIsRefinementFalse3Testcase
#yields (bool undefined)
query is_refinement(histfine1d, realstream(1.0, -1.0, 100.0) set_histogram1d);
#testcase h1dIsRefinementErrorTestcase
#yields error
query is_refinement(histfine1d, h200);
#testcase h1dIsRefinementError2Testcase
#yields error
query is_refinement(h200, histfine1d);
#testcase h2dIsRefinementTestcase
#yields (bool TRUE)
query is_refinement(histfine2d, histcoarse2d);
#testcase h2dIsRefinementEqualTestcase
#yields (bool TRUE)
query is_refinement(histfine2d, histfine2d);
#testcase h2dIsRefinementEqual2Testcase
#yields (bool TRUE)
query is_refinement(histcoarse2d, histcoarse2d);
#testcase h2dIsRefinementFalseTestcase
#yields (bool FALSE)
query is_refinement(histcoarse2d, histfine2d);
#testcase h2dIsRefinementFalse2Testcase
#yields (bool undefined)
query is_refinement(realstream(1.0, -1.0, 100.0) realstream(-23.0, 350.0, 12.0) set_histogram2d, histfine2d);
#testcase h2dIsRefinementFalse3Testcase
#yields (bool undefined)
query is_refinement(histfine2d, realstream(1.0, -1.0, 100.0) realstream(-23.0, 350.0, 12.0) set_histogram2d);
#testcase h2dIsRefinementFalse4Testcase
#yields (bool undefined)
query is_refinement(realstream(-23.0, 350.0, 12.0)realstream(1.0, -1.0, 100.0) set_histogram2d, histfine2d);
#testcase h2dIsRefinementFalse5Testcase
#yields (bool undefined)
query is_refinement(histfine2d, realstream(-23.0, 350.0, 12.0) realstream(1.0, -1.0, 100.0) set_histogram2d);
#testcase h2dIsRefinementErrorTestcase
#yields error
query is_refinement(histfine2d, h100);
#testcase h2dIsRefinementError2Testcase
#yields error
query is_refinement(h100, histfine2d);
# *
# * =
# *
#testcase h1dEqualTestcase
#yields (bool TRUE)
query h100 = h100;
#testcase h1dEqual2Testcase
#yields (bool TRUE)
query histfine1d = histfine1d;
#testcase h1dEqual3Testcase
#yields (bool TRUE)
query histcoarse1d = histcoarse1d;
#testcase h1dEqual4Testcase
#yields (bool TRUE)
query h1undef = h1undef;
#testcase h2dEqualTestcase
#yields (bool TRUE)
query h200 = h200;
#testcase h2dEqual2Testcase
#yields (bool TRUE)
query histfine2d = histfine2d;
#testcase h2dEqual3Testcase
#yields (bool TRUE)
query histcoarse2d = histcoarse2d;
#testcase h2dEqual4Testcase
#yields (bool TRUE)
query h2undef = h2undef;
#testcase h1dEqualFalseTestcase
#yields (bool FALSE)
query h100 = histfine1d;
#testcase h1dEqualFalse2Testcase
#yields (bool FALSE)
query h100 = histcoarse1d;
#testcase h1dEqualFalse3Testcase
#yields (bool FALSE)
query h100 = h1undef;
#testcase h1dEqualFalse4Testcase
#yields (bool FALSE)
query histfine1d = h100;
#testcase h1dEqualFalse5Testcase
#yields (bool FALSE)
query histfine1d = histcoarse1d;
#testcase h1dEqualFalse6Testcase
#yields (bool FALSE)
query histfine1d = h1undef;
#testcase h2dEqualFalseTestcase
#yields (bool FALSE)
query h200 = histfine2d;
#testcase h2dEqualFalse2Testcase
#yields (bool FALSE)
query h200 = histcoarse2d;
#testcase h2dEqualFalse3Testcase
#yields (bool FALSE)
query h200 = h2undef;
#testcase h2dEqualFalse4Testcase
#yields (bool FALSE)
query histfine2d = h200;
#testcase h2dEqualFalse5Testcase
#yields (bool FALSE)
query histfine2d = histcoarse2d;
#testcase h2dEqualFalse6Testcase
#yields (bool FALSE)
query histfine2d = h2undef;
#testcase h1dEqualErrorTestcase
#yields error
query h100 = h200;
#testcase h1dEqualError2Testcase
#yields error
query h100 = 6;
#testcase h2dEqualErrorTestcase
#yields error
query h200 = h100;
# *
# * create_histogram1d
# *
#testcase create_testrelCH
#yields success
(create testrelCH : (rel(tuple(
(Attr1 int)
(Attr2 real)
(Attr3 real)))));
(update testrelCH := ((rel(tuple(
(Attr1 int)
(Attr2 real)
(Attr3 real))))
(
(1 0.1 188.5)
(2 0.1 188.5)
(3 0.1 188.5)
(4 0.1 188.5)
(5 0.1 188.5)
(6 10.56 16.89)
(7 10.0 18.5)
(8 12.7 18.5)
(9 12.78 19.23)
(10 20.4 20.0)
(11 25.0 22.4)
(12 27.56 60.89)
)));
#testcase h1dCreateTypeError
#yields error
query intstream(0, 4) transformstream create_histogram1d[Elem, h102];
#testcase h1dCreateOkTestcase
#yields (histogram1d ((0.0 2.0 4.0 6.0 8.0 10.0)(2.0 2.0 1.0 0.0 0.0)))
query realstream(0.0, 4.0, 1.0) transformstream create_histogram1d[Elem, h102];
#testcase h1dCreateEmptyStreamDontMatterTestcase
#yields (histogram1d ((0.0 2.0 4.0 6.0 8.0 10.0)(0.0 0.0 0.0 0.0 0.0)))
query realstream(1.0, 0.0, 1.0) transformstream create_histogram1d[Elem, h102];
#testcase h1dCreateNegativeValuesTestcase
#yields (histogram1d ((0.0 2.0 4.0 6.0 8.0 10.0)(0.0 0.0 0.0 0.0 0.0)))
query realstream(-10.0, -5.0, 1.0) transformstream create_histogram1d[Elem, h102];
#testcase h1dCreateEqualValuesTestcase
#yields (histogram1d ((0.0 2.0 4.0 6.0 8.0 10.0)(5.0 0.0 0.0 0.0 0.0)))
query testrelCH feed head[5] create_histogram1d[Attr2, h102];
#testcase h1dCreateOneNegativeValueTestcase
#yields (histogram1d ((0.0 2.0 4.0 6.0 8.0 10.0)(0.0 0.0 0.0 0.0 0.0)))
query realstream(-1.0, -1.0, 1.0) transformstream create_histogram1d[Elem, h102];
#testcase h1dCreateLoadTest
#yields success
query realstream(0.0, 1000.0, 0.001) transformstream create_histogram1d[Elem, h101];
# *
# * create_histogram2d
# *
#testcase h2dCreateIntValuesTestcase
#yields error
query intstream(0, 10) transformstream {a} intstream(100, 110) transformstream {b} symmproduct create_histogram2d[Elem_a, Elem_b, h202];
#testcase h2dCreateOkTestcase
#yields (histogram2d((0.0 0.1 0.2)(100.0 200.0 300.0)(20.0 20.0 20.0 20.0)))
query realstream(0.0, 0.2, 0.05) transformstream {a} realstream(100.0, 300.0, 10.0) transformstream {b} symmproduct create_histogram2d[Elem_a, Elem_b, h201];
#testcase h2dCreateEmptyStreamDontMatterTestcase
#yields (histogram2d((0.0 0.1 0.2)(100.0 200.0 300.0)(0.0 0.0 0.0 0.0)))
query realstream(1.0, 0.0, 1.0) transformstream {a} realstream(1.0, 0.0, 1.0) transformstream {b} symmproduct create_histogram2d[Elem_a, Elem_b, h201];
#testcase h2dCreateNegativeValuesTestcase
#yields (histogram2d((-0.2 -0.1 0.0)(-300.0 -200.0 -100.0)(20.0 20.0 20.0 20.0)))
query realstream(-2.0, 0.0, 0.05) transformstream {a} realstream(-300.0, -100.0, 10.0) transformstream {b} symmproduct create_histogram2d[Elem_a, Elem_b, h202];
#testcase h2dCreateEqualValuesTestcase
#yields (histogram2d((0.0 0.1 0.2)(100.0 200.0 300.0)(0.0 0.0 5.0 0.0)))
query testrelCH feed head[5] create_histogram2d[Attr2, Attr3, h201];
#testcase h2dCreateLoadTest
#yields success
query realstream(-1000.0, 1000.0, 1.0) transformstream {a} realstream(-1000.0, 1000.0, 1.0) transformstream {b} symmproduct create_histogram2d[Elem_a, Elem_b, h2d9];
# *
# * create_histogram1d_equiwidth and create_histogram2d_equiwidth
# *
#testcase h1dEquiWidthTestcase
#yields (histogram1d ((0.0 1.0 2.0 3.0 4.0 5.0000001)(1.0 1.0 1.0 1.0 2.0)))
query realstream(0.0, 5.0, 1.0) transformstream create_histogram1d_equiwidth[Elem, 5]
#testcase h1dEquiWidth2Testcase
#yields (histogram1d ((0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0000001)(1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 1.0)))
query realstream(0.0, 5.0, 1.0) transformstream create_histogram1d_equiwidth[Elem, 10]
#testcase h1dEquiWidthUndefTestcase
#yields (histogram1d undefined)
query realstream(5.0, 0.0, 1.0) transformstream create_histogram1d_equiwidth[Elem, 10]
#testcase h1dEquiWidth3Testcase
#yields (histogram1d ((1.0 1.0000001) (1.0)))
query realstream(1.0, 1.0, 1.0) transformstream create_histogram1d_equiwidth[Elem, 5]
#testcase h1dEquiWidthTestcase
#yields (histogram1d ((-5.0 -4.0 -3.0 -2.0 -1.0 0.0000001)(1.0 1.0 1.0 1.0 2.0)))
query realstream(0.0, -5.0, -1.0) transformstream create_histogram1d_equiwidth[Elem, 5]
#testcase h1dEquiWidth2Testcase
#yields (histogram1d ((-5.0 -4.0 -3.0 -2.0 -1.0 0.0000001)(1.0 1.0 1.0 1.0 2.0)))
query realstream(0.0, -5.0, -1.0) transformstream real(undefined) feed transformstream concat create_histogram1d_equiwidth[Elem, 5]
#testcase h1dEquiWidthErrorTestcase
#yields error
query intstream(0, 5, 1) transformstream create_histogram1d_equiwidth[Elem, 10]
#testcase h1dEquiWidthError2Testcase
#yields error
query intstream(0, 5, 1) create_histogram1d_equiwidth[Elem, 10]
#testcase h1dEquiWidthError3Testcase
#yields error
query realstream(5.0, 10.0, 1.0) create_histogram1d_equiwidth[Elem, 10]
#testcase h2dEquiWidthTestcase
#yields (histogram2d ((-2.0 -1.2 -0.4 0.4 1.2 2.0000001)(-2.0 -1.2 -0.4 0.4 1.2 2.0000001)(1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0)))
query realstream(-2.0, 2.0, 1.0) transformstream {a} realstream(-2.0, 2.0, 1.0) transformstream {b} symmproduct create_histogram2d_equiwidth[Elem_a, Elem_b, 5, 5]
#testcase h2dEquiWidth2Testcase
#yields (histogram2d ((-2.0 -1.2 -0.4 0.4 1.2 2.0000001)(-2.0 -1.2 -0.4 0.4 1.2 2.0000001)(1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0)))
query realstream(-2.0, 2.0, 1.0) transformstream real(undefined) feed transformstream concat {a} realstream(-2.0, 2.0, 1.0) transformstream {b} symmproduct create_histogram2d_equiwidth[Elem_a, Elem_b, 5, 5]
#testcase h2dEquiWidth3Testcase
#yields (histogram2d ((-1.0 -0.99999899)(-1.0 -0.99999899)(1.0)))
query realstream(-1.0, -1.0, -1.0) transformstream create_histogram2d_equiwidth[Elem, Elem, 5, 5]
#testcase h2dEquiWidthUndefTestcase
#yields (histogram2d undefined)
query realstream(2.0, -2.0, 1.0) transformstream {a} realstream(-2.0, 2.0, 1.0) transformstream {b} symmproduct create_histogram2d_equiwidth[Elem_a, Elem_b, 5, 5]
#testcase h2dEquiWidthUndef2Testcase
#yields (histogram2d undefined)
query realstream(-2.0, 2.0, 1.0) transformstream {a} realstream(2.0, -2.0, 1.0) transformstream {b} symmproduct create_histogram2d_equiwidth[Elem_a, Elem_b, 5, 5]
#testcase h2dEquiWidthErrorTestcase
#yields error
query realstream(0.0, -5.0, -1.0) transformstream create_histogram2d_equiwidth[Elem, Val, 5, 5]
#testcase h2dEquiWidthError2Testcase
#yields error
query instream(0, 5, 1) transformstream create_histogram2d_equiwidth[Elem, Elem, 50, 50]
#testcase h2dEquiWidthError3Testcase
#yields error
query instream(0, 5, 1) transformstream {a} realstream(1.0, 32.3, 1.2) transformstream symmproduct create_histogram2d_equiwidth[Elem_a, Elem, 50, 50]
#testcase h2dEquiWidthError4Testcase
#yields error
query instream(0, 5, 1) transformstream {a} realstream(1.0, 32.3, 1.2) transformstream symmproduct create_histogram2d_equiwidth[Elem, Elem_a, 50, 50]
#testcase h2dEquiWidthUndef3Testcase
#yields (histogram2d undefined)
query realstream(0.0, -5.0, -1.0) transformstream create_histogram2d_equiwidth[Elem, Elem, -5, 5]
#testcase h2dEquiWidthUndef4Testcase
#yields (histogram2d undefined)
query realstream(0.0, -5.0, -1.0) transformstream create_histogram2d_equiwidth[Elem, Elem, 0, 5]
#testcase h2dEquiWidthUndef5Testcase
#yields (histogram2d undefined)
query realstream(0.0, -5.0, -1.0) transformstream create_histogram2d_equiwidth[Elem, Elem, 5, -5]
#testcase h2dEquiWidthUndef6Testcase
#yields (histogram2d undefined)
query realstream(0.0, -5.0, -1.0) transformstream create_histogram2d_equiwidth[Elem, Elem, 5, 0]
# *
# * <
# *
#testcase h1dLessThanTestcase
#yields (bool TRUE)
query realstream(-10.0, 10.0, 2.0) transformstream create_histogram1d_equiwidth[Elem, 4] < realstream(-10.0, 10.0, 2.0) transformstream realstream(-10.0, 10.0, 2.0) transformstream concat create_histogram1d_equiwidth[Elem, 4]
#testcase h1dLessThan2Testcase
#yields (bool FALSE)
query realstream(-10.0, 10.0, 2.0) transformstream create_histogram1d_equiwidth[Elem, 8] < realstream(-10.0, 10.0, 2.0) transformstream realstream(-10.0, 10.0, 2.0) transformstream concat create_histogram1d_equiwidth[Elem, 4]
#testcase h1dLessThan3Testcase
#yields (bool FALSE)
query realstream(-10.0, 10.0, 2.0) transformstream create_histogram1d_equiwidth[Elem, 4] < realstream(-10.0, 10.0, 2.0) transformstream realstream(-10.0, 10.0, 2.0) transformstream concat create_histogram1d_equiwidth[Elem, 8]
#testcase h1dLessThan4Testcase
#yields (bool FALSE)
query h100 < h100;
#testcase h1dLessThanUndefinedTestcase
#yields (bool FALSE)
query realstream(120.0, 10.0, 2.0) transformstream create_histogram1d_equicount[Elem, 10] < realstream(1.0, 0.0, 1.0) transformstream create_histogram1d_equiwidth[Elem, 10]
#testcase h1dLessThanErrorTestcase
#yields error
query h100 < h200
#testcase h2dLessThanTestcase
#yields (bool TRUE)
query realstream(-124.0, 125.3, 2.43) transformstream {a} realstream(-124.0, 125.3, 2.43) transformstream {b} symmproduct create_histogram2d_equiwidth[Elem_a, Elem_b, 5, 5] < realstream(-124.0, 125.3, 2.43) transformstream realstream(-124.0, 125.3, 2.43) transformstream concat {a} realstream(-124.0, 125.3, 2.43) transformstream realstream(-124.0, 125.3, 2.43) transformstream concat {b} symmproduct create_histogram2d_equiwidth[Elem_a, Elem_b, 5, 5]
#testcase h2dLessThanTestcase
#yields (bool FALSE)
query realstream(-124.0, 125.3, 2.43) transformstream realstream(-124.0, 125.3, 2.43) transformstream concat {a} realstream(-124.0, 125.3, 2.43) transformstream realstream(-124.0, 125.3, 2.43) transformstream concat {b} symmproduct create_histogram2d_equiwidth[Elem_a, Elem_b, 5, 5] < realstream(-124.0, 125.3, 2.43) transformstream {a} realstream(-124.0, 125.3, 2.43) transformstream {b} symmproduct create_histogram2d_equiwidth[Elem_a, Elem_b, 5, 5]
#testcase h2dLessThan3Testcase
#yields (bool FALSE)
query h200 < h200;
#testcase h2dLessThanUndefinedTestcase
#yields (bool FALSE)
query h200 < h2undef
# *
# * use
# *
#testcase h1dUseTestcase
#yields (histogram1d ((-10.0 -5.0 0.0 5.0 10.0)(1.0 1.0 1.0 1.0)))
query h1use usehistogram[0.5; fun(r1: real, r2: real) r1 * r2]
#testcase h1dUse5Testcase
#yields (histogram1d ((-10.0 -5.0 0.0 5.0 10.0)(2.0 2.0 2.0 2.0)))
query h1use usehistogram[0.5, 1.0; fun(r1: real, r2: real, r3: real) (r1 * r2) + r3]
#testcase h1dUse3Testcase
#yields (histogram1d ((-10.0 -5.0 0.0 5.0 10.0)(0.0 0.0 0.0 0.0)))
query h1use usehistogram[; fun(r1: real) 0.0]
#testcase h1dUse4Testcase
#yields (histogram1d ((-10.0 -5.0 0.0 5.0 10.0)(0.0 0.0 0.0 0.0)))
query h1use usehistogram[0.0; fun(r1: real, r2: real) r1 / r2]
#testcase h1dUse6Testcase
#yields (bool TRUE)
query h1use usehistogram[;fun(r1: real) r1] = h1use;
#testcase h1dUseUndefTestcase
#yields (histogram1d undefined)
query h1undef usehistogram[0.5; fun(r1: real, r2: real) r1 * r2]
#testcase h1dUseErrorTestcase
#yields error
query h1use usehistogram[0.5;]
#testcase h1dUseError2Testcase
#yields error
query realstream(1.0, 120.0, 10.0) usehistogram[0.5; fun(r1: real, r2: real) r1 * r2]
#testcase h2dUseTestcase
#yields (histogram2d ((-10.0 -3.5 2.3 4.5)(-4.5 -2.3 3.5 10.0)(1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0)))
query h2use usehistogram[0.5; fun(r1: real, r2: real) r1 * r2]
#testcase h2dUse2Testcase
#yields (histogram2d ((-10.0 -3.5 2.3 4.5)(-4.5 -2.3 3.5 10.0)(2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0)))
query h2use usehistogram[0.5, 1.0; fun(r1: real, r2: real, r3: real) (r1 * r2) + r3]
#testcase h2dUse3Testcase
#yields (histogram2d ((-10.0 -3.5 2.3 4.5)(-4.5 -2.3 3.5 10.0)(0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
query h2use usehistogram[; fun(r1: real) 0.0]
#testcase h2dUse4Testcase
#yields (histogram2d ((-10.0 -3.5 2.3 4.5)(-4.5 -2.3 3.5 10.0)(0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
query h2use usehistogram[0.0; fun(r1: real, r2: real) r1 / r2]
#testcase h2dUseUndefTestcase
#yields (histogram2d undefined)
query h2undef usehistogram[0.5; fun(r1: real, r2: real) r1 * r2]
#testcase h2dUseErrorTestcase
#yields error
query h2use usehistogram[0.5;]
#testcase h2dUseError2Testcase
#yields error
query h2use usehistogram[; fun(r1: int) 0.0]
# *
# * use2
# *
#testcase h1dUse2Testcase
#yields (histogram1d ((-10.0 -5.0 0.0 5.0 10.0)(4.0 4.0 4.0 4.0)))
query h1use h1use usehistogram2[;fun(r1: real, r2: real) r1 + r2]
#testcase h1dUse22Testcase
#yields (histogram1d ((-143.23 -80.4 -17.57 45.26 108.09 170.92 233.75 296.58)(962.0 1198.5 1147.5 1198.5 1147.5 1147.5 1198.5)))
query realstream(-143.23, 320.0, 1.23) transformstream create_histogram1d[Elem, histfine1d] realstream(-130.2, 300.0, 2.8) transformstream create_histogram1d[Elem, histcoarse1d] usehistogram2[0.5; fun(r1: real, r2: real, r3: real) r1 * r2 + r3]
#testcase h1dUse23Testcase
#yields (histogram1d ((-143.23 -80.4 -17.57 45.26 108.09 170.92 233.75 296.58)(962.0 1198.5 1147.5 1198.5 1147.5 1147.5 1198.5)))
query realstream(-143.23, 320.0, 1.23) transformstream create_histogram1d[Elem, histcoarse1d] realstream(-130.2, 300.0, 2.8) transformstream create_histogram1d[Elem, histfine1d] usehistogram2[0.5; fun(r1: real, r2: real, r3: real) r1 * r2 + r3]
#testcase h1dUse2UndefTestcase
#yields (histogram1d undefined)
query h1use histfine1d usehistogram2[; fun(r1: real, r2: real) r1 + r2]
#testcase h1dUse2ErrorTestcase
#yields error
query h1use h1use usehistogram2[; fun(r1: real, r2: int) 0.0]
#testcase h1dUse2Error2Testcase
#yields error
query h1use h1use usehistogram2[; fun(r1: int, r2: real) 0.0]
#testcase h1dUse2Error3Testcase
#yields error
query h1use h1use usehistogram2[; fun(r1: real, r2: real) int(0.0)]
#testcase h1dUse2Error4Testcase
#yields error
query h1use h1use usehistogram2[; fun(r1: real) 0.0]
#testcase h1dUse2Error5Testcase
#yields error
query h1use h1use usehistogram2[; funr(r1: real, r2: real, r3: real) 0.0]
#testcase h2dUse2Tescase
#yields (histogram2d ((-10.0 -3.5 2.3 4.5)(-4.5 -2.3 3.5 10.0)(4.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0)))
query h2use h2use usehistogram2[;fun(r1: real, r2: real) r1 + r2]
#testcase h2dUse22Testcase
#yields (histogram2d ((-143.23 -80.4 -17.57 45.26 108.09 170.92 233.75 296.58)(-250.0 -187.17 -124.34 -61.51 1.32 64.15 126.98)(0.0 56.0 558.0 0.0 0.0 0.0 0.0 0.0 112.5 594.0 0.0 0.0 0.0 0.0 0.0 97.5 594.0 0.0 0.0 0.0 0.0 0.0 112.5 594.0 0.0 0.0 0.0 0.0 0.0 97.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
query realstream(-143.23, 320.0, 1.23) transformstream create_histogram2d[Elem, Elem, histfine2d] realstream(-130.2, 300.0, 2.8) transformstream create_histogram2d[Elem, Elem, histcoarse2d] usehistogram2[0.5; fun(r1: real, r2: real, r3: real) r1 * r2 + r3]
#testcase h2dUse23Testcase
#yields (histogram2d ((-143.23 -80.4 -17.57 45.26 108.09 170.92 233.75 296.58)(-250.0 -187.17 -124.34 -61.51 1.32 64.15 126.98)(0.0 56.0 558.0 0.0 0.0 0.0 0.0 0.0 112.5 594.0 0.0 0.0 0.0 0.0 0.0 97.5 594.0 0.0 0.0 0.0 0.0 0.0 112.5 594.0 0.0 0.0 0.0 0.0 0.0 97.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)))
query realstream(-143.23, 320.0, 1.23) transformstream create_histogram2d[Elem, Elem, histcoarse2d] realstream(-130.2, 300.0, 2.8) transformstream create_histogram2d[Elem, Elem, histfine2d] usehistogram2[0.5; fun(r1: real, r2: real, r3: real) r1 * r2 + r3]
#testcase h2dUse2UndefTestcase
#yields (histogram2d undefined)
query h2use histfine2d usehistogram2[; fun(r1: real, r2: real) 0.0]
#testcase h2dUse2ErrorTestcase
#yields error
query h2use h2use usehistogram2[; fun(r1: real, r2: int) 0.0]
#testcase h2dUse2Error2Testcase
#yields error
query h2use h2use usehistogram2[; fun(r1: int, r2: real) 0.0]
#testcase h2dUse2Error3Testcase
#yields error
query h2use h2use usehistogram2[; fun(r1: real, r2: real) int(0.0)]
#testcase h2dUse2Error4Testcase
#yields error
query h2use h2use usehistogram2[; fun(r1: real) 0.0]
#testcase h2dUse2Error5Testcase
#yields error
query h2use h2use usehistogram2[; funr(r1: real, r2: real, r3: real) 0.0]
# *
# * no_components
# *
#testcase no_components
#yields (int 1010000)
query no_components(realstream(-10000.0, 1000000.0, 1.0) set_histogram1d);
#testcase no_components_undef
#yields (int undefined)
query no_components(realstream(1.0, 0.0, 1.0) set_histogram1d);
#testcase no_components_typeError
#yields error
query no_components(realstream(-10000.0, 1000000.0, 1.0) realstream(-100.0, 1000.0, 1.0) set_histogram2d);
# *
# * binsX
# *
#testcase binsX
#yields (int 1010000)
query binsX(realstream(-10000.0, 1000000.0, 1.0) realstream(-1.0, 1.0, 1.0) set_histogram2d);
#testcase binsX_undef
#yields (int undefined)
query binsX(realstream(1.0, 0.0, 1.0) realstream(-100.0, 1000.0, 1.0) set_histogram2d);
#testcase binsX_typeError
#yields error
query binsX(realstream(-10000.0, 1000000.0, 1.0) set_histogram1d);
# *
# * binsY
# *
#testcase binsY
#yields (int 1010000)
query binsY(realstream(-1.0, 1.0, 1.0) realstream(-10000.0, 1000000.0, 1.0) set_histogram2d);
#testcase binsY_undef
#yields (int undefined)
query binsY(realstream(-100.0, 1000.0, 1.0) realstream(1.0, 0.0, 1.0) set_histogram2d);
#testcase binsY_typeError
#yields error
query binsY(realstream(-10000.0, 1000000.0, 1.0) set_histogram1d);
# *
# * binrange_min
# *
#testcase binrange_min_typeError
#yields error
query binrange_min(h1d4, 2.5);
#testcase binrange_min_typeError
#yields error
query binrange_min(h2d6, 2);
#testcase binrange_min_typeError
#yields error
query binrange_min(h2d6, 2.5);
#testcase binrange_min_typeError
#yields error
query binrange_min(h1d4, 2, 1);
#testcase binrange_min_undef
#yields (real undefined)
query binrange_min(realstream(1.0, 0.0, 1.0) set_histogram1d, 42);
#testcase binrange_min_undef
#yields (real undefined)
query binrange_min(h1d4, -1);
#testcase binrange_min_undef
#yields (real undefined)
query binrange_min(h1d4, 7);
#testcase binrange_min_first
#yields (real -2.3)
query binrange_min(h1d4, 0);
#testcase binrange_min_middle
#yields (real 0.3)
query binrange_min(h1d4, 3);
#testcase binrange_min_last
#yields (real 2.4)
query binrange_min(h1d4, 6);
# *
# * binrange_max
# *
#testcase binrange_max_typeError
#yields error
query binrange_max(h1d4, 2.5);
#testcase binrange_max_typeError
#yields error
query binrange_max(h2d6, 2);
#testcase binrange_max_typeError
#yields error
query binrange_max(h2d6, 2.5);
#testcase binrange_max_typeError
#yields error
query binrange_max(h1d4, 2, 1);
#testcase binrange_max_undef
#yields (real undefined)
query binrange_max(realstream(1.0, 0.0, 1.0) set_histogram1d, 42);
#testcase binrange_max_undef
#yields (real undefined)
query binrange_max(h1d4, -1);
#testcase binrange_max_undef
#yields (real undefined)
query binrange_max(h1d4, 7);
#testcase binrange_max_first
#yields (real -2.0)
query binrange_max(h1d4, 0);
#testcase binrange_max_middle
#yields (real 1.8)
query binrange_max(h1d4, 3);
#testcase binrange_max_last
#yields (real 3.9)
query binrange_max(h1d4, 6);
# *
# * binrange_minX
# *
#testcase binrange_minX_typeError
#yields error
query binrange_minX(h1d4, 2);
#testcase binrange_minX_typeError
#yields error
query binrange_minX(h2d6, 2.5);
#testcase binrange_minX_typeError
#yields error
query binrange_minX(h1d4, 2.5);
#testcase binrange_minX_typeError
#yields error
query binrange_minX(h2d6, 2, 1);
#testcase binrange_minX_undef
#yields (real undefined)
query binrange_minX(realstream(1.0, 0.0, 1.0) realstream(1.0, 0.0, 1.0) set_histogram2d, 42);
#testcase binrange_minX_undef
#yields (real undefined)
query binrange_minX(h2d6, -1);
#testcase binrange_minX_undef
#yields (real undefined)
query binrange_minX(h2d6, 5);
#testcase binrange_minX_first
#yields (real -2.3)
query binrange_minX(h2d6, 0);
#testcase binrange_minX_middle
#yields (real -1.0)
query binrange_minX(h2d6, 2);
#testcase binrange_minX_last
#yields (real 1.0)
query binrange_minX(h2d6, 4);
# *
# * binrange_maxX
# *
#testcase binrange_maxX_typeError
#yields error
query binrange_maxX(h1d4, 2);
#testcase binrange_maxX_typeError
#yields error
query binrange_maxX(h2d6, 2.5);
#testcase binrange_maxX_typeError
#yields error
query binrange_maxX(h1d4, 2.5);
#testcase binrange_maxX_typeError
#yields error
query binrange_maxX(h2d6, 2, 1);
#testcase binrange_maxX_undef
#yields (real undefined)
query binrange_maxX(realstream(1.0, 0.0, 1.0) realstream(1.0, 0.0, 1.0) set_histogram2d, 42);
#testcase binrange_maxX_undef
#yields (real undefined)
query binrange_maxX(h2d6, -1);
#testcase binrange_maxX_undef
#yields (real undefined)
query binrange_maxX(h2d6, 5);
#testcase binrange_maxX_first
#yields (real -1.5)
query binrange_maxX(h2d6, 0);
#testcase binrange_maxX_middle
#yields (real 0.3)
query binrange_maxX(h2d6, 2);
#testcase binrange_maxX_last
#yields (real 5.9)
query binrange_maxX(h2d6, 4);
# *
# * binrange_minY
# *
#testcase binrange_minY_undef
#yields (real undefined)
query binrange_minY(realstream(1.0, 0.0, 1.0) realstream(1.0, 0.0, 1.0) set_histogram2d, 42);
#testcase binrange_minY_undef
#yields (real undefined)
query binrange_minY(h2d6, -1);
#testcase binrange_minY_undef
#yields (real undefined)
query binrange_minY(h2d6, 3);
#testcase binrange_minY_first
#yields (real 0.0)
query binrange_minY(h2d6, 0);
#testcase binrange_minY_middle
#yields (real 2.3)
query binrange_minY(h2d6, 1);
#testcase binrange_minY_last
#yields (real 2.6)
query binrange_minY(h2d6, 2);
# *
# * binrange_maxY
# *
#testcase binrange_maxY_undef
#yields (real undefined)
query binrange_maxY(realstream(1.0, 0.0, 1.0) realstream(1.0, 0.0, 1.0) set_histogram2d, 42);
#testcase binrange_maxY_undef
#yields (real undefined)
query binrange_maxY(h2d6, -1);
#testcase binrange_maxY_undef
#yields (real undefined)
query binrange_maxY(h2d6, 3);
#testcase binrange_maxY_first
#yields (real 2.3)
query binrange_maxY(h2d6, 0);
#testcase binrange_maxY_middle
#yields (real 2.6)
query binrange_maxY(h2d6, 1);
#testcase binrange_maxY_last
#yields (real 3.9)
query binrange_maxY(h2d6, 2);
# *
# * translatehistogram
# *
#testcase translatehistogram_1d_undef
#yields (histogram1d undefined)
query h1d7 translatehistogram[h1d1];
#testcase translatehistogram_1d_undef
#yields (histogram1d undefined)
query h1d1 translatehistogram[h1d7];
#testcase translatehistogram_1d_undef
#yields (histogram1d undefined)
query h1d7 translatehistogram[h1d7];
#testcase translatehistogram_1d_undef
#yields (histogram1d undefined)
query h1d9 translatehistogram[h1d8];
#testcase translatehistogram_1d
#yields (bool TRUE)
query no_components(h1d8 translatehistogram[h1d9]) = no_components(h1d9);
#testcase translatehistogram_1d
#yields (histogram1d((-2.3 -1.0 0.3 2.4 3.9)(7.9 1.5 7.0 1.0)))
query h1d4 translatehistogram[h1d1];
#testcase translatehistogram_1d
#yields (bool TRUE)
query h1d1 translatehistogram[h1d1] = h1d1;
#testcase translatehistogram_1d
#yields (histogram1d((-2.3 3.9)(17.4)))
query h1d4 translatehistogram[h1d10];
#testcase translatehistogram_1d_undef
#yields (histogram1d undefined)
query h1d10 translatehistogram[h1d4];
#testcase translatehistogram_1d_undef
#yields (histogram1d undefined)
query h1d10 translatehistogram[h1d11];
#testcase translatehistogram_1d_undef
#yields (histogram1d undefined)
query h1d10 translatehistogram[h1d12];
#testcase translatehistogram_1d
#yields success
let h1d13 = test1drel feed create_histogram1d[Value, h1d8];
#testcase translatehistogram_1d
#yields success
let h1d14 = test1drel feed create_histogram1d[Value, h1d9];
#testcase translatehistogram_1d
#yields (bool TRUE)
query h1d13 translatehistogram[h1d9] = h1d14;
#testcase translatehistogram_2d_undef
#yields (histogram2d undefined)
query h2d7 translatehistogram[h2d1];
#testcase translatehistogram_2d_undef
#yields (histogram2d undefined)
query h2d1 translatehistogram[h2d7];
#testcase translatehistogram_2d_undef
#yields (histogram2d undefined)
query h2d7 translatehistogram[h2d7];
#testcase translatehistogram_2d_undef
#yields (histogram2d undefined)
query h2d9 translatehistogram[h2d8];
#testcase translatehistogram_2d
#yields (bool TRUE)
query binsX(h2d8 translatehistogram[h2d9]) = binsX(h2d9);
#testcase translatehistogram_2d
#yields (histogram2d ((-2.3 -1.0 0.3 5.9)(0.0 2.4 3.9)(3.0 8.5 1.0 8.0 3.0 10.5)))
query h2d4 translatehistogram[h2d1];
#testcase translatehistogram_2d
#yields (bool TRUE)
query h2d1 translatehistogram[h2d1] = h2d1;
#testcase translatehistogram_2d
#yields (histogram2d ((-2.3 5.9)(0.0 3.9)(34.0)))
query h2d4 translatehistogram[h2d10];
#testcase translatehistogram_2d_undef
#yields (histogram2d undefined)
query h2d10 translatehistogram[h2d4];
#testcase translatehistogram_2d
#yields success
let h2d13 = test2drel feed create_histogram2d[ValueX, ValueY, h2d8];
#testcase translatehistogram_2d
#yields success
let h2d14 = test2drel feed create_histogram2d[ValueX, ValueY, h2d9];
#testcase translatehistogram_2d
#yields (bool TRUE)
query h2d13 translatehistogram[h2d9] = h2d14;
# *
# * fold
# *
#testcase fold_1d_typeError
#yields error
query h1d4 fold[ fun(p1: real, p2: real) p1 + p2; 42 ];
#testcase fold_1d_typeError
#yields error
query h1d4 fold[ fun(p1: real, p2: int) p1 + p2; 0.0 ];
#testcase fold_1d_undef
#yields (real undefined)
query h1undef fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ];
#testcase fold_1d_undef
#yields (string undefined)
query h1undef fold[ fun(p1: string, p2: real) p1; "hello world!" ];
#testcase fold_1d
#yields (real 7.4)
query h1d4 fold[ fun(p1: real, p2: real) p1 + p2; -10.0 ];
#testcase fold_1d
#yields (real 0.0)
query h1d4 fold[ fun(p1: real, p2: real) p1 * p2; 0.0 ];
#testcase fold_1d
#yields (bool TRUE)
query (h1d13 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) = (h1d14 fold[ fun(r1: real, r2: real) r1 + r2; 0.0 ]);
#testcase fold_1d
#yields (bool TRUE)
query h1d4 fold[ fun(p1: bool, p2: real) p1 and (p2 >= 0.0) and (p2 <= 7.0); TRUE ];
#testcase fold_1d
#yields (bool FALSE)
query h1d4 fold[ fun(p1: bool, p2: real) p1 and (p2 >= 0.0) and (p2 <= 6.9); TRUE ];
#testcase fold_2d_typeError
#yields error
query h2d4 fold[ fun(p1: real, p2: real) p1 + p2; 42 ];
#testcase fold_2d_typeError
#yields error
query h2d4 fold[ fun(p1: real, p2: int) p1 + p2; 0.0 ];
#testcase fold_2d_undef
#yields (real undefined)
query h2undef fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ];
#testcase fold_2d_undef
#yields (string undefined)
query h1undef fold[ fun(p1: string, p2: real) p1; "hello world!" ];
#testcase fold_2d
#yields (real 24.0)
query h2d4 fold[ fun(p1: real, p2: real) p1 + p2; -10.0 ];
#testcase fold_2d
#yields (real 0.0)
query h2d4 fold[ fun(p1: real, p2: real) p1 * p2; 0.0 ];
#testcase fold_2d
#yields (bool TRUE)
query (h2d13 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) = (h2d14 fold[ fun(r1: real, r2: real) r1 + r2; 0.0 ]);
#testcase fold_2d
#yields (bool TRUE)
query h2d4 fold[ fun(p1: bool, p2: real) p1 and (p2 >= 0.0) and (p2 <= 8.0); TRUE ];
#testcase fold_2d
#yields (bool FALSE)
query h2d4 fold[ fun(p1: bool, p2: real) p1 and (p2 >= 0.0) and (p2 <= 7.9); TRUE ];
# *
# * shrink_eager
# *
#testcase shrink_eager_typeError
#yields error
query shrink_eager( h2d4, 0.0, 1.0 );
#testcase shrink_eager_typeError
#yields error
query shrink_eager( h1d4, 1, 2.0 );
#testcase shrink_eager_typeError
#yields error
query shrink_eager( h1d4, 1.0, 2 );
#testcase shrink_eager_undef
#yields (histogram1d undefined)
query shrink_eager( h1undef, 1.0, 2.0 );
#testcase shrink_eager_undef
#yields (histogram1d undefined)
query shrink_eager( h1d4, 1.0, 1.0 );
#testcase shrink_eager_undef
#yields (histogram1d undefined)
query shrink_eager( h1d4, 2.0, 1.0 );
#testcase shrink_eager_undef
#yields (histogram1d undefined)
query shrink_eager( h1d4, -10.8, -5.0 );
#testcase shrink_eager_undef
#yields (histogram1d undefined)
query shrink_eager( h1d4, 10.8, 15.0 );
#testcase shrink_eager_undef
#yields (histogram1d undefined)
query shrink_eager( h1d4, -5.0, -2.2 );
#testcase shrink_eager_undef
#yields (histogram1d undefined)
query shrink_eager( h1d4, 3.0, 5.0 );
#testcase shrink_eager_undef
#yields (histogram1d undefined)
query shrink_eager( h1d4, 0.0, 0.2 );
#testcase shrink_eager_undef
#yields (histogram1d undefined)
query shrink_eager( h1d4, -2.2, -2.0 );
#testcase shrink_eager_undef
#yields (histogram1d undefined)
query shrink_eager( h1d4, 2.5, 3.9 );
#testcase shrink_eager
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8)(0.9 7.0 1.5 0.0)))
query shrink_eager( h1d4, -5.0, 2.0 );
#testcase shrink_eager
#yields (histogram1d((-1.0 0.3 1.8 2.3 2.4)(1.5 0.0 0.0 7.0)))
query shrink_eager( h1d4, -1.2, 2.5 );
#testcase shrink_eager
#yields (histogram1d((2.3 2.4 3.9)(7.0 1.0)))
query shrink_eager( h1d4, 1.9, 10.0 );
#testcase shrink_eager
#yields (histogram1d((-2.3 -2.0)(0.9)))
query shrink_eager( h1d4, -2.3, -2.0 );
#testcase shrink_eager
#yields (histogram1d((2.4 3.9)(1.0)))
query shrink_eager( h1d4, 2.4, 3.9 );
#testcase shrink_eager
#yields (histogram1d((-2.0 -1.0 0.3 1.8 2.3)(7.0 1.5 0.0 0.0)))
query shrink_eager( h1d4, -2.0, 2.3 );
# *
# * shrink_eager2
# *
#testcase shrink_eager2_typeError
#yields error
query shrink_eager2( h1d4, 0.0, 1.0, 0.0, 2.0 );
#testcase shrink_eager2_typeError
#yields error
query shrink_eager2( h2d4, 1, 2.0, 0.0, 2.0 );
#testcase shrink_eager2_typeError
#yields error
query shrink_eager2( h2d4, 1.0, 2, 0.0, 2.0 );
#testcase shrink_eager_typeError
#yields error
query shrink_eager2( h2d4, 1.0, 2.0, 0, 2.0 );
#testcase shrink_eager2_typeError
#yields error
query shrink_eager2( h2d4, 1.0, 2.0, 0, 2 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2undef, 1.0, 2.0, 0.0, 2.0 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2d4, 1.0, 1.0, 0.0, 2.0 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2d4, 2.0, 1.0, 0.0, 2.0 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2d4, 0.0, 1.0, 3.0, 2.0 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2d4, -10.8, -5.0, 0.0, 2.5 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2d4, 10.8, 15.0, 0.0, 2.5 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2d4, -2.3, 0.0, -3.8, -2.5 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2d4, -2.3, 0.0, 4.8, 7.5 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2d4, -5.0, -2.0, 0.0, 2.7 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2d4, -5.0, -4.0, 0.0, 1.0 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2d4, 0.0, 0.2, 2.4, 2.7 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2d4, 0.0, 0.2, 2.6, 2.7 );
#testcase shrink_eager2_undef
#yields (histogram2d undefined)
query shrink_eager2( h2d4, -5.0, -2.0, 0.0, 2.7 );
#testcase shrink_eager2
#yields (histogram2d((0.0 0.85 34.9)(14.0 16.5 24.0)(12.0 13.0 17.0 18.0)))
query shrink_eager2( h2d11, -2.0, 35.0, 9.0, 25.0 );
#testcase shrink_eager2
#yields (histogram2d((-8.4 -3.2 0.0 0.85)(14.0 16.5 24.0 52.1)(2.0 3.0 4.0 7.0 8.0 9.0 12.0 13.0 14.0)))
query shrink_eager2( h2d11, -8.4, 0.85, 14.0, 52.1 );
#testcase shrink_eager2
#yields (histogram2d((-8.4 -3.2 0.0 0.85)(16.5 24.0 52.1)(3.0 4.0 8.0 9.0 13.0 14.0)))
query shrink_eager2( h2d11, -8.5, 1.0, 15.0, 100.0 );
#testcase shrink_eager2
#yields (histogram2d((0.85 34.9 710.3 712.0)(-42.0 8.12 14.0)(15.0 16.0 20.0 21.0 25.0 26.0)))
query shrink_eager2( h2d11, 0.5, 1000.0, -50.0, 15.0 );
#testcase shrink_eager2
#yields (bool TRUE)
query shrink_eager2( h2d11, -8.4, 712.0, -42.0, 52.1 ) = h2d11;
#testcase shrink_eager2
#yields (bool TRUE)
query shrink_eager2( h2d11, -1000.0, 1000.0, -1000.0, 1000.0 ) = h2d11;
# *
# * shrink_lazy
# *
#testcase shrink_lazy_typeError
#yields error
query shrink_lazy( h2d4, 0.0, 1.0 );
#testcase shrink_lazy_typeError
#yields error
query shrink_lazy( h1d4, 1, 2.0 );
#testcase shrink_lazy_typeError
#yields error
query shrink_lazy( h1d4, 1.0, 2 );
#testcase shrink_lazy_undef
#yields (histogram1d undefined)
query shrink_lazy( h1undef, 1.0, 2.0 );
#testcase shrink_lazy_undef
#yields (histogram1d undefined)
query shrink_lazy( h1d4, 1.0, 1.0 );
#testcase shrink_lazy_undef
#yields (histogram1d undefined)
query shrink_lazy( h1d4, 2.0, 1.0 );
#testcase shrink_lazy_undef
#yields (histogram1d undefined)
query shrink_lazy( h1d4, -10.8, -5.0 );
#testcase shrink_lazy_undef
#yields (histogram1d undefined)
query shrink_lazy( h1d4, 10.8, 15.0 );
#testcase shrink_lazy
#yields (histogram1d((-2.3 -2.0)(0.9)))
query shrink_lazy( h1d4, -5.0, -2.2 );
#testcase shrink_lazy
#yields (histogram1d((2.4 3.9)(1.0)))
query shrink_lazy( h1d4, 3.0, 5.0 );
#testcase shrink_lazy
#yields (histogram1d((-1.0 0.3)(1.5)))
query shrink_lazy( h1d4, 0.0, 0.2 );
#testcase shrink_lazy
#yields (histogram1d((-2.3 -2.0 -1.0)(0.9 7.0)))
query shrink_lazy( h1d4, -2.2, -2.0 );
#testcase shrink_lazy
#yields (histogram1d((2.4 3.9)(1.0)))
query shrink_lazy( h1d4, 2.5, 3.9 );
#testcase shrink_lazy
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3)(0.9 7.0 1.5 0.0 0.0)))
query shrink_lazy( h1d4, -5.0, 2.0 );
#testcase shrink_lazy
#yields (histogram1d((-2.0 -1.0 0.3 1.8 2.3 2.4)(7.0 1.5 0.0 0.0 7.0)))
query shrink_lazy( h1d4, -1.2, 2.35 );
#testcase shrink_lazy
#yields (histogram1d((1.8 2.3 2.4 3.9)(0.0 7.0 1.0)))
query shrink_lazy( h1d4, 1.9, 10.0 );
#testcase shrink_lazy
#yields (histogram1d((-2.3 -2.0 -1.0)(0.9 7.0)))
query shrink_lazy( h1d4, -2.3, -2.0 );
#testcase shrink_lazy
#yields (histogram1d((2.4 3.9)(1.0)))
query shrink_lazy( h1d4, 2.4, 3.9 );
#testcase shrink_lazy
#yields (histogram1d((-2.0 -1.0 0.3 1.8 2.3 2.4)(7.0 1.5 0.0 0.0 7.0)))
query shrink_lazy( h1d4, -2.0, 2.3 );
# *
# * shrink_lazy2
# *
#testcase shrink_lazy2_typeError
#yields error
query shrink_lazy2( h1d4, 0.0, 1.0, 0.0, 2.0 );
#testcase shrink_lazy2_typeError
#yields error
query shrink_lazy2( h2d4, 1, 2.0, 0.0, 2.0 );
#testcase shrink_lazy2_typeError
#yields error
query shrink_lazy2( h2d4, 1.0, 2, 0.0, 2.0 );
#testcase shrink_lazy_typeError
#yields error
query shrink_lazy2( h2d4, 1.0, 2.0, 0, 2.0 );
#testcase shrink_lazy2_typeError
#yields error
query shrink_lazy2( h2d4, 1.0, 2.0, 0, 2 );
#testcase shrink_lazy2_undef
#yields (histogram2d undefined)
query shrink_lazy2( h2undef, 1.0, 2.0, 0.0, 2.0 );
#testcase shrink_lazy2_undef
#yields (histogram2d undefined)
query shrink_lazy2( h2d4, 1.0, 1.0, 0.0, 2.0 );
#testcase shrink_lazy2_undef
#yields (histogram2d undefined)
query shrink_lazy2( h2d4, 2.0, 1.0, 0.0, 2.0 );
#testcase shrink_lazy2_undef
#yields (histogram2d undefined)
query shrink_lazy2( h2d4, 0.0, 1.0, 3.0, 2.0 );
#testcase shrink_lazy2_undef
#yields (histogram2d undefined)
query shrink_lazy2( h2d4, -10.8, -5.0, 0.0, 2.5 );
#testcase shrink_lazy2_undef
#yields (histogram2d undefined)
query shrink_lazy2( h2d4, 10.8, 15.0, 0.0, 2.5 );
#testcase shrink_lazy2_undef
#yields (histogram2d undefined)
query shrink_lazy2( h2d4, -2.3, 0.0, -3.8, -2.5 );
#testcase shrink_lazy2_undef
#yields (histogram2d undefined)
query shrink_lazy2( h2d4, -2.3, 0.0, 4.8, 7.5 );
#testcase shrink_lazy2
#yields (histogram2d((-2.3 -1.5)(0.0 2.4)(1.0)))
query shrink_lazy2( h2d4, -5.0, -2.0, 0.0, 2.0 );
#testcase shrink_lazy2
#yields (histogram2d((-1.0 0.3)(0.0 2.4)(1.0)))
query shrink_lazy2( h2d4, 0.0, 0.1, 0.0, 1.0 );
#testcase shrink_lazy2
#yields (histogram2d((-3.2 0.0 0.85 34.9 710.3)(8.12 14.0 16.5 24.0 52.1)(6.0 7.0 8.0 9.0 11.0 12.0 13.0 14.0 16.0 17.0 18.0 19.0 21.0 22.0 23.0 24.0)))
query shrink_lazy2( h2d11, -2.0, 35.0, 9.0, 25.0 );
#testcase shrink_lazy2
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9)(14.0 16.5 24.0 52.1)(2.0 3.0 4.0 7.0 8.0 9.0 12.0 13.0 14.0 17.0 18.0 19.)))
query shrink_lazy2( h2d11, -8.4, 0.85, 14.0, 52.1 );
#testcase shrink_lazy2
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9)(14.0 16.5 24.0 52.1)(2.0 3.0 4.0 7.0 8.0 9.0 12.0 13.0 14.0 17.0 18.0 19.0)))
query shrink_lazy2( h2d11, -8.5, 1.0, 15.0, 100.0 );
#testcase shrink_lazy2
#yields (histogram2d((0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5)(10.0 11.0 12.0 15.0 16.0 17.0 20.0 21.0 22.0 25.0 26.0 27.0)))
query shrink_lazy2( h2d11, 0.5, 1000.0, -50.0, 15.0 );
#testcase shrink_lazy2
#yields (bool TRUE)
query shrink_lazy2( h2d11, -8.4, 712.0, -42.0, 52.1 ) = h2d11;
#testcase shrink_lazy2
#yields (bool TRUE)
query shrink_lazy2( h2d11, -1000.0, 1000.0, -1000.0, 1000.0 ) = h2d11;
#testcase shrink_lazy2
#yields (bool TRUE)
query shrink_lazy2( h2d11, -8.0, 711.0, 0.0, 25.0 ) = h2d11;
# *
# * getcount1d
# *
#testcase GetCount1dTestcase
#yields (real 1.0)
query getcount1d(h1d1, 0)
#testcase GetCount1d2Testcase
#yields (real 8.0)
query getcount1d(h1d1, 1)
#testcase GetCount1d3Testcase
#yields (real 2.0)
query getcount1d(h1d1, 2)
#testcase GetCount1d3Testcase
#yields (real 0.5)
query getcount1d(h1d1, 3)
#testcase GetCount1dUndefTestcase
#yields (real undefined)
query getcount1d(h1undef, 0)
#testcase GetCount1dUndef2Testcase
#yields (real undefined)
query getcount1d(h1d1, 4)
#testcase GetCount1dUndef3Testcase
#yields (real undefined)
query getcount1d(h1d1, -1)
#testcase GetCount1dErrorTestcase
#yields error
query getcount1d(h2d1, 0)
#testcase GetCount1dError2Testcase
#yields error
query getcount1d(h1d1, 0.0)
#testcase GetCount1dError3Testcase
#yields error
query getcount1d(h1d1, 1, 0)
# *
# * getcount2d
# *
#testcase GetCount2dTestcase
#yields (real 1.0)
query getcount2d(h2d1, 0, 0)
#testcase GetCount2d2Testcase
#yields (real 8.0)
query getcount2d(h2d1, 1, 0)
#testcase GetCount2d3Testcase
#yields (real 0.5)
query getcount2d(h2d1, 2, 0)
#testcase GetCount2d4Testcase
#yields (real 0.0)
query getcount2d(h2d1, 2, 1)
#testcase GetCount2d5Testcase
#yields (real 0.0)
query getcount2d(h2d1, 0, 1)
#testcase GetCount2d6Testcase
#yields (real 2.0)
query getcount2d(h2d1, 1, 1)
#testcase GetCount2dUndefTestcase
#yields (real undefined)
query getcount2d(h2undef, 0, 0)
#testcase GetCount2dUndef2Testcase
#yields (real undefined)
query getcount2d(h2d1, -1, 0)
#testcase GetCount2dUndef3Testcase
#yields (real undefined)
query getcount2d(h2d1, 0, -1)
#testcase GetCount2dUndef4Testcase
#yields (real undefined)
query getcount2d(h2d1, 3, 0)
#testcase GetCount2dUndef5Testcase
#yields (real undefined)
query getcount2d(h2d1, 0, 3)
#testcase GetCount2dErrorTestcase
#yields error
query getcount2d(h2d1, 0.0, 1)
#testcase GetCount2dError2Testcase
#yields error
query getcount2d(h2d1, 1, 0.0)
#testcase GetCount2dError3Testcase
#yields error
query getcount2d(h1d1, 0, 0)
#testcase GetCount2dError4Testcase
#yields error
query getcount2d(h2d1, 0, 0, 0)
# *
# * insert1d
# *
#testcase insert1d_typeError
#yields error
query insert1d( h2d1, 0.0 );
#testcase insert1d_typeError
#yields error
query insert1d( h1d1, 2 );
#testcase insert1d_outside
#yields (bool TRUE)
query insert1d( h1d6, -2.5 ) = h1d6;
#testcase insert1d_outside
#yields (bool TRUE)
query insert1d( h1d6, 4.0 ) = h1d6;
#testcase insert1d_outside
#yields (bool TRUE)
query insert1d( h1d6, 3.9 ) = h1d6;
#testcase insert1d_first
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(1.9 0.0 1.5 0.0 0.0 7.0 0.0)))
query insert1d( h1d6, -2.3 );
#testcase insert1d_first
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(1.9 0.0 1.5 0.0 0.0 7.0 0.0)))
query insert1d( h1d6, -2.1 );
#testcase insert1d_middle
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 0.0 2.5 0.0 0.0 7.0 0.0)))
query insert1d( h1d6, -1.0 );
#testcase insert1d_middle
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 0.0 2.5 0.0 0.0 7.0 0.0)))
query insert1d( h1d6, 0.0 );
#testcase insert1d_middle
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 0.0 1.5 1.0 0.0 7.0 0.0)))
query insert1d( h1d6, 0.3 );
#testcase insert1d_last
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 0.0 1.5 0.0 0.0 7.0 1.0)))
query insert1d( h1d6, 2.5 );
#testcase insert1d_last
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 0.0 1.5 0.0 0.0 7.0 1.0)))
query insert1d( h1d6, 3.8 );
#testcase insert1d
#yields (real 1.0)
query getcount1d( insert1d( realstream(0.0, 10000.0, 1.0) set_histogram1d, 4000.5 ), 4000 );
# *
# * insert1dvalue
# *
#testcase insert1dvalue_typeError
#yields error
query insert1dvalue( h2d1, 0.0, 10.0 );
#testcase insert1dvalue_typeError
#yields error
query insert1dvalue( h1d1, 2, 10.0 );
#testcase insert1dvalue_typeError
#yields error
query insert1dvalue( h1d1, 2.0, 10 );
#testcase insert1dvalue_outside
#yields (bool TRUE)
query insert1dvalue( h1d6, -2.5, -3.0 ) = h1d6;
#testcase insert1dvalue_outside
#yields (bool TRUE)
query insert1dvalue( h1d6, 4.0, 5.5 ) = h1d6;
#testcase insert1dvalue_outside
#yields (bool TRUE)
query insert1dvalue( h1d6, 3.9, 8.4 ) = h1d6;
#testcase insert1dvalue_first
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(10.9 0.0 1.5 0.0 0.0 7.0 0.0)))
query insert1dvalue( h1d6, -2.3, 10.0 );
#testcase insert1dvalue_first
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(10.9 0.0 1.5 0.0 0.0 7.0 0.0)))
query insert1dvalue( h1d6, -2.1, 10.0 );
#testcase insert1dvalue_middle
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 0.0 11.5 0.0 0.0 7.0 0.0)))
query insert1dvalue( h1d6, -1.0, 10.0 );
#testcase insert1dvalue_middle
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 0.0 -8.5 0.0 0.0 7.0 0.0)))
query insert1dvalue( h1d6, 0.0, -10.0 );
#testcase insert1dvalue_middle
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 0.0 1.5 10.0 0.0 7.0 0.0)))
query insert1dvalue( h1d6, 0.3, 10.0 );
#testcase insert1dvalue_last
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 0.0 1.5 0.0 0.0 7.0 10.0)))
query insert1dvalue( h1d6, 2.5, 10.0 );
#testcase insert1dvalue_last
#yields (histogram1d((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 0.0 1.5 0.0 0.0 7.0 10.0)))
query insert1dvalue( h1d6, 3.8, 10.0 );
#testcase insert1dvalue
#yields (real 10.0)
query getcount1d( insert1dvalue( realstream(0.0, 10000.0, 1.0) set_histogram1d, 4000.5, 10.0 ), 4000 );
# *
# * insert2d
# *
#testcase insert2d_typeError
#yields error
query insert2d( h1d1, 0.0, 0.0 );
#testcase insert2d_typeError
#yields error
query insert2d( h2d11, 2, 0.0 );
#testcase insert2d_typeError
#yields error
query insert2d( h2d11, 2.5, 0 );
#testcase insert2d_outside
#yields (bool TRUE)
query insert2d( h2d11, -8.5, 0.0 ) = h2d11;
#testcase insert2d_outside
#yields (bool TRUE)
query insert2d( h2d11, 0.0, -42.1 ) = h2d11;
#testcase insert2d_outside
#yields (bool TRUE)
query insert2d( h2d11, 712.0, 0.0 ) = h2d11;
#testcase insert2d_outside
#yields (bool TRUE)
query insert2d( h2d11, 0.0, 52.1 ) = h2d11;
#testcase insert2d_outside
#yields (bool TRUE)
query insert2d( h2d11, 712.0, 52.1 ) = h2d11;
#testcase insert2d_first
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(1.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0)))
query insert2d( h2d11, -8.4, -42.0 );
#testcase insert2d_first
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(1.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0)))
query insert2d( h2d11, -8.0, -10.0 );
#testcase insert2d_middle
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 13.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0)))
query insert2d( h2d11, 0.0, 14.0 );
#testcase insert2d_middle
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 13.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0)))
query insert2d( h2d11, 0.5, 15.0 );
#testcase insert2d_middle
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 19.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0)))
query insert2d( h2d11, 0.85, 16.5 );
#testcase insert2d_last
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 30.0)))
query insert2d( h2d11, 711.0, 25.0 );
#testcase insert2d_last
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 30.0)))
query insert2d( h2d11, 710.3, 24.0 );
#testcase insert2d
#yields (real 1.0)
query getcount2d( insert2d( realstream(0.0, 100.0, 1.0) realstream(0.0, 100.0, 1.0) set_histogram2d, 50.5, 42.1 ), 50, 42 );
# *
# * insert2dvalue
# *
#testcase insert2dvalue_typeError
#yields error
query insert2dvalue( h1d1, 0.0, 0.0, 10.0 );
#testcase insert2dvalue_typeError
#yields error
query insert2dvalue( h2d11, 2, 0.0, 10.0 );
#testcase insert2dvalue_typeError
#yields error
query insert2dvalue( h2d11, 2.5, 0, 10.0 );
#testcase insert2dvalue_typeError
#yields error
query insert2dvalue( h2d11, 2.5, 0.0, 10 );
#testcase insert2dvalue_outside
#yields (bool TRUE)
query insert2dvalue( h2d11, -8.5, 0.0, 10.0 ) = h2d11;
#testcase insert2dvalue_outside
#yields (bool TRUE)
query insert2dvalue( h2d11, 0.0, -42.1, 10.0 ) = h2d11;
#testcase insert2dvalue_outside
#yields (bool TRUE)
query insert2dvalue( h2d11, 712.0, 0.0, 10.0 ) = h2d11;
#testcase insert2dvalue_outside
#yields (bool TRUE)
query insert2dvalue( h2d11, 0.0, 52.1, 10.0 ) = h2d11;
#testcase insert2dvalue_outside
#yields (bool TRUE)
query insert2dvalue( h2d11, 712.0, 52.1, 10.0 ) = h2d11;
#testcase insert2dvalue_first
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(10.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0)))
query insert2dvalue( h2d11, -8.4, -42.0, 10.0 );
#testcase insert2dvalue_first
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(10.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0)))
query insert2dvalue( h2d11, -8.0, -10.0, 10.0 );
#testcase insert2dvalue_middle
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 22.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0)))
query insert2dvalue( h2d11, 0.0, 14.0, 10.0 );
#testcase insert2dvalue_middle
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 22.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0)))
query insert2dvalue( h2d11, 0.5, 15.0, 10.0 );
#testcase insert2dvalue_middle
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 8.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0)))
query insert2dvalue( h2d11, 0.85, 16.5, -10.0 );
#testcase insert2dvalue_last
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 39.0)))
query insert2dvalue( h2d11, 711.0, 25.0, 10.0 );
#testcase insert2dvalue_last
#yields (histogram2d((-8.4 -3.2 0.0 0.85 34.9 710.3 712.0)(-42.0 8.12 14.0 16.5 24.0 52.1)(0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 39.0)))
query insert2dvalue( h2d11, 710.3, 24.0, 10.0 );
#testcase insert2dvalue
#yields (real 18.67)
query getcount2d( insert2dvalue( realstream(0.0, 100.0, 1.0) realstream(0.0, 100.0, 1.0) set_histogram2d, 50.5, 42.1, 18.67 ), 50, 42 );
# *
# * histogramXd_as_attribute
# *
#testcase histogramXd_as_attribute
#yields success
(create testrelAttr : (rel(tuple(
(Attr1 int)
(Attr2 histogram1d)
(Attr3 histogram2d)))));
(update testrelAttr := ((rel(tuple(
(Attr1 int)
(Attr2 histogram1d)
(Attr3 histogram2d))))
(
(1
((-10.0 -5.0 0.0 5.0 10.0)(2.0 2.0 2.0 2.0))
((-2.3 -1.0 0.3 5.9)(0.0 2.4 3.9)(1.0 0.0 8.0 2.0 0.5 0.0)))
(2
((-10.0 -5.0 0.0 5.0 10.0)(2.0 2.0 2.0 2.0))
((-10.0 -3.5 2.3 4.5)(-4.5 -2.3 3.5 10.0)(2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0)))
(3
((-2.3 -2.0 -1.0 0.3 1.8 2.3 2.5 3.9)(0.9 7.0 1.5 0.0 0.0 7.0 1.0))
((-2.3 -1.5 -1.0 0.3 1.0 5.9)(0.0 2.3 2.6 3.9)(1.0 0.0 8.0 2.0 0.5 0.0 1.0 0.0 8.0 2.0 0.5 0.0 1.0 8.0 2.0)))
)));
#yields (int 5)
query testrelAttr feed {a} testrelAttr feed {b} hashjoin[Attr2_a, Attr2_b, 100] count;
# *
# * distance (1d)
# *
#testcase distance_1d_typeError
#yields error
query distance( h1d1, h2d1 );
#testcase distance_1d_typeError
#yields error
query distance( h2d1, h1d1 );
#testcase distance_1d_undef
#yields (real undefined)
query distance( h1undef, h1d1 );
#testcase distance_1d_undef
#yields (real undefined)
query distance( h1d1, h1undef );
#testcase distance_1d_undef
#yields (real undefined)
query distance( h1undef, h1undef );
#testcase distance_1d_incompatibel
#yields (real undefined)
query distance( h1d1, h1d5 );
#testcase distance_1d_incompatibel
#yields (real undefined)
query distance( h1d5, h1d1 );
#testcase distance_1d_equal
#yields (real 0.0)
query distance( h1d1, h1d2 );
#testcase distance_1d_equal
#yields (real 0.0)
query distance( test1drel feed create_histogram1d_equiwidth[Value, 1000], test1drel feed create_histogram1d_equiwidth[Value, 1000] );
#testcase distance_1d
#yields (real 1.51)
query distance( h1d1, h1d3 );
#testcase distance_1d
#yields (real 1.51)
query distance( h1d3, h1d1 );
#testcase distance_1d
#yields (real 81.0)
query distance( insert1dvalue( h1d8, -42.56, 9.0 ), h1d8 );
#yields success
let h1ddist1 = test2drel feed create_histogram1d[ ValueX, h1d8 ];
let h1ddist2 = test2drel feed create_histogram1d[ ValueY, h1d8 ];
#testcase distance_1d
#yields (bool TRUE)
query distance( h1ddist1, h1ddist2 ) = ( h1ddist1 h1ddist2 usehistogram2[ ; fun(r1: real, r2: real) (r1 - r2) * (r1 - r2)] fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ] );
#testcase distance_1d_coarsen
#yields (real 115.11)
query distance( h1d4, h1d1 );
#testcase distance_1d_coarsen
#yields (real 115.11)
query distance( h1d1, h1d4 );
#testcase distance_1d_coarsen
#yields (real 81.0)
query distance( insert1dvalue( h1d8, -42.56, 9.0 ), h1d9 );
# *
# * distance (2d)
# *
#testcase distance_2d_undef
#yields (real undefined)
query distance( h2undef, h2d1 );
#testcase distance_2d_undef
#yields (real undefined)
query distance( h2d1, h2undef );
#testcase distance_2d_undef
#yields (real undefined)
query distance( h2undef, h2undef );
#testcase distance_2d_incompatibel
#yields (real undefined)
query distance( h2d1, h2d5 );
#testcase distance_2d_incompatibel
#yields (real undefined)
query distance( h2d5, h2d1 );
#testcase distance_2d_equal
#yields (real 0.0)
query distance( h2d1, h2d2 );
#testcase distance_2d_equal
#yields (real 0.0)
query distance( test2drel feed create_histogram2d_equiwidth[ValueX, ValueY, 100, 200], test2drel feed create_histogram2d_equiwidth[ValueX, ValueY, 100, 200] );
#testcase distance_2d
#yields (real 11.8425)
query distance( h2d1, h2d3 );
#testcase distance_2d
#yields (real 11.8425)
query distance( h2d3, h2d1 );
#testcase distance_2d
#yields (real 81.0)
query distance( insert2dvalue( h2d8, -42.56, 367.78, 9.0 ), h2d8 );
#yields success
let h2ddist1 = test2drel feed create_histogram2d[ ValueX, ValueY, h2d8 ];
let h2ddist2 = test2drel feed create_histogram2d[ ValueY, ValueX, h2d8 ];
#testcase distance_2d
#yields (bool TRUE)
query distance( h2ddist1, h2ddist2 ) = ( h2ddist1 h2ddist2 usehistogram2[ ; fun(r1: real, r2: real) (r1 - r2) * (r1 - r2)] fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ] );
#testcase distance_2d_coarsen
#yields (real 277.75)
query distance( h2d4, h2d1 );
#testcase distance_2d_coarsen
#yields (real 277.75)
query distance( h2d1, h2d4 );
#testcase distance_2d_coarsen
#yields (real 81.0)
query distance( insert2dvalue( h2d8, -42.56, 367.78, 9.0 ), h2d9 );
# *
# * findbin
# *
#testcase FindBinTestcase
#yields (int undefined)
query findbin(h1use, -11.2)
#testcase FindBin1Testcase
#yields (int 0)
query findbin(h1use, -7.64)
#testcase FindBin2Testcase
#yields (int 1)
query findbin(h1use, -3.1415926)
#testcase FindBin3Testcase
#yields (int 2)
query findbin(h1use, 0.0)
#testcase FindBin4Testcase
#yields (int 2)
query findbin(h1use, 1.234)
#testcase FindBin5Testcase
#yields (int 3)
query findbin(h1use, 6.7432)
#testcase FindBin6Testcase
#yields (int undefined)
query findbin(h1use, 10.0)
#testcase FindBinErrorTestcase
#yields error
query findbin(h1use, 1)
#testcase FindBinError2Testcase
#yields error
query findbin(h1use, 1.0, 2.0)
#testcase FindBinError3Testcase
#yields error
query findbin(h2use, 1.0)
# *
# * findbinX
# *
#testcase findbinXTestcase
#yields (int undefined)
query findbinX(h2use, -11.2)
#testcase findbinX1Testcase
#yields (int 0)
query findbinX(h2use, -7.3)
#testcase findbinX2Testcase
#yields (int 1)
query findbinX(h2use, 1.32)
#testcase findbinX3Testcase
#yields (int 2)
query findbinX(h2use, 3.1415926)
#testcase findbinX4Testcase
#yields (int undefined)
query findbinX(h2use, 4.5)
#testcase findbinX5Testcase
#yields (int 0)
query findbinX(h2use, -10.0)
#testcase findbinX6Testcase
#yields (int undefined)
query findbinX(h2use, 10.0)
#testcase findbinXErrorTestcase
#yields error
query findbinX(h2use, 1)
#testcase findbinXError2Testcase
#yields error
query findbinX(h2use, 1.0, 2.0)
#testcase findbinXError3Testcase
#yields error
query findbinX(h1use, 1.0)
# *
# * findbinY
# *
#testcase findbinYTestcase
#yields (int undefined)
query findbinY(h2use, -11.2)
#testcase findbinY1Testcase
#yields (int 0)
query findbinY(h2use, -4.3)
#testcase findbinY2Testcase
#yields (int 1)
query findbinY(h2use, -1.32)
#testcase findbinY3Testcase
#yields (int 2)
query findbinY(h2use, 3.6)
#testcase findbinY4Testcase
#yields (int undefined)
query findbinY(h2use, 10.0)
#testcase findbinY5Testcase
#yields (int 0)
query findbinY(h2use, -4.5)
#testcase findbinYErrorTestcase
#yields error
query findbinY(h2use, 1)
#testcase findbinYError2Testcase
#yields error
query findbinY(h2use, 1.0, 2.0)
#testcase findbinYError3Testcase
#yields error
query findbinY(h1use, 1.0)
# *
# * find_minbin
# *
#testcase FindMinBinTestcase
#yields (int 3)
query h1d1 find_minbin aggregateS[ fun(i1:int, i2:int) i1+i2 ; 0]
#testcase FindMinBin2Testcase
#yields (int 6)
query h1use find_minbin aggregateS[ fun(i1:int, i2:int) i1+i2 ; 0]
#testcase FindMinBin3Testcase
#yields (int 3)
query h1d3 find_minbin aggregateS[ fun(i1:int, i2:int) i1+i2 ; 0]
#testcase FindMinBinUndefTestcase
#yields (bool TRUE)
query h1undef find_minbin ensure[0]
#testcase FindMinBin2dTestcase
#yields (int 2)
query h2d1 find_minbin count
#testcase FindMinBin2d2Testcase
#yields (int 2)
query h2d2 find_minbin count
#testcase FindMinBin2d3Testcase
#yields (int 1)
query h2d3 find_minbin count
#testcase FindMinBin2dUndefTestcase
#yields (bool TRUE)
query h2undef find_minbin ensure[0]
# *
# * find_maxbin
# *
#testcase FindMaxBinTestcase
#yields (int 1)
query h1d1 find_maxbin aggregateS[ fun(i1:int, i2:int) i1+i2 ; 0]
#testcase FindMaxBin2Testcase
#yields (int 6)
query h1use find_maxbin aggregateS[ fun(i1:int, i2:int) i1+i2 ; 0]
#testcase FindMaxBin3Testcase
#yields (int 1)
query h1d3 find_maxbin aggregateS[ fun(i1:int, i2:int) i1+i2 ; 0]
#testcase FindMaxBinUndefTestcase
#yields (bool TRUE)
query h1undef find_maxbin ensure[0]
#testcase FindMaxBin2dTestcase
#yields (int 1)
query h2d1 find_maxbin count
#testcase FindMaxBin2d2Testcase
#yields (int 1)
query h2d2 find_maxbin count
#testcase FindMaxBin2d3Testcase
#yields (int 1)
query h2d3 find_maxbin count
#testcase FindMaxBin2dUndefTestcase
#yields (bool TRUE)
query h2undef find_maxbin ensure[0]
# *
# * mean
# *
#testcase MeanTestcase
#yields (bool TRUE)
query (intstream(1, 100000) use[fun(i1:int) rng_gaussian(0.75) + 10.0] transformstream create_histogram1d_equiwidth[Elem, 100] mean - 10.0)< 0.75
#testcase Mean2Testcase
#yields (bool TRUE)
query (intstream(1, 100000) use[fun(i1:int) rng_gaussian(1.75) + 5.0] transformstream create_histogram1d_equiwidth[Elem, 100] mean - 5.0)< 1.75
#testcase Mean3Testcase
#yields (real 0.0)
query h1use mean
#testcase Mean4Testcase
#yields (real -0.0152174)
query h1d1 mean
#testcase Mean5Testcase
#yields (real 0.3816091954)
query h1d4 mean
#testcase MeanErrorTestcase
#yields error
query h2d1 mean
# *
# * meanX
# *
#testcase MeanXTestcase
#yields (bool TRUE)
query (intstream(1, 100000) use[fun(i1:int) rng_gaussian(0.75) + 10.0] transformstream create_histogram2d_equiwidth[Elem, Elem, 100, 100] meanX - 10.0)< 0.75
#testcase MeanX2Testcase
#yields (bool TRUE)
query (intstream(1, 100000) use[fun(i1:int) rng_gaussian(1.75) + 5.0] transformstream create_histogram2d_equiwidth[Elem, Elem, 100, 100] meanX - 5.0)< 1.75
#testcase MeanX3Testcase
#yields (real -1.3166667)
query h2use meanX
#testcase MeanX4Testcase
#yields (real -0.3130435)
query h2d1 meanX
#testcase MeanX5Testcase
#yields (real 0.4764705)
query h2d4 meanX
#testcase MeanXErrorTestcase
#yields error
query h1d1 meanX
# *
# * meanY
# *
#testcase MeanYTestcase
#yields (bool TRUE)
query (intstream(1, 100000) use[fun(i1:int) rng_gaussian(0.75) + 10.0] transformstream create_histogram2d_equiwidth[Elem, Elem, 100, 100] meanY - 10.0)< 0.75
#testcase MeanY2Testcase
#yields (bool TRUE)
query (intstream(1, 100000) use[fun(i1:int) rng_gaussian(1.75) + 5.0] transformstream create_histogram2d_equiwidth[Elem, Elem, 100, 100] meanY - 5.0)< 1.75
#testcase MeanY3Testcase
#yields (real 1.3166667)
query h2use meanY
#testcase MeanY4Testcase
#yields (real 1.53913)
query h2d1 meanY
#testcase MeanY5Testcase
#yields (real 2.62941)
query h2d4 meanY
#testcase MeanYErrorTestcase
#yields error
query h1d1 meanY
# *
# * create_histogram1d_equicount
# *
#testcase create_testrelEQ
#yields success
(create testrelEQ : (rel(tuple(
(Attr1 int)
(Attr2 real)
(Attr3 real)))));
(update testrelEQ := ((rel(tuple(
(Attr1 int)
(Attr2 real)
(Attr3 real))))
(
(1 -3.1 8.5)
(2 0.0 -89.0)
(3 -2.0 17.23)
(4 0.0 2.0)
(5 8.9 13.4)
(6 10.56 -60.89)
(7 0.0 8.5)
(8 -2.7 -89.0)
(9 12.78 17.23)
(10 0.4 2.0)
(11 0.0 13.4)
(12 10.56 -60.89)
)));
#testcase create_histogram1d_equicount_typeError
#yields error
query testrelEQ feed create_histogram1d_equicount[ Attr1, 12 ];
#testcase create_histogram1d_equicount_typeError
#yields error
query testrelEQ feed create_histogram1d_equicount[ Attr2, 10.5 ];
#testcase create_histogram1d_equicount_typeError
#yields error
query testrelEQ feed create_histogram1d_equicount[ Attr0, 10 ];
#testcase create_histogram1d_equicount_undef
#yields (histogram1d undefined)
query testrelEQ feed create_histogram1d_equicount[ Attr2, 0 ];
#testcase create_histogram1d_equicount_undef
#yields (histogram1d undefined)
query testrelEQ feed create_histogram1d_equicount[ Attr2, -5 ];
#testcase create_histogram1d_equicount_undef
#yields (histogram1d undefined)
query testrelEQ feed head[0] create_histogram1d_equicount[ Attr2, 6 ];
#testcase create_histogram1d_equicount
#yields (bool TRUE)
query testrelEQ feed create_histogram1d_equicount[ Attr2, 42 ] = testrelEQ feed create_histogram1d_equicount[ Attr2, 12 ];
#testcase create_histogram1d_equicount_binvariance_10000->10
#yields success
let equihist1d1 = test1drel feed create_histogram1d_equicount[ Value, 10 ];
let binmean1d1 = (equihist1d1 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (no_components( equihist1d1 ));
let binvariance1d1 = (equihist1d1 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean1d1 ) * ( p2 - binmean1d1 )); 0.0 ]) / (no_components( equihist1d1 ) - 1);
#yields (bool TRUE)
query sqrt(binvariance1d1) < 0.05;
#testcase create_histogram1d_equicount_binvariance_10000->100
#yields success
let equihist1d2 = test1drel feed create_histogram1d_equicount[ Value, 100 ];
let binmean1d2 = (equihist1d2 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (no_components( equihist1d2 ));
let binvariance1d2 = (equihist1d2 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean1d2 ) * ( p2 - binmean1d2 )); 0.0 ]) / (no_components( equihist1d2 ) - 1);
#yields (bool TRUE)
query sqrt(binvariance1d2) < 0.05;
#testcase create_histogram1d_equicount_binvariance_10000->1000
#yields success
let equihist1d3 = test1drel feed create_histogram1d_equicount[ Value, 1000 ];
let binmean1d3 = (equihist1d3 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (no_components( equihist1d3 ));
let binvariance1d3 = (equihist1d3 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean1d3 ) * ( p2 - binmean1d3 )); 0.0 ]) / (no_components( equihist1d3 ) - 1);
#yields (bool TRUE)
query sqrt(binvariance1d3) < 0.05;
#testcase create_histogram1d_equicount_binvariance_10000->10000
#yields success
let equihist1d4 = test1drel feed create_histogram1d_equicount[ Value, 10000 ];
let binmean1d4 = (equihist1d4 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (no_components( equihist1d4 ));
let binvariance1d4 = (equihist1d4 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean1d4 ) * ( p2 - binmean1d4 )); 0.0 ]) / (no_components( equihist1d4 ) - 1);
#yields (bool TRUE)
query sqrt(binvariance1d4) < 0.05;
#testcase create_histogram1d_equicount_binvariance_10000->10
#yields success
let equihist1d11 = intstream(1, 10000) use[ fun(i1:int) rng_gaussian(100.0) ] transformstream create_histogram1d_equicount[Elem, 10];
let binmean1d11 = (equihist1d11 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (no_components( equihist1d11 ));
let binvariance1d11 = (equihist1d11 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean1d11 ) * ( p2 - binmean1d11 )); 0.0 ]) / (no_components( equihist1d11 ) - 1);
#yields (bool TRUE)
query sqrt(binvariance1d11) < 0.05;
#testcase create_histogram1d_equicount_binvariance_10000->100
#yields success
let equihist1d12 = intstream(1, 10000) use[ fun(i1:int) rng_gaussian(100.0) ] transformstream create_histogram1d_equicount[Elem, 100];
let binmean1d12 = (equihist1d12 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (no_components( equihist1d12 ));
let binvariance1d12 = (equihist1d12 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean1d12 ) * ( p2 - binmean1d12 )); 0.0 ]) / (no_components( equihist1d12 ) - 1);
#yields (bool TRUE)
query sqrt(binvariance1d12) < 0.05;
#testcase create_histogram1d_equicount_binvariance_10000->1000
#yields success
let equihist1d13 = intstream(1, 10000) use[ fun(i1:int) rng_gaussian(100.0) ] transformstream create_histogram1d_equicount[Elem, 1000];
let binmean1d13 = (equihist1d13 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (no_components( equihist1d13 ));
let binvariance1d13 = (equihist1d13 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean1d13 ) * ( p2 - binmean1d13 )); 0.0 ]) / (no_components( equihist1d13 ) - 1);
#yields (bool TRUE)
query sqrt(binvariance1d12) < 0.05;
# *
# * create_histogram2d_equicount
# *
#testcase create_histogram2d_equicount_typeError
#yields error
query testrelEQ feed create_histogram2d_equicount[ Attr1, Attr2, 12, 6 ];
#testcase create_histogram2d_equicount_typeError
#yields error
query testrelEQ feed create_histogram2d_equicount[ Attr2, Attr1, 12, 6 ];
#testcase create_histogram2d_equicount_typeError
#yields error
query testrelEQ feed create_histogram2d_equicount[ Attr2, Attr3, 12.5, 6 ];
#testcase create_histogram2d_equicount_typeError
#yields error
query testrelEQ feed create_histogram2d_equicount[ Attr2, Attr3, 12, 6.5 ];
#testcase create_histogram2d_equicount_typeError
#yields error
query testrelEQ feed create_histogram2d_equicount[ Attr1, Attr2, 12, 6 ];
#testcase create_histogram2d_equicount_typeError
#yields error
query testrelEQ feed create_histogram2d_equicount[ Attr0, Attr3, 12, 6 ];
#testcase create_histogram2d_equicount_typeError
#yields error
query testrelEQ feed create_histogram2d_equicount[ Attr2, Attr0, 0, 6 ];
#testcase create_histogram2d_equicount_undef
#yields (histogram2d undefined)
query testrelEQ feed create_histogram2d_equicount[ Attr2, Attr3, 12, 0 ];
#testcase create_histogram2d_equicount_undef
#yields (histogram2d undefined)
query testrelEQ feed create_histogram2d_equicount[ Attr2, Attr3, 12, -6 ];
#testcase create_histogram2d_equicount_undef
#yields (histogram2d undefined)
query testrelEQ feed create_histogram2d_equicount[ Attr2, Attr3, -12, 6 ];
#testcase create_histogram2d_equicount_undef
#yields (histogram2d undefined)
query testrelEQ feed head[0] create_histogram2d_equicount[ Attr2, Attr3, 12, 6 ];
#testcase create_histogram2d_equicount
#yields (bool TRUE)
query testrelEQ feed create_histogram2d_equicount[ Attr2, Attr3, 12, 42 ] = testrelEQ feed create_histogram2d_equicount[ Attr2, Attr3, 12, 12 ];
#testcase create_histogram2d_equicount
#yields (bool TRUE)
query testrelEQ feed create_histogram2d_equicount[ Attr2, Attr3, 42, 12 ] = testrelEQ feed create_histogram2d_equicount[ Attr2, Attr3, 12, 12 ];
#testcase create_histogram2d_equicount
#yields (bool TRUE)
query testrelEQ feed create_histogram2d_equicount[ Attr2, Attr3, 42, 42 ] = testrelEQ feed create_histogram2d_equicount[ Attr2, Attr3, 12, 12 ];
#testcase create_histogram2d_equicount_binvariance_10000->10x10
#yields success
let equihist2d1 = test2drel feed create_histogram2d_equicount[ ValueX, ValueY, 10, 10 ];
let binmean2d1 = (equihist2d1 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (binsX( equihist2d1 ) * (binsY( equihist2d1 )));
let binvariance2d1 = (equihist2d1 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean2d1 ) * ( p2 - binmean2d1 )); 0.0 ]) / ((binsX( equihist2d1 ) * binsY( equihist2d1 )) - 1);
#yields (bool TRUE)
query sqrt(binvariance2d1) < 10.0;
#testcase create_histogram2d_equicount_binvariance_10000->100x100
#yields success
let equihist2d2 = test2drel feed create_histogram2d_equicount[ ValueX, ValueY, 100, 100 ];
let binmean2d2 = (equihist2d2 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (binsX( equihist2d2 ) * (binsY( equihist2d2 )));
let binvariance2d2 = (equihist2d2 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean2d2 ) * ( p2 - binmean2d2 )); 0.0 ]) / ((binsX( equihist2d2 ) * binsY( equihist2d2 )) - 1);
#yields (bool TRUE)
query sqrt(binvariance2d2) < 10.0;
#testcase create_histogram2d_equicount_binvariance_10000->10x1000
#yields success
let equihist2d3 = test2drel feed create_histogram2d_equicount[ ValueX, ValueY, 10, 1000 ];
let binmean2d3 = (equihist2d3 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (binsX( equihist2d3 ) * (binsY( equihist2d3 )));
let binvariance2d3 = (equihist2d3 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean2d3 ) * ( p2 - binmean2d3 )); 0.0 ]) / ((binsX( equihist2d3 ) * binsY( equihist2d3 )) - 1);
#yields (bool TRUE)
query sqrt(binvariance2d3) < 10.0;
#testcase create_histogram2d_equicount_binvariance_10000->50x100
#yields success
let equihist2d4 = test2drel feed create_histogram2d_equicount[ ValueX, ValueY, 50, 100 ];
let binmean2d4 = (equihist2d4 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (binsX( equihist2d4 ) * (binsY( equihist2d4 )));
let binvariance2d4 = (equihist2d4 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean2d4 ) * ( p2 - binmean2d4 )); 0.0 ]) / ((binsX( equihist2d4 ) * binsY( equihist2d4 )) - 1);
#yields (bool TRUE)
query sqrt(binvariance2d4) < 10.0;
#testcase create_histogram2d_equicount_binvariance_10000->50x50
#yields success
let equihist2d5 = test2drel feed create_histogram2d_equicount[ ValueX, ValueY, 50, 50 ];
let binmean2d5 = (equihist2d5 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (binsX( equihist2d5 ) * (binsY( equihist2d5 )));
let binvariance2d5 = (equihist2d5 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean2d5 ) * ( p2 - binmean2d5 )); 0.0 ]) / ((binsX( equihist2d5 ) * binsY( equihist2d5 )) - 1);
#yields (bool TRUE)
query sqrt(binvariance2d4) < 10.0;
#testcase create_histogram2d_equicount_binvariance_1000000->10x10
#yields success
let equihist2d11 = intstream(1, 1000) use[ fun(i1:int) rng_gaussian(10.0) ] transformstream {a} intstream(1, 1000) use[ fun(i2:int) rng_gaussian(1.0) ] transformstream {b} symmproduct create_histogram2d_equicount[ Elem_a, Elem_b, 10, 10 ];
let binmean2d11 = (equihist2d11 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (binsX( equihist2d11 ) * (binsY( equihist2d11 )));
let binvariance2d11 = (equihist2d11 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean2d11 ) * ( p2 - binmean2d11 )); 0.0 ]) / ((binsX( equihist2d11 ) * binsY( equihist2d11 )) - 1);
#yields (bool TRUE)
query sqrt(binvariance2d11) < 0.05;
#testcase create_histogram2d_equicount_binvariance_10000->100x100
#yields success
let equihist2d12 = intstream(1, 100) use[ fun(i1:int) rng_gaussian(10.0) ] transformstream {a} intstream(1, 100) use[ fun(i2:int) rng_gaussian(100.0) ] transformstream {b} symmproduct create_histogram2d_equicount[ Elem_a, Elem_b, 100, 100 ];
let binmean2d12 = (equihist2d12 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (binsX( equihist2d12 ) * (binsY( equihist2d12 )));
let binvariance2d12 = (equihist2d12 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean2d12 ) * ( p2 - binmean2d12 )); 0.0 ]) / ((binsX( equihist2d12 ) * binsY( equihist2d12 )) - 1);
#yields (bool TRUE)
query sqrt(binvariance2d12) < 0.05;
#testcase create_histogram2d_equicount_binvariance_10000->1000x10
#yields success
let equihist2d13 = intstream(1, 100) use[ fun(i1:int) rng_gaussian(10.0) ] transformstream {a} intstream(1, 100) use[ fun(i2:int) rng_gaussian(100.0) ] transformstream {b} symmproduct create_histogram2d_equicount[ Elem_a, Elem_b, 1000, 10 ];
let binmean2d13 = (equihist2d13 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (binsX( equihist2d13 ) * (binsY( equihist2d13 )));
let binvariance2d13 = (equihist2d13 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean2d13 ) * ( p2 - binmean2d13 )); 0.0 ]) / ((binsX( equihist2d13 ) * binsY( equihist2d13 )) - 1);
#yields (bool TRUE)
query sqrt(binvariance2d13) < 0.05;
#testcase create_histogram2d_equicount_binvariance_10000->50x10
#yields success
let equihist2d14 = intstream(1, 100) use[ fun(i1:int) rng_gaussian(10.0) ] transformstream {a} intstream(1, 100) use[ fun(i2:int) rng_gaussian(100.0) ] transformstream {b} symmproduct create_histogram2d_equicount[ Elem_a, Elem_b, 1000, 10 ];
let binmean2d14 = (equihist2d14 fold[ fun(p1: real, p2: real) p1 + p2; 0.0 ]) / (binsX( equihist2d14 ) * (binsY( equihist2d14 )));
let binvariance2d14 = (equihist2d14 fold[ fun(p1: real, p2: real) p1 + (( p2 - binmean2d14 ) * ( p2 - binmean2d14 )); 0.0 ]) / ((binsX( equihist2d14 ) * binsY( equihist2d14 )) - 1);
#yields (bool TRUE)
query sqrt(binvariance2d14) < 0.05;
# *
# * variance
# *
#testcase VarianceTestcase
#yields (bool TRUE)
query intstream(1, 100000) use[ fun(i1:int) 5.0 ] transformstream create_histogram1d_equiwidth[Elem, 10] variance = 0.0
#testcase Variance2Testcase
#yields (bool TRUE)
query (intstream(1, 1000000) use[ fun(i1:int) rng_gaussian(0.75) ] transformstream create_histogram1d_equicount[Elem, 1000000] variance - (0.75 * 0.75)) < 0.0001
#testcase VarianceTestcase
#yields (bool TRUE)
query (intstream(1, 1000000) use[ fun(i1:int) rng_gaussian(12.3) ] transformstream create_histogram1d_equicount[Elem, 1000000] variance - (12.3 * 12.3)) < 1
#testcase VarianceTestcase
#yields (bool TRUE)
query (intstream(1, 1000000) use[ fun(i1:int) rng_gaussian(-7.5) ] transformstream create_histogram1d_equicount[Elem, 1000] variance - (-7.5 * -7.5)) < 1
#testcase VarianceUndefTestcase
#yields (real undefined)
query h1undef variance
#testcase VarianceErrorTestcase
#yields error
query h2d1 variance
# *
# * varianceX
# *
#testcase VarianceXTestcase
#yields (bool TRUE)
query intstream(1, 100000) use[ fun(i1:int) 5.0 ] transformstream create_histogram2d_equiwidth[Elem, Elem, 10, 10] varianceX < 0.0000001
#testcase VarianceX2Testcase
#yields (bool TRUE)
query (intstream(1, 1000000) use[ fun(i1:int) rng_gaussian(0.75) ] transformstream create_histogram2d_equicount[Elem, Elem, 1000, 1000] varianceX - (0.75 * 0.75)) < 0.1
#testcase VarianceXTestcase
#yields (bool TRUE)
query (intstream(1, 1000000) use[ fun(i1:int) rng_gaussian(12.3) ] transformstream create_histogram2d_equicount[Elem, Elem, 1000, 1000] varianceX - (12.3 * 12.3)) < 2
#testcase VarianceXTestcase
#yields (bool TRUE)
query (intstream(1, 1000000) use[ fun(i1:int) rng_gaussian(-7.5) ] transformstream create_histogram2d_equicount[Elem, Elem, 333, 333] varianceX - (-7.5 * -7.5)) < 2
#testcase VarianceXUndefTestcase
#yields (real undefined)
query h2undef varianceX
#testcase VarianceXErrorTestcase
#yields error
query h1d1 varianceX
# *
# * varianceY
# *
#testcase VarianceYTestcase
#yields (bool TRUE)
query intstream(1, 100000) use[ fun(i1:int) 5.0 ] transformstream create_histogram2d_equiwidth[Elem, Elem, 10, 10] varianceY < 0.0000001
#testcase VarianceY2Testcase
#yields (bool TRUE)
query (intstream(1, 1000000) use[ fun(i1:int) rng_gaussian(0.75) ] transformstream create_histogram2d_equicount[Elem, Elem, 1000, 1000] varianceY - (0.75 * 0.75)) < 0.1
#testcase VarianceYTestcase
#yields (bool TRUE)
query (intstream(1, 1000000) use[ fun(i1:int) rng_gaussian(12.3) ] transformstream create_histogram2d_equicount[Elem, Elem, 1000, 1000] varianceY - (12.3 * 12.3)) < 10
#testcase VarianceYTestcase
#yields (bool TRUE)
query (intstream(1, 1000000) use[ fun(i1:int) rng_gaussian(-7.5) ] transformstream create_histogram2d_equicount[Elem, Elem, 333, 333] varianceY - (-7.5 * -7.5)) < 10
#testcase VarianceYUndefTestcase
#yields (real undefined)
query h2undef varianceY
#testcase VarianceYErrorTestcase
#yields error
query h1d1 varianceY
#tolerance_real 0.0001
# *
# * covariance
# *
#testcase CovarianceTestcase
#yields (bool TRUE)
query h2covar varianceX = h2covar covariance
#testcase Covariance2Testcase
#yields (bool TRUE)
query h2covar varianceY = h2covar covariance
#testcase Covariance3Testcase
#yields (real 0.0)
query h2covar2 covariance - h2covar3 covariance
#testcase Covariance4Testcase
#yields (real 0.0)
query h2covar4 covariance - h2covar5 covariance
#testcase CovarianceUndefTestcase
#yields (real undefined)
query h2undef covariance
#testcase CovarianceErrorTestcase
#yields error
query h1undef covariance
#teardown
close database;
delete database testhistdb;