@@ -42,7 +42,17 @@ public void heapExactMode() {
4242 Assert .assertEquals (values [0 ][0 ], 3.0 );
4343 Assert .assertEquals (values [1 ][0 ], 3.0 );
4444 Assert .assertEquals (values [2 ][0 ], 3.0 );
45-
45+
46+ WritableMemory wmem = WritableMemory .wrap (union .toByteArray ());
47+ ArrayOfDoublesUnion wrappedUnion = ArrayOfDoublesSketches .wrapUnion (wmem );
48+ result = wrappedUnion .getResult ();
49+ Assert .assertEquals (result .getEstimate (), 3.0 );
50+ values = result .getValues ();
51+ Assert .assertEquals (values [0 ][0 ], 3.0 );
52+ Assert .assertEquals (values [1 ][0 ], 3.0 );
53+ Assert .assertEquals (values [2 ][0 ], 3.0 );
54+
55+
4656 union .reset ();
4757 result = union .getResult ();
4858 Assert .assertTrue (result .isEmpty ());
@@ -57,11 +67,15 @@ public void heapExactMode() {
5767 public void heapEstimationMode () {
5868 int key = 0 ;
5969 ArrayOfDoublesUpdatableSketch sketch1 = new ArrayOfDoublesUpdatableSketchBuilder ().build ();
60- for (int i = 0 ; i < 8192 ; i ++) sketch1 .update (key ++, new double [] {1.0 });
70+ for (int i = 0 ; i < 8192 ; i ++) {
71+ sketch1 .update (key ++, new double [] {1.0 });
72+ }
6173
6274 key -= 4096 ; // overlap half of the entries
6375 ArrayOfDoublesUpdatableSketch sketch2 = new ArrayOfDoublesUpdatableSketchBuilder ().build ();
64- for (int i = 0 ; i < 8192 ; i ++) sketch2 .update (key ++, new double [] {1.0 });
76+ for (int i = 0 ; i < 8192 ; i ++) {
77+ sketch2 .update (key ++, new double [] {1.0 });
78+ }
6579
6680 ArrayOfDoublesUnion union = new ArrayOfDoublesSetOperationBuilder ().buildUnion ();
6781 union .update (sketch1 );
@@ -70,7 +84,7 @@ public void heapEstimationMode() {
7084 Assert .assertFalse (result .isEmpty ());
7185 Assert .assertTrue (result .isEstimationMode ());
7286 Assert .assertEquals (result .getEstimate (), 12288.0 , 12288 * 0.01 );
73-
87+
7488 union .reset ();
7589 result = union .getResult ();
7690 Assert .assertTrue (result .isEmpty ());
@@ -85,11 +99,15 @@ public void heapEstimationMode() {
8599 public void heapEstimationModeFullOverlapTwoValuesAndDownsizing () {
86100 int key = 0 ;
87101 ArrayOfDoublesUpdatableSketch sketch1 = new ArrayOfDoublesUpdatableSketchBuilder ().setNumberOfValues (2 ).build ();
88- for (int i = 0 ; i < 8192 ; i ++) sketch1 .update (key ++, new double [] {1.0 , 2.0 });
102+ for (int i = 0 ; i < 8192 ; i ++) {
103+ sketch1 .update (key ++, new double [] {1.0 , 2.0 });
104+ }
89105
90106 key = 0 ; // full overlap
91107 ArrayOfDoublesUpdatableSketch sketch2 = new ArrayOfDoublesUpdatableSketchBuilder ().setNumberOfValues (2 ).build ();
92- for (int i = 0 ; i < 8192 ; i ++) sketch2 .update (key ++, new double [] {1.0 , 2.0 });
108+ for (int i = 0 ; i < 8192 ; i ++) {
109+ sketch2 .update (key ++, new double [] {1.0 , 2.0 });
110+ }
93111
94112 ArrayOfDoublesUnion union = new ArrayOfDoublesSetOperationBuilder ().setNumberOfValues (2 ).setNominalEntries (1024 ).buildUnion ();
95113 union .update (sketch1 );
@@ -111,11 +129,15 @@ public void heapEstimationModeFullOverlapTwoValuesAndDownsizing() {
111129 public void heapMixedMode () {
112130 int key = 0 ;
113131 ArrayOfDoublesUpdatableSketch sketch1 = new ArrayOfDoublesUpdatableSketchBuilder ().build ();
114- for (int i = 0 ; i < 1000 ; i ++) sketch1 .update (key ++, new double [] {1.0 });
132+ for (int i = 0 ; i < 1000 ; i ++) {
133+ sketch1 .update (key ++, new double [] {1.0 });
134+ }
115135
116136 key -= 500 ; // overlap half of the entries
117137 ArrayOfDoublesUpdatableSketch sketch2 = new ArrayOfDoublesUpdatableSketchBuilder ().setSamplingProbability (0.2f ).build ();
118- for (int i = 0 ; i < 20000 ; i ++) sketch2 .update (key ++, new double [] {1.0 });
138+ for (int i = 0 ; i < 20000 ; i ++) {
139+ sketch2 .update (key ++, new double [] {1.0 });
140+ }
119141
120142 ArrayOfDoublesUnion union = new ArrayOfDoublesSetOperationBuilder ().buildUnion ();
121143 union .update (sketch1 );
@@ -130,11 +152,15 @@ public void heapMixedMode() {
130152 public void heapSerializeDeserialize () {
131153 int key = 0 ;
132154 ArrayOfDoublesUpdatableSketch sketch1 = new ArrayOfDoublesUpdatableSketchBuilder ().build ();
133- for (int i = 0 ; i < 8192 ; i ++) sketch1 .update (key ++, new double [] {1.0 });
155+ for (int i = 0 ; i < 8192 ; i ++) {
156+ sketch1 .update (key ++, new double [] {1.0 });
157+ }
134158
135159 key -= 4096 ; // overlap half of the entries
136160 ArrayOfDoublesUpdatableSketch sketch2 = new ArrayOfDoublesUpdatableSketchBuilder ().build ();
137- for (int i = 0 ; i < 8192 ; i ++) sketch2 .update (key ++, new double [] {1.0 });
161+ for (int i = 0 ; i < 8192 ; i ++) {
162+ sketch2 .update (key ++, new double [] {1.0 });
163+ }
138164
139165 ArrayOfDoublesUnion union1 = new ArrayOfDoublesSetOperationBuilder ().buildUnion ();
140166 union1 .update (sketch1 );
@@ -143,7 +169,7 @@ public void heapSerializeDeserialize() {
143169 ArrayOfDoublesUnion union2 = ArrayOfDoublesUnion .heapify (Memory .wrap (union1 .toByteArray ()));
144170 ArrayOfDoublesCompactSketch result = union2 .getResult ();
145171 Assert .assertEquals (result .getEstimate (), 12288.0 , 12288 * 0.01 );
146-
172+
147173 union2 .reset ();
148174 result = union2 .getResult ();
149175 Assert .assertTrue (result .isEmpty ());
@@ -153,7 +179,9 @@ public void heapSerializeDeserialize() {
153179 Assert .assertEquals (result .getLowerBound (1 ), 0.0 );
154180 Assert .assertEquals (result .getTheta (), 1.0 );
155181 double [][] values = result .getValues ();
156- for (int i = 0 ; i < values .length ; i ++) Assert .assertEquals (values [i ][0 ], 2.0 );
182+ for (int i = 0 ; i < values .length ; i ++) {
183+ Assert .assertEquals (values [i ][0 ], 2.0 );
184+ }
157185 }
158186
159187 @ Test
@@ -162,7 +190,7 @@ public void heapDeserializeV0_9_1() throws Exception {
162190 ArrayOfDoublesUnion union2 = ArrayOfDoublesUnion .heapify (Memory .wrap (bytes ));
163191 ArrayOfDoublesCompactSketch result = union2 .getResult ();
164192 Assert .assertEquals (result .getEstimate (), 12288.0 , 12288 * 0.01 );
165-
193+
166194 union2 .reset ();
167195 result = union2 .getResult ();
168196 Assert .assertTrue (result .isEmpty ());
@@ -172,19 +200,25 @@ public void heapDeserializeV0_9_1() throws Exception {
172200 Assert .assertEquals (result .getLowerBound (1 ), 0.0 );
173201 Assert .assertEquals (result .getTheta (), 1.0 );
174202 double [][] values = result .getValues ();
175- for (int i = 0 ; i < values .length ; i ++) Assert .assertEquals (values [i ][0 ], 2.0 );
203+ for (int i = 0 ; i < values .length ; i ++) {
204+ Assert .assertEquals (values [i ][0 ], 2.0 );
205+ }
176206 }
177207
178208 @ Test
179209 public void heapSerializeDeserializeWithSeed () {
180210 long seed = 1 ;
181211 int key = 0 ;
182212 ArrayOfDoublesUpdatableSketch sketch1 = new ArrayOfDoublesUpdatableSketchBuilder ().setSeed (seed ).build ();
183- for (int i = 0 ; i < 8192 ; i ++) sketch1 .update (key ++, new double [] {1.0 });
213+ for (int i = 0 ; i < 8192 ; i ++) {
214+ sketch1 .update (key ++, new double [] {1.0 });
215+ }
184216
185217 key -= 4096 ; // overlap half of the entries
186218 ArrayOfDoublesUpdatableSketch sketch2 = new ArrayOfDoublesUpdatableSketchBuilder ().setSeed (seed ).build ();
187- for (int i = 0 ; i < 8192 ; i ++) sketch2 .update (key ++, new double [] {1.0 });
219+ for (int i = 0 ; i < 8192 ; i ++) {
220+ sketch2 .update (key ++, new double [] {1.0 });
221+ }
188222
189223 ArrayOfDoublesUnion union1 = new ArrayOfDoublesSetOperationBuilder ().setSeed (seed ).buildUnion ();
190224 union1 .update (sketch1 );
@@ -200,12 +234,16 @@ public void directSerializeDeserialize() {
200234 int key = 0 ;
201235 ArrayOfDoublesUpdatableSketch sketch1 = new ArrayOfDoublesUpdatableSketchBuilder ().build (
202236 WritableMemory .wrap (new byte [1000000 ]));
203- for (int i = 0 ; i < 8192 ; i ++) sketch1 .update (key ++, new double [] {1.0 });
237+ for (int i = 0 ; i < 8192 ; i ++) {
238+ sketch1 .update (key ++, new double [] {1.0 });
239+ }
204240
205241 key -= 4096 ; // overlap half of the entries
206242 ArrayOfDoublesUpdatableSketch sketch2 = new ArrayOfDoublesUpdatableSketchBuilder ().build (
207243 WritableMemory .wrap (new byte [1000000 ]));
208- for (int i = 0 ; i < 8192 ; i ++) sketch2 .update (key ++, new double [] {1.0 });
244+ for (int i = 0 ; i < 8192 ; i ++) {
245+ sketch2 .update (key ++, new double [] {1.0 });
246+ }
209247
210248 ArrayOfDoublesUnion union1 = new ArrayOfDoublesSetOperationBuilder ().buildUnion (
211249 WritableMemory .wrap (new byte [1000000 ]));
@@ -215,7 +253,7 @@ public void directSerializeDeserialize() {
215253 ArrayOfDoublesUnion union2 = ArrayOfDoublesUnion .wrap (WritableMemory .wrap (union1 .toByteArray ()));
216254 ArrayOfDoublesCompactSketch result = union2 .getResult (WritableMemory .wrap (new byte [1000000 ]));
217255 Assert .assertEquals (result .getEstimate (), 12288.0 , 12288 * 0.01 );
218-
256+
219257 union2 .reset ();
220258 result = union2 .getResult ();
221259 Assert .assertTrue (result .isEmpty ());
@@ -225,7 +263,9 @@ public void directSerializeDeserialize() {
225263 Assert .assertEquals (result .getLowerBound (1 ), 0.0 );
226264 Assert .assertEquals (result .getTheta (), 1.0 );
227265 double [][] values = result .getValues ();
228- for (int i = 0 ; i < values .length ; i ++) Assert .assertEquals (values [i ][0 ], 2.0 );
266+ for (int i = 0 ; i < values .length ; i ++) {
267+ Assert .assertEquals (values [i ][0 ], 2.0 );
268+ }
229269 }
230270
231271 @ Test
@@ -234,12 +274,16 @@ public void directSerializeDeserializeWithSeed() {
234274 int key = 0 ;
235275 ArrayOfDoublesUpdatableSketch sketch1 = new ArrayOfDoublesUpdatableSketchBuilder ().setSeed (seed )
236276 .build (WritableMemory .wrap (new byte [1000000 ]));
237- for (int i = 0 ; i < 8192 ; i ++) sketch1 .update (key ++, new double [] {1.0 });
277+ for (int i = 0 ; i < 8192 ; i ++) {
278+ sketch1 .update (key ++, new double [] {1.0 });
279+ }
238280
239281 key -= 4096 ; // overlap half of the entries
240282 ArrayOfDoublesUpdatableSketch sketch2 = new ArrayOfDoublesUpdatableSketchBuilder ().setSeed (seed )
241283 .build (WritableMemory .wrap (new byte [1000000 ]));
242- for (int i = 0 ; i < 8192 ; i ++) sketch2 .update (key ++, new double [] {1.0 });
284+ for (int i = 0 ; i < 8192 ; i ++) {
285+ sketch2 .update (key ++, new double [] {1.0 });
286+ }
243287
244288 ArrayOfDoublesUnion union1 = new ArrayOfDoublesSetOperationBuilder ().setSeed (seed )
245289 .buildUnion (WritableMemory .wrap (new byte [1000000 ]));
@@ -275,7 +319,7 @@ public void directExactMode() {
275319 Assert .assertEquals (values [0 ][0 ], 3.0 );
276320 Assert .assertEquals (values [1 ][0 ], 3.0 );
277321 Assert .assertEquals (values [2 ][0 ], 3.0 );
278-
322+
279323 union .reset ();
280324 result = union .getResult ();
281325 Assert .assertTrue (result .isEmpty ());
@@ -290,18 +334,22 @@ public void directExactMode() {
290334 public void directEstimationMode () {
291335 int key = 0 ;
292336 ArrayOfDoublesUpdatableSketch sketch1 = new ArrayOfDoublesUpdatableSketchBuilder ().build (WritableMemory .wrap (new byte [1000000 ]));
293- for (int i = 0 ; i < 8192 ; i ++) sketch1 .update (key ++, new double [] {1.0 });
337+ for (int i = 0 ; i < 8192 ; i ++) {
338+ sketch1 .update (key ++, new double [] {1.0 });
339+ }
294340
295341 key -= 4096 ; // overlap half of the entries
296342 ArrayOfDoublesUpdatableSketch sketch2 = new ArrayOfDoublesUpdatableSketchBuilder ().build (WritableMemory .wrap (new byte [1000000 ]));
297- for (int i = 0 ; i < 8192 ; i ++) sketch2 .update (key ++, new double [] {1.0 });
343+ for (int i = 0 ; i < 8192 ; i ++) {
344+ sketch2 .update (key ++, new double [] {1.0 });
345+ }
298346
299347 ArrayOfDoublesUnion union = new ArrayOfDoublesSetOperationBuilder ().buildUnion (WritableMemory .wrap (new byte [1000000 ]));
300348 union .update (sketch1 );
301349 union .update (sketch2 );
302350 ArrayOfDoublesCompactSketch result = union .getResult (WritableMemory .wrap (new byte [1000000 ]));
303351 Assert .assertEquals (result .getEstimate (), 12288.0 , 12288 * 0.01 );
304-
352+
305353 union .reset ();
306354 result = union .getResult ();
307355 Assert .assertTrue (result .isEmpty ());
0 commit comments